System and method for locating a closest server in response to a client domain name request
First Claim
1. A method for selecting a content server in a network including a plurality of content servers and at least one redirection server, comprising:
- (a) creating client clusters using the steps of;
(a1) identifying clients having similar network distance proterties;
(a2) grouping distance tuples using content server ID and classless inter-domain routing address (CIDR) prefix similarity to define grouping data values, a distance tuple comprising at least one of a network distance, a content server identifier, a time-stamp, and a client internet protocol (IP) address;
(a3) storing the data values at leaf nodes of a hierarchical tree structure having a root node representing CIDR space and a plurallty of interior and leaf nodes, said data values including load information, network distances, and a number of the tuples; and
(a4) defining the client clusters by combining leaf nodes having sufficient similarity into parent nodes and identifying remaining leaf nodes as the client clusters;
(b) identifying at least one best-performing content server for each of said client clusters by selecting at least one content server having a minimal network distance to the client cluster; and
(c) mapping the client clusters with the at least one best-performing content server.
11 Assignments
0 Petitions
Accused Products
Abstract
A scalable system and method for locating a closest server in response to a client request via an interactive distribution network, such as the Internet, are provided. A closest content server is defined as having the least round trip time for responding to a client request. The system including a plurality of content servers; and a local server in communication with a plurality of clients, the local server acting as a proxy for communicating client requests from clients to a redirection server. Client network distance and load information is periodically collected at each content server in the network from clients communicating with each of the respective content servers. The redirection server periodically aggregates the network distance and load information from each content server to create client clusters from both current and previously aggregated network distance and load information. Each client cluster represents a division or partition of the total IP address space. Each client cluster is then mapped (paired) to one or more content servers in the network. The mapping or pairing is then utilized to respond to client DN requests received from any client in the network. Another aspect of the invention involves considering the respective capacities of the content servers in the network. A selection probability is assigned to each content server/domain index pair to prevent the repeated selection of the content server having lowest round trip time thereby overloading that server'"'"'s service capacity. The selection probabilities assigned to each content server effect a load balancing to prevent overloading. Another aspect of the invention involves collecting the distance and load information without incurring any overhead cost by passively collecting TCP information as it is transmitted from clients in communication with content servers in the course of normal communications.
181 Citations
15 Claims
-
1. A method for selecting a content server in a network including a plurality of content servers and at least one redirection server, comprising:
-
(a) creating client clusters using the steps of; (a1) identifying clients having similar network distance proterties; (a2) grouping distance tuples using content server ID and classless inter-domain routing address (CIDR) prefix similarity to define grouping data values, a distance tuple comprising at least one of a network distance, a content server identifier, a time-stamp, and a client internet protocol (IP) address; (a3) storing the data values at leaf nodes of a hierarchical tree structure having a root node representing CIDR space and a plurallty of interior and leaf nodes, said data values including load information, network distances, and a number of the tuples; and (a4) defining the client clusters by combining leaf nodes having sufficient similarity into parent nodes and identifying remaining leaf nodes as the client clusters; (b) identifying at least one best-performing content server for each of said client clusters by selecting at least one content server having a minimal network distance to the client cluster; and (c) mapping the client clusters with the at least one best-performing content server. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system for selecting a content server in a network including a plurality of content servers and at least one redirection server, comprising:
-
a first means creating client clusters using the steps of; (a1) identifying clients having similar network distance properties; (a2) grouping distance tuples using content server ID and classless inter-domain routing address (CIDR) prefix similarity to define arouning data values, a distance tuple comprising at least one of a network distance, a content server identifier, a time-stamp, and a client internet protocol (IP) address; (a3) storing the data values at leaf nodes of a hierarchical tree structure having a root node representing CIDR space and a plurality of interior and leaf nodes, said data values including load information, network distances, and a number of the tuples; and (a4) defining the client clusters by combining leaf nodes having sufficient similarity into parent nodes and identifying remaining leaf nodes as the client clusters; a second means identifying at least one best-performing content server for each of said client clusters by selecting at least one content server having a minimum network distance to the client cluster; and a third means mapping the client clusters with the at least one best-performing content server. - View Dependent Claims (12, 13, 14, 15)
-
Specification