IP Library › Granted Patent US 10,447,610
Granted Patent B1
US 10,447,610 · App. 14/098,446 · Granted Oct 15, 2019

Techniques for network redirection

Inventors: Shon Kiran Shah (Redmond, WA); Guruprakash Bangalore Rao (Bellevue, WA); Thomas Christopher Rizzo (Sammamish, WA); Connor John Yorks (Seattle, WA); Kevin Gillett (Menlo Park, CA); Gaurang Pankaj Mehta (Seattle, WA)
Assignee: Amazon Technologies, Inc.
H04L47/70G06F16/955G06F16/9566G06F17/2235H04L41/50H04L61/10H04L61/20H04L61/303H04L67/02H04L67/10
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 10,447,610
App. No.
14/098,446
Filed
Dec 5, 2013
Granted
Oct 15, 2019
Kind
B1
Art Unit
2454
USPC
709/225
Abstract

Techniques for connecting computer system entities to remotely located computer system resources by redirecting locators are described herein. A computer system entity that requests access to a computer system resource may first obtain an identifier for that resource and, based on the identifier, may determine the region for that resource. A routing service then resolves the locator to locate a content management system that stores executable scripts that provide access to the computer system resources by redirecting the locator. The location of the executable scripts is based at least in part on the processing of the locator by the content management system.

Claims (38)

1. A computer-implemented method for providing access to a computer system resource, comprising:

generating a uniform resource identifier corresponding to the computer system resource, the uniform resource identifier based at least in part on a unique identifier of the computer system resource and encoding a command of a plurality of commands in the uniform resource identifier;

receiving, from a requestor, a request to resolve the uniform resource identifier, wherein the uniform resource identifier corresponds to a service provider network that comprises a plurality of network entry locations each corresponding to a content provider location of a plurality of content provider locations;

selecting a network entry location, from the plurality of network entry locations, that corresponds to the uniform resource identifier;

determining, in the content provider location of the network entry location selected, a content location to access from among a plurality of content locations based at least in part on the command encoded in the uniform resource identifier; and

providing, from the content location determined, executable code whose execution is configured to determine an endpoint for the uniform resource identifier, thereby enabling the requestor to access the endpoint corresponding to the computer system resource.

2. The computer-implemented method of claim 1 , wherein the executable code is provided from a data storage location containing a plurality of instances of executable code, each corresponding to an action that may be performed on the computer system resource.

3. The computer-implemented method of claim 1 , wherein the executable code provided to the requestor provides access to an endpoint on a web service.

4. The computer-implemented method of claim 1 , wherein the executable code provided to the requestor provides access to an endpoint on a directory service.

5. The computer-implemented method of claim 1 , wherein the request from the requestor contains an alternate uniform resource identifier that redirects to the uniform resource identifier, wherein selecting the network entry location is based on the alternate uniform resource identifier.

6. The computer-implemented method of claim 1 , wherein the executable code is configured such that the executable code is executed by the requestor.

7. The computer-implemented method of claim 1 , wherein the executable code is configured such that the executable code is executed by the computer system resource.

8. A system, comprising one or more machine-readable mediums comprising a set of instructions, which if performed by one or more processors, cause the system to at least:

generate a uniform resource identifier to represent a service to be accessible from a plurality of network entry locations, the uniform resource identifier encoding a command and comprising a unique identifier of the service;

receive, from a requestor, a request to resolve the uniform resource identifier, wherein the uniform resource identifier corresponds to a service provider network that comprises a plurality of network entry locations each corresponding to a content provider location of a plurality of content provider locations;

route the request to a network entry location of the plurality of network entry locations, the network entry location selected based at least in part on the uniform resource identifier;

determine a content location to access from among a plurality of content locations based at least in part on the command encoded in the uniform resource identifier; and

provide, from the content location determined, executable code whose execution enables the requestor to access the service.

9. The system of claim 8 , wherein a content provider instance is configured to use one or more parameters in the uniform resource identifier to route the request to the network entry location.

10. The system of claim 8 , wherein the content location is selected from among a plurality of data storage locations in a provider region based at least in part on one or more parameters of the uniform resource identifier.

11. The system of claim 10 , wherein the content location selected contains the plurality of content locations.

12. The system of claim 8 , wherein a routing instance is configured to determine whether the uniform resource corresponds to an alternate resource identifier, and to route the request to the network entry location based on the alternate resource identifier determined.

13. The system of claim 8 , wherein the executable code is one of a plurality of instances of executable code, each corresponding to an operation performed by the service.

14. The system of claim 8 , wherein a content provider instance is configured to provide the executable code to the requestor.

15. The system of claim 8 , wherein a content provider instance is configured to provide the executable code to a computer system resource.

16. A non-transitory computer-readable storage medium comprising executable instructions that, if executed by one or more processors of a computer system, cause the computer system to at least:

generate a uniform resource identifier to represent a service to be accessible from a plurality of network entry locations;

receive the uniform resource identifier that encodes a command and comprises an identifier of the service, wherein the uniform resource identifier corresponds to a service provider network that comprises a plurality of network entry locations each corresponding to a content provider location of a plurality of content provider locations;

select, from the plurality of network entry locations, a network entry location that corresponds to the uniform resource identifier;

determine a content location to access from among a plurality of content locations based at least in part on the network entry location and the command encoded in the uniform resource identifier; and

provide, from the content location determined, executable code whose execution is configured to determine an endpoint for the uniform resource identifier, thereby enabling access to the service.

17. The non-transitory computer-readable storage medium of claim 16 , wherein the instructions further comprise instructions that, if executed by the one or more processors, further cause the computer system to use the command encoded in the uniform resource identifier to route a request to the network entry location.

18. The non-transitory computer-readable storage medium of claim 16 , wherein the instructions further comprise instructions that, if executed by the one or more processors, further cause the computer system to access a data storage location in a content provider region based on the command of the uniform resource identifier, the data storage location containing the plurality of content locations.

19. The non-transitory computer-readable storage medium of claim 16 , wherein a request contains an alternate uniform resource identifier that redirects to the uniform resource identifier that corresponds to a plurality of network entry locations to a service provider network.

20. The non-transitory computer-readable storage medium of claim 16 , wherein the executable code is provided as a response to a request.

21. The non-transitory computer-readable storage medium of claim 16 , wherein the executable code is one of a plurality of instances of executable code, each corresponding to an operation performed by the service.

22. The non-transitory computer-readable storage medium of claim 16 , wherein the executable code is statically configured.

23. The non-transitory computer-readable storage medium of claim 16 , wherein the executable code is configured to use the command of the uniform resource identifier to determine the endpoint.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 20, 2016
From: SHAH, SHON KIRAN; RAO, GURUPRAKASH BANGALORE; RIZZO, THOMAS CHRISTOPHER; YORKS, CONNOR JOHN; GILLETT, KEVIN; MEHTA, GAURANG PANKAJ
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 040685/0859 →
Continuity (1)
Provisional Application 61902790 · Nov 11, 2013
Cited By (2)
US 12,192,284 US 12,393,580