IP Library Granted Patent US 8,745,262
Granted Patent B2
US 8,745,262 · App. 13/740,931 · Granted Jun 3, 2014

Adaptive network content delivery system

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,745,262
App. No.
13/740,931
Granted
Jun 3, 2014
Kind
B2
Abstract

A method and apparatus stores media content in a variety of storage devices, with at least a portion of the storage devices having different performance characteristics. The system can deliver media to a large number of clients while maintaining a high level of viewing experience for each client by automatically adapting the bit rate of a media being delivered to a client using the client's last mile bit rate variation. The system provides clients with smooth viewing of video without buffering stops. The client does not need a custom video content player to communicate with the system.

Claims (82)

1. A method comprising:

storing, by at least one processor of a device, media content in a memory associated with the device;

receiving, by the at least one processor, a first request and a second request for the media content;

determining, by the at least one processor, a relationship between a plurality of outbound media flows, associated with the requested media content, and a read speed associated with the memory;

using, by the at least one processor, the determined relationship between the plurality of outbound media flows and the read speed associated with the memory to adjust a flow rate for at least one media flow, of the plurality of outbound media flows, to meet a target flow rate for the at least one media flow;

transmitting, by the at least one processor and based on the adjusted flow rate, the at least one media flow associated with the first request for the media content; and

selectively transmitting, by the at least one processor and based on the target flow rate, at least one other media flow, of the plurality of outbound media flows, associated with the second request for the media content.

2. The method of claim 1 , further comprising:

determining one or more portions of the media content likely to be requested; and

adjusting an order of the media content by placing the determined one or more portions of the media content likely to be requested in a cache and removing one or more other portions of the media content not likely to be requested from the cache.

3. The method of claim 2 , where, when determining the one or more portions of the media content likely to be requested, the method includes:

using a plurality of tags to apply a logical chunking approach to the one or more portions of the media content.

4. The method of claim 1 , where

the at least one media flow associated with the first request for the media content is transmitted at a first flow rate,

the at least one other media flow, of the plurality of outbound media flows, associated with the second request for the media content is transmitted at a second flow rate, and

the first flow rate is different than the second flow rate.

5. The method of claim 1 , where, when selectively transmitting the at least one other media flow, of the plurality of outbound media flows, associated with the second request for the media content, the method includes:

refusing the second request for the media content.

6. The method of claim 1 , where the first request and the second request are received during a session, and the method further includes:

determining a maximum bandwidth for the session;

determining that the maximum bandwidth for the session is met;

receiving a third request for the media content; and

refusing, based on determining that the maximum bandwidth for the session is met, the third request.

7. The method of claim 1 , further comprising:

receiving a third request for the media content;

determining, based on receiving the third request for the media content, that the target flow rate will not be achieved; and

refusing the third request.

8. A device comprising:

one or more processors to:

store media content in a memory associated with the device;

receive a first request and a second request for the media content;

determine a relationship between a plurality of outbound media flows, associated with the requested media content, and a read speed associated with the memory;

use the determined relationship between the plurality of outbound media flows and the read speed associated with the memory to adjust a flow rate for at least one media flow, of the plurality of outbound media flows, to meet a target flow rate for the at least one media flow;

transmit, based on the adjusted flow rate, the at least one media flow associated with the first request for the media content; and

selectively transmit, and based on the target flow rate, at least one other media flow, of the plurality of outbound media flows, associated with the second request for the media content.

9. The device of claim 8 , where the one or more processors are further to:

determine one or more portions of the media content likely to be requested; and

adjust an order of the media content by placing the determined one or more portions of the media content likely to be requested in a cache and removing one or more other portions of the media content not likely to be requested from the cache.

10. The device of claim 9 , where the one or more processors, when determining the one or more portions of the media content likely to be requested, are further to:

use a plurality of tags to apply a logical chunking approach to the one or more portions of the media content.

11. The device of claim 8 , where

the at least one media flow associated with the first request for the media content is transmitted at a first flow rate,

the at least one other media flow, of the plurality of outbound media flows, associated with the second request for the media content is transmitted at a second flow rate, and

the first flow rate is different than the second flow rate.

12. The device of claim 8 , where the one or more processors, when selectively transmitting the at least one other media flow, of the plurality of outbound media flows, associated with the second request for the media content, are further to:

refuse the second request for the media content.

13. The device of claim 8 , where the first request and the second request are received during a session, and the one or more processors are further to:

determine a maximum bandwidth for the session;

determine that the maximum bandwidth for the session is met;

receive a third request for the media content; and

refuse, based on determining that the maximum bandwidth for the session is met, the third request.

14. The device of claim 8 , where the one or more processors are further to:

receive a third request for the media content;

determine, based on receiving the third request for the media content, that the target flow rate will not be achieved; and

refuse the third request.

15. A non-transitory computer-readable medium storing instructions, the instructions comprising:

one or more instructions which, when executed by at least one processor of a device, cause the at least one processor to:

store media content in a memory associated with the device;

receive a first request and a second request for the media content;

determine a relationship between a plurality of outbound media flows, associated with the requested media content, and a read speed associated with the memory;

use the determined relationship between the plurality of outbound media flows and the read speed associated with the memory to determine an adjusted flow rate for at least one media flow, of the plurality of outbound media flows;

transmit, based on the determined flow rate, the at least one media flow associated with the first request for the media content,

the at least one media flow associated with the first request for the media content being transmitted at a first flow rate; and

selectively transmit, and based on the determined flow rate, at least one other media flow, of the plurality of outbound media flows, associated with the second request for the media content,

the at least one other media flow, of the plurality of outbound media flows, associated with the second request for the media content being transmitted at a second flow rate, and

the first flow rate being different than the second flow rate.

16. The non-transitory computer-readable medium of claim 15 , where the one or more instructions further include:

one or more instructions to determine one or more portions of the media content likely to be requested; and

one or more instructions to adjust an order of the media content by placing the determined one or more portions of the media content likely to be requested in a cache and removing one or more other portions of the media content not likely to be requested from the cache.

17. The non-transitory computer-readable medium of claim 16 , where the one or more instructions to determine the one or more portions of the media content likely to be requested, further include:

one or more instructions to use a plurality of tags to apply a logical chunking approach to the one or more portions of the media content.

18. The non-transitory computer-readable medium of claim 15 , where the one or more instructions to selectively transmit the at least one other media flow, of the plurality of outbound media flows, associated with the second request for the media content, further include:

one or more instructions to refuse the second request for the media content.

19. The non-transitory computer-readable medium of claim 15 , where the first request and the second request are received during a session, and the one or more instructions further include:

one or more instructions to determine a maximum bandwidth for the session;

one or more instructions to determine that the maximum bandwidth for the session is met;

one or more instructions to receive a third request for the media content; and

one or more instructions to refuse, based on determining that the maximum bandwidth for the session is met, the third request.

20. The non-transitory computer-readable medium of claim 15 , where the one or more instructions further include:

one or more instructions to receive a third request for the media content;

one or more instructions to determine, based on receiving the third request for the media content, that a target flow rate will not be achieved; and

one or more instructions to refuse the third request.

Assignments (1)
NUNC PRO TUNC ASSIGNMENT Recorded May 6, 2026
From: JUNIPER NETWORKS, INC.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 075513/0034 →