US6393458B1
Expired / Lapsed
US
⏱️ 0.0 years remaining
Method and apparatus for load balancing in a distributed object architecture
Assignee: VISIPRISE Inc
•
Filing: 1999-04-09
•
Granted: 2002-05-21
•
Expires: 2019-04-09
Abstract
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.
Inventors
- 👤 Samuel S. Gigliotti
- 👤 Ward L. Boole
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-04 21:23
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/50; G06F9/5005; G06F9/5027; G06F9/505; G06F9/54; G06F9/542; Y; Y10; Y10S; Y10S707/00; Y10S707/99941; Y10S707/99944; Y10S707/99945
Claims Analysis
Total Claims: 19
Claim 1
Independent Claim
321 words
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.
Claim 2
Independent Claim
321 words
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.
Claim 3
Dependent Claim
39 words
The system of claim 1 , wherein publishing an event includes passing the event to the event publisher for further publication into an event channel, wherein the event channel passes the event to the plurality of event subscriber objects.
Claim 4
Dependent Claim
53 words
The system of claim 1 , wherein the load parameters calculated from the plurality of selected server hosts includes a value representing a number of system threads in queue waiting on a central processing unit on the server host and a power rating which has been pre-assigned to the plurality of server hosts.
Claim 5
Dependent Claim
53 words
The system of claim 1 , wherein the event subscriber instantiates an object of a subscribing server class on the selected server host identified in the event for the subscribing server class in the event that no such object is instantiated on the selected server host when the event subscriber receives the event.
Claim 6
Dependent Claim
22 words
The system of claim 1 , wherein the plurality of load balancers query the plurality of server hosts at randomized time intervals.
Claim 7
Dependent Claim
25 words
The system of claim 1 , wherein the selected server host identity and subscribing server class are coupled in a table within the published event.
Claim 8
Dependent Claim
341 words
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.
Claim 9
Dependent Claim
341 words
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.
Claim 10
Dependent Claim
40 words
The computer program product of claim 7 , wherein publishing the event includes passing the event to an event publisher for further publication into an event channel, wherein the event channel passes the event to the plurality of event subscribers.
Claim 11
Dependent Claim
57 words
The computer program product of claim 7 , wherein the event subscriber object instantiates an object of a subscribing server class on the selected server host identified in the event for the subscribing server class in the event that no such object is instantiated on the selected server host when the event subscriber object receives the event.
Claim 12
Independent Claim
199 words
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.
Claim 13
Independent Claim
199 words
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.
Claim 14
Dependent Claim
25 words
The method of claim 10 , wherein publishing the event includes passing the event to an event publisher for further publication into an event channel.
Claim 15
Dependent Claim
42 words
The method of claim 11 , wherein the event channel passes the event to a plurality of event subscribers, wherein for each event published, at least one event subscriber passes the event to the subscribing server object on the identified server host.
Claim 16
Dependent Claim
43 words
The method of claim 10 , wherein at least one of the load parameters collected from the plurality of server hosts include a value representing a number of system threads in queue waiting on a central processing unit on the selected server host.
Claim 17
Dependent Claim
53 words
The method of claim 13 , further comprising the step of: 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.
Claim 18
Dependent Claim
36 words
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.
Claim 19
Dependent Claim
45 words
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.
References Cited (Backward Citations)
US5794005A
Cited
US5603029A
Cited
US5881315A
Cited
US5898870A
Cited
US5870605A
Cited
US5970503A
Cited
US5958012A
Cited
US5790789A
Cited
US5847957A
Cited
US6167427A
Cited
US6138143A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2005-05-20 | 2005-11-19 | 2006-05-21 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2009-05-20 | 2009-11-19 | 2010-05-21 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2013-05-20 | 2013-11-19 | 2014-05-21 | $7700.00 | Window Closed / Lapsed |