Method for extending a network map
First Claim
1. A method executed with a computer of extending an arbitrary sparse set of IP blocks having associated mapping data into an IP address block map that is consistent with the arbitrary sparse set of IP blocks having associated mapping data, comprising:
- defining a set of upper bound blocks;
defining a unanimity criterion that determines whether a set of mapping data are sufficiently in agreement to be reduced to a single piece of mapping data;
using the set of upper bound blocks to partition a space of IP addresses into territories, wherein each territory represents a largest set of IP addresses to which a piece of mapping data may be extended, and wherein a piece of mapping data may be extended to the territory only if (a) the territory includes an IP block from the arbitrary sparse set of IP blocks that has that piece of mapping data and (b) the unanimity criterion applies to all of the IP blocks from the arbitrary sparse set that are included in the territory;
generating the IP address block map by partitioning the territory of each upper bound block into a largest possible sub-block in which the unanimity criterion is satisfied and extending the mapping data in each such sub-block to all of the territory of that sub-block.
2 Assignments
0 Petitions
Accused Products
Abstract
An intelligent traffic redirection system performs global load balancing. The system uses a network map that is generated in part by extending a “sparse” IP address data map. In particular, a method of extending an IP address block map begins by defining a set of one or more upper bound block(s). These upper bound blocks are then used to partition a space of IP addresses into subsets or “territories”, wherein each territory represents a largest set of IP addresses to which a piece of mapping data may be extended. The “piece” of mapping data typically consists of a host (usually a “name server” identified by the core point discovery process) IP address and some data about that host, namely, a “nearest” data center or a flag indicating that either “no data” exists for that host or that the system is “indifferent” as to which of a set of mirrored data centers the host should be mapped. A unification algorithm partitions the territory of each upper bound block into the largest possible sub-blocks in which a given unanimity criterion is satisfied and extends the mapping data in each such sub-block to all of the territory of that sub-block.
185 Citations
11 Claims
-
1. A method executed with a computer of extending an arbitrary sparse set of IP blocks having associated mapping data into an IP address block map that is consistent with the arbitrary sparse set of IP blocks having associated mapping data, comprising:
-
defining a set of upper bound blocks; defining a unanimity criterion that determines whether a set of mapping data are sufficiently in agreement to be reduced to a single piece of mapping data; using the set of upper bound blocks to partition a space of IP addresses into territories, wherein each territory represents a largest set of IP addresses to which a piece of mapping data may be extended, and wherein a piece of mapping data may be extended to the territory only if (a) the territory includes an IP block from the arbitrary sparse set of IP blocks that has that piece of mapping data and (b) the unanimity criterion applies to all of the IP blocks from the arbitrary sparse set that are included in the territory; generating the IP address block map by partitioning the territory of each upper bound block into a largest possible sub-block in which the unanimity criterion is satisfied and extending the mapping data in each such sub-block to all of the territory of that sub-block. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method executed within a computer of extending an arbitrary sparse data set used for making request routing decisions, comprising:
-
determining whether routing decisions for a given set of name servers in a given IP address block of the arbitrary sparse data set are sufficiently in agreement; if the routing decisions for the given set of name servers in the given IP address block of the arbitrary sparse data set are sufficiently in agreement, extending the routing decisions for at least one new name server; and if the routing decisions for the given set of name servers in the given IP address block of the arbitrary sqarse data set are not sufficiently in agreement, breaking the block into a largest possible sub-block so that, in each sub-block, the routing decisions for a subset of name servers are sufficiently in agreement.
-
-
11. A method executed within a computer of extending an arbitrary sparse set of IP blocks having associated mapping data into an IP address block map that is consistent with the arbitrary sparse set of IP blocks having associated mapping data, comprising:
-
for each of a set of one or more blocks; (a) determining whether given mapping data therein satisfies a given criterion for all of the IP blocks from the arbitrary sparse set that are included in the set; (b) if the given mapping data satisfies the given criterion, extending a routing decision to all IP addresses in a given portion of the block while discarding mapping data in more specific areas of the given portion; and (c) if the given mapping data does not satisfy the given criterion, dividing the block into at least two sub-blocks; and (d) generating the IP address block map by repeating steps (a)–
(c) recursively for each of the sub-blocks.
-
Specification