Internet protocol (IP) address proximity detection and application to peer provider location
First Claim
1. A method comprising:
- accessing Address Allocation Tables (AATs) of a plurality of Internet Protocol (IP) address assigning registrars, and retrieving from said AATs IP address assignment information;
processing and storing said retrieved IP address assignment information into one or more data structures;
receiving a first IP address; and
determining a proximity measure for said first IP address and a second IP address, based at least in part on said IP address assignment information collected from said AATs of said IP address assigning registrars and stored in said one or more data structures.
5 Assignments
0 Petitions
Accused Products
Abstract
Internet Protocol (IP) address assignment information is collected from Address Allocation Tables (AATs) of a plurality of IP address assigning registrars. The information is processed and stored into one or more data structures. The information is accessed to determine a proximity measure for any two given IP addresses. In one embodiment, the proximity determination includes the determination of superblock memberships of the IP addresses, comparison of the assigning registrars, as well as the location countries of the IP addresses. In one embodiment, the proximity detection is applied to locating IP addresses of peer providers of a resource. In one embodiment, Autonomous System (AS) numbers and IP addresses for a plurality of peer providers for a plurality of resources are also collected and organized into one or more data structures; this organized information of the peer providers is also used in locating the closest peer providers of a resource in terms of network topology.
-
Citations
67 Claims
-
1. A method comprising:
-
accessing Address Allocation Tables (AATs) of a plurality of Internet Protocol (IP) address assigning registrars, and retrieving from said AATs IP address assignment information;
processing and storing said retrieved IP address assignment information into one or more data structures;
receiving a first IP address; and
determining a proximity measure for said first IP address and a second IP address, based at least in part on said IP address assignment information collected from said AATs of said IP address assigning registrars and stored in said one or more data structures. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method comprising:
-
determining superblock membership for a first and a second IP address;
determining a proximity measure for said first and second IP address based at least in part on the result of said superblock membership determination. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A method comprising:
-
performing a bit-wise comparison of a first and a second IP address, from the most significant bit to the least significant bit, to determine the first bit position said first and second IP addresses differ, and assigning a distance metric based at least in part on said first bit position;
determining a proximity measure for said first and second IP address based at least in part on said assigned distance metric. - View Dependent Claims (24, 26, 27, 28, 29, 30, 31)
-
-
23. A method comprising:
-
collecting AS numbers and IP addresses for a plurality of peer providers for a plurality of resources;
organizing said IP addresses of said peer providers for the plurality of resources into one or more data structures by said resources and said AS numbers;
receiving an IP address of a client;
determining an AS number associated with said IP address of said client; and
retrieving IP addresses of peer providers of said target resource from said one or more data structures based at least in part on said determined AS number associated with said received IP address of said client.
-
-
25. A method comprising:
-
receiving an IP address of a client;
determining a network community associated with the received IP address of the client;
determining if there are peer providers of a target resource with the same network community; and
retrieving IP addresses of said peer providers of the target resource that are members of the same network community, if it is determined there are peer providers of the target resource that are members of the same network community.
-
-
32. A method comprising:
-
requesting for a plurality of IP addresses of peer providers for a target resource of interest;
receiving a plurality of IP addresses of peer providers for said target resource of interest;
selecting a first of said peer providers whose IP address is among those received;
accessing said first peer provider for said target resource of interest;
monitoring said accessing; and
conditionally switching to a second of said peer provider whose IP address is among those received, and accessing said second peer provider for said target resource of interest if a switching condition is met in accordance with the results of said monitoring. - View Dependent Claims (33, 34, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 58, 60, 61, 62, 63, 64)
-
-
35. An apparatus comprising:
-
storage medium having stored therein a plurality of programming instructions designed to enable said apparatus to access AATs of a plurality of IP address assigning registrars, and retrieve from said AATs IP address assignment information, process and store said retrieved IP address assignment information into one or more data structures, receive a first IP address, determine a proximity measure for said first IP address and a second IP address, based at least in part on said IP address assignment information collected from said AATs of said IP address assigning registrars and stored in said one or more data structures; and
at least one processor coupled to the storage medium to execute the programming instructions.
-
-
45. An apparatus comprising:
-
storage medium having stored therein a plurality of programming instructions designed to enable said apparatus to determine superblock membership for a first and a second IP address, determine a proximity measure for said first and second IP address based at least in part on the result of said superblock membership determination; and
at least one processor coupled to the storage medium to execute the programming instructions.
-
-
56. An apparatus comprising:
-
storage medium having stored therein a plurality of programming instructions designed to enable said apparatus to perform a bit-wise comparison of a first and a second IP address, from the most significant bit to the least significant bit, to determine the first bit position said first and second IP addresses differ, and assign a distance metric based at least in part on said first bit position, and determine a proximity measure for said first and second IP address based at least in part on said assigned distance metric; and
at least one processor coupled to the storage medium to execute the programming instructions.
-
-
57. An apparatus comprising:
-
storage medium having stored therein a plurality of programming instructions designed to enable said apparatus to collect AS numbers and IP addresses for a plurality of peer providers for a plurality of resources, organize said IP addresses of said peer providers for the plurality of resources into one or more data structures by said resources and said AS numbers, receive an IP address of a client, determine an AS number associated with said IP address of said client, and retrieve IP addresses of peer providers of a target resource from said one or more data structures based at least on part on said determined AS number associated with said IP address of said client; and
at least one processor coupled to the storage medium to execute the programming instructions.
-
-
59. An apparatus comprising:
-
storage medium having stored therein a plurality of programming instructions designed to enable said apparatus to receive an IP address of a client, determine a network community associated with the IP address of the client, determine if there are peer providers of a target resource with the samenetwork community, and retrieve IP addresses of said peer providers of the target resource having the same network community, if it is determined there are peer providers of the target resource with the same network community; and
at least one processor coupled to the storage medium to execute the programming instructions.
-
-
65. An apparatus comprising:
-
storage medium having stored therein a plurality programming instructions designed to enable the apparatus to request for a plurality of IP addresses of peer providers for a target resource of interest, receive a plurality of IP addresses of peer providers for said target resource of interest, select a first of said peer providers whose IP address is among those received, access said first peer provider for said target resource of interest;
monitor said accessing, and conditionally switch to a second of said peer provider whose IP address is among those received, and access said second peer provider for said target resource of interest if a switching condition is met in accordance with the results of said monitoring; and
at least one processor coupled to the storage medium to execute the programming instructions. - View Dependent Claims (66, 67)
-
Specification