IP Library › Granted Patent US 10,104,165
Granted Patent B1
US 10,104,165 · App. 13/600,002 · Granted Oct 16, 2018

Sharing network connections to content sources

Inventors: David A. Killian (Seattle, WA); Jonathan A. Jenkins (Seattle, WA)
Assignee: Amazon Technologies, Inc.
H04L67/1002H04L67/02H04L67/1008H04L67/1014H04L67/1029H04L67/26H04L67/306H04L67/327H04L45/30
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,104,165
App. No.
13/600,002
Granted
Oct 16, 2018
Kind
B1
Abstract

Features are disclosed for sharing network connections among client devices. A client device may connect to an intermediary system and request content from content provider. The intermediary system may, in addition to opening a connection with the content provider and receiving the content on behalf of the client, create a request profile for the client device regarding likely future content requests. The request profile may be used to assign the client device to network comparing components that have available open network connections to one or more content providers from which the client device is likely to request content. In some cases, a gateway network computing component may route content requests to other network computing components which have available open network connections to content providers hosting requested content. Additionally, the number of active network computing components may be adjusted to increase connection sharing and reuse opportunities.

Claims (41)

1. A system for managing content requests, the system comprising:

a plurality of network computing components comprising one or more server computing devices, each network computing component of the plurality of network computing components operable to establish network connections with content sources external to the system prior to receiving requests for content offered by the content sources; and

a gateway network computing component comprising one or more server computing devices, the gateway network computing component operable to:

establish a network connection with a client computing device;

receive, from the client computing device via the network connection with the client computing device, a first request for a first content item offered by a first content source;

obtain profile information associated with the client computing device, wherein the profile information indicates one or more content sources for which there is a likelihood exceeding a threshold that the client computing device will request retrieval of content;

select a first network computing component of the plurality of network computing components based at least on (1) the profile information and (2) the first network computing component having a currently-open network connection established with the first content source prior to the gateway network computing component establishing the network connection with the client computing device;

cause the first network computing component to retrieve the content item from the first content source on behalf of the client computing device via the network connection with the first content source;

select a second network computing component of the plurality of network computing components based at least on a second request from the client computing device for a second content item offered by a second content source, wherein the second content source is not in the one or more content sources indicated by the profile information; and

cause the second network computing component to retrieve the second content item from the second content source on behalf of the client computing device via a network connection with the second content source.

2. The system of claim 1 , wherein the first content item comprises a web page.

3. The system of claim 1 , wherein the first network computing component is further operable to transmit the first content item to the client computing device via the network connection with the client computing device.

4. The system of claim 1 , wherein the first network computing component is further operable to keep open the network connection with the first content source after retrieving the first content item.

5. The system of claim 1 , wherein the gateway network computing component is further operable to:

receive, from a second client computing device, a third request for a third content item from a third content source; and

select a third network computing component of the plurality of network computing components to fulfill the third request based at least in part on the third network computing component having already established a network connection with the third content source prior to the gateway network computing component establishing the network connection with the client computing device.

6. The system of claim 1 , wherein the gateway network computing component includes a browsing component, the browsing component in communication with a browser of the client computing device, wherein the gateway network computing component is further operable to:

process, in the browsing component, the first content item or an object associated with the first content item; and

transmit, to the client computing device, the processed content item or the processed object.

7. A computer-implemented method for managing content requests, the computer-implemented method comprising:

receiving, by a management component comprising computing hardware configured to execute specific instructions, a request for network-accessible content provided by a content source, the request received from a client computing device via a network connection with the client computing device;

receiving profile information associated with the client computing device, wherein the profile information indicates one or more content sources from which the client computing device is likely to request retrieval of content;

selecting, by the management component, a first network computing component of a plurality of network computing components based at least on (1) the profile information and (2) the first network computing component having a currently-open network connection established with the content source prior to the management component establishing the network connection with the client computing device;

causing the first network computing component to establish a first computing session with the client computing device;

selecting, by the management component, a second network computing component of a plurality of network computing components based at least on an analysis of the profile information and one or more requests received from the client computing device during the first computing session; and

causing the second network computing component to establish a second computing session with the client computing device.

8. The computer-implemented method of claim 7 , wherein the network-accessible content comprises a web page or a data set.

9. The computer-implemented method of claim 7 , wherein selecting the first network computing component is further based at least on the first network computing component having also established a network connection with a second content source prior to the management component establishing the network connection with the client computing device, and wherein the profile information indicates that the client computing device is associated with a likelihood exceeding a threshold of requesting content from the second content source.

10. The computer-implemented method of claim 7 , wherein selecting the first network computing component is further based at least on the first network computing component having a cache of content associated with the content source.

11. The computer-implemented method of claim 7 , wherein selecting the first network computing component is further based at least on the first network computing component having a data set associated with the requested network-accessible content.

12. The computer-implemented method of claim 7 , further comprising retrieving, by the first network computing component, the network-accessible content from the content source via the network connection with the content source.

13. The computer-implemented method of claim 7 further comprising:

receiving, by the management component, a second request for network-accessible content hosted by the content source, the second request received from a second client computing device;

selecting the first network computing component based at least on the first network computing component having already established the network connection with the content source; and

causing the first network computing component to establish a browsing session with the second client computing device.

14. The computer-implemented method of claim 13 further comprising utilizing the same network connection with the content source to fulfill the first request and the second request.

15. The computer-implemented method of claim 7 , wherein the computing session corresponds to a time period defined in terms of substantially continuous content requests from the client computing device.

16. The system of claim 1 , further comprising one or more computing devices configured to generate the profile information based at least in part on previous requests received from the client computing device.

17. The system of claim 1 , wherein the profile information being associated with the client computing device comprises the profile information being part of a user-specific profile of a user, and wherein the user-specific profile is active on the client computing device at a time of the request.

18. The computer-implemented method of claim 7 , further comprising generating the profile information based at least in part on previous requests received from the client computing device.

19. The computer-implemented method of claim 7 , wherein the client computing device being likely to request retrieval of content from a particular content source of the one or more content sources comprises there being a likelihood exceeding a threshold that the client computing device will request retrieval of content from the particular content source.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 3, 2016
From: KILLIAN, DAVID A.; JENKINS, JONATHAN A.
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 039335/0197 →
Cited By (61)
US 12,192,026 US 12,200,038 US 12,200,083 US 12,200,084 US 12,218,776 US 12,218,777 US 12,229,210 US 12,231,253 US 12,231,519 US 12,250,089 US 12,250,090 US 12,260,364 US 12,261,712 US 12,277,187 US 12,277,188 US 12,277,189 US 12,278,878 US 12,278,880 US 12,284,069 US 12,289,383 US 12,294,481 US 12,301,401 US 12,309,123 US 12,309,241 US 12,323,287 US 12,323,500 US 12,323,501 US 12,332,960 US 12,341,860 US 12,355,855 US 12,368,789 US 12,375,582 US 12,411,902 US 12,413,648 US 12,425,492 US 12,438,956 US 12,445,511 US 12,457,273 US 12,483,635 US 12,517,972 US 12,524,490 US 12,524,491 US 12,536,243 US 12,542,764 US 12,549,645 US 12,563,130 US 12,587,429 US 12,587,430 US 12,587,579 US 12,603,809 US 12,652,330 US 12,659,218 US 12,671,750 US 12,706,984 US 12,719,734 US 12,719,735 US 12,719,945 US 12,724,840 US 12,726,551 US 12,739,296 US 12,744,828