Method for handling transitions in grouped services in a distributed computing application
First Claim
1. A method of handling a transition in a group of services in a distributed computing application comprising the steps of:
- determining the need for the transition;
determining a correct group proxy shell and service proxies for the transitioned group; and
updating a group proxy, said group proxy being associated with a client that calls the group, so that the group proxy contains the correct group proxy shell and service proxies.
9 Assignments
0 Petitions
Accused Products
Abstract
The present invention is a method of handling a wide range of dynamic groups of services where the makeup of the groups can be determined and changed while the application is running. This is mainly accomplished through a group proxy, which is generated at run time, and which handles interactions with groups of services on behalf of one or more clients. The group proxy consists of a group logic shell which contains all the group-aware logic, and a service proxy for each service in the group which contains the necessary logic to interact with the particular service. The group proxy, which is given to a client for all of its interactions with the group of services, buffers calls from that client to its group when the group is unavailable because it is in transition. When the transition is complete the group proxy transmits the stored client commands to the group. In the preferred embodiment of the invention, all the group-aware logic for a distributed computing application is provided in separate code modules, namely the group proxy, group service and grouping agent, thus relieving clients and services from providing this logic and maintaining the purity of the look-up service and other infrastructure services.
28 Citations
62 Claims
-
1. A method of handling a transition in a group of services in a distributed computing application comprising the steps of:
-
determining the need for the transition;
determining a correct group proxy shell and service proxies for the transitioned group; and
updating a group proxy, said group proxy being associated with a client that calls the group, so that the group proxy contains the correct group proxy shell and service proxies. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer readable medium containing instructions for controlling a computer system to perform a method of handling a transition in a group of services in a distributed computing application comprising the steps of:
-
determining the need for the transition;
determining a correct group proxy shell and service proxies for the transitioned group; and
updating a group proxy, said group proxy being associated with a client that calls the group, so that the group proxy contains the correct group proxy shell and service proxies. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A method of handling a transition in a group of services in a distributed computing application comprising the steps of:
-
instructing a group proxy, said group proxy being associated with a client that calls the group, to begin buffering commands from the client to the group;
the group proxy intercepting and storing commands from the client to the group until the transition is complete; and
after the transition is complete, the group proxy sending the stored commands from the client to the group. - View Dependent Claims (14, 15, 16, 17, 18, 19)
-
-
20. A computer readable medium containing instructions for controlling a computer system to perform a method of handling a transition in a group of services in a distributed computing application comprising the steps of:
-
instructing a group proxy, said group proxy being associated with a client that calls the group, to begin buffering commands from the client to the group;
the group proxy intercepting and storing commands from the client to the group until the transition is complete; and
after the transition is complete, the group proxy sending the stored commands from the client to the group. - View Dependent Claims (21, 22, 23, 24, 25, 26)
-
-
27. A method of internally switching the group mode of a group of services in order to perform a task comprising the steps of:
-
a grouping agent for one of the services in the group instructing the grouping agents for the other services in the group to switch to a new group mode;
all of the grouping agents in the group switching to the new group mode;
performing the task;
a grouping agent for one of the services in the group instructing the grouping agents for the other services in the group to return to the original group mode; and
all of the grouping agents in the group returning to the original group mode. - View Dependent Claims (28, 29, 30, 31)
-
-
32. A computer readable medium containing instructions for controlling a computer system to perform a method of internally switching the group mode of a group of services in order to perform a task comprising the steps of:
-
a grouping agent for one of the services in the group instructing the grouping agents for the other services in the group to switch to a new group mode;
all of the grouping agents in the group switching to the new group mode;
performing the task;
a grouping agent for one of the services in the group instructing the grouping agents for the other services in the group to return to the original group mode; and
all of the grouping agents in the group returning to the original group mode. - View Dependent Claims (33, 34, 35, 36)
-
-
37. A method of sending a command from a peer group of services to a service outside the group comprising the steps of:
-
changing the group to a coordinator cohort group with one of the services in the group acting as coordinator;
the coordinator service sending a command to the outside service;
the coordinator service receiving the command response from the outside service;
the coordinator service sharing the command response with all the other services in the group; and
returning the group to a peer group. - View Dependent Claims (38, 39, 40)
-
-
41. A computer readable medium containing instructions for controlling a computer system to perform a method of sending a command from a peer group of services to a service outside the group comprising the steps of:
-
changing the group to a coordinator cohort group with one of the services in the group acting as coordinator;
the coordinator service sending a command to the outside service;
the coordinator service receiving the command response from the outside service;
the coordinator service sharing the command response with all the other services in the group; and
returning the group to a peer group. - View Dependent Claims (42, 43, 44)
-
-
45. A method of testing a new service in parallel with an old service in a distributed computing application comprising the steps of:
-
initiating the new service in the distributed application;
forming a group containing at least the old service;
providing a client of the group with a group proxy for the group;
the group proxy copying any commands sent from the client to the group to the new service; and
evaluating the performance of the new service. - View Dependent Claims (46, 47, 48, 49)
-
-
50. A computer readable medium containing instructions for controlling a computer system to perform a method of testing a new service in parallel with an old service in a distributed computing application comprising the steps of:
-
initiating the new service in the distributed application;
forming a group containing at least the old service;
providing a client of the group with a group proxy for the group;
the group proxy copying any commands sent from the client to the group to the new service; and
evaluating the performance of the new service. - View Dependent Claims (51, 52, 53, 54)
-
-
55. A method of grouping services in a distributed computing application comprising the steps of:
-
initiating a plurality of services arranged into a group, with each service having its own service proxy and grouping agent;
each grouping agent registering its associated service with a group service including providing the group service with the service proxy of the service it is registering;
the group service bundling a first group logic shell for a first group mode with at least one of the service proxies to form a first group proxy for the group;
the group service bundling a second group logic shell for a second group mode with at least one of the service proxies to form a second group proxy for the group;
the group service providing the first group proxy to a first client and the second group proxy to a second client;
the first client using the first group proxy to call the group in the first group mode; and
the second client using the second group proxy to call the group in the second group mode. - View Dependent Claims (56, 57, 58)
-
-
59. A computer readable medium containing instructions for controlling a computer system to perform a method of grouping services in a distributed computing application comprising the steps of:
-
initiating a plurality of services arranged into a group, with each service having its own service proxy and grouping agent;
each grouping agent registering its associated service with a group service including providing the group service with the service proxy of the service it is registering;
the group service bundling a first group logic shell for a first group mode with at least one of the service proxies to form a first group proxy for the group;
the group service bundling a second group logic shell for a second group mode with at least one of the service proxies to form a second group proxy for the group;
the group service providing the first group proxy to a first client and the second group proxy to a second client;
the first client using the first group proxy to call the group in the first group mode; and
the second client using the second group proxy to call the group in the second group mode. - View Dependent Claims (60, 61, 62)
-
Specification