IP Library › Granted Patent US 10,931,746
Granted Patent B2
US 10,931,746 · App. 16/735,199 · Granted Feb 23, 2021

Managing content downloads

Inventor: Giuseppe Scrivano (Spezzano della Sila, IT)
Assignee: Red Hat, Inc.
H04L67/104H04L63/083H04L67/02H04L67/06H04L67/1063H04L67/2842H04L67/34
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,931,746
App. No.
16/735,199
Granted
Feb 23, 2021
Kind
B2
Abstract

Content downloads can be managed. For example, intermediary software can receive a first request to download content from a remote server. The intermediary software can receive the first request from content requesting software. The first request can be formed according to a first protocol. The intermediary software can intercept the first request to prevent the first request from being communicated to the remote server. The intermediary software can generate a second request based on the first request and according to a second protocol that is different from the first protocol and that is usable with a peer-to-peer network. The intermediary software can then transmit the second request to the peer-to-peer network to cause the content to be downloaded from the peer-to-peer network.

Claims (48)

1. A computer-implemented method comprising:

receiving, from a first device, a first request to download first content from a remote server;

determining that the first content is downloadable from a peer-to-peer network via a tracker or distributed hash table associated with the peer-to-peer network, the tracker being for maintaining a database of content available for download via the peer-to-peer network;

based on determining that the first content is downloadable from the peer-to-peer network, transmitting a second request to the peer-to-peer network to cause the first content to be downloaded from the peer-to-peer network;

receiving a third request for downloading second content from the remote server;

determining that the second content is not downloadable from the peer-to-peer network; and

based on determining that the second content is not downloadable from the peer-to-peer network, transmitting a fourth request to the remote server to cause the second content to be downloaded from the remote server.

2. The method of claim 1 , further comprising:

preventing the first request from being communicated to the remote server.

3. The method of claim 1 , wherein the first content includes a container image, and the first request is generated on the first device by software configured to create or launch containers within a host environment.

4. The method of claim 1 , further comprising:

prior to transmitting the second request to the peer-to-peer network, authenticating with the peer-to-peer network by communicating a username and password to the peer-to-peer network.

5. The method of claim 1 , further comprising:

listening for content requests from the first device via a local proxy server, the local proxy server being configured to serve as an intermediary between the first device and the remote server; and

receiving the first request from the first device via the local proxy server.

6. The method of claim 1 , wherein the peer-to-peer network excludes the remote server.

7. The method of claim 1 , further comprising:

subsequent to downloading the second content, making the second content available for download on the peer-to-peer network.

8. A non-transitory computer-readable medium comprising program code that is executable by a processor for causing the processor to:

receive, from a first device, a first request to download first content from a remote server;

determine that the first content is downloadable from a peer-to-peer network via a tracker or distributed hash table associated with the peer-to-peer network, the tracker being for maintaining a database of content available for download via the peer-to-peer network;

based on determining that the first content is downloadable from the peer-to-peer network, transmit a second request to the peer-to-peer network to cause the first content to be downloaded from the peer-to-peer network;

receive a third request for downloading second content from the remote server;

determine that the second content is not downloadable from the peer-to-peer network; and

based on determining that the second content is not downloadable from the peer-to-peer network, transmit a fourth request to the remote server to cause the second content to be downloaded from the remote server.

9. The non-transitory computer-readable medium of claim 8 , further comprising program code that is executable by the processor for causing the processor to:

prevent the first request from being communicated to the remote server.

10. The non-transitory computer-readable medium of claim 8 , wherein the first content includes a container image, and the first request is generated on the first device by software configured to create or launch containers within a host environment.

11. The non-transitory computer-readable medium of claim 8 , further comprising program code that is executable by the processor for causing the processor to:

prior to transmitting the second request to the peer-to-peer network, authenticate with the peer-to-peer network by communicating a username and password to the peer-to-peer network.

12. The non-transitory computer-readable medium of claim 8 , further comprising program code that is executable by the processor for causing the processor to:

listen for content requests from the first device via a local proxy server, the local proxy server being configured to serve as an intermediary between the first device and the remote server; and

receive the first request from the first device via the local proxy server.

13. The non-transitory computer-readable medium of claim 8 , wherein the peer-to-peer network excludes the remote server.

14. The non-transitory computer-readable medium of claim 8 , wherein the first content includes a software update.

15. A computer-implemented method comprising:

preventing a first request that was transmitted by a first device from being communicated to a remote server, the first request being to download content from the remote server;

determining that the content is downloadable from a peer-to-peer network; and

based on determining that the content is downloadable from the peer-to-peer network, transmitting a second request to the peer-to-peer network to cause the content to be downloaded from the peer-to-peer network;

wherein the content includes a container image, and the first request is generated on the first device by software configured to create or launch containers within a host environment.

16. The method of claim 15 , further comprising:

prior to transmitting the second request to the peer-to-peer network, authenticating with the peer-to-peer network by communicating a username and password to the peer-to-peer network.

17. The method of claim 15 , further comprising:

listening for content requests from the first device via a local proxy server, the local proxy server being configured to serve as an intermediary between the first device and the remote server; and

receiving the first request from the first device via the local proxy server.

18. The method of claim 15 , wherein the peer-to-peer network excludes the remote server.

19. The method of claim 15 , wherein the content includes a software update.

20. The method of claim 15 , further comprising determining that the content is downloadable from the peer-to-peer network via a tracker or distributed hash table associated with the peer-to-peer network, the tracker being for maintaining a database of content available for download via the peer-to-peer network.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 10, 2020
From: SCRIVANO, GIUSEPPE
To: RED HAT, INC.
Reel/Frame 054823/0445 →
Continuity (2)
Continuation 15497570 · Apr 26, 2017
Related Publication 20200145479A1 · May 7, 2020
Cited By (3)
US 12,498,941 US 12,639,077 US 12,671,733