Group proxy and method for grouping services in a distributed computing application
First Claim
1. A mobile group proxy for use by a client to call a group of services in a distributed computing application comprised of:
- a mobile group shell code module containing logic to interact with the group; and
at least one mobile service proxy code module containing logic for the client to interact with one of the services in the group.
9 Assignments
0 Petitions
Accused Products
Abstract
A distributed computing system with an improved architecture and methodology which is capable 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. A grouping agent is also described which provides the group-aware logic for each service that participates in a group, as well as a group service which generates and updates the group proxy. The group service dynamically creates the group proxies for each group by adding the appropriate service proxies to a group logic shell and then registers the group proxies with a look-up service for use by clients. 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.
71 Citations
57 Claims
-
1. A mobile group proxy for use by a client to call a group of services in a distributed computing application comprised of:
-
a mobile group shell code module containing logic to interact with the group; and
at least one mobile service proxy code module containing logic for the client to interact with one of the services in the group. - View Dependent Claims (2, 3, 4)
-
-
5. A method of creating a group proxy for use by a client to call a group of services in a distributed computing application comprising the steps of:
-
selecting a group logic shell for the group;
selecting at least one service proxy for a service within the group; and
combining the group logic shell with the at least one service proxy. - View Dependent Claims (6, 7, 8, 9, 10, 11)
-
-
12. A computer readable medium containing instructions for controlling a computer system to perform a method of creating a group proxy for a group of services in a distributed computing application, the method comprising:
-
selecting a group logic shell for the group;
selecting at least one service proxy for a service within the group; and
combining the group logic shell with the at least one service proxy. - View Dependent Claims (13, 14, 15, 16, 17, 18)
-
-
19. A distributed computing system comprising:
-
a plurality of computing devices;
a plurality of services, operating on at least one of the computing devices, arranged into a group;
a client, operating on at least one of the computing devices, that calls the group to perform a task;
a group proxy, operating on at least one of the computing devices, used by the client to communicate with the group;
a group service, operating on at least one of the computing devices, that creates and updates the group proxy; and
a communication network allowing the services and client to communicate with each other across the computing devices. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33)
-
-
34. A distributed computing system comprising:
-
a plurality of computing devices;
a plurality of services, operating on at least one of the computing devices, arranged into a plurality of groups, with each of these services having an associated service proxy, operating on at least one of the computing devices, said service proxy used to call its associated service;
a plurality of clients, operating on at least one of the computing devices, that call the groups to perform tasks;
a plurality of group proxies, each group proxy being associated with a group, operating on at least one of the computing devices, and being used by a client to communicate with its associated group, and each group proxy being comprised of;
a group logic shell containing the logic necessary to communicate with the associated group; and
at least one of the service proxies associated with a service within the associated group;
a group service, operating on at least one of the computing devices, that creates and updates the group proxy;
a plurality of grouping agents, each grouping agent being associated with a grouped service, operating on at least one of the computing devices, and communicating on behalf of its associated service with the group service and other services within its group; and
a communication network allowing the computing devices to communicate with each other. - View Dependent Claims (35, 36, 37, 38, 39, 40, 41, 42)
-
-
43. 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 group logic shell with at least one of the service proxies to form a group proxy for the group;
the group service providing the group proxy to a client; and
the client using the group proxy to call the group. - View Dependent Claims (44, 45, 46, 47)
-
-
48. A computer readable medium containing instructions for controlling a computer system to perform a method of grouping services in a distributed computing application, the method comprising the steps of:
-
initiating a plurality of services arranged into a group, with each service having its own service proxy and grouping agent;
associating each service in the group with its own 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 group logic shell with at least one of the service proxies to form a group proxy for the group;
the group service providing the group proxy to a client; and
the client using the group proxy to call the group. - View Dependent Claims (49, 50, 51, 52)
-
-
53. A distributed computing system comprising:
-
a plurality of computing devices;
a service operating on at least one of the computing devices;
a client, operating on at least one of the computing devices, that requests the first service to perform a task;
a mobile group proxy associated with the service for handling communication between the client and the first service and able to buffer commands from the client to the first service when the first service is not available; and
a communication network allowing the service and the client to communicate with each other across the computing devices. - View Dependent Claims (54, 55, 56, 57)
-
Specification