System and method for the distribution and synchronization of data and state information between clients in a distributed processing system
First Claim
1. In a distributed processing system that includes a plurality of network connected application clients, a method for sharing application data between at least two of the application clients, the method comprising the following steps:
- (a) in a host client, initiating an application session and selectively admitting a new client into the application session, such that the application clients include the host client, the new client, and any other client participating in the application session;
(b) transferring the application data from the host client to the new client, the application data comprising;
(i) a data structure including a unique identifier for each of at least the host client and said any other client participating in the application session; and
(ii) state data; and
(c) in the event that any application client changes application data stored therein;
(i) forwarding a state update packet from the application client changing the application data directly to all other application clients in the application session; and
(ii) at each of the other application clients, receiving the state update packet and altering the application data stored at the receiving application client in accordance with the contents of the state update packet.
2 Assignments
0 Petitions
Accused Products
Abstract
The present invention is directed to a novel system and method for sharing common data and state information between network connected application clients participating in an application session. The application session is invoked by a host client. The host client is responsible for selectively admitting other network connected clients into the application session, and is also the application client that is responsible for distributing a common set of application data for storage at each admitted application client. The application data includes a unique identifier, assigned by the host client, for each application client in the application session. In the event that an application client effects a change to the application data, that change is communicated to each of the other application clients in the session. In this way, each client is always operating on a common set of application data. When a new client is admitted into an application session, application data is forwarded to it in a manner so that the new client receives data that is synchronized with the data possessed by every other application client in the session. A method for migrating host client duties to another application client is also disclosed.
-
Citations
17 Claims
-
1. In a distributed processing system that includes a plurality of network connected application clients, a method for sharing application data between at least two of the application clients, the method comprising the following steps:
-
(a) in a host client, initiating an application session and selectively admitting a new client into the application session, such that the application clients include the host client, the new client, and any other client participating in the application session; (b) transferring the application data from the host client to the new client, the application data comprising; (i) a data structure including a unique identifier for each of at least the host client and said any other client participating in the application session; and (ii) state data; and (c) in the event that any application client changes application data stored therein; (i) forwarding a state update packet from the application client changing the application data directly to all other application clients in the application session; and (ii) at each of the other application clients, receiving the state update packet and altering the application data stored at the receiving application client in accordance with the contents of the state update packet. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. In a network based distributed processing system that includes a single host client and at least one existing application client that are participating in a single application session and that are each operating on common application data, a method for admitting a new client into the application session such that the application clients of the application session include the host client, each of the at least one existing application client, and the new client, the method comprising the following steps:
-
(a) receiving, by the host client, an admission request from the new client; (b) transmitting, by the host client, a unique identifier for the new client to each of the at least one existing application client; (c) transmitting, by the host client, application data to the new client, the application data comprising; (i) a data structure including a unique identifier for each of at least the host client and the at least one existing application client; and (ii) state data; (d) while the host client is transmitting the application data to the new client, compiling at the new client pending queue data, the pending queue data including data derived from at least one state update packet forwarded directly to the new client by any other application client in the application session; and (e) updating the application data received at the new client in accordance with the contents of the pending queue data. - View Dependent Claims (12, 13)
-
-
14. A computer-readable medium for implementing, in a client computer, a method of enabling the client computer to become a new client admitted to an application session conducted in a distributed processing system, wherein application clients participating in the application session include a host client, at least one existing application client, and the new client, the computer-readable medium having computer-executable instructions comprising:
-
means for forwarding an admission request message to the host client that requests admission to the application session; means for receiving from the host client a unique identifier assigned to the new client; means for receiving from the host client application data used in the application session, the application data comprising; (i) a data structure including a unique identifier for each of at least the host client and the at least one existing application client; and (ii) state data; means for compiling pending queue data, the pending queue data including data derived from at least one state update packet forwarded directly to the new client by any other application client in the application session while the new client is receiving the application data from the host client; and means for updating the application data received at the new client in accordance with the contents of the pending queue data. - View Dependent Claims (15)
-
-
16. In a distributed processing system that includes a plurality of network connected clients, a method for hosting an application session between at least two of the network connected clients, the method comprising the following steps:
-
(a) in a host client selected from among the plurality of network connected clients, receiving a request from another of the plurality of network connected clients to be admitted into the application session; (b) in the host client, selectively admitting the requesting client into the application session based upon predetermined admission criteria, such that application clients participating in the application session include the host client, the requesting client, and any other of the plurality of network connected clients participating in the application session; (c) transferring application data from the host client to the requesting client, the application data comprising; (i) a data structure including a unique identifier for each of at least the host client and said any other of the plurality of network connected clients participating in the application session; and (ii) state data; (d) in the event that any application client changes its application data; (i) forwarding a state update packet from the application client changing its application data directly to any other application client in the application session; and (ii) at each of the other application clients in the application session, receiving the state update packet and altering the application data stored at the receiving application client in accordance with the contents of the state update packet; and (e) exiting the application by the host client and, as the application session continues, causing host duties to migrate from the host client to another one of the application clients based on predetermined selection criteria. - View Dependent Claims (17)
-
Specification