Method of communicating asynchronous events to remote procedure call clients
First Claim
1. A method of communicating asynchronous events from a server to a remote procedure call client, comprising the steps of:
- generating a first remote procedure call by the remote procedure call client to establish an initial client-server connection;
generating a second remote procedure call by the remote procedure call client to create a guaranteed delivery communication conduit between the server and the remote procedure call client and to create a server asynchronous event thread in the server, the server asynchronous event thread being in a blocked state for blocking execution of the server asynchronous event thread;
creating a client asynchronous event thread in the remote procedure call client to open the guaranteed delivery communication conduit;
placing the server asynchronous event thread in an unblocked state in response to an event message to allow execution of the server asynchronous event thread; and
transmitting event data associated with the event message across the guaranteed delivery communication conduit from the server to the remote procedure call client, without polling by the remote procedure call client.
4 Assignments
0 Petitions
Accused Products
Abstract
A computer system in accordance with the present invention provides a method of communicating events from a server to remote procedure call clients. The disclosed technique begins with a remote procedure call by a remote procedure call client to a server to establish an initial client-server connection. Next, there is a remote procedure call to create a guaranteed delivery communication conduit, such as a named pipe, between the server and client and to create a server asynchronous event thread in a blocked state for blocking execution of the server asynchronous event thread. A client asynchronous event thread in the client is then created to open the named pipe. If the server detects an event, an event message is generated which places the server asynchronous event thread in an unblocked state to allow execution of the server asynchronous event thread. Event data may then be transmitted across the named pipe from the server to the client. After transfer of the event data is complete, the server asynchronous event thread is blocked. By unblocking the server asynchronous event thread when an event is detected and blocking the server asynchronous event thread following transmission of the event through a named pipe to the client, asynchronous events may be communicated by a server to remote procedure call clients. As a result, it is not necessary for a remote procedure call client to poll a server to receive asynchronous event information.
84 Citations
43 Claims
-
1. A method of communicating asynchronous events from a server to a remote procedure call client, comprising the steps of:
-
generating a first remote procedure call by the remote procedure call client to establish an initial client-server connection;
generating a second remote procedure call by the remote procedure call client to create a guaranteed delivery communication conduit between the server and the remote procedure call client and to create a server asynchronous event thread in the server, the server asynchronous event thread being in a blocked state for blocking execution of the server asynchronous event thread;
creating a client asynchronous event thread in the remote procedure call client to open the guaranteed delivery communication conduit;
placing the server asynchronous event thread in an unblocked state in response to an event message to allow execution of the server asynchronous event thread; and
transmitting event data associated with the event message across the guaranteed delivery communication conduit from the server to the remote procedure call client, without polling by the remote procedure call client. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 41)
-
-
13. A computer network system for communicating asynchronous events from a server to multiple remote procedure call clients, comprising:
-
a plurality of remote procedure call clients, each remote procedure call client, comprising;
a client processor;
a medium readable by the client processor, storing;
client code for establishing an initial client-server connection;
client code for creating a guaranteed delivery communication conduit between a server and a remote procedure call client; and
client code for creating a client asynchronous event thread to open a guaranteed delivery communication conduit to receive asynchronous events from a server; and
a server, comprising;
a server processor;
a medium readable by the server processor, storing;
server code for creating a server asynchronous event thread, the server asynchronous event thread being in a blocked state for blocking execution of the server asynchronous event thread; and
server code for placing the server asynchronous event thread in an unblocked state in response to an event message to allow execution of the server asynchronous event thread and transmitting event data associated with the event message across a guaranteed delivery communication conduit, without polling by the remote procedure call client. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 42)
-
-
28. A medium readable by a remote procedure call client for use in communicating asynchronous events from a server to the remote procedure call client, the medium storing:
-
client code for establishing an initial client-server connection;
client code for creating a guaranteed delivery communication conduit between the server and the remote procedure call client for delivery of data associated with asynchronous events;
client code for creating a client asynchronous event thread to open the guaranteed delivery communication conduit to receive the data associated with asynchronous events from the server, without polling by the remote procedure call client;
wherein the client code for establishing an initial client-server connection establishes the initial client-server connection by generating a first remote procedure call; and
wherein the client code for creating a guaranteed delivery communication conduit on the server creates the guaranteed delivery communication conduit by generating a second remote procedure call. - View Dependent Claims (29, 30, 31)
-
-
32. A medium readable by a server for use in communicating asynchronous events from the server to a remote procedure call client, the medium storing:
-
server code for creating a server asynchronous event thread, the server asynchronous event thread being in a blocked state for blocking execution of the server asynchronous event thread;
server code for placing the server asynchronous event thread in an unblocked state in response to an event message to allow execution of the server asynchronous event thread and transmitting data associated with the event message across the guaranteed delivery communication conduit, without polling by the remote procedure call client; and
wherein the remote procedure call client establishes an initial client-server connection by generating a first remote procedure call and creates the guaranteed delivery communication conduit by generating a second remote procedure call. - View Dependent Claims (33, 34, 35, 36, 37, 38, 39, 40, 43)
-
Specification