Queued, asynchronous communication architecture interface
AssigneeSecure64 Software Corporation
InventorsJohn Worley, William Worley
Life of this patent
Estimating the term…
Abstract
Methods and techniques are provided for implementing a queued, asynchronous application programming interface (API) for network communications. According to one embodiment, the API provides (i) a system abstraction representing a connection between a local machine and a remote machine, and (ii) multiple routines accessible to applications for operating on connections. The connections instantiated by applications based upon the system abstraction are capable of providing full duplex communication channels between their respective local machines and remote machines. The routines define operations and parameters to establish, accept, read, write and close the connections.
Claims20
An application programming interface (API) for a communication architecture, the API comprising:
- a system abstraction representing a connection between a local machine and a remote machine, wherein connections instantiated by one or more applications based upon the system abstraction are capable of providing full duplex communication channels between their respective local machines and remote machines;
- and
- a plurality of routines, accessible to the one or more applications, defining operations and associated parameters to establish, accept, read, write and close the connections.
A method of communicating data between a local machine and a remote machine, the method comprising:
- an application executing within a custom execution environment (CE2) that controls the underlying hardware platform of the local machine establishing a full duplex communication channel with the remote machine using a first class connection abstraction provided by an asynchronous connection application programming interface (API) of the CE2 and associating with the full duplex communication channel an opaque parameter;
- before establishment of the full duplex communication channel has been completed, the application requesting data to be transferred from the local machine to the remote machine by invoking a write routine of the asynchronous connection API on the full duplex communication channel;
- and
- the application subsequently receiving indications via the asynchronous connection API that the full duplex communication channel has been established and that the requested data transfer has been completed, and wherein both indications are accompanied by the opaque parameter.
A method of communicating data between a local machine and a remote machine, the method comprising:
- an asynchronous connection application programming interface (API) of a custom execution environment (CE2) that controls the underlying hardware platform of the local machine receiving a request from an application executing within the CE2 to establish a full duplex communication channel with the remote machine using a first class connection abstraction provided by the asynchronous connection API, the request including an opaque parameter to be associated with the full duplex communication channel;
- before establishment of the full duplex communication channel has been completed, the asynchronous connection API receiving from the application a write request specifying data to be transferred from the local machine to the remote machine;
- responsive to the write request, the API queuing a request block associated with the write request pending completion of establishment of the full duplex communication channel;
- after the full duplex communication channel has been established, the asynchronous connection API providing a first completion indication to the application, including the opaque parameter;
- and
- after the write request has been processed, the asynchronous connection API providing a second completion indication to the application, including the opaque parameter.
Dependencies are inferred from the claim text.