Methods for performing client-hosted application sessions in distributed processing systems
First Claim
1. In a distributed processing system including application clients that participate in an application session executed in the distributed processing system, and wherein the application clients include at least a first client that has hosting duties for the application session, and second and third clients also participating in the application session, a method of causing host duties for the application session to migrate from a first client to a second client, the method comprising steps for:
- as part of the application session, storing at each of the application clients a data structure that includes a unique identifier associated with each of the application clients;
the first client that has been hosting the application session transmitting a host change notification packet to the other clients and then exiting the application session, such that the remaining application clients include at least the second client and the third client;
as the application session continues, receiving at the remaining second and third clients the host change notification packet sent by the first host client, and then each of the remaining clients applying a predetermined criteria so that one of the second or third clients will select itself for the host duties based on predetermined selection criteria; and
thereafter, causing the host duties to migrate to the selected client.
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.
184 Citations
12 Claims
-
1. In a distributed processing system including application clients that participate in an application session executed in the distributed processing system, and wherein the application clients include at least a first client that has hosting duties for the application session, and second and third clients also participating in the application session, a method of causing host duties for the application session to migrate from a first client to a second client, the method comprising steps for:
-
as part of the application session, storing at each of the application clients a data structure that includes a unique identifier associated with each of the application clients;
the first client that has been hosting the application session transmitting a host change notification packet to the other clients and then exiting the application session, such that the remaining application clients include at least the second client and the third client;
as the application session continues, receiving at the remaining second and third clients the host change notification packet sent by the first host client, and then each of the remaining clients applying a predetermined criteria so that one of the second or third clients will select itself for the host duties based on predetermined selection criteria; and
thereafter, causing the host duties to migrate to the selected client. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
the unique identifiers are numerical unique identifiers; and
the step of examining the unique identifiers that are associated with the remaining application clients comprises the step of applying the predetermined criteria to the unique identifiers that are associated with the remaining application clients.
-
-
5. A method as recited in claim 4, wherein the predetermined criteria relates to the relative values of the unique identifiers, the step of applying the predetermined criteria comprising the step of comparing the relative values of the unique identifiers that are associated with the remaining application clients.
-
6. A method as recited in claim 5, wherein the unique identifier associated with the selected client has the greatest value among the unique identifiers associated with the remaining application clients.
-
7. A method as recited in claim 5, wherein the unique identifier associated with the selected client has the least value among the unique identifiers associated with the remaining application clients.
-
8. A method as recited in claim 1, further comprising the step of selectively adding a new application client to the application session by the first client as part of the host duties prior to the step of exiting the application session by the first client.
-
9. A method as recited in claim 8, further comprising the step of selectively adding another new application client to the application session by the selected client as part of the host duties after the step of causing the host duties to migrate to the selected client.
-
10. In a client computer included in a distributed processing system, and wherein the application clients include at least a first client that has hosting duties for the application session, and second and third clients also participating in the application session, a method for assuming host duties associated with an application session executed in the distributed processing system when a first host client included in the distributed processing system exits the application session, the method comprising steps for:
-
as part of the application session, storing a data structure that includes a unique identifier associated each of the application clients;
in response to the first host client exiting the application session, and as the application session continues, receiving at the remaining clients a host change notification packet sent by the departing first host client, and thereafter one of the remaining clients identifying itself, based on predetermined criteria, as a new host client that is to assume the host duties; and
assuming the host duties at the client computer which has identified itself as the new host. - View Dependent Claims (11, 12)
the unique identifiers are numerical unique identifiers;
the predetermined criteria relates to the relative values of the unique identifiers; and
the step of applying the predetermined criteria comprises the step of comparing the relative values of the unique identifiers that are associated with the remaining application clients.
-
Specification