System and method for determining a customer associated with a range of IP addresses by employing a configurable rule engine with IP address range matching
First Claim
1. A method for determining a customer associated with a range of IP addresses, the method comprising:
- constructing in IP address matching tree using a defined range of IP addresses allocated to each customer, including partitioning a minimum IP address and a maximum IP address which define the range of IP addresses into their four constituent bytes and sparsely populating a hierarchy of fixed size arrays to allow look-up of each IP address associated with a customer;
receiving a set of network data including a match IP address;
determining the customer associated with the match IP address using the IP address matching tree by performing a sequence of array look-ups for each constituent byte in the match IP address, wherein the method requires a maximum of only four look-ups to determine the customer associated with the match IP address;
the method further comprising;
receiving a record of information associating a customer with a rankle of IP addresses, including the minimum IP address and the maximum IP address;
decomposing the minimum IP address into a minimum first byte, a minimum second byte, a minimum third byte and a minimum fourth byte;
decomposing the maximum IP address into a maximum first byte, a maximum second byte, a maximum third byte and a maximum fourth byte; and
defining a minimum second level array, and creating a pointer from the minimum first byte in the first level array to the minimum second level array;
wherein if the minimum first byte value is different from the maximum first byte value, further comprising defining a maximum second level array and creating a pointer from the maximum first byte in the first level array to the maximum second level array.
3 Assignments
0 Petitions
Accused Products
Abstract
A system and method for determining a customer associated with a range of IP addresses. The method includes the step of constructing an IP address matching tree using a defined range of IP addresses allocated to each customer including the steps of partitioning a minimum IP address and a maximum IP address which define the range of IP addresses into their four constituent bytes and sparsely populating a hierarchy of fixed sized arrays to allow look-up of each IP address associated with a customer. A set of network data is received including a match IP address. The customer associated with the match IP address is determined using the IP address matching tree by performing a sequence of array look-ups for each constituent byte in the match IP address. The method requires a maximum of only 4 look-ups to determine the customer associated with the match IP address.
79 Citations
15 Claims
-
1. A method for determining a customer associated with a range of IP addresses, the method comprising:
-
constructing in IP address matching tree using a defined range of IP addresses allocated to each customer, including partitioning a minimum IP address and a maximum IP address which define the range of IP addresses into their four constituent bytes and sparsely populating a hierarchy of fixed size arrays to allow look-up of each IP address associated with a customer;
receiving a set of network data including a match IP address;
determining the customer associated with the match IP address using the IP address matching tree by performing a sequence of array look-ups for each constituent byte in the match IP address, wherein the method requires a maximum of only four look-ups to determine the customer associated with the match IP address;
the method further comprising;
receiving a record of information associating a customer with a rankle of IP addresses, including the minimum IP address and the maximum IP address;
decomposing the minimum IP address into a minimum first byte, a minimum second byte, a minimum third byte and a minimum fourth byte;
decomposing the maximum IP address into a maximum first byte, a maximum second byte, a maximum third byte and a maximum fourth byte; and
defining a minimum second level array, and creating a pointer from the minimum first byte in the first level array to the minimum second level array;
wherein if the minimum first byte value is different from the maximum first byte value, further comprising defining a maximum second level array and creating a pointer from the maximum first byte in the first level array to the maximum second level array. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15)
determining whether a second level array pointer is present, and if a second level array pointer is present, following the second level array pointer to a second level array; and
using the match second byte in the second level array for determining whether a third level array pointer is present, and if a third level array pointer is present, following the third level array pointer to a third level array.
-
-
15. The method of claim 14, further comprising using the match third byte in the third level array for determining whether a fourth level array pointer is present, and if a fourth level array pointer is present, following the fourth level array pointer to a fourth level array;
- and
using the match fourth byte in the fourth level array for determining whether a customer pointer exists, and if a customer pointer exists, follow the customer pointer to a customer match.
- and
-
12. A method for determining a customer associated with a range of IP addresses, the method comprising:
-
constructing an IP address matching tree using a defined range of IP addresses allocated to each customer, including partitioning a minimum IP address and a maximum IP address which define the range of IP addresses into their four constituent bytes and sparsely populating a hierarchy of fixed size arrays to allow look-up of each IP address associated with a customer;
receiving a set of network data including a match IP address; and
determining the customer associated with the match IP address using the IP address matching tree by performing a sequence of array look-ups for each constituent byte in the match IP address;
wherein the method requires a maximum of only four look-ups to determine the customer associated with the match IP address;
wherein performing a sequence of array look-ups for each constituent byte in the match IP address further comprises decomposing the match IP address into a match first byte, a match second byte, a match third byte and a match fourth byte;
using the match first byte as an index to a first level array; and
determining whether a customer pointer is present, and if a customer pointer is present, defining a user match. - View Dependent Claims (13)
-
Specification