IP Library Granted Patent US 9,549,043
Granted Patent B1
US 9,549,043 · App. 13/181,417 · Granted Jan 17, 2017

Allocating resources in a content delivery environment

Inventors: Ion Stoica (Piedmont, CA); Hui Zhang (Pittsburgh, PA); Aditya R. Ganjam (Mountain View, CA)
Assignee: Conviva Inc.
H04L67/32H04L67/1002
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 9,549,043
App. No.
13/181,417
Granted
Jan 17, 2017
Kind
B1
Abstract

Allocating resources in a content delivery environment is disclosed. An initial demand from initial clients for content is serviced by assigning those initial clients a first content source. A determination is made that additional demand from additional clients is either present or anticipated for the first content source. The initial demand and the additional demand together have a potential to overload the first content source. An interaction with a first initial client is adjusted to allow the additional demand to be at least partially serviced without overloading the content source.

Claims (36)

1. A system, comprising:

a set of one or more processors configured to:

service an initial demand from a plurality of initial clients for audiovisual content by assigning those initial clients a first content source, wherein the first content source is configured to facilitate streaming of the audiovisual content to the initial clients;

determine that additional demand from additional clients is either present or anticipated for the first content source;

predict that the initial demand and the additional demand together have a potential to overload the first content source that is configured to facilitate streaming of the audiovisual content to the initial clients;

in response to predicting that the initial demand and the additional demand together have the potential to overload the first content source, adjust an interaction with a first initial client in the plurality of initial clients to allow the additional demand to be at least partially serviced without overloading the first content source; and

wherein adjusting the interaction with the first initial client includes performing at least one action in a set of actions, wherein the set of actions includes reducing a bitrate at which the audiovisual content is delivered from the first content source to the first initial client and altering a protocol used by the first initial client; and

a memory coupled to the set of one or more processors and configured to provide the set of one or more processors with instructions.

2. The system of claim 1 wherein the first content source is a content delivery network.

3. The system of claim 1 wherein the first content source is a content delivery network server.

4. The system of claim 1 wherein the set of actions includes sending a command to the first initial client.

5. The system of claim 1 wherein the set of actions includes assigning the first initial client a second content source.

6. The system of claim 5 wherein the set of actions includes subsequently reassigning the first initial client the first content source.

7. The system of claim 1 wherein the set of actions includes terminating the connection of the first initial client.

8. The system of claim 1 wherein adjusting the interaction is based at least in part on a streaming quality of the first initial client.

9. The system of claim 1 wherein the adjustment made is based at least in part on a classification of the first initial client.

10. The system of claim 9 wherein the classification is based on whether or not the first initial client is associated with a premium user.

11. The system of claim 9 wherein the classification is based on a length of engagement.

12. The system of claim 11 wherein the length of engagement comprises an amount of time the first initial client has been accessing the content.

13. The system of claim 11 wherein the length of engagement comprises an amount of time the first initial client has been accessing related content over a period of time.

14. The system of claim 1 wherein the set of one or more processors is further configured to instruct a second client that is included in the additional clients to wait.

15. The system of claim 14 wherein the second client is instructed to wait before accessing an authentication server.

16. The system of claim 14 wherein the second client is instructed to wait before attempting a retry.

17. The system of claim 1 wherein the predicting is based at least in part on a determination that a load of the first content source will exceed a threshold.

18. A method, comprising:

servicing an initial demand from a plurality of initial clients for audiovisual content by assigning those initial clients a first content source, wherein the first content source is configured to facilitate streaming of the audiovisual content to the initial clients;

determining, using a set of one or more processors, that additional demand from additional clients is either present or anticipated for the first content source;

predicting that the initial demand and the additional demand together have a potential to overload the first content source that is configured to facilitate streaming of the audiovisual content to the initial clients;

in response to predicting that the initial demand and the additional demand together have the potential to overload the first content source, adjusting an interaction with a first initial client in the plurality of initial clients to allow the additional demand to be at least partially serviced without overloading the first content source; and

wherein adjusting the interaction with the first initial client includes performing at least one action in a set of actions, wherein the set of actions includes reducing a bitrate at which the audiovisual content is delivered from the first content source to the first initial client and altering a protocol used by the first initial client.

19. A computer program product embodied in a non-transitory computer readable storage medium and comprising computer instructions for:

servicing an initial demand from a plurality of initial clients for audiovisual content by assigning those initial clients a first content source, wherein the first content source is configured to facilitate streaming of the audiovisual content to the initial clients;

determining that additional demand from additional clients is either present or anticipated for the first content source;

predicting that the initial demand and the additional demand together have a potential to overload the first content source that is configured to facilitate streaming of the audiovisual content to the initial clients;

in response to predicting that the initial demand and the additional demand together have the potential to overload the first content source, adjusting an interaction with a first initial client in the plurality of initial clients to allow the additional demand to be at least partially serviced without overloading the first content source; and

wherein adjusting the interaction with the first initial client includes performing at least one action in a set of actions, wherein the set of actions includes reducing a bitrate at which the audiovisual content is delivered from the first content source to the first initial client and altering a protocol used by the first initial client.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 16, 2011
From: STOICA, ION; ZHANG, HUI; GANJAM, ADITYA R.
To: CONVIVA INC.
Reel/Frame 026760/0843 →
Continuity (6)
Continuation In Part 12780796 · May 14, 2010
Continuation In Part 11897957 · Aug 30, 2007
Provisional Application 61363580 · Jul 12, 2010
Provisional Application 61227066 · Jul 20, 2009
Provisional Application 61339925 · Mar 10, 2010
Provisional Application 60589428 · Jul 20, 2004