Patent US5993038A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5993038A Expired / Lapsed US ⏱️ 0.0 years remaining

Distributed application load distribution aid tool

Assignee: Bull SAS
•
Filing: 1995-11-17
•
Granted: 1999-11-30
•
Expires: 2015-11-17
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract PCT No. PCT/FR95/01514 Sec. 371 Date Aug. 6, 1997 Sec. 102(e) Date Aug. 6, 1997 PCT Filed Nov. 17, 1995 PCT Pub. No. WO96/17297 PCT Pub. Date Jun. 6, 1996A tool at the service of a distributed application running on machines of a distributed data processing system running in a local area network, intended for balancing the load on each of the machines of the system, includes a master daemon and a plurality of agent demons. The master and each of the agents calculate the load of the machine on which they are running. The master collects the load data of each of the agents at a first sampling interval and sends that collected load data to all of the agents. At the request of the distributed application, the local agent closest to the application indicates to the application which machine has the lightest load. The application then makes the decision to request the machine with the lightest load to execute the services the application requires. As necessary, the tool selects a master from the agents, thereby ensuring the existence and uniqueness of a master at all times, regardless of failure affecting one 1010 or more machines in the data processing system.

Inventors

  • 👤 Gerard Sitbon
  • 👤 Francois Urbain
  • 👤 Therese Saliba

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-31 21:53
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/50; G06F9/5083

Claims Analysis

