US2014344398A1PendingUtilityA1

Control systems and methods for cloud resource management

48
Assignee: LIMELIGHT NETWORKS INCPriority: Oct 15, 2012Filed: May 30, 2014Published: Nov 20, 2014
Est. expiryOct 15, 2032(~6.3 yrs left)· nominal 20-yr term from priority
G06F 9/5072H04N 19/00521H04N 19/00206H04L 67/32H04N 19/00103H04N 19/00472H04L 67/60H04W 4/60H04N 21/222H04N 21/234309H04N 21/2405
48
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A machine-implementable method for managing cloud-based transcoding resources available to a content delivery network includes maintaining a queue of video transcoding jobs that may be executed by internal transcoders of the content delivery network or by external transcoders of a plurality of cloud-based resources, utilizing a server of the content delivery network. The method further includes determining, at first and second times, corresponding first and second transcoder supply deviations, and a trend indicator; and determining whether to activate, deactivate, or make no change to the number of transcoders that are currently activated for transcoding, based at least on the second transcoder supply deviation and the trend indicator.

Claims

exact text as granted — not AI-modified
1 . (canceled) 
     
     
         2 . A machine-implementable method for managing cloud-based transcoding resources available to a content delivery network, comprising:
 maintaining, by a server of the content delivery network, a queue of transcoding jobs that may be executed by internal transcoders of the content delivery network or by external transcoders of a plurality of cloud-based transcoding resources;   executing at least a portion of the transcoding jobs by utilizing ones of the internal transcoders;   determining a number of the internal transcoders that are currently activated for transcoding;   generating a transcoding job backlog based on jobs in the queue of transcoding jobs;   determining a desired elapsed time to completion based on the transcoding job backlog;   generating a clearance time estimate based at least on the transcoding job backlog and on the number of the internal transcoders;   generating a transcoder supply deviation based on at least the first clearance time estimate and the desired elapsed time to completion; and   determining whether to activate one or more external transcoders for transcoding, based at least on the transcoder supply deviation.   
     
     
         3 . The machine-implementable method for managing cloud-based transcoding resources available to a content delivery network of  claim 2 ,
 further comprising assigning priorities to at least some of the jobs in the transcoding job backlog,   and wherein:   generating the clearance time estimate based at least on the transcoding job backlog comprises evaluating the first clearance time estimate based only on high priority ones of the jobs in the transcoding job backlog.   
     
     
         4 . The machine-implementable method for managing cloud-based transcoding resources available to a content delivery network of  claim 2 , wherein:
 generating the clearance time estimate based at least on the transcoding job backlog and on the number of the internal transcoders comprises utilizing processing power information of at least some of the number of the internal transcoders.   
     
     
         5 . The machine-implementable method for managing cloud-based transcoding resources available to a content delivery network of  claim 2 , further comprising:
 executing at least a portion of the transcoding jobs by utilizing ones of the external transcoders; and   determining whether to deactivate the one or more external transcoders from transcoding.   
     
     
         6 . The machine-implementable method for managing cloud-based transcoding resources available to a content delivery network of  claim 5 , wherein determining whether to deactivate the one or more external transcoders from transcoding comprises:
 identifying a longest running job on one of the one or more external transcoders at the time of determining that one of the one or more external transcoders should be deactivated;   estimating a time to completion of the longest running job;   identifying one or more additional jobs, in the queue of transcoding jobs, that can be completed concurrently by the one of the one or more external transcoders within the time to completion of the longest running job; and   assigning the one or more additional jobs to the one of the one or more external transcoders.   
     
     
         7 . The machine-implementable method for managing cloud-based transcoding resources available to a content delivery network of  claim 2 , wherein:
 the portion of the transcoding jobs is a first portion of the transcoding jobs;   determining whether to activate one or more external transcoders for transcoding is done at a first time;   the number of the internal transcoders that are currently activated for transcoding is a first number of the internal transcoders that are currently activated for transcoding;   the transcoding job backlog is a first transcoding job backlog;   the desired time to completion is a first desired time to completion;   the clearance time estimate is a first clearance time estimate; and   the transcoder supply deviation is a first transcoder supply deviation;   and further comprising:   activating a second number of the external transcoders for transcoding;   executing at least a second portion of the transcoding jobs by utilizing the first number of the internal transcoders and the second number of the external transcoders; and   at a second time that is later than the first time,
 generating a second transcoding job backlog based on jobs in the queue of transcoding jobs, 
 determining a second desired elapsed time to completion based on the second transcoding job backlog, 
 generating a second clearance time estimate based on the second transcoding job backlog, on the first number of the internal transcoders, and on the second number of the external transcoders, 
 generating a second transcoder supply deviation based at least on the second clearance time estimate and the second desired elapsed time to completion, and 
 determining whether to:
 activate one or more additional ones of the external transcoders for transcoding, 
 deactivate one or more of the second number of the external transcoders from transcoding, or 
 make no change to the second number of the external transcoders that are activated for transcoding, based at least on the second transcoder supply deviation. 
 
   
     
     
         8 . The machine-implementable method for managing cloud-based transcoding resources available to a content delivery network of  claim 7 , further comprising determining whether to deactivate one or more of the internal transcoders from transcoding. 
     
     
         9 . The machine-implementable method for managing cloud-based transcoding resources available to a content delivery network of  claim 8 , wherein:
 determining whether to deactivate one or more of the external transcoders from transcoding utilizes one or more different rules than determining whether to deactivate one or more of the internal transcoders from transcoding.   
     
     
         10 . The machine-implementable method for managing cloud-based transcoding resources available to a content delivery network of  claim 9 , wherein the one or more different rules are based on cost of utilizing the external transcoders. 
     
     
         11 . The machine-implementable method for managing cloud-based transcoding resources available to a content delivery network of  claim 8 ,
 further comprising establishing a minimum activation time for the external transcoders, and wherein:   determining whether to deactivate one or more of the first number of the internal transcoders from transcoding or to deactivate one or more of the second number of the external transcoders from transcoding comprises not allowing a selected transcoder to be deactivated until at least the minimum activation time has elapsed since the selected transcoder was activated.   
     
     
         12 . A machine-implementable method for managing cloud-based transcoding resources available to a content delivery network, comprising:
 maintaining, by a server of the content delivery network, a queue of transcoding jobs that may be executed by internal transcoders of the content delivery network or by external transcoders of a plurality of cloud-based resource providers;   executing at least a first portion of the transcoding jobs by utilizing ones of the internal transcoders and external transcoders of at least two or more of the plurality of cloud-based resource providers;   determining a first number of the internal transcoders that are currently activated for transcoding,   determining a second number of the external transcoders of a first one of the plurality of cloud-based resource providers that are currently activated for transcoding,   determining a third number of the external transcoders of a second one of the plurality of cloud-based resource providers that are currently activated for transcoding,   generating a first transcoding job backlog based on jobs in the queue of transcoding jobs,   determining a desired elapsed time to completion of the first transcoding job backlog,   generating a first clearance time estimate based at least on the first transcoding job backlog and on the first number of the internal transcoders, the second number of the external transcoders and the third number of the external transcoders;   generating a first transcoder supply deviation based on at least the first clearance time estimate and the desired elapsed time to completion, and   determining whether to deactivate one or more of the external transcoders for transcoding, based at least on the first transcoder supply deviation.   
     
     
         13 . The machine-implementable method for managing cloud-based transcoding resources available to a content delivery network of  claim 12 , wherein determining whether to deactivate one or more of the external transcoders from transcoding comprises:
 evaluating relative costs of operating the second number of the external transcoders and the third number of the external transcoders, and   determining that one or more of the external transcoders with higher cost than one or more others of the external transcoders, should be deactivated.   
     
     
         14 . The machine-implementable method for managing cloud-based transcoding resources available to a content delivery network of  claim 13 , further comprising, after determining that one or more of the external transcoders with higher cost than one or more others of the external transcoders should be deactivated:
 identifying a longest running job on one of the one or more external transcoders at the time of determining that the one or more of the external transcoders should be deactivated;   estimating a time to completion of the longest running job;   identifying one or more additional jobs, in the queue of transcoding jobs, that can be completed concurrently by the one of the one or more external transcoders within the time to completion of the longest running job; and   assigning the one or more additional jobs to the one of the one or more external transcoders.   
     
     
         15 . The machine-implementable method for managing cloud-based transcoding resources available to a content delivery network of  claim 12 ,
 further comprising establishing a minimum activation time for the external transcoders, and wherein:   determining whether to deactivate one or more of the external transcoders for transcoding further comprises not allowing a selected external transcoder to be deactivated until at least the minimum activation time has elapsed since the selected external transcoder was activated.   
     
     
         16 . A machine-implementable method for managing internal resources of a computer system and external resources of a plurality of cloud-based resource providers, comprising:
 maintaining, by a server of the computer system, a queue of jobs that may be executed by the internal resources of the computer system or by the external resources of the plurality of cloud-based resource providers;   executing at least a first portion of the jobs by utilizing ones of the internal resources; and   at a first time:
 determining a first number of the internal resources that are currently activated for executing jobs, 
 generating a first job backlog based on jobs in the queue of jobs, 
 determining a first desired elapsed time to completion of the first job backlog, 
 generating a first clearance time estimate based at least on the first job backlog and on the first number of the internal resources, 
 generating a first resource supply deviation based on at least the first clearance time estimate and the first desired elapsed time to completion, and 
 determining whether to activate a second number of the external resources for executing jobs, based at least on the first resource supply deviation; and 
   at a second time that is later than the first time,
 generating a second job backlog based on jobs in the queue of jobs, 
 determining a second desired elapsed time to completion based on the second job backlog, 
 generating a second clearance time estimate based on the second job backlog, on the first number of the internal resources, and on the second number of the external resources, 
 generating a second resource supply deviation based at least on the second clearance time estimate and the second desired elapsed time to completion, and 
 determining whether to activate one or more additional ones of the external resources for executing jobs, deactivate one or more of the external resources from executing jobs, or make no change to the second number of the external resources that are activated for executing jobs, based at least on the second resource supply deviation. 
   
     
     
         17 . The machine-implementable method for managing internal resources of a computer system and external resources of a plurality of cloud-based resource providers of  claim 16 , wherein:
 generating the second clearance time estimate based at least on the second job backlog and on the second number of the external resources comprises utilizing processing power information of at least some of the external resources.   
     
     
         18 . The machine-implementable method for managing internal resources of a computer system and external resources of a plurality of cloud-based resource providers of  claim 16 , further comprising determining whether to deactivate one or more of the internal resources from executing jobs. 
     
     
         19 . The machine-implementable method for managing internal resources of a computer system and external resources of a plurality of cloud-based resource providers of  claim 18 , wherein:
 determining whether to deactivate one or more of the external resources from executing jobs utilizes one or more different rules than determining whether to deactivate one or more of the internal resources from executing jobs.   
     
     
         20 . The machine-implementable method for managing internal resources of a computer system and external resources of a plurality of cloud-based resource providers of  claim 19 , wherein the one or more different rules are based on cost of utilizing the external resources. 
     
     
         21 . The machine-implementable method for managing internal resources of a computer system and external resources of a plurality of cloud-based resource providers of  claim 16 , wherein determining whether to deactivate one or more of the external resources from executing jobs comprises:
 identifying a longest running job on one of the one or more external resources at the time of determining that the one or more of the external resources should be deactivated;   estimating a time to completion of the longest running job;   identifying one or more additional jobs, in the queue of jobs, that can be completed concurrently by the one of the one or more external resources within the time to completion of the longest running job; and   assigning the one or more additional jobs to the one of the one or more external resources.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.