Method and apparatus for load balancing in a distributed object architecture
First Claim
1. A system for balancing the distribution of event messages in a distributed object computing environment having at least one client publishing an event containing information and a plurality of server classes residing on a plurality of server hosts, at least one server class subscribing to the event published by the client, a plurality of event subscriber objects each being affiliated with a server host, and a plurality of load balancers, each load balancer querying the plurality of server hosts to calculate a load parameter for each server host, the system performing the steps of:
- a) registering at least one server class as a subscriber for selected events;
b) for each subscribing server class, registering one or more server hosts as capable of running an instance of the subscribing server class;
c) publishing the event by the client;
d) reception of the event by at least one of the plurality of load balancers;
e) selection and identification of a server host for each subscribing server class registered to subscribe to the event by the load balancer receiving the event based on load parameters calculated and the server hosts registered capable of running an instance of the subscribing server class;
f) coupling the selected server host identity for each subscribing server class to the event and further publication of the event into the distributed object computing environment by the load balancer receiving the event;
g) reception of the event by each event subscriber object, each event subscriber object reviewing the selected server host identity information, if the selected server host affiliated with at least one event subscriber object, the event subscriber object passing the event onto the selected server host for processing; and
h) performance of logical operations by at least one instance of each subscribing server class for the published event as designated by the selected server host identity information coupled to the event, and not by instances on other server hosts.
12 Assignments
0 Petitions
Accused Products
Abstract
A load balancing system for use in a distributed computing environment. An event publish and subscribe model implements the load balancing system. In the system, at least one client object publishes an event for response by a number of server hosts. A load balancing object monitors the load to the server hosts to determine a balanced distribution for the event.
214 Citations
16 Claims
-
1. A system for balancing the distribution of event messages in a distributed object computing environment having at least one client publishing an event containing information and a plurality of server classes residing on a plurality of server hosts, at least one server class subscribing to the event published by the client, a plurality of event subscriber objects each being affiliated with a server host, and a plurality of load balancers, each load balancer querying the plurality of server hosts to calculate a load parameter for each server host, the system performing the steps of:
-
a) registering at least one server class as a subscriber for selected events;
b) for each subscribing server class, registering one or more server hosts as capable of running an instance of the subscribing server class;
c) publishing the event by the client;
d) reception of the event by at least one of the plurality of load balancers;
e) selection and identification of a server host for each subscribing server class registered to subscribe to the event by the load balancer receiving the event based on load parameters calculated and the server hosts registered capable of running an instance of the subscribing server class;
f) coupling the selected server host identity for each subscribing server class to the event and further publication of the event into the distributed object computing environment by the load balancer receiving the event;
g) reception of the event by each event subscriber object, each event subscriber object reviewing the selected server host identity information, if the selected server host affiliated with at least one event subscriber object, the event subscriber object passing the event onto the selected server host for processing; and
h) performance of logical operations by at least one instance of each subscribing server class for the published event as designated by the selected server host identity information coupled to the event, and not by instances on other server hosts. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. In a system for balancing the distribution of event messages in a distributed object computing environment having at least one client publishing an event containing information and a plurality of server classes residing on a plurality of server hosts, at least one server class subscribing to the event published by the client, a plurality of event subscriber objects each being affiliated with a server host, and a plurality of load balancers, each load balancer querying the plurality of server hosts to calculate a load parameter for each server host, a computer program product comprising a computer useable medium having computer readable program code to direct the system to perform at least the following steps:
-
a) registering at least one server class as a subscriber for selected events;
b) for each subscribing server class, registering one or more server hosts as capable of running an instance of the subscribing server class;
c) publishing the event by the client;
d) reception of the event by at least one of the plurality of load balancers;
e) selection and identification of a server host for each subscribing server class registered to subscribe to the event by the load balancer receiving the event based on load parameters calculated and the server hosts registered capable of running an instance of the subscribing server class;
f) coupling the selected server host identity for each subscribing server class to the event and further publication of the event into the distributed object computing environment by the load balancer receiving the event;
g) reception of the event by each event subscriber object, each event subscriber object reviewing the selected server host identity information, if the selected server host affiliated with at least one event subscriber object, the event subscriber object passing the event onto the selected server host for processing; and
h) performance of logical operations by at least one instance of each subscribing server class for the published event as designated by the selected server host identity information coupled to the event, and not by instances on other server hosts. - View Dependent Claims (8, 9)
-
-
10. A method for balancing the distribution of event messages in a distributed object computing environment having at least one client publishing an event containing information and a plurality of subscribing server objects instantiated from a single server class residing on a plurality of server hosts, and a plurality of load balancers, each load balancer querying the plurality of server hosts to identify a load parameter for each server host, comprising the steps of:
-
a) publishing the event by the client;
b) reception of the event by at least one of the plurality of load balancers;
c) selection and identification of a server host having at least one subscribing server object by the load balancer receiving the event based on load parameters collected;
d) coupling of the selected server host identity to the event and further publication of the event into the distributed object computing environment by the load balancer receiving the event;
e) reception of the event by the plurality of subscribing server objects; and
f) performance of logical operations by a subscribing server object on the identified server host and not by a subscribing server object on any other server host based on information provided in the event. - View Dependent Claims (11, 12, 13, 14, 15, 16)
g) assigning to the pluralty of server hosts a power rating, wherein the power rating is combined with the other load parameters to determine which of the plurality of server hosts having at least one subscribing object thereon should receive the event.
-
-
15. The method of claim 10, wherein the distributed object computing environment is a distributed manufacturing execution system environment and the at least one client inputs information to the manufacturing execution system from a manufacturing floor.
-
16. The method of claim 10, wherein the plurality of load balancers query the plurality of server hosts for the load parameter at predetermined overlapping time intervals wherein as the number of load balancers in the distributed object computing environment increases, the queries become randomized.
Specification