Total Claims: 23
Claim 1
Independent Claim 227 words
A tool (ORC) at the service of a distributed application (APU) running on machines (MC0 through MC3) of a distributed data processing system (SID) in a local area network (RE), intended for balancing a load on each of said machines, said tool comprising a plurality of data processing modules (MS0, A1 through A3) called DAEMONs which run on said machines, one of which is a master (MS0), the others being agents (A1 through A3), the master (MS0) and the agents (A1 thorough A3) having respective means (MCC0 through MCC3) for calculating at first determined sampling instants ti the load of the machines on which the DAEMONs are running and respective storage means (MP0 through MP3) for storing the load data of the master and the agents, the master (MS0) containing: means (MRC0 through MRC3) for collecting load data of the respective agents at second determined sampling instants Ti, means (MTC0) for sending the load data of each agent to all of the agents, each agent (A1 through A3) containing: respective means (MRCC1 through MRCC3) for receiving the load data of the other agents, whereby at a request of the application the local agent closest to the application indicates to the application which machine has the lightest load, the application then making the decision to request said machine with the lightest load to execute services the application requires.
Claim 2
Dependent Claim 227 words
A tool (ORC) at the service of a distributed application (APU) running on machines (MC0 through MC3) of a distributed data processing system (SID) in a local area network (RE), intended for balancing a load on each of said machines, said tool comprising a plurality of data processing modules (MS0, A1 through A3) called DAEMONs which run on said machines, one of which is a master (MS0), the others being agents (A1 through A3), the master (MS0) and the agents (A1 thorough A3) having respective means (MCC0 through MCC3) for calculating at first determined sampling instants ti the load of the machines on which the DAEMONs are running and respective storage means (MP0 through MP3) for storing the load data of the master and the agents, the master (MS0) containing: means (MRC0 through MRC3) for collecting load data of the respective agents at second determined sampling instants Ti, means (MTC0) for sending the load data of each agent to all of the agents, each agent (A1 through A3) containing: respective means (MRCC1 through MRCC3) for receiving the load data of the other agents, whereby at a request of the application the local agent closest to the application indicates to the application which machine has the lightest load, the application then making the decision to request said machine with the lightest load to execute services the application requires.
Claim 3
Dependent Claim 47 words
The tool according to claim 1, further comprising selection means (AUT) for choosing a master from the DAEMONs, which ensures the existence and the uniqueness of said master at the start-up of said DAEMONs and after loss of a master during the execution of the tool (ORC).
Claim 4
Dependent Claim 39 words
The tool according to claim 1, further comprising means (AUT, e8) for ensuring continuity of the service rendered to the application by the tool in case of a failure affecting at least one machine in the data processing system.
Claim 5
Dependent Claim 39 words
The tool according to claim 1, further comprising means (AUT, el, State I0) for automatically detecting from the network which machines will allow the network to retrieve the addresses of all the machines at the start-up of the DAEMONs.
Claim 6
Dependent Claim 240 words
A process for implementing a tool at the service of a distributed application (APU) running on machines of a data processing system including data processing modules (MS0, A1 through A3) called DAEMONs which run on said machines, one of which is a master (MS0), the others being agents (A1 through A3) the process comprising. 1) Collecting load data for the machines at first time intervals ti on which the applications are running, and calculating the total load of each machine from said load data and from its power; 2) At second time intervals Ti, sending the load data from agent data processing modules (A1 thorough A3) of the corresponding machines to a master data processing module; 3) At said second intervals Ti, centralizing the load data of the agents and the master using collection means (MRC0 through MRC3); 4) Sending all of said data to each agent (A1 through A3); 5) Copying all said load data from each agent into an associated shared memory (MP1 through MP3), and 6) At the moment at which the application (APU) estimates it will need a particular service to be rendered to it, searching in shared memory (MP0 through MP3) of the machine on which the application (APU) is running for the estimated load of each of the machines (MC0 through MC3), deducing the machine with the lightest load at this moment, and then requesting said machine to render the service the application requires.
Claim 7
Dependent Claim 240 words
A process for implementing a tool at the service of a distributed application (APU) running on machines of a data processing system including data processing modules (MS0, A1 through A3) called DAEMONs which run on said machines, one of which is a master (MS0), the others being agents (A1 through A3) the process comprising. 1) Collecting load data for the machines at first time intervals ti on which the applications are running, and calculating the total load of each machine from said load data and from its power; 2) At second time intervals Ti, sending the load data from agent data processing modules (A1 thorough A3) of the corresponding machines to a master data processing module; 3) At said second intervals Ti, centralizing the load data of the agents and the master using collection means (MRC0 through MRC3); 4) Sending all of said data to each agent (A1 through A3); 5) Copying all said load data from each agent into an associated shared memory (MP1 through MP3), and 6) At the moment at which the application (APU) estimates it will need a particular service to be rendered to it, searching in shared memory (MP0 through MP3) of the machine on which the application (APU) is running for the estimated load of each of the machines (MC0 through MC3), deducing the machine with the lightest load at this moment, and then requesting said machine to render the service the application requires.
Claim 8
Dependent Claim 271 words
A process for implementing a tool at the service of a distributed application APU) runninig on machines of a data processing system including data processing modules (MS0, A1 through A3) called DAEMONs which run on said machines, one of which is a master (MS0), the others being agents (A1 through A3), the process comprising: 1) collecting load data for machines on which the agents and the master (MS0, A1 through A3) are running, at first time intervals ti; 2) calculating a total load of a respective machine from said data and from the respective machine's power; 3) sending the master (MS0) via the respective agents (A1 through A3), at second time intervals Ti, the load data of a respective machine; 4) centralizing load data of all the agents as well as load data of the master (MS0) via the master (MS0), at said second time intervals Ti; 5) sending all of said centralized load data to each agent (A1 through A3) via the master (MS0); 6) copying all said centralized load data into respective shared memories (MP1 through MP3) by each agent (A1 through A3); and 7) performing the following steps by the application (APU) at a moment at which the application (APU) estimates the application will need a particular service to be rendered: a) searching a shared memory (MP0 through MP3) of a machine on which the application (APU) is running for an estimated load of each of the machines (MC0 through MC3), b) deducing a machine with the lightest load at said moment, and c) requesting said machine with the lightest load to render the application (APU) said service.
Claim 9
Dependent Claim 271 words
A process for implementing a tool at the service of a distributed application APU) runninig on machines of a data processing system including data processing modules (MS0, A1 through A3) called DAEMONs which run on said machines, one of which is a master (MS0), the others being agents (A1 through A3), the process comprising: 1) collecting load data for machines on which the agents and the master (MS0, A1 through A3) are running, at first time intervals ti; 2) calculating a total load of a respective machine from said data and from the respective machine's power; 3) sending the master (MS0) via the respective agents (A1 through A3), at second time intervals Ti, the load data of a respective machine; 4) centralizing load data of all the agents as well as load data of the master (MS0) via the master (MS0), at said second time intervals Ti; 5) sending all of said centralized load data to each agent (A1 through A3) via the master (MS0); 6) copying all said centralized load data into respective shared memories (MP1 through MP3) by each agent (A1 through A3); and 7) performing the following steps by the application (APU) at a moment at which the application (APU) estimates the application will need a particular service to be rendered: a) searching a shared memory (MP0 through MP3) of a machine on which the application (APU) is running for an estimated load of each of the machines (MC0 through MC3), b) deducing a machine with the lightest load at said moment, and c) requesting said machine with the lightest load to render the application (APU) said service.
Claim 10
Dependent Claim 22 words
The invention as set forth in claim 6 wherein the step of calculating a total load is performed by a calculation program.
Claim 11
Dependent Claim 21 words
The invention as set forth in claim 7 wherein the step of centralizing load data is performed by a collection program.
Claim 12
Dependent Claim 30 words
The invention as set forth in claim 7 wherein the step of sending all of said centralized load data is effected by an integral part (MTC0) of said master (MS0).
Claim 13
Dependent Claim 30 words
The invention as set forth in claim 8 wherein the step of sending all of said centralized load data is effected by an integral part (MTC0) of said master (MS0).
Claim 14
Dependent Claim 30 words
The invention as set forth in claim 9 wherein the step of sending all of said centralized load data is effected by an integral part (MTC0) of said master (MS0).
Claim 15
Dependent Claim 30 words
The invention as set forth in claim 9 wherein the step of sending all of said centralized load data is effected by an integral part (MTC0) of said master (MS0).
Claim 16
Dependent Claim 21 words
The invention as set forth in claim 6 wherein the step of centralizing load data is performed by a collection program.
Claim 17
Dependent Claim 21 words
The invention as set forth in claim 13 wherein the step of centralizing load data is performed by a collection program.
Claim 18
Dependent Claim 30 words
The invention as set forth in claim 13 wherein the step of sending all of said centralized load data is effected by an integral part (MTC0) of said master (MS0).
Claim 19
Dependent Claim 30 words
The invention as set forth in claim 14 wherein the step of sending all of said centralized load data is effected by an integral part (MTC0) of said master (MS0).
Claim 20
Dependent Claim 30 words
The invention as set forth in claim 6 wherein the step of sending all of said centralized load data is effected by an integral part (MTC0) of said master (MS0).
Claim 21
Dependent Claim 21 words
The invention as set forth in claim 17 wherein the step of centralizing load data is performed by a collection program.
Claim 22
Dependent Claim 30 words
The invention as set forth in claim 17 wherein the step of sending all of said centralized load data is effected by an integral part (MTC0) of said master (MS0).
Claim 23
Dependent Claim 30 words
The invention as set forth in claim 18 wherein the step of sending all of said centralized load data is effected by an integral part (MTC0) of said master (MS0).

References Cited (Backward Citations)

JPS63274741A Cited
US5339392A Cited
JPH04286681A Cited
US5442789A Cited
US5787160A Cited
US5790789A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-11-29 2003-05-31 2003-11-30 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-11-29 2007-05-31 2007-11-30 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-11-29 2011-05-31 2011-11-30 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag