DNS wildcard beaconing to determine client location and resolver load for global traffic load balancing
First Claim
1. A computer-implemented method, comprising:
- receiving a plurality of first request data;
wherein each first request data of the plurality of first request data includes (a) a first identification value and (b) data that identifies a particular LDNS server of one or more LDNS servers;
receiving a plurality of second request data;
wherein each second request data of the plurality of second request data includes (c) a second identification value and (d) data that identifies a particular client of a plurality of clients;
wherein, for each first request data of the plurality of first request data, the first identification value included in the first request data was provided in a request from a client of the plurality of clients to the particular LDNS server identified in the first request data;
wherein, for each second request data of the plurality of second request data, the second identification value included in the second request data was provided in a request from the client identified in the second request data to a particular web beacon collection server of one or more web beacon collection servers;
wherein each first identification value included in each first request data of the plurality of first request data is different from every other first identification value included in every other first request data of the plurality of first request data;
wherein each second identification value included in each second request data of the plurality of second request data is different from every other second identification value included in every other second request data of the plurality of second request data; and
for each second request data of the plurality of the second request data, creating and storing mapping data associating the particular client of the plurality of clients identified in the second request data with the particular LDNS server identified in a first request data of the plurality of first request data by identifying the first request data of the plurality of first request data that includes a first identification value that matches the second identification value included in the second request data;
wherein the method is performed by one or more computing devices.
9 Assignments
0 Petitions
Accused Products
Abstract
Techniques are described to determine clients residing behind LDNS resolvers. Web beacons instruct clients to retrieve zero-content images at unique hostnames. A request to the hostname is made by a client to an LDNS resolver. The LDNS sends the request to an authoritative server/beacon resolver for the hostname. The beacon resolver records the hostname with the LDNS resolver'"'"'s IP address and responds with an IP address of a beacon collection server that is forwarded to the client by the LDNS. The client sends a request containing the unique hostname to the beacon collection server. The beacon collection server records the IP address of the client and the hostname. An aggregation server collects data from the beacon resolver and the beacon collection server. Using the hostnames as keys, IP addresses of clients are mapped to IP addresses of LDNS resolvers. Mapped data is exported to load balancing servers to determine routing.
-
Citations
23 Claims
-
1. A computer-implemented method, comprising:
-
receiving a plurality of first request data; wherein each first request data of the plurality of first request data includes (a) a first identification value and (b) data that identifies a particular LDNS server of one or more LDNS servers; receiving a plurality of second request data; wherein each second request data of the plurality of second request data includes (c) a second identification value and (d) data that identifies a particular client of a plurality of clients; wherein, for each first request data of the plurality of first request data, the first identification value included in the first request data was provided in a request from a client of the plurality of clients to the particular LDNS server identified in the first request data; wherein, for each second request data of the plurality of second request data, the second identification value included in the second request data was provided in a request from the client identified in the second request data to a particular web beacon collection server of one or more web beacon collection servers; wherein each first identification value included in each first request data of the plurality of first request data is different from every other first identification value included in every other first request data of the plurality of first request data; wherein each second identification value included in each second request data of the plurality of second request data is different from every other second identification value included in every other second request data of the plurality of second request data; and for each second request data of the plurality of the second request data, creating and storing mapping data associating the particular client of the plurality of clients identified in the second request data with the particular LDNS server identified in a first request data of the plurality of first request data by identifying the first request data of the plurality of first request data that includes a first identification value that matches the second identification value included in the second request data; wherein the method is performed by one or more computing devices. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A tangible computer-readable non-transitory storage medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform:
-
receiving a plurality of first request data; wherein each first request data of the plurality of first request data includes (a) a first identification value and (b) data that identifies a particular LDNS server of one or more LDNS servers; receiving a plurality of second request data; wherein each second request data of the plurality of second request data includes (c) a second identification value and (d) data that identifies a particular client of a plurality of clients; wherein, for each first request data of the plurality of first request data, the first identification value included in the first request data was provided in a request from a client of the plurality of clients to the particular LDNS server identified in the first request data; wherein, for each second request data of the plurality of second request data, the second identification value included in the second request data was provided in a request from the client identified in the second request data to a particular web beacon collection server of one or more web beacon collection servers; wherein each first identification value included in each first request data of the plurality of first request data is different from every other first identification value included in every other first request data of the plurality of first request data; wherein each second identification value included in each second request data of the plurality of second request data is different from every other second identification value included in every other second request data of the plurality of second request data; and for each second request data of the plurality of the second request data, creating and storing mapping data associating the particular client of the plurality of clients identified in the second request data with the particular LDNS server identified in a first request data of the plurality of first request data by identifying the first request data of the plurality of first request data that includes a first identification value that matches the second identification value included in the second request data. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A system, comprising:
-
one or more processors; and logic encoded in one or more computer-readable media wherein execution by the one or more processors causes; receiving a plurality of first request data; wherein each first request data of the plurality of first request data includes (a) a first identification value and (b) data that identifies a particular LDNS server of one or more LDNS servers; receiving a plurality of second request data; wherein each second request data of the plurality of second request data includes (c) a second identification value and (d) data that identifies a particular client of a plurality of clients; wherein, for each first request data of the plurality of first request data, the first identification value included in the first request data was provided in a request from a client of the plurality of clients to the particular LDNS server identified in the first request data; wherein, for each second request data of the plurality of second request data, the second identification value included in the second request data was provided in a request from the client identified in the second request data to a particular web beacon collection server of one or more web beacon collection servers; wherein each first identification value included in each first request data of the plurality of first request data is different from every other first identification value included in every other first request data of the plurality of first request data; wherein each second identification value included in each second request data of the plurality of second request data is different from every other second identification value included in every other second request data of the plurality of second request data; and for each second request data of the plurality of the second request data, creating and storing mapping data associating the particular client of the plurality of clients identified in the second request data with the particular LDNS server identified in a first request data of the plurality of first request data by identifying the first request data of the plurality of first request data that includes a first identification value that matches the second identification value included in the second request data.
-
Specification