Methods for performing client-hosted application sessions in distributed processing systems
First Claim
1. In a client computer included in a distributed processing system, a method whereby the client computer is admitted to an application session hosted by a host client included in the distributed processing system and the client computer obtains current application data regardless of transmission latency associated with the application data, the method comprising the steps of:
- initiating transmission of data to the host client, the data representing a request for admission into the application session;
after being admitted to the session in response to the request such that the client computer becomes an application client, but prior to completely receiving the application data from the host client, performing the steps of receiving at least one state update packet forwarded directly to the client computer from at least one of one or more other application clients, the one or more other application clients including the host client and any other client that is included in the distributed processing system and is participating in the application session; and
compiling pending queue data at the client computer based on the at least one state update packet;
receiving the application data from the host client, the application data enabling the client computer to participate in the application session; and
updating the application data using the pending queue data.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods of performing client-hosted application sessions in distributed processing systems. The application sessions involve network connected application clients sharing common data and state information. An application client designated as a host client selectively admits other clients into the application session and distributes a common set of application data to each newly admitted application client. The application data includes a unique identifier, assigned by the host client, for each application client in the application session. When a new client is admitted into an application session, application data is transmitted to it in a manner such that the new client receives data that is synchronized with the data possessed by the other application clients in the session. Changes in the application data made by an application client are communicated directly from the application client to other application clients so that each client can maintain a common set of application data. When the host client exits the application session, the host duties are automatically migrated to a new host client selected from among the remaining application clients.
166 Citations
12 Claims
-
1. In a client computer included in a distributed processing system, a method whereby the client computer is admitted to an application session hosted by a host client included in the distributed processing system and the client computer obtains current application data regardless of transmission latency associated with the application data, the method comprising the steps of:
-
initiating transmission of data to the host client, the data representing a request for admission into the application session;
after being admitted to the session in response to the request such that the client computer becomes an application client, but prior to completely receiving the application data from the host client, performing the steps of receiving at least one state update packet forwarded directly to the client computer from at least one of one or more other application clients, the one or more other application clients including the host client and any other client that is included in the distributed processing system and is participating in the application session; and
compiling pending queue data at the client computer based on the at least one state update packet;
receiving the application data from the host client, the application data enabling the client computer to participate in the application session; and
updating the application data using the pending queue data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
state data; and
a data structure including a unique identifier for each of said one or more other application clients.
-
-
3. A method as recited in claim 1, further comprising, prior to the step of receiving the application data, the step of receiving from the host client a unique identifier assigned to the client computer.
-
4. A method as recited in claim 1, further comprising the step of the client computer changing the application data as the client computer participates in the application session.
-
5. A method as recited in claim 4, further comprising the step of directly sending another state update packet to all of the one or more other application clients, the other state update packet representing changes made to the application data by the client computer.
-
6. A method as recited in claim 5, further comprising the step of generating the other state update packet.
-
7. A method as recited in claim 4, wherein the application session enables a computer game to be executed at the client computer and the one or more other application clients.
-
8. A method as recited in claim 7, wherein at least one of the one or more other application clients supports multiple clients.
-
9. A method as recited in claim 1, wherein the step of receiving the at least one state update packet is conducted during an interval of transmission latency associated with the application data being sent from the host client to the client computer.
-
10. In a client computer included in a distributed processing system, a method of enabling the client computer to become a new client admitted to an application session conducted in the 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 method comprising the steps of:
-
forwarding an admission request message to the host client that requests admission to the application session;
receiving from the host client a unique identifier assigned to the client computer;
receiving from the host client application data to be used in the application session, the application data including;
a data structure including a unique identifier for each of at least the host client and the at least one existing application client; and
state data;
compiling pending queue data that includes data derived from at least one state update packet forwarded directly to the client computer by any other application client in the application session while the new client is receiving the application data from the host client; and
updating the application data received at the client computer in accordance with the contents of the pending queue data. - View Dependent Claims (11, 12)
-
Specification