← Back to Patent Explorer
EP0865180A2 Expired / Lapsed EP ⏱️ 0.0 years remaining

Load distribution among servers in a TCP/IP network

Assignee: Nokia of America Corp
•
Filing: 1998-03-03
•
Granted: —
•
Expires: 2018-03-03
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Methods and apparatus for hosting a network service on a cluster of servers, each including a primary and a secondary Internet Protocol (IP) address. A common cluster address is assigned as the secondary address to each of the servers in the cluster. The cluster address may be assigned in UNIX-based servers using an ifconfig alias option, and may be a ghost IP address that is not used as a primary address by any server in the cluster. Client requests directed to the cluster address are dispatched such that only one of the servers of the cluster responds to a given client request. The dispatching may use a routing-based technique, in which all client requests directed to the cluster address are routed to a dispatcher connected to the local network of the server cluster. The dispatcher then applies a hash function to the client IP address in order to select one of the servers to process the request. The dispatching may alternatively use a broadcast-based technique, in which a router broadcasts client requests having the cluster address to all of the servers of the cluster over a local network. The servers then each provide a filtering routine, which may involve comparing a server identifier with a hash value generated from a client address, in order to ensure that only one server responds to each request broadcast by the router.

Inventors

  • 👤 Pi-Yu Chung
  • 👤 Om P. Damani
  • 👤 Yennun Huang
  • 👤 Chandra M. Kintala
  • 👤 Yi-Min Wang

Bibliographic Details

Application Number —
Jurisdiction EP
Data Source google_patents
Last Synchronized 2026-10-24 06:27
CPC Classifications
H; H04; H04L; H04L61/00; H04L61/35; H04L61/50; H04L61/5069; H04L67/00; H04L67/01; H04L67/10; H04L67/1001; H04L67/1004; H04L67/1023; H04L9/00; H04L9/40; G; G06; G06F; G06F2209/00; G06F2209/46; G06F2209/462; H04L61/45; H04L67/1034; H04L69/00; H04L69/16

Claims Analysis

Total Claims: 29
Claim 1
Independent Claim 76 words
A method of routing client requests to a plurality of servers configured to support a network service over a communication network, each of the servers having a primary address, the method comprising the steps of: assigning a common address as a secondary address for each of the plurality of servers; and processing client requests directed to the common address such that each of the requests is processed by a particular one of the plurality of servers.
Claim 2
Dependent Claim 25 words
The method of claim 1 wherein the network utilizes a TCP/IP protocol and the primary and secondary addresses are primary and secondary IP addresses, respectively.
Claim 3
Dependent Claim 29 words
The method of claim 2 wherein the common address is an IP address which does not correspond to a primary IP address of any of the plurality of servers.
Claim 4
Independent Claim 45 words
The method of any of the preceding claims wherein at least one of the plurality of servers is a UNIX-based server including multiple network interface cards, and the assigning step includes assigning the common address for the at least one server using an ifconfig command..
Claim 5
Independent Claim 41 words
The method of any of claims 1 to 3 wherein the plurality of servers are UNIX-based servers, and the assigning step includes assigning the common address utilizing an ifconfig alias option for at least a subset of the plurality of servers.
Claim 6
Independent Claim 45 words
The method of any of the preceding claims wherein the processing step includes the step of dispatching a request of a given client to one of the plurality of servers based on application of a hash function to an IP address of the given client.
Claim 7
Dependent Claim 34 words
The method of claim 6 wherein the hash function is determined based on an analysis of a distribution of client IP addresses in an access log associated with one or more of the servers.
Claim 8
Dependent Claim 40 words
The method of claim 6 wherein the dispatching step includes reapplying the hash function to the client IP address to identify another servers if a server identified as a results of a previous application of the hash function has failed.
Claim 9
Independent Claim 68 words
The method of any of claims 1 to 5 wherein the processing step includes the steps of: routing client requests directed to the common address to a dispatcher connected to a local network associated with the plurality of servers; and selecting a particular one of the servers to process a given client request based on application of a hash function to a corresponding client address in the dispatcher.
Claim 10
Independent Claim 68 words
The method of any of claims 1 to 5 wherein the processing step includes the steps of: broadcasting a given client request directed to the common address to each of the plurality of servers over a local network associated with the servers; and implementing a filtering routine in each of the plurality of servers so that the given client request is processed by only one of the servers.
Claim 11
Dependent Claim 54 words
The method of claim 10 wherein the implementing step includes the steps of: applying a hash function to a client IP address associated with the given client request; and comparing the result of the applying step to an identifier of a particular server to determine whether that server should process the given client request.
Claim 12
Independent Claim 77 words
An apparatus for routing client requests to a plurality of servers configured to support a network service over a communication network, each of the servers having a primary address, the apparatus comprising: means for assigning a common address as a secondary address for each of the plurality of servers; and means for processing client requests directed to the common address such that each of the requests is processed by a particular one of the plurality of servers.
Claim 13
Dependent Claim 41 words
The apparatus of claim 12 wherein the processing means is operative to dispatch a request of a given client to one of the plurality of servers based on application of a hash function to an IP address of the given client.
Claim 14
Dependent Claim 34 words
The apparatus of claim 13 wherein the hash function is determined based on an analysis of a distribution of client IP addresses in an access log associated with one or more of the servers.
Claim 15
Dependent Claim 43 words
The apparatus of claim 13 wherein the processing means is further operative to reapply the hash function to the client IP address to identify another server if a server identified as a result of a previous application of the hash function has failed.
Claim 16
Independent Claim 69 words
The apparatus of any of claims 12 to 15 wherein the processing means further includes a dispatcher connected to a local network associated with the plurality of servers, wherein the dispatcher is operative to receive client requests directed to the common address, and to select a particular one of the servers to process a given client request based on application of a hash function to a corresponding client address.
Claim 17
Independent Claim 71 words
The apparatus of any of claims 12 to 15 wherein the processing means further includes: means for broadcasting a given client request directed to the common address to each of the plurality of servers over a local network associated with the servers; and means for filtering the given client request in each of the plurality of servers so that the given client request is processed by only one of the servers.
Claim 18
Dependent Claim 54 words
The apparatus of claim 17 wherein the filtering means is operative to apply a hash function to a client IP address associated with the given client request, and to compare the result of the applying step to an identifier of a particular server to determine whether that server should process the given client request.
Claim 19
Independent Claim 91 words
An apparatus for routing client requests for a network service over a communication network, the apparatus comprising: a plurality of servers configured to support the network service, each of the servers having a primary address and a secondary address, wherein a common address is assigned as the secondary address for each of the plurality of servers; and a router coupled to the servers and operative to route client requests directed to the common address such that each of the requests is processed by a particular one of the plurality of servers.
Claim 20
Dependent Claim 47 words
The apparatus of claim 19 wherein the router is further operative to route client requests such that a request of a given client is routed to one of the plurality of servers based on application of a hash function to an IP address of the given client.
Claim 21
Dependent Claim 34 words
The apparatus of claim 20 wherein the hash function is determined based on an analysis of a distribution of client IP addresses in an access log associated with one or more of the servers.
Claim 22
Dependent Claim 37 words
The apparatus of claim 20 wherein the hash function is reapplied to the client IP address to identify another server if a server identified as a result of a previous application of the hash function has failed.
Claim 23
Independent Claim 70 words
The apparatus of any of claims 19 to 22 further including a dispatcher coupled to the router and to a local network associated with the plurality of servers, such that the router directs client requests having the common address to the dispatcher, and the dispatcher selects a particular one of the servers to process a given client request based on application of a hash function to a corresponding client address.
Claim 24
Independent Claim 66 words
The apparatus of any of claims 19 to 22 wherein the router is further operative to broadcast a given client request directed to the common address to each of the plurality of servers over a local network associated with the servers, and further wherein each of the servers implements a filtering routine so that the given client request is processed by only one of the servers.
Claim 25
Dependent Claim 47 words
The apparatus of claim 24 wherein the filtering routine involves applying a hash function to a client IP address associated with the given client request. and comparing the result to an identifier of a particular server to determine whether that server should process the given client request.
Claim 26
Independent Claim 29 words
The apparatus of any of claims 12 to 25 wherein the network utilizes a TCP/IP protocol and the primary and secondary addresses are primary and secondary IP addresses, respectively.
Claim 27
Dependent Claim 29 words
The apparatus of claim 26 wherein the common address is an IP address which does not correspond to a primary IP address of any of the plurality of servers.
Claim 28
Independent Claim 43 words
The apparatus of any of claims 12 to 27 wherein at least one of the plurality of servers is a UNIX-based server including multiple network interface cards, and the common address is assigned for the at least one server using an ifconfig command.
Claim 29
Independent Claim 48 words
The apparatus of any of claims 12 to 27 wherein the plurality of servers are UNIX-based servers, and the common address is assigned as the secondary address of the plurality of servers by utilizing an ifconfig alias option for at least a subset of the plurality of servers.

References Cited (Backward Citations)

No citation records indexed.

USPTO Annuity & Maintenance Windows

Maintenance schedule is calculated for granted US utility patents.

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag