IP Library › Granted Patent US 8,423,667
Granted Patent B2
US 8,423,667 · App. 13/529,831 · Granted Apr 16, 2013

Updating routing information based on client location

Inventors: David R. Richardson (Seattle, WA); Bradley E. Marshall (Bainbridge Island, WA); Swaminathan Sivasubramanian (Seattle, WA)
Assignee: Amazon Technologies, Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,423,667
App. No.
13/529,831
Granted
Apr 16, 2013
Kind
B2
Abstract

A system, method, and computer-readable medium for updating request routing information associated with client location information are provided. A content delivery network service provider receives a DNS query from a client computing device. The DNS query corresponds to a resource identifier for requested content from the client computing device. The content delivery network service provider obtains a query IP address corresponding to the client computing device. Based on routing information associated with the query IP address, the content delivery network service provider routes the DNS query. The process further includes monitoring performance data associated with the transmission of the requested resource and updating routing information associated with the query IP address based on the performance data for use in processing subsequent requests form the client computing device.

Claims (45)

1. A computer-implemented method comprising:

obtaining a first DNS query from a client computing device at a first DNS server, wherein the first DNS query corresponds to a first requested resource and wherein the first DNS server corresponds to a content delivery network service;

obtaining a query IP address associated with the first DNS query at the first DNS server, wherein the query IP address is associated with the client computing device;

obtaining, at the first DNS server from a routing data store, a location-based identifier at least based on a portion of the obtained query IP address, wherein the routing data store includes at least one partial IP address to location-based identifier mapping;

resolving the first DNS query based on the location-based identifier;

collecting performance data associated with transmission of the first requested resource; and

modifying the routing data store based on the performance data with an updated location-based identifier associated with the query IP address.

2. The method as recited in claim 1 , wherein the query IP address being associated with the client computing device comprises the query IP address corresponding to a local DNS resolver of the client computing device.

3. The method as recited in claim 1 , wherein the location-based identifier is different from the obtained query IP address associated with the first DNS query.

4. The method as recited in claim 1 , wherein obtaining the location-based identifier comprises matching a portion of the query IP address with a partial IP address identified in the at least one partial IP address to location-based identifier mapping in the routing data store.

5. The method as recited in claim 1 , wherein the routing data store includes a full IP address to location-based identifier mapping, and wherein obtaining the location-based identifier comprises matching a portion of the query IP address with a portion of the full IP address identified in the full IP address to location-based identifier mapping in the routing data store.

6. The method as recited in claim 1 , wherein the routing data store includes a full IP address to location-based identifier mapping, and wherein obtaining the location-based identifier comprises partially matching the query IP address with a full IP address identified in the full IP address to location-based identifier mapping in the routing data store.

7. The method as recited in claim 1 , wherein the updated location-based identifier is determined based on user profile information associated with the client computing device.

8. The method as recited in claim 7 , wherein the updated location-based identifier corresponds to an alternative billing address associated with the client computing device.

9. The method as recited in claim 7 , wherein the updated location-based identifier corresponds to a shipping address associated with the client computing device.

10. The method as recited in claim 1 , wherein modifying the routing data store comprises adding a new entry to the routing data store mapping the query IP address to an updated location-based identifier.

11. The method as recited in claim 1 , wherein modifying the routing data store comprises modifying an existing location-based identifier to at least partial IP address mapping entry with an updated location-based identifier.

12. A computer-implemented method comprising:

obtaining a first DNS query from a client computing device at a first DNS server, wherein the first DNS query corresponds to a first requested resource and wherein the first DNS server corresponds to a content delivery network service;

obtaining a query IP address associated with the first DNS query at the first DNS server, wherein the query IP address is associated with the client computing device;

obtaining, at the first DNS server from a routing data store, a location-based identifier at least based on a portion of the obtained query IP address, wherein the location-based identifier corresponds to location information associated with the client computing device, and wherein the routing data store further includes location-based identifier to destination identifier mappings, wherein a destination identifier corresponds to a geographic region associated with the content delivery network service from which the first requested resource can be resolved; and

resolving the first DNS query based on the location-based identifier.

13. The method as recited in claim 12 , wherein the location-based identifier is different from the obtained query IP address associated with the first DNS query.

14. The method as recited in claim 12 , wherein the query IP address being associated with the client computing device comprises the query IP address corresponding to a local DNS resolver of the client computing device.

15. The method as recited in claim 12 further comprising:

collecting performance data associated with transmission of the first requested resource; and

updating routing information in the routing data store associated with the query IP address based on the performance data.

16. The method as recited in claim 15 , wherein the routing data store includes at least one partial IP address to location-based identifier mapping.

17. The method as recited in claim 16 , wherein the at least partial IP address to location-based identifier mappings each have a corresponding confidence factor.

18. The method as recited in claim 17 , wherein updating routing information in the routing data store comprises updating the confidence factor corresponding to the at least partial IP address to location-based identifier mapping associated with the query IP address.

19. The method as recited in claim 15 , wherein updating routing information in the routing data store comprises modifying the routing data store with an updated destination identifier corresponding to the location-based identifier associated with the query IP address.

20. The method as recited in claim 12 , wherein the routing data store further includes network points of presence mappings to at least one of the location-based identifiers and the destination identifiers.

21. The method as recited in claim 20 , wherein updating routing information in the routing data store comprises modifying the routing data store with an updated network point of presence mapping.

22. A computer system comprising:

a routing data store including at least one partial IP address to location-based identifier mapping; and

a first network point of presence associated with a content delivery network service provider, wherein the first network point of presence comprises at least one computing device and is operable to:

obtain a first DNS query from a client computing device at a first DNS server, wherein the first DNS query corresponds to a first requested resource and wherein the first DNS server corresponds to a content delivery network service;

obtain a query IP address associated with the first DNS query at the first DNS server, wherein the query IP address is associated with the client computing device;

obtain, at the first DNS server from the routing data store, a location-based identifier at least based on a portion of the obtained query IP address, wherein the location-based identifier corresponds to location information associated with the client computing device, and wherein the routing data store further includes location-based identifier to destination identifier mappings, wherein a destination identifier corresponds to a geographic region associated with the content delivery network service from which the first requested resource can be resolved; and

resolve the first DNS query based on the location-based identifier.

23. The system as recited in claim 22 , wherein the location-based identifier is different from the obtained query IP address associated with the first DNS query.

24. The system as recited in claim 22 , wherein the query IP address being associated with the client computing device comprises the query IP address corresponding to a local DNS resolver of the client computing device.

25. The system as recited in claim 22 , wherein obtaining the location-based identifier comprises matching a portion of the query IP address with a partial IP address identified in the at least one partial IP address to location-based identifier mapping in the routing data store.

26. The system as recited in claim 22 , wherein the routing data store includes a full IP address to location-based identifier mapping, and wherein obtaining the location-based identifier comprises matching a portion of the query IP address with a portion of the full IP address identified in the full IP address to location-based identifier mapping in the routing data store.

27. The system as recited in claim 22 , wherein the routing data store includes a full IP address to location-based identifier mapping, and wherein obtaining the location-based identifier comprises partially matching the query IP address with a full IP address identified in the full IP address to location-based identifier mapping in the routing data store.

Continuity (3)
Continuation 13165484 · Jun 21, 2011
Continuation 12272683 · Nov 17, 2008
Related Publication 20120265900A1 · Oct 18, 2012