Method and system for enabling persistent access to virtual servers by an LDNS server
First Claim
1. A method for enabling a client to access a resource on a wide area network environment, comprising:
- (a) receiving a request for the resource from a connection that is associated with the client;
(b) selecting a method for load balancing each request from the connection, wherein the selected load balancing method employs modulus arithmetic to select a virtual server managed by a selected server array controller, including;
converting a LDNS server'"'"'s IP address into a first value;
dividing the first value by the total amount (N) of virtual servers that are available, each available virtual server corresponding to a particular value of N;
adding one to a remainder of the dividing action to create a second value; and
selecting the virtual server that corresponds to the particular value of N that is one greater than the second value;
(c) employing the selected method to select one of a plurality of server array controllers to handle each request from the connection to the resource; and
(d) persistently referring each request associated with the connection to the selected server array controller until another method is selected for load balancing each request from the connection, wherein the selected server array controller associates the client'"'"'s connection with the requested resource.
2 Assignments
0 Petitions
Accused Products
Abstract
Disclosed are methods and systems for providing persistence across multiple requests in a WAN load-balanced environment. More than one load balancing system may be used to provide persistence while load balancing. One method and system disclosed provides persistence by using modulus arithmetic to load balance requests. Another method and system disclosed provides persistence using topology information contained in the request. Another method and system disclosed provides persistence by storing connection information to refer a timely continuation request of a prior request to the same server the prior request was referred to. When more than one load balancing system is used with this method, the load balancing systems periodically exchange the stored connection information so that each load balancing system may provide persistence to repeat requests.
91 Citations
11 Claims
-
1. A method for enabling a client to access a resource on a wide area network environment, comprising:
-
(a) receiving a request for the resource from a connection that is associated with the client; (b) selecting a method for load balancing each request from the connection, wherein the selected load balancing method employs modulus arithmetic to select a virtual server managed by a selected server array controller, including; converting a LDNS server'"'"'s IP address into a first value; dividing the first value by the total amount (N) of virtual servers that are available, each available virtual server corresponding to a particular value of N; adding one to a remainder of the dividing action to create a second value; and selecting the virtual server that corresponds to the particular value of N that is one greater than the second value; (c) employing the selected method to select one of a plurality of server array controllers to handle each request from the connection to the resource; and (d) persistently referring each request associated with the connection to the selected server array controller until another method is selected for load balancing each request from the connection, wherein the selected server array controller associates the client'"'"'s connection with the requested resource. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer readable medium that stores executable data for enabling actions for a client to access a resource on a wide area network enviroment, the actions comprising:
-
(a) a first component receiving a request for the resource from a connection that is associated with the client; (b) a second component selecting a method for load balancing each request from the connection, wherein the selected load balancing method employs modulus arithmetic to select a virtual server managed by the selected server array controller based on actions, including; (i) converting a LDNS server'"'"'s IP address into a first value; (ii) dividing the first value by the total amount (N) of virtual servers that are available, each available virtual server corresponding to a particular value of N; (iii) adding one to a remainder of the dividing action to create a second value; and (iv) selecting the virtual server that corresponds to the particular value of N that is one greater than the second value; (c) a third component employing the selected method to select one of a plurality of server array controllers to handle each request from the connection to the resource; and (d) a fourth component persistently referring each request associated with the connection to the selected server array controller until another method is selected for load balancing each request from the connection, wherein the selected server array controller associates the client'"'"'s connection with the requested resource.
-
-
11. A system for performing actions for a client to access a resource on a wide area network environment, comprising:
-
(a) a first component for receiving a request for the resource from a connection that is associated with the client; (b) a second component for selecting a method for load balancing each request from the connection, wherein the selected load balancing method employs modulus arithmetic to select a virtual server managed by a selected server array controller, including; (i) converting a LDNS server'"'"'s IP address into a first value; (ii) dividing the first value by the total amount (N) of virtual servers that are available, each available virtual server corresponding to a particular value of N; (iii) adding one to a remainder of the dividing action to create a second value; and (iv) selecting the virtual server that corresponds to the particular value of N that is one greater than the second value; (c) a third component for employing the selected method to select one of a plurality of server array controllers to handle each request from the connection to the resource; and (d) a fourth component for persistently referring each request associated with the connection to a selected server array controller until another method is selected for load balancing each request from the connection, wherein the selected server array controller associates the client'"'"'s connection with the requested resource.
-
Specification