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

Method of load balancing across the processors of a server

Assignee: International Business Machines Corp
•
Filing: 1996-12-19
•
Granted: 1999-02-02
•
Expires: 2016-12-19
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A server computer connectable to a network and having a plurality of processors (20, 30, 40) arranged to provide a service to one or more client computers connected to the network. The service Involves the provision of blocks of information to a client computer (50), and the processors have access to a data storage (120) in which data for the blocks of information is stored. Each processor in the server has block retrieval means (80), employed in response to a request from a client computer (50) for a particular block of information from that processor, to retrieve data from the data storage (120) to construct a file representing the requested block of information, the file including references to subsequent blocks of information requestable by the client (50). Additionally, load determining means (100) periodically determines activity data for the processor for inclusion In a load distribution record maintained for all of the processors of the server. Decision means (90) is then used which, for each reference to a subsequent block of information in the file constructed by the block retrieval means (80), determines, based on the load distribution record, which processor should service a request from the client computer (50) for that subsequent block of information, and includes an address for that processor in the file constructed by the block retrieval means (80). The file is then sent to the client computer (50). In preferred embodiments, the service being provided is the World Wide Web (WWW) service, and the technique Is employed on a parallel Web server providing Web pages to clients over the Internet.

Inventors

  • 👤 Sean James Martin
  • 👤 Andrew James Stanford-Clark

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-30 15:43
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/50; G06F9/5005; G06F9/5027; G06F9/505; H; H04; H04L; H04L9/00; H04L9/40

Claims Analysis

Total Claims: 15
Claim 1
Independent Claim 226 words
A server computer connectable to a network and having a plurality of processors (20, 30, 40) arranged to provide a service to one or more client computers connected to the network, the service comprising the provision of blocks of information to a client computer (50), and the processors having access to a data storage (120) in which data for the blocks of information is stored, the server computer comprising: block retrieval means (80) provided on each of said plurality of processors, and employed in response to a request from a client computer (50) for a particular block of information from a processor, to retrieve data from the data storage (120) to construct a file representing the requested block of information, the file including references to subsequent blocks of information requestable by the client (50); load determining means (100) for determining periodically activity data for the processors; decision means (90) which, for each reference to a subsequent block of information in the file constructed by the block retrieval means (80), is arranged to determine, based on the activity data, which processor should service a request from the client computer (50) for that subsequent block of information, and to include an address for that processor in the file constructed by the block retrieval means (80); and delivery means (110) for sending the file to the client computer (50).
Claim 2
Dependent Claim 226 words
A server computer connectable to a network and having a plurality of processors (20, 30, 40) arranged to provide a service to one or more client computers connected to the network, the service comprising the provision of blocks of information to a client computer (50), and the processors having access to a data storage (120) in which data for the blocks of information is stored, the server computer comprising: block retrieval means (80) provided on each of said plurality of processors, and employed in response to a request from a client computer (50) for a particular block of information from a processor, to retrieve data from the data storage (120) to construct a file representing the requested block of information, the file including references to subsequent blocks of information requestable by the client (50); load determining means (100) for determining periodically activity data for the processors; decision means (90) which, for each reference to a subsequent block of information in the file constructed by the block retrieval means (80), is arranged to determine, based on the activity data, which processor should service a request from the client computer (50) for that subsequent block of information, and to include an address for that processor in the file constructed by the block retrieval means (80); and delivery means (110) for sending the file to the client computer (50).
Claim 3
Dependent Claim 30 words
A server computer as claimed in claim 1, wherein the load determining means (100) is provided on each of said plurality of processors to determine activity data for each processor.
Claim 4
Dependent Claim 22 words
A server computer as claimed in claim 1, wherein the decision means (90) is provided on each of said plurality of processors.
Claim 5
Dependent Claim 90 words
A server computer as claimed in claim 1 or claim 2 or claim 3, wherein if a plurality of the subsequent blocks of information will be required by the client computer (50) when constructing the block of information represented by the file, then the decision means (90) is arranged to determine how many of those subsequent blocks of information any particular processor will service requests for, such that the greater the load on a processor, the less the number of subsequent blocks of information that processor will service requests for.
Claim 6
Dependent Claim 35 words
A server as claimed in claim 4, wherein one or more of the subsequent blocks of information are image files which will be required by the client computer (50) when constructing the block of information.
Claim 7
Dependent Claim 13 words
A server as claimed in claim 4, wherein the network is the Internet.
Claim 8
Dependent Claim 24 words
A server as claimed in claim 6, wherein the service is the World Wide Web service, and the blocks of information are Web pages.
Claim 9
Dependent Claim 64 words
A server as claimed in claim 7, wherein the address for a subsequent block of information included in the file by the decision means (90) takes the form of an address string including both an identifier for that block of information, and a unique identifier for the processor which the decision means (90) has determined will service the request for that block of information.
Claim 10
Independent Claim 214 words
A method of operating a server computer connectable to a network and having a plurality of processors (20, 30, 40) arranged to provide a service to one or more client computers connected to the network, the service comprising the provision of blocks of information to a client computer (50), and the processors having access to a data storage (120) in which data for the blocks of information is stored, the method comprising the steps of: (a) in response to a request from a client computer (50) for a particular block of information from a processor, employing that processor to retrieve data from the data storage (120) to construct a file representing the requested block of information, the file including references to subsequent blocks of information requestable by the client (50); (b) employing a load determining means (100) to determine periodically activity data for all of the processors of the server; (c) for each reference to a subsequent block of information in the file constructed at step (a), determining, based on the activity data, which processor should service a request from the client computer (50) for that subsequent block of information, and including an address for that processor in the file constructed at step (a); and (d) sending the file to the client computer (50).
Claim 11
Independent Claim 214 words
A method of operating a server computer connectable to a network and having a plurality of processors (20, 30, 40) arranged to provide a service to one or more client computers connected to the network, the service comprising the provision of blocks of information to a client computer (50), and the processors having access to a data storage (120) in which data for the blocks of information is stored, the method comprising the steps of: (a) in response to a request from a client computer (50) for a particular block of information from a processor, employing that processor to retrieve data from the data storage (120) to construct a file representing the requested block of information, the file including references to subsequent blocks of information requestable by the client (50); (b) employing a load determining means (100) to determine periodically activity data for all of the processors of the server; (c) for each reference to a subsequent block of information in the file constructed at step (a), determining, based on the activity data, which processor should service a request from the client computer (50) for that subsequent block of information, and including an address for that processor in the file constructed at step (a); and (d) sending the file to the client computer (50).
Claim 12
Dependent Claim 26 words
A method as claimed in claim 9, wherein each of said plurality of processors includes a load determining means (100) arranged to perform said step (b).
Claim 13
Dependent Claim 23 words
A method as claimed in claim 9, wherein each of said processors includes a decision means (90) arranged to perform said step (c).
Claim 14
Dependent Claim 86 words
A method as claimed in claim 9 or claim 10 or claim 11, wherein if a plurality of the subsequent blocks of information will be required by the client computer (50) when constructing the block of information represented by the file, then said step (c) includes determining how many of those subsequent blocks of information any particular processor will service requests for, such that the greater the load on a processor, the less the number of subsequent blocks of information that processor will service requests for.
Claim 15
Dependent Claim 67 words
A method as claimed in claim 12, wherein the address for a subsequent block of information included in the file at said step (c) takes the form of an address string including both an identifier for that block of information, and a unique identifier for the processor which at step (c) has been determined as the processor which will service the request for that block of information.

References Cited (Backward Citations)

GB648038A Cited
US5053950A Cited
US5774668A Cited

USPTO Annuity & Maintenance Windows

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag