US20110072073A1 - Systems and methods for formatting media content for distribution - Google Patents
Systems and methods for formatting media content for distribution Download PDFInfo
- Publication number
- US20110072073A1 US20110072073A1 US12/635,138 US63513809A US2011072073A1 US 20110072073 A1 US20110072073 A1 US 20110072073A1 US 63513809 A US63513809 A US 63513809A US 2011072073 A1 US2011072073 A1 US 2011072073A1
- Authority
- US
- United States
- Prior art keywords
- queue
- media
- servers
- media programs
- format
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000009826 distribution Methods 0.000 title abstract description 14
- 238000012545 processing Methods 0.000 claims abstract description 62
- 230000008569 process Effects 0.000 claims description 26
- 238000012544 monitoring process Methods 0.000 claims description 5
- 230000001131 transforming effect Effects 0.000 claims 1
- 230000006870 function Effects 0.000 description 12
- 241001331845 Equus asinus x caballus Species 0.000 description 7
- 230000000007 visual effect Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 239000000344 soap Substances 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
Definitions
- This document generally relates to processing of digital media, and particularly relates to systems and techniques for automating the processes for distributing media programs on a network.
- An online media distribution service typically distributes media programming to viewers over the Internet or a similar network.
- Media programs distributed by such services may include television programs, movies, other audio/visual content, audio content and/or the like that are obtained from one or more sources.
- viewers can connect to the online distribution service using a conventional web browser or other client program to obtain streaming or file-based programming as desired.
- Media distribution services often receive their distributed content from any number of different production sources, syndicators, web-based services and/or other media sources as appropriate. Providing content from multiple sources, however, can create a number of challenges. Often, each content source has its own set of techniques and formats for delivering new material. Media files may be delivered, for example, using any number of different transport techniques and channels. Moreover, files may be received in any number of different compressed and/or uncompressed formats that may be transcoded or otherwise converted before the content is made available for distribution to viewers.
- the types and amounts of transcoding or other processing that may be performed on the received content prior to distribution can be significant.
- Metadata information about the programming content may be provided by the content provider with the media content itself, or it may be retrieved from any other source. In either case, formatting of the metadata can be a significant challenge due to the wide variety of formats that may be used by any number of different data sources.
- a system to process a plurality of media programs suitably comprises a queue, a number of servers, and control logic.
- the queue is configured to receive each of the plurality of media programs in a predetermined format.
- Each of the number of servers is configured to retrieve at least one of the plurality of media programs from the queue and to process the at least one of the plurality of media programs.
- the control logic is configured to monitor a utilization of the queue and to adjust the number of servers based upon the utilization of the queue.
- a method to process a plurality of media programs suitably comprises placing each of the plurality of media programs on a queue, retrieving the media programs from the queue with each of a number of servers, processing the retrieved media programs with each of the servers, monitoring a utilization of the queue, and adjusting the number of servers based upon the utilization of the queue.
- Still other embodiments provide a system to distribute a plurality of media programs on a network.
- the system comprises a receiving server, a processing system and a host.
- the receiving server is configured to receive each of the media programs and to format each of the media programs using a pre-determined format.
- the processing system comprises a queue and a number of servers each compatible with the pre-determined format, wherein the queue is configured to receive each of the media programs in the pre-determined format from the receiving server, and wherein each of the plurality of servers is configured to retrieve at least one of the media programs from the queue and to transcode the media program.
- the host is configured to receive the transcoded media programs and to make the transcoded media programs available on the network.
- FIG. 1 is a block diagram of an exemplary system for receiving and distributing media programs over a network
- FIG. 2 is a block diagram of an exemplary system for processing media programming
- FIG. 3 is a flowchart of an exemplary technique for processing media programming.
- Systems and methods are provided for automating the processing of media programming that is received from one or more sources.
- Received media programs are initially placed on a queue until a server is available to process the media program.
- a server retrieves the program from the queue, and provides any number of processing services to the received program. Services may include, for example, encode/transcode services, upload services, metadata formatting services, metadata upload services, and/or the like. The server therefore provides appropriate processing to make the program available for distribution from a network host or the like.
- Various embodiments may adjust the number of servers available for processing by monitoring the number of programming jobs currently held by the queue. As the queue fills, additional servers may be requested from a cloud computing service or the like. Similarly, as the queue empties, servers may be released to conserve cost.
- Various other embodiments may initially format received programming and any associated metadata into a pre-determined format prior to storage on the queue.
- the pre-determined format suitably allows processing by a service-oriented architecture (SOA) implemented on each server in which a media service bus (MSB) routes the received program obtained from the queue between any number of data processing services.
- SOA service-oriented architecture
- MSB media service bus
- some embodiments of the pre-determined format may include any sort of service request (e.g., an XML, SOAP or other message) that is compatible with the MSB architecture.
- This request may be provided with a decorator structure or the like that allows for information sharing between services on the MSB and/or that provides additional data about the programming and/or its metadata.
- FIG. 1 shows one example of a system 100 that could be used to distribute media programs from any number of sources 102 A-C.
- Media program refers to any audio, video, audio/visual or other programming in any streaming, file-based or other format.
- system 100 distributes television, movie and/or other audiovisual programs in any digital format such as MPEG, Windows Media, Adobe Flash, Quicktime, Real Media, H.264 and/or the like. Such content may be provided to any number of viewers using any sort of media playback devices 114 A-C.
- media playback devices 114 A-C could include desktop or notebook computers, mobile telephones, personal digital assistants, video game players, portable media players and/or any other devices capable of receiving media programs via a network 112 and of rendering audio and/or visual content to a viewer.
- Network 112 is any digital or other communications network capable of transmitting data between senders (e.g., host 100 ) and receivers (e.g., client devices 114 ).
- network 112 includes any number of public or private data connections, links and/or networks supporting any number of communications protocols.
- Network 112 may include the Internet, for example, or any other network based upon TCP/IP or other conventional protocols.
- network 112 may also represent a wireless and/or wired telephone network, such as a cellular communications network for communicating with mobile phones, personal digital assistants, and/or the like.
- Various embodiments of network 112 may also incorporate any sort of wireless or wired local area networks, such as one or more IEEE 802.3 and/or IEEE 802.11 networks, as well as any wider area links capable of inter-connecting such networks.
- Network host 110 is any server or collection of servers capable of providing a front-end or other portal to system 100 that allows viewers to access media programs.
- host 110 provides a conventional web-type server that provides program data to web browsers or other standard or proprietary client applications. Such data may be provided over network 112 using conventional TCP/IP, HTTP and/or other protocols as desired.
- host 110 will be implemented across any number of physical and logical server devices. For example, metadata and other visual content may be provided via a typical web portal residing at a well-known URL or other address, whereas streamed or other distributed content may be delivered from a separate server associated with a content delivery network or other provider.
- a user typically contacts network host 110 using a conventional browser or the like.
- host 110 is able to search metadata associated with each program distributed to allow the user to search for programs based upon title, network, actor/actress names, genre and/or any other search criteria as desired.
- host 110 may provide the program to a media player associated with one or more playback devices 114 A-C.
- the program may be provided from host 110 itself, or from a server located at a content delivery network (CDN) or other backend location using any sort of streaming, file-based or other delivery techniques.
- CDN content delivery network
- Conventional web hosting and development techniques may therefore be applied in any manner to create a network host 110 that makes use of one or more server devices as appropriate.
- Media programs may be received, formatted and made available on host 110 in any manner.
- programming is received from any number of different content sources 102 A-C at a receiving server 106 .
- Content sources 102 A-C may include studios or other content creators, syndicators or other content distributors, television networks, production houses, web or other network-based distributors, and/or any number of other sources 102 as desired.
- Program content may be delivered across any medium, including any sort of point-to-point or networked link.
- the Internet or a similar network 112 may be used to receive programming from one or more sources 102 A-C as well as to distribute processed programs to viewers.
- FIG. 1 shows content being received at a separate receiving server 106
- content may be provided directly from sources 102 A-C to processing system 108 .
- Receiving server 106 when present, suitably receives programming from one or more sources 102 A-C and provides the received content to processing system 108 in a suitable pre-determined format that allows further processing.
- this server may be any conventional computing system capable of manually and/or automatically receiving program content via any transport technique, including any sort of pushed or pulled file transfer protocol (FTP), pushed or pulled trivial file transfer protocol (TFTP), hypertext transport protocol (HTTP), really simple syndication (RSS) or other automated syndication, and/or the like.
- FTP file transfer protocol
- TFTP pushed or pulled trivial file transfer protocol
- HTTP hypertext transport protocol
- RSS really simple syndication
- Metadata about the received content may be obtained from any source.
- metadata is obtained from the content sources 102 with the delivered content itself.
- metadata may be obtained from any sort of database 104 that may or may not be associated with the provider of the programming itself.
- database 104 may be a web-based or other networked source of information (e.g., a database that can support queries across network 112 ).
- database 104 may be a local database that is accessible to receiving server 106 and/or processing system 108 , but that may not be otherwise available on network 112 . Additional metadata about a particular program may be obtained from database 104 even when metadata is provided from the program source, particularly if the metadata provided from the source is incomplete, out-of-date, or in a less desirable format than metadata contained within database 104 .
- Received content and metadata may be processed in any manner.
- programming and/or metadata may be obtained from any number of programming sources, in any number of program formats, and using any number of transport techniques (e.g., FTP, TFTP, HTML, RSS and/or the like).
- a common receiving server 106 transforms the received content (and its associated metadata, if appropriate) received in any manner from any number of different sources into a common format that is pre-determined and that is compatible with system 108 .
- the pre-determined format allows system 108 to process the received programming and/or its metadata without regard to the manner or format in which the content was received.
- the pre-determined format typically encompasses the received program data (or a pointer to the received data in other storage), as well as any associated metadata (or a pointer to the metadata) and/or any information about the program data and/or its metadata to enable system 108 to perform transcoding and/or other processing as appropriate.
- transformation applications or other routines may be executed (e.g., at receiving server 106 ) to perform transport and format normalization so that the received data and/or metadata is placed into a format that is suitable for processing by system 108 .
- the pre-determined format provides a request for services in system 108 in the form of an XML, SOAP or similar message that includes (or references) the associated program content, metadata and/or other information as desired.
- receiving server 106 may be partially or wholly eliminated, and content providers 102 A-C could simply provide some or all of their content in the appropriate format directly to system 108 for subsequent processing.
- Content providers 102 could provide programming and/or metadata in the pre-determined format, for example, and could provide the formatted content/metadata directly to system 108 , thereby bypassing receiving server 106 .
- Content could alternately be delivered in any proprietary, open or other agreed-upon structure to reduce the need for pre-processing by receiving server 106 , as desired.
- Received programming may be processed using any sort of processing system 108 .
- Processing system 108 suitably performs transcoding, uploading, metadata processing and/or any other tasks to allow the received program to be distributed from host 110 .
- processing system 108 suitably receives program data formatted according to the pre-determined job structure and processes each job as appropriate.
- Various embodiments of system 108 may be implemented using dedicated or shared hardware servers; other implementations may make use of virtual server features as part of a “cloud computing” service, such as any of the cloud computing services provided by AMAZON, GOOGLE, MICROSOFT, IBM, UBUNTU, SUN MICROSYSTEMS and/or any number of other providers.
- the Amazon Web Services (AWS) products and services available from Amazon.com could be used to implement some or all of processing system 108 in some embodiments, although other embodiments may use any other products or services as desired.
- Program content and metadata are therefore received in any manner from any number of sources 112 A-C, 114 and as desired.
- the received programs are appropriately transformed into in a pre-determined format to allow for transcoding and/or other processing.
- Each job is processed using system 108 to properly format or otherwise prepare the content for distribution from host 110 on network 112 to any number of clients 114 A-C, as desired.
- FIG. 2 is a block diagram of an exemplary processing system 108 that may be used in some embodiments.
- an exemplary processing system 108 suitably includes a project queue 202 , one or more servers 204 A-C, and any sort of appropriate control logic 205 .
- Project queue 202 supports any number of active jobs 206 A-E, each of which is associated with a received media program encapsulated within an appropriate job structure 220 or other suitable pre-determined format. Jobs 206 A-E are appropriately received at queue 202 in the appropriate format (e.g., job structure 220 ) from receiving server 106 ( FIG. 1 ), content sources 102 A-C ( FIG. 1 ) and/or any other sources.
- Each job 206 is assigned (e.g., by control logic 205 or the like) to a server 204 for processing of the media program.
- the number of servers 204 in use at any particular time may dynamically depend upon the then-current utilization of queue 202 , as described more fully below.
- Queue 202 is any structure or service capable of maintaining jobs 206 in an orderly fashion.
- queue 202 is a logical structure that is arranged for parallel processing, first-in-first-out (FIFO) processing, last-in-first-out (LIFO) processing, or any other processing scheme as desired.
- Job queue 202 may be implemented using, for example, the Amazon Simple Queue Service (SQS), although other embodiments may use any sort of queue, stack, array or other structure, or any service capable of providing queuing, messaging and/or the like.
- SQS Amazon Simple Queue Service
- queue 202 may be physically provided on any sort of cloud service (e.g., SQS), or on any locally- or remotely-located hardware.
- Each job 206 A-E may be represented in queue 202 with any appropriate data structure or other format as desired.
- each job 206 A-E is represented with a structure 220 that is formatted by receive receiving server 106 ( FIG. 1 ), media source 102 ( FIG. 1 ), and/or any source as appropriate.
- structure 220 may be implemented using any sort of pre-determined format compatible with servers 204 A-C, and with queue 202 .
- structure 220 is shown as a decorator structure (e.g., a Java-type decorator) that includes a bus request 222 or other data that is compatible with servers 204 A-C, as well as any associated data 224 about the particular job.
- a decorator structure e.g., a Java-type decorator
- Bus request 222 may be formatted as an XML, SOAP or similar request, for example, that can be parsed as appropriate by servers 204 A-C.
- Structure 220 as shown in FIG. 2 also allows information 224 about each particular job 206 to be encapsulated within the structure 220 itself, thereby allowing each service operating within server 204 to independently process data associated with each job 204 , as described more fully below.
- Jobs 206 on queue 202 may be processed in any manner.
- any number of actual or virtual servers 204 A-C are provided for parallel processing of jobs 206 as needed.
- each server 204 A-C is formed in accordance with an enterprise service bus (ESB) model that includes a media service bus 215 that provides messaging, routing, and/or other features as appropriate.
- Media service bus 215 may be implemented using, for example, the open source MULE enterprise service bus system, although other embodiments may use any other products or services other than MULE to implement equivalent functions.
- the ESB architecture allows jobs 206 to be routed between various services 208 - 214 that provide various types of processing to the job 206 .
- each server 204 includes a connector 207 , which is any sort of program interface or the like that consumes jobs 206 from queue 202 .
- each server 204 A-C processes jobs 206 A-E from queue 202 in a sequential or other manner, with each server 204 processing the next job 206 that becomes available.
- Connector 207 includes programming (e.g., using MULE or similar constructs) for obtaining jobs 206 from queue 202 and initiating processing on server 204 .
- Obtained jobs 206 may be routed along media service bus 215 using enterprise service bus routing techniques (e.g., using the MULE system), and/or other processing techniques as desired.
- the exemplary server 204 shown in FIG. 2 includes a service 208 for encoding (or transcoding) content from any input format to any desired output format(s), a service 210 for uploading the encoded content to a content delivery network (CDN) or other host, a service 212 for formatting metadata associated with the content, and a service 214 for posting the formatted metadata to portal 110 so that viewers can search for and/or access the transcoded content.
- a service 210 for uploading the encoded content to a content delivery network (CDN) or other host
- CDN content delivery network
- service 212 for formatting metadata associated with the content
- a service 214 for posting the formatted metadata to portal 110 so that viewers can search for and/or access the transcoded content.
- the transcoded programming may then be uploaded to a CDN server using service 210 .
- Program metadata associated with the received program may be formatted or otherwise manipulated as desired by service 212 prior to uploading to host 110 via service 214 . After uploading of the program content and metadata, users may access the program by contacting host 110 via network 112 , as appropriate.
- Server 204 appropriately performs each task sequentially by routing the job 206 from service to service on the media service bus 215 .
- Other embodiments may provide additional services (e.g., additional encoding services 208 to support different formats, bit rates and/or other parameters) to those shown in FIG. 2 , and/or any number of other enhancements, modifications or substitutions may be provided across a wide array of equivalent embodiments.
- jobs 206 may be routed between services 208 - 214 using MULE or other ESB routing constructs, or any other techniques as desired.
- Each service 208 - 214 may be implemented in any format using any coding or scripting language.
- each service 208 - 214 separately performs its processing of a job 206 without regard to the actions of other services. That is, each service 208 - 214 independently and sequentially performs its various functions on the particular job 206 as the job is routed from service to service on the media service bus 215 .
- each service 208 - 214 may provide status information (e.g., as information 224 in the decorator 220 associated with job 206 ) that can be accessed by other services.
- Each service is typically isolated from the other services by the routing provided by media service bus 215 , with information being shared through structure 220 as appropriate.
- any number of jobs 206 may be routed between services 208 - 214 available on the media service bus 215 by MULE or another routing/messaging service.
- the routing/messaging service may restrict processing by other services 208 - 214 , thereby providing improved data integrity and reliability.
- This routing may be performed, for example, using MULE or any other enterprise service bus implementation that allows server 204 to be implemented using a service oriented architecture (SOA) or the like.
- SOA service oriented architecture
- different types of servers 204 may process different types of jobs 206 , as desired. Some jobs 206 may need additional or reduced processing, for example (e.g., jobs 206 that are received in a displayable format from source 102 may not need particular transcoding features, or the like), and different servers 204 may be formulated to address the different needs of different types of jobs 206 . In other embodiments, jobs 206 that do not need processing by all of the available services may simply be processed using server 204 , with service bus 215 simply not directing the job 206 to services that are not needed.
- the job 206 may simply be routed from connector 207 to upload service 210 (or any other appropriate service) using the features of the media service bus 215 .
- the routing may, in some embodiments, be altered according to attributes or other parameters of the particular job 206 . These parameters may be determined from information 224 stored in MBR 222 , in decorator 220 , or in any other location.
- Some or all of services 208 - 214 may also add or change information 224 in decorator 220 , as desired, to update the status of the job 206 or for any other purpose.
- Certain services 208 - 214 may be granted rights or privileges for altering or adding information 224 in some embodiments, or access control may be restricted in any other manner.
- Control logic 205 represents any control features that may be available for managing system 108 .
- control logic 205 may be implemented with any monitoring, control or other software that is compatible with queue 202 , servers 204 and/or any other features used within system 108 .
- the RIGHTSCALE cloud management platform could be used alone or in conjunction with other programming in some embodiments to manage and control various aspects of system 108 , although other embodiments may use other products or services as desired.
- Control logic 205 may be used in some embodiments to adjust the number of servers 204 that are available at any particular time.
- each server 204 may process any number of jobs; in some embodiments, each server 204 simply consumes jobs 206 from queue 202 and processes the single job to completion before retrieving another job 206 from the queue 202 . Jobs 206 are assigned from queue 202 to servers 204 based upon any appropriate criteria or scheme (e.g., FIFO, LIFO, priority assignment, etc.). In other embodiments, servers 204 may be able to multi-process more than one job 206 at a time.
- any appropriate criteria or scheme e.g., FIFO, LIFO, priority assignment, etc.
- some embodiments could allow the number of available servers 204 A-C to be upwardly and/or downwardly adjusted as processing needs fluctuate over time. If the processing loads remain relatively constant, for example, a static number of actual or virtual servers 204 may be maintained. In various embodiments that make use of cloud computing systems or the like, however, it may be beneficial to adjust the number of servers 204 that are in use at any particular time. If processing loads are variable, for example, it may be beneficial to have sufficient server capability to process even peak loads in a relatively short period of time. A cloud computing provider may charge for services that are currently in use, however, thereby making excess capacity undesirably expensive during periods of time when the excess capacity is not needed. Hence, it may be beneficial in some embodiments to allow scaling of server resources so that adequate numbers of servers 204 are available during peak demand times, yet excess capacity is not consumed (and paid for) during times that the capacity is not needed.
- FIG. 3 shows an exemplary process 300 for automatically scaling the server capacity that is available based upon the utilization of queue 202 .
- the utilization of queue 202 is monitored (function 302 ), with additional servers 204 added (function 306 ) if the queue is undesirably full (function 304 ).
- servers may be removed from service (function 310 ) if the queue becomes underutilized (function 308 ).
- Process 300 may be executed using software logic (e.g., control logic 205 ) executing as part of system 108 in various embodiments.
- the utilization or loading of queue 202 may be determined in any manner (function 302 ).
- control logic 205 is able to determine the a metric of queue loading, such as the number of active jobs 206 in queue 202 , as appropriate.
- the RIGHTSCALE products mentioned above, for example, may be used to determine metrics for scaling, including the size and utilization of an SQS or other queue 202 .
- Other embodiments may determine queue fullness in any other manner (e.g., by monitoring respective rates that jobs are added or completed, by counting the number of jobs 206 as they are added and removed from queue 202 , or though any other technique).
- the loading of queue 202 may be determined to be “too full” (function 304 ) or “too empty” (function 308 ) according to any parameters or techniques.
- the queue loading statistics obtained in function 302 are simply compared to appropriate threshold values, and the number of servers are adjusted as the loading passes a threshold value. As the number of jobs 206 on queue 202 passes an upper threshold, for example, an additional server 204 may be obtained from the “cloud” or another source. Similarly as the number of jobs 206 on queue 202 passes a lower threshold, one or more servers 204 may be released to conserve costs. Appropriate threshold values may be empirically determined, determined through trial-and-error, or determined by any other technique. In various embodiments, the threshold values may be adjusted upwardly or downwardly through the actions of an administrator.
- system 108 which incorporates queuing 202 and any number of virtual or actual servers 204 , each with a media service bus 215 that effectively routes processing jobs 206 between processing services 208 , 210 , 212 , 214 .
- the number of servers 204 may be scaled upwardly and/or downwardly as desired to ensure adequate processing capabilities during periods of relatively high demand without undue costs of excess capability during periods of relatively low demand.
- the processed content may be distributed over a network 112 from a portal or other host 110 to any number of viewers operating any number of different client devices 114 , as desired.
- a distribution system 100 that allows content to be received from multiple sources 102 in any format, using any transport mechanism, and having metadata in any format.
- This received content may be pre-processed, if needed, and then further processed by a system 108 to automate the encoding, transcoding and/or metadata formatting processes. That is, content can be formulated as a job 206 that can be placed on a queue 202 and retrieved for subsequent processing by one or more servers 204 .
- Each server 204 may have a media service bus 215 or the like that is capable of routing the job 206 between services 208 - 214 as appropriate.
- the processed jobs 206 may then be delivered to a web host 110 in any manner so that viewers operating any sort of client devices 114 can retrieve the associated programming via network 112 .
- Various additions, deletions or changes may be provided in any number of alternate but equivalent embodiments.
- exemplary means “serving as an example, instance, or illustration.” Any implementation described herein as exemplary is not necessarily to be construed as preferred or advantageous over other implementations.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
- This application claims priority to U.S. Provisional Patent Application Ser. No. 61/244,360 filed on Sep. 21, 2009, which is incorporated herein by reference in its entirety.
- This document generally relates to processing of digital media, and particularly relates to systems and techniques for automating the processes for distributing media programs on a network.
- An online media distribution service typically distributes media programming to viewers over the Internet or a similar network. Media programs distributed by such services may include television programs, movies, other audio/visual content, audio content and/or the like that are obtained from one or more sources. Typically, viewers can connect to the online distribution service using a conventional web browser or other client program to obtain streaming or file-based programming as desired.
- Media distribution services often receive their distributed content from any number of different production sources, syndicators, web-based services and/or other media sources as appropriate. Providing content from multiple sources, however, can create a number of challenges. Often, each content source has its own set of techniques and formats for delivering new material. Media files may be delivered, for example, using any number of different transport techniques and channels. Moreover, files may be received in any number of different compressed and/or uncompressed formats that may be transcoded or otherwise converted before the content is made available for distribution to viewers. Further, as viewers use an increasing variety of client devices (e.g., mobile phones, video game players, and other portable devices), it may be desirable to encode/transcode received content into any number of different distribution formats (e.g., different formats, and/or other files of different sizes, bit rates, frame rates, resolutions and/or other parameters) to accommodate a variety of viewers and viewing devices. Hence, the types and amounts of transcoding or other processing that may be performed on the received content prior to distribution can be significant.
- Moreover, many different content providers have unique formats for the metadata that describes the media content itself. Most websites provide at least some description of the content that is distributed: this description may include the name of the program, names of actors/actresses, a brief description of the programming, any ratings or parental control information, and/or any other information as desired. This “metadata” information about the programming content may be provided by the content provider with the media content itself, or it may be retrieved from any other source. In either case, formatting of the metadata can be a significant challenge due to the wide variety of formats that may be used by any number of different data sources.
- Content distributors therefore frequently encounter any number of challenges in converting received programming into formats that are suitable for distribution to customers. Typically, the large volume of content received, the relative frequency of content delivery and the desire to make content available as quickly as possible makes manual processing of received programming impractical, or at least undesirable in many implementations.
- It is therefore desirable to create systems, methods and/or devices that automate at least some of the process for encoding media programs from any number of sources and/or for processing the metadata associated with such sources. These and other desirable features and characteristics will become apparent from the subsequent detailed description and the appended claims, taken in conjunction with the accompanying drawings and this background section.
- Systems and methods are described to process media programs for distribution on a network. In various embodiments, a system to process a plurality of media programs suitably comprises a queue, a number of servers, and control logic. The queue is configured to receive each of the plurality of media programs in a predetermined format. Each of the number of servers is configured to retrieve at least one of the plurality of media programs from the queue and to process the at least one of the plurality of media programs. The control logic is configured to monitor a utilization of the queue and to adjust the number of servers based upon the utilization of the queue.
- In other embodiments, a method to process a plurality of media programs is provided. The method suitably comprises placing each of the plurality of media programs on a queue, retrieving the media programs from the queue with each of a number of servers, processing the retrieved media programs with each of the servers, monitoring a utilization of the queue, and adjusting the number of servers based upon the utilization of the queue.
- Still other embodiments provide a system to distribute a plurality of media programs on a network. The system comprises a receiving server, a processing system and a host. The receiving server is configured to receive each of the media programs and to format each of the media programs using a pre-determined format. The processing system comprises a queue and a number of servers each compatible with the pre-determined format, wherein the queue is configured to receive each of the media programs in the pre-determined format from the receiving server, and wherein each of the plurality of servers is configured to retrieve at least one of the media programs from the queue and to transcode the media program. The host is configured to receive the transcoded media programs and to make the transcoded media programs available on the network.
- Various other embodiments, aspects and other features are described in more detail below.
- Exemplary embodiments will hereinafter be described in conjunction with the following drawing figures, wherein like numerals denote like elements, and wherein:
-
FIG. 1 is a block diagram of an exemplary system for receiving and distributing media programs over a network; -
FIG. 2 is a block diagram of an exemplary system for processing media programming; and -
FIG. 3 is a flowchart of an exemplary technique for processing media programming. - The following detailed description is merely exemplary in nature and is not intended to limit the invention or the application and uses of the invention. Furthermore, there is no intention to be bound by any theory presented in the preceding background or the following detailed description.
- Systems and methods are provided for automating the processing of media programming that is received from one or more sources. Received media programs are initially placed on a queue until a server is available to process the media program. A server retrieves the program from the queue, and provides any number of processing services to the received program. Services may include, for example, encode/transcode services, upload services, metadata formatting services, metadata upload services, and/or the like. The server therefore provides appropriate processing to make the program available for distribution from a network host or the like.
- Various embodiments may adjust the number of servers available for processing by monitoring the number of programming jobs currently held by the queue. As the queue fills, additional servers may be requested from a cloud computing service or the like. Similarly, as the queue empties, servers may be released to conserve cost.
- Various other embodiments may initially format received programming and any associated metadata into a pre-determined format prior to storage on the queue. The pre-determined format suitably allows processing by a service-oriented architecture (SOA) implemented on each server in which a media service bus (MSB) routes the received program obtained from the queue between any number of data processing services. To that end, some embodiments of the pre-determined format may include any sort of service request (e.g., an XML, SOAP or other message) that is compatible with the MSB architecture. This request may be provided with a decorator structure or the like that allows for information sharing between services on the MSB and/or that provides additional data about the programming and/or its metadata. Various other embodiments, enhancements and features are described in additional detail below.
- Turning now to the drawing figures,
FIG. 1 shows one example of asystem 100 that could be used to distribute media programs from any number ofsources 102A-C. “Media program” refers to any audio, video, audio/visual or other programming in any streaming, file-based or other format. In various embodiments,system 100 distributes television, movie and/or other audiovisual programs in any digital format such as MPEG, Windows Media, Adobe Flash, Quicktime, Real Media, H.264 and/or the like. Such content may be provided to any number of viewers using any sort ofmedia playback devices 114A-C. In various embodiments,media playback devices 114A-C could include desktop or notebook computers, mobile telephones, personal digital assistants, video game players, portable media players and/or any other devices capable of receiving media programs via anetwork 112 and of rendering audio and/or visual content to a viewer. - Network 112 is any digital or other communications network capable of transmitting data between senders (e.g., host 100) and receivers (e.g., client devices 114). In various embodiments,
network 112 includes any number of public or private data connections, links and/or networks supporting any number of communications protocols. Network 112 may include the Internet, for example, or any other network based upon TCP/IP or other conventional protocols. In some implementations,network 112 may also represent a wireless and/or wired telephone network, such as a cellular communications network for communicating with mobile phones, personal digital assistants, and/or the like. Various embodiments ofnetwork 112 may also incorporate any sort of wireless or wired local area networks, such as one or more IEEE 802.3 and/or IEEE 802.11 networks, as well as any wider area links capable of inter-connecting such networks. -
Network host 110 is any server or collection of servers capable of providing a front-end or other portal tosystem 100 that allows viewers to access media programs. In various embodiments,host 110 provides a conventional web-type server that provides program data to web browsers or other standard or proprietary client applications. Such data may be provided overnetwork 112 using conventional TCP/IP, HTTP and/or other protocols as desired. Generally, host 110 will be implemented across any number of physical and logical server devices. For example, metadata and other visual content may be provided via a typical web portal residing at a well-known URL or other address, whereas streamed or other distributed content may be delivered from a separate server associated with a content delivery network or other provider. To receive a desired program, then, a user typicallycontacts network host 110 using a conventional browser or the like. The user then identifies the desired program by providing search criteria, navigating a user interface, and/or any other technique. In various embodiments,host 110 is able to search metadata associated with each program distributed to allow the user to search for programs based upon title, network, actor/actress names, genre and/or any other search criteria as desired. After the user has identified a desired program for viewing,host 110 may provide the program to a media player associated with one ormore playback devices 114A-C. The program may be provided fromhost 110 itself, or from a server located at a content delivery network (CDN) or other backend location using any sort of streaming, file-based or other delivery techniques. Conventional web hosting and development techniques may therefore be applied in any manner to create anetwork host 110 that makes use of one or more server devices as appropriate. - Media programs may be received, formatted and made available on
host 110 in any manner. In various embodiments, programming is received from any number ofdifferent content sources 102A-C at a receivingserver 106.Content sources 102A-C may include studios or other content creators, syndicators or other content distributors, television networks, production houses, web or other network-based distributors, and/or any number ofother sources 102 as desired. Program content may be delivered across any medium, including any sort of point-to-point or networked link. In various embodiments, the Internet or asimilar network 112 may be used to receive programming from one ormore sources 102A-C as well as to distribute processed programs to viewers. - Although
FIG. 1 shows content being received at aseparate receiving server 106, in practice content may be provided directly fromsources 102A-C toprocessing system 108. Receivingserver 106, when present, suitably receives programming from one ormore sources 102A-C and provides the received content toprocessing system 108 in a suitable pre-determined format that allows further processing. In embodiments that do provide a receivingserver 106, this server may be any conventional computing system capable of manually and/or automatically receiving program content via any transport technique, including any sort of pushed or pulled file transfer protocol (FTP), pushed or pulled trivial file transfer protocol (TFTP), hypertext transport protocol (HTTP), really simple syndication (RSS) or other automated syndication, and/or the like. - Metadata about the received content may be obtained from any source. In various embodiments, metadata is obtained from the
content sources 102 with the delivered content itself. Alternatively, metadata may be obtained from any sort ofdatabase 104 that may or may not be associated with the provider of the programming itself. To that end,database 104 may be a web-based or other networked source of information (e.g., a database that can support queries across network 112). Alternately,database 104 may be a local database that is accessible to receivingserver 106 and/orprocessing system 108, but that may not be otherwise available onnetwork 112. Additional metadata about a particular program may be obtained fromdatabase 104 even when metadata is provided from the program source, particularly if the metadata provided from the source is incomplete, out-of-date, or in a less desirable format than metadata contained withindatabase 104. - Received content and metadata may be processed in any manner. To that end, programming and/or metadata may be obtained from any number of programming sources, in any number of program formats, and using any number of transport techniques (e.g., FTP, TFTP, HTML, RSS and/or the like). In various embodiments, a
common receiving server 106 transforms the received content (and its associated metadata, if appropriate) received in any manner from any number of different sources into a common format that is pre-determined and that is compatible withsystem 108. - The pre-determined format allows
system 108 to process the received programming and/or its metadata without regard to the manner or format in which the content was received. To that end, the pre-determined format typically encompasses the received program data (or a pointer to the received data in other storage), as well as any associated metadata (or a pointer to the metadata) and/or any information about the program data and/or its metadata to enablesystem 108 to perform transcoding and/or other processing as appropriate. In various embodiments, transformation applications or other routines may be executed (e.g., at receiving server 106) to perform transport and format normalization so that the received data and/or metadata is placed into a format that is suitable for processing bysystem 108. In one embodiment, the pre-determined format provides a request for services insystem 108 in the form of an XML, SOAP or similar message that includes (or references) the associated program content, metadata and/or other information as desired. - Again, in some
embodiments receiving server 106 may be partially or wholly eliminated, andcontent providers 102A-C could simply provide some or all of their content in the appropriate format directly tosystem 108 for subsequent processing.Content providers 102 could provide programming and/or metadata in the pre-determined format, for example, and could provide the formatted content/metadata directly tosystem 108, thereby bypassing receivingserver 106. Content could alternately be delivered in any proprietary, open or other agreed-upon structure to reduce the need for pre-processing by receivingserver 106, as desired. - Received programming may be processed using any sort of
processing system 108.Processing system 108 suitably performs transcoding, uploading, metadata processing and/or any other tasks to allow the received program to be distributed fromhost 110. To that end,processing system 108 suitably receives program data formatted according to the pre-determined job structure and processes each job as appropriate. Various embodiments ofsystem 108 may be implemented using dedicated or shared hardware servers; other implementations may make use of virtual server features as part of a “cloud computing” service, such as any of the cloud computing services provided by AMAZON, GOOGLE, MICROSOFT, IBM, UBUNTU, SUN MICROSYSTEMS and/or any number of other providers. The Amazon Web Services (AWS) products and services available from Amazon.com, for example, could be used to implement some or all ofprocessing system 108 in some embodiments, although other embodiments may use any other products or services as desired. - Program content and metadata are therefore received in any manner from any number of sources 112A-C, 114 and as desired. The received programs are appropriately transformed into in a pre-determined format to allow for transcoding and/or other processing. Each job is processed using
system 108 to properly format or otherwise prepare the content for distribution fromhost 110 onnetwork 112 to any number ofclients 114A-C, as desired. -
FIG. 2 is a block diagram of anexemplary processing system 108 that may be used in some embodiments. With reference now toFIG. 2 , anexemplary processing system 108 suitably includes aproject queue 202, one or more servers 204A-C, and any sort ofappropriate control logic 205.Project queue 202 supports any number ofactive jobs 206A-E, each of which is associated with a received media program encapsulated within anappropriate job structure 220 or other suitable pre-determined format.Jobs 206A-E are appropriately received atqueue 202 in the appropriate format (e.g., job structure 220) from receiving server 106 (FIG. 1 ),content sources 102A-C (FIG. 1 ) and/or any other sources. Each job 206 is assigned (e.g., bycontrol logic 205 or the like) to a server 204 for processing of the media program. In various embodiments, the number of servers 204 in use at any particular time may dynamically depend upon the then-current utilization ofqueue 202, as described more fully below. Other embodiments, however, may simply process media program jobs 206 using a relatively static number of servers 204, as desired. -
Queue 202 is any structure or service capable of maintaining jobs 206 in an orderly fashion. In various embodiments,queue 202 is a logical structure that is arranged for parallel processing, first-in-first-out (FIFO) processing, last-in-first-out (LIFO) processing, or any other processing scheme as desired.Job queue 202 may be implemented using, for example, the Amazon Simple Queue Service (SQS), although other embodiments may use any sort of queue, stack, array or other structure, or any service capable of providing queuing, messaging and/or the like. To that end,queue 202 may be physically provided on any sort of cloud service (e.g., SQS), or on any locally- or remotely-located hardware. - Each
job 206A-E may be represented inqueue 202 with any appropriate data structure or other format as desired. In the exemplary embodiment shown inFIG. 2 , eachjob 206A-E is represented with astructure 220 that is formatted by receive receiving server 106 (FIG. 1 ), media source 102 (FIG. 1 ), and/or any source as appropriate. As noted above,structure 220 may be implemented using any sort of pre-determined format compatible with servers 204A-C, and withqueue 202. In the embodiment shown inFIG. 2 ,structure 220 is shown as a decorator structure (e.g., a Java-type decorator) that includes abus request 222 or other data that is compatible with servers 204A-C, as well as any associateddata 224 about the particular job.Bus request 222 may be formatted as an XML, SOAP or similar request, for example, that can be parsed as appropriate by servers 204A-C. Structure 220 as shown inFIG. 2 also allowsinformation 224 about each particular job 206 to be encapsulated within thestructure 220 itself, thereby allowing each service operating within server 204 to independently process data associated with each job 204, as described more fully below. - Jobs 206 on
queue 202 may be processed in any manner. In various embodiments, any number of actual or virtual servers 204A-C are provided for parallel processing of jobs 206 as needed. In the exemplary embodiment shown inFIG. 2 , each server 204A-C is formed in accordance with an enterprise service bus (ESB) model that includes amedia service bus 215 that provides messaging, routing, and/or other features as appropriate.Media service bus 215 may be implemented using, for example, the open source MULE enterprise service bus system, although other embodiments may use any other products or services other than MULE to implement equivalent functions. The ESB architecture allows jobs 206 to be routed between various services 208-214 that provide various types of processing to the job 206. - In the embodiment shown in
FIG. 2 , each server 204 includes aconnector 207, which is any sort of program interface or the like that consumes jobs 206 fromqueue 202. In various embodiments, each server 204A-C processes jobs 206A-E fromqueue 202 in a sequential or other manner, with each server 204 processing the next job 206 that becomes available.Connector 207 includes programming (e.g., using MULE or similar constructs) for obtaining jobs 206 fromqueue 202 and initiating processing on server 204. Obtained jobs 206 may be routed alongmedia service bus 215 using enterprise service bus routing techniques (e.g., using the MULE system), and/or other processing techniques as desired. - Processing of each job 206 may proceed in any manner. As jobs 206 are retrieved from the queue by a
connector 207 associated with a particular server 204, the jobs will typically become unavailable to other servers 204. The exemplary server 204 shown inFIG. 2 includes aservice 208 for encoding (or transcoding) content from any input format to any desired output format(s), aservice 210 for uploading the encoded content to a content delivery network (CDN) or other host, aservice 212 for formatting metadata associated with the content, and aservice 214 for posting the formatted metadata toportal 110 so that viewers can search for and/or access the transcoded content. A job 206 that includes a media program received from the programming source in a particular format (e.g., MPEG-4), for example, may be encoded or transcoded atservice 208 to a different format (e.g., Windows Media or H.264). The transcoded programming may then be uploaded to a CDNserver using service 210. Program metadata associated with the received program may be formatted or otherwise manipulated as desired byservice 212 prior to uploading to host 110 viaservice 214. After uploading of the program content and metadata, users may access the program by contactinghost 110 vianetwork 112, as appropriate. - Server 204 appropriately performs each task sequentially by routing the job 206 from service to service on the
media service bus 215. Other embodiments may provide additional services (e.g.,additional encoding services 208 to support different formats, bit rates and/or other parameters) to those shown inFIG. 2 , and/or any number of other enhancements, modifications or substitutions may be provided across a wide array of equivalent embodiments. As noted above, jobs 206 may be routed between services 208-214 using MULE or other ESB routing constructs, or any other techniques as desired. - Each service 208-214 may be implemented in any format using any coding or scripting language. In various embodiments, each service 208-214 separately performs its processing of a job 206 without regard to the actions of other services. That is, each service 208-214 independently and sequentially performs its various functions on the particular job 206 as the job is routed from service to service on the
media service bus 215. In such embodiments, each service 208-214 may provide status information (e.g., asinformation 224 in thedecorator 220 associated with job 206) that can be accessed by other services. Each service, however, is typically isolated from the other services by the routing provided bymedia service bus 215, with information being shared throughstructure 220 as appropriate. For example, any number of jobs 206 may be routed between services 208-214 available on themedia service bus 215 by MULE or another routing/messaging service. During processing by a service 208-214, the routing/messaging service may restrict processing by other services 208-214, thereby providing improved data integrity and reliability. This routing may be performed, for example, using MULE or any other enterprise service bus implementation that allows server 204 to be implemented using a service oriented architecture (SOA) or the like. - In some embodiments, different types of servers 204 may process different types of jobs 206, as desired. Some jobs 206 may need additional or reduced processing, for example (e.g., jobs 206 that are received in a displayable format from
source 102 may not need particular transcoding features, or the like), and different servers 204 may be formulated to address the different needs of different types of jobs 206. In other embodiments, jobs 206 that do not need processing by all of the available services may simply be processed using server 204, withservice bus 215 simply not directing the job 206 to services that are not needed. If transcoding is not needed for a particular job, for example (e.g., because content is already received in the desired display format), the job 206 may simply be routed fromconnector 207 to upload service 210 (or any other appropriate service) using the features of themedia service bus 215. The routing may, in some embodiments, be altered according to attributes or other parameters of the particular job 206. These parameters may be determined frominformation 224 stored inMBR 222, indecorator 220, or in any other location. Some or all of services 208-214 may also add or changeinformation 224 indecorator 220, as desired, to update the status of the job 206 or for any other purpose. Certain services 208-214 may be granted rights or privileges for altering or addinginformation 224 in some embodiments, or access control may be restricted in any other manner. -
Control logic 205 represents any control features that may be available for managingsystem 108. In various embodiments,control logic 205 may be implemented with any monitoring, control or other software that is compatible withqueue 202, servers 204 and/or any other features used withinsystem 108. The RIGHTSCALE cloud management platform, for example, could be used alone or in conjunction with other programming in some embodiments to manage and control various aspects ofsystem 108, although other embodiments may use other products or services as desired.Control logic 205 may be used in some embodiments to adjust the number of servers 204 that are available at any particular time. - To that end, various embodiments may provide any static or dynamic number of servers 204A-C. Each server 204 may process any number of jobs; in some embodiments, each server 204 simply consumes jobs 206 from
queue 202 and processes the single job to completion before retrieving another job 206 from thequeue 202. Jobs 206 are assigned fromqueue 202 to servers 204 based upon any appropriate criteria or scheme (e.g., FIFO, LIFO, priority assignment, etc.). In other embodiments, servers 204 may be able to multi-process more than one job 206 at a time. - In either case, some embodiments could allow the number of available servers 204A-C to be upwardly and/or downwardly adjusted as processing needs fluctuate over time. If the processing loads remain relatively constant, for example, a static number of actual or virtual servers 204 may be maintained. In various embodiments that make use of cloud computing systems or the like, however, it may be beneficial to adjust the number of servers 204 that are in use at any particular time. If processing loads are variable, for example, it may be beneficial to have sufficient server capability to process even peak loads in a relatively short period of time. A cloud computing provider may charge for services that are currently in use, however, thereby making excess capacity undesirably expensive during periods of time when the excess capacity is not needed. Hence, it may be beneficial in some embodiments to allow scaling of server resources so that adequate numbers of servers 204 are available during peak demand times, yet excess capacity is not consumed (and paid for) during times that the capacity is not needed.
-
FIG. 3 shows anexemplary process 300 for automatically scaling the server capacity that is available based upon the utilization ofqueue 202. In such embodiments, the utilization ofqueue 202 is monitored (function 302), with additional servers 204 added (function 306) if the queue is undesirably full (function 304). Conversely, servers may be removed from service (function 310) if the queue becomes underutilized (function 308).Process 300 may be executed using software logic (e.g., control logic 205) executing as part ofsystem 108 in various embodiments. - The utilization or loading of
queue 202 may be determined in any manner (function 302). In various embodiments,control logic 205 is able to determine the a metric of queue loading, such as the number of active jobs 206 inqueue 202, as appropriate. The RIGHTSCALE products mentioned above, for example, may be used to determine metrics for scaling, including the size and utilization of an SQS orother queue 202. Other embodiments may determine queue fullness in any other manner (e.g., by monitoring respective rates that jobs are added or completed, by counting the number of jobs 206 as they are added and removed fromqueue 202, or though any other technique). - The loading of
queue 202 may be determined to be “too full” (function 304) or “too empty” (function 308) according to any parameters or techniques. In various embodiments, the queue loading statistics obtained infunction 302 are simply compared to appropriate threshold values, and the number of servers are adjusted as the loading passes a threshold value. As the number of jobs 206 onqueue 202 passes an upper threshold, for example, an additional server 204 may be obtained from the “cloud” or another source. Similarly as the number of jobs 206 onqueue 202 passes a lower threshold, one or more servers 204 may be released to conserve costs. Appropriate threshold values may be empirically determined, determined through trial-and-error, or determined by any other technique. In various embodiments, the threshold values may be adjusted upwardly or downwardly through the actions of an administrator. - The above discussion therefore presents a
system 100 that is able to efficiently and effectively process content received from any number ofsources 102A-C. Content is processed bysystem 108, which incorporates queuing 202 and any number of virtual or actual servers 204, each with amedia service bus 215 that effectively routes processing jobs 206 betweenprocessing services network 112 from a portal orother host 110 to any number of viewers operating any number of different client devices 114, as desired. - Accordingly, a
distribution system 100 has been described that allows content to be received frommultiple sources 102 in any format, using any transport mechanism, and having metadata in any format. This received content may be pre-processed, if needed, and then further processed by asystem 108 to automate the encoding, transcoding and/or metadata formatting processes. That is, content can be formulated as a job 206 that can be placed on aqueue 202 and retrieved for subsequent processing by one or more servers 204. Each server 204 may have amedia service bus 215 or the like that is capable of routing the job 206 between services 208-214 as appropriate. The processed jobs 206 may then be delivered to aweb host 110 in any manner so that viewers operating any sort of client devices 114 can retrieve the associated programming vianetwork 112. Various additions, deletions or changes may be provided in any number of alternate but equivalent embodiments. - As used herein, the word “exemplary” means “serving as an example, instance, or illustration.” Any implementation described herein as exemplary is not necessarily to be construed as preferred or advantageous over other implementations.
- While the foregoing detailed description will provide those skilled in the art with a convenient road map for implementing various embodiments of the invention, it should be appreciated that the particular embodiments described above are only examples, and are not intended to limit the scope, applicability, or configuration of the invention in any way. To the contrary, various changes may be made in the function and arrangement of elements described without departing from the scope of the invention.
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/635,138 US8621099B2 (en) | 2009-09-21 | 2009-12-10 | Systems and methods for formatting media content for distribution |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US24436009P | 2009-09-21 | 2009-09-21 | |
US12/635,138 US8621099B2 (en) | 2009-09-21 | 2009-12-10 | Systems and methods for formatting media content for distribution |
Publications (2)
Publication Number | Publication Date |
---|---|
US20110072073A1 true US20110072073A1 (en) | 2011-03-24 |
US8621099B2 US8621099B2 (en) | 2013-12-31 |
Family
ID=43757544
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/635,138 Active 2032-02-27 US8621099B2 (en) | 2009-09-21 | 2009-12-10 | Systems and methods for formatting media content for distribution |
Country Status (1)
Country | Link |
---|---|
US (1) | US8621099B2 (en) |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110179111A1 (en) * | 2010-01-15 | 2011-07-21 | Endurance International Group, Inc. | Migrating a web hosting service between a one box per client architecture and a cloud computing architecture |
US20120066371A1 (en) * | 2010-09-10 | 2012-03-15 | Cisco Technology, Inc. | Server Load Balancer Scaling for Virtual Servers |
CN102740014A (en) * | 2011-04-07 | 2012-10-17 | 青岛海信电器股份有限公司 | Voice controlled television, television system and method for controlling television through voice |
US20130054688A1 (en) * | 2011-08-26 | 2013-02-28 | Steven Michael Rourke | System and method for content syndication service |
WO2013143050A1 (en) * | 2012-03-26 | 2013-10-03 | 华为技术有限公司 | Service processing method, execution unit and system for distributed operating system |
US20140082170A1 (en) * | 2012-09-19 | 2014-03-20 | Oracle International Corporation | System and method for small batching processing of usage requests |
US20140172952A1 (en) * | 2012-12-13 | 2014-06-19 | Level 3 Communications, Llc | Framework Supporting Content Delivery With Content Delivery Services |
US20140221087A1 (en) * | 2012-11-28 | 2014-08-07 | Nvidia Corporation | Handheld gaming console |
US20140372588A1 (en) | 2011-12-14 | 2014-12-18 | Level 3 Communications, Llc | Request-Response Processing in a Content Delivery Network |
CN104572276A (en) * | 2014-12-17 | 2015-04-29 | 北京可思云海科技有限公司 | Cloud-computation-based concurrent data processing method |
US9154549B2 (en) | 2011-10-27 | 2015-10-06 | Cisco Technology, Inc. | Dynamic server farms |
US9277022B2 (en) | 2010-01-15 | 2016-03-01 | Endurance International Group, Inc. | Guided workflows for establishing a web presence |
US9634918B2 (en) | 2012-12-13 | 2017-04-25 | Level 3 Communications, Llc | Invalidation sequencing in a content delivery framework |
US9883008B2 (en) | 2010-01-15 | 2018-01-30 | Endurance International Group, Inc. | Virtualization of multiple distinct website hosting architectures |
US10089373B1 (en) | 2012-01-13 | 2018-10-02 | Amazon Technologies, Inc. | Wide-scale replication of similarly structured data |
US10599609B1 (en) * | 2015-03-31 | 2020-03-24 | EMC IP Holding Company LLC | Method and system for elastic, distributed transcoding |
US10652087B2 (en) | 2012-12-13 | 2020-05-12 | Level 3 Communications, Llc | Content delivery framework having fill services |
US10701148B2 (en) | 2012-12-13 | 2020-06-30 | Level 3 Communications, Llc | Content delivery framework having storage services |
US10701149B2 (en) | 2012-12-13 | 2020-06-30 | Level 3 Communications, Llc | Content delivery framework having origin services |
US10791050B2 (en) | 2012-12-13 | 2020-09-29 | Level 3 Communications, Llc | Geographic location determination in a content delivery framework |
US10863211B1 (en) * | 2018-11-12 | 2020-12-08 | Amazon Technologies, Inc. | Manifest data for server-side media fragment insertion |
US11128739B2 (en) * | 2018-12-24 | 2021-09-21 | Verizon Patent And Licensing Inc. | Network-edge-deployed transcoding methods and systems for just-in-time transcoding of media data |
CN113965628A (en) * | 2020-12-03 | 2022-01-21 | 广州三叠纪元智能科技有限公司 | Message scheduling method, server and storage medium |
US11368548B2 (en) | 2012-12-13 | 2022-06-21 | Level 3 Communications, Llc | Beacon services in a content delivery framework |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9424077B2 (en) | 2014-11-14 | 2016-08-23 | Successfactors, Inc. | Throttle control on cloud-based computing tasks utilizing enqueue and dequeue counters |
EP4340378A3 (en) | 2014-12-31 | 2024-05-01 | DISH Technologies L.L.C. | Automated video content processing |
Citations (90)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5237648A (en) * | 1990-06-08 | 1993-08-17 | Apple Computer, Inc. | Apparatus and method for editing a video recording by selecting and displaying video clips |
US5293357A (en) * | 1990-09-10 | 1994-03-08 | The Superguide Corporation | Method and apparatus for controlling a television program recording device |
US5434678A (en) * | 1993-01-11 | 1995-07-18 | Abecassis; Max | Seamless transmission of non-sequential video segments |
US5438423A (en) * | 1993-06-25 | 1995-08-01 | Tektronix, Inc. | Time warping for video viewing |
US5537530A (en) * | 1992-08-12 | 1996-07-16 | International Business Machines Corporation | Video editing by locating segment boundaries and reordering segment sequences |
US5610653A (en) * | 1992-02-07 | 1997-03-11 | Abecassis; Max | Method and system for automatically tracking a zoomed video image |
US5684918A (en) * | 1992-02-07 | 1997-11-04 | Abecassis; Max | System for integrating video and communications |
US5696869A (en) * | 1992-02-07 | 1997-12-09 | Max Abecassis | Variable-content-video provider system |
US5892536A (en) * | 1996-10-03 | 1999-04-06 | Personal Audio | Systems and methods for computer enhanced broadcast monitoring |
US5953485A (en) * | 1992-02-07 | 1999-09-14 | Abecassis; Max | Method and system for maintaining audio during video control |
US6036601A (en) * | 1999-02-24 | 2000-03-14 | Adaboy, Inc. | Method for advertising over a computer network utilizing virtual environments of games |
US6088455A (en) * | 1997-01-07 | 2000-07-11 | Logan; James D. | Methods and apparatus for selectively reproducing segments of broadcast programming |
US20020004839A1 (en) * | 2000-05-09 | 2002-01-10 | William Wine | Method of controlling the display of a browser during a transmission of a multimedia stream over an internet connection so as to create a synchronized convergence platform |
US20020031333A1 (en) * | 1997-09-30 | 2002-03-14 | Yoshizumi Mano | On-the fly video editing device for capturing and storing images from a video stream during playback for subsequent editing and recording |
US20020042921A1 (en) * | 2000-10-11 | 2002-04-11 | United Video Properties, Inc. | Systems and methods for caching data in media-on-demand systems |
US6389467B1 (en) * | 2000-01-24 | 2002-05-14 | Friskit, Inc. | Streaming media search and continuous playback system of media resources located by multiple network addresses |
US6408128B1 (en) * | 1998-11-12 | 2002-06-18 | Max Abecassis | Replaying with supplementary information a segment of a video |
US6421429B1 (en) * | 1993-12-29 | 2002-07-16 | At&T Corporation | Network-based system enabling image communications |
US20020105529A1 (en) * | 2000-02-11 | 2002-08-08 | Jason Bowser | Generation and display of multi-image video streams |
US20020120925A1 (en) * | 2000-03-28 | 2002-08-29 | Logan James D. | Audio and video program recording, editing and playback systems using metadata |
US20020138843A1 (en) * | 2000-05-19 | 2002-09-26 | Andrew Samaan | Video distribution method and system |
US20020143972A1 (en) * | 2001-01-12 | 2002-10-03 | Charilaos Christopoulos | Interactive access, manipulation,sharing and exchange of multimedia data |
US20020151992A1 (en) * | 1999-02-01 | 2002-10-17 | Hoffberg Steven M. | Media recording device with packet data interface |
US6476826B1 (en) * | 2000-08-22 | 2002-11-05 | Vastvideo, Inc. | Integrated system and method for processing video |
US6505169B1 (en) * | 2000-01-26 | 2003-01-07 | At&T Corp. | Method for adaptive ad insertion in streaming multimedia content |
US6529506B1 (en) * | 1998-10-08 | 2003-03-04 | Matsushita Electric Industrial Co., Ltd. | Data processing apparatus and data recording media |
US20030074660A1 (en) * | 2001-10-12 | 2003-04-17 | Liberate Technologies | System method and apparatus for portable digital identity |
US6553178B2 (en) * | 1992-02-07 | 2003-04-22 | Max Abecassis | Advertisement subsidized video-on-demand system |
US20030078973A1 (en) * | 2001-09-25 | 2003-04-24 | Przekop Michael V. | Web-enabled system and method for on-demand distribution of transcript-synchronized video/audio records of legal proceedings to collaborative workgroups |
US20030088686A1 (en) * | 2001-01-19 | 2003-05-08 | Jennings Charles A. | System and method for streaming media |
US20030093790A1 (en) * | 2000-03-28 | 2003-05-15 | Logan James D. | Audio and video program recording, editing and playback systems using metadata |
US20030093260A1 (en) * | 2001-11-13 | 2003-05-15 | Koninklijke Philips Electronics N.V. | Apparatus and method for program selection utilizing exclusive and inclusive metadata searches |
US6597374B1 (en) * | 1998-11-12 | 2003-07-22 | Microsoft Corporation | Activity based remote control unit |
US6597375B1 (en) * | 2000-03-10 | 2003-07-22 | Adobe Systems Incorporated | User interface for video editing |
US6609253B1 (en) * | 1999-12-30 | 2003-08-19 | Bellsouth Intellectual Property Corporation | Method and system for providing interactive media VCR control |
US20030187657A1 (en) * | 2002-03-26 | 2003-10-02 | Erhart George W. | Voice control of streaming audio |
US20030192054A1 (en) * | 2002-03-13 | 2003-10-09 | David Birks | Networked personal video recorder method and apparatus |
US20030198243A1 (en) * | 2002-04-19 | 2003-10-23 | Norio Yamada | Packet routing apparatus |
US20030208612A1 (en) * | 2002-05-01 | 2003-11-06 | Stmicroelectronics, Inc. | Method for pre-caching content to enable true VOD systems from NVOD or stream limited VOD systems |
US20030231868A1 (en) * | 2002-05-31 | 2003-12-18 | Microsoft Corporation | System and method for identifying and segmenting repeating media objects embedded in a stream |
US20030234803A1 (en) * | 2002-06-19 | 2003-12-25 | Kentaro Toyama | System and method for automatically generating video cliplets from digital video |
US20040003406A1 (en) * | 2002-06-27 | 2004-01-01 | Digeo, Inc. | Method and apparatus to invoke a shopping ticker |
US20040101271A1 (en) * | 2002-11-21 | 2004-05-27 | International Business Machines Corporation | Personal video recording with storage space distributed among remote personal video recorders |
US20040139047A1 (en) * | 2003-01-09 | 2004-07-15 | Kaleidescape | Bookmarks and watchpoints for selection and presentation of media streams |
US20040162845A1 (en) * | 2003-02-18 | 2004-08-19 | Samsung Electronics Co., Ltd. | Media file management system and method for home media center |
US20040177151A1 (en) * | 2003-02-19 | 2004-09-09 | Maui X-Stream, Inc. | Methods, data structures, and systems for processing media data streams |
US6795638B1 (en) * | 1999-09-30 | 2004-09-21 | New Jersey Devils, Llc | System and method for recording and preparing statistics concerning live performances |
US20040221029A1 (en) * | 2003-02-11 | 2004-11-04 | Catena Networks, Inc. | Method for selecting a resource to provide a requested service in a multicasting environment |
US20040236844A1 (en) * | 1999-11-15 | 2004-11-25 | Lucent Technologies, Inc. | Method and apparatus for remote audiovisual signal recording |
US20060095401A1 (en) * | 2004-06-07 | 2006-05-04 | Jason Krikorian | Personal media broadcasting system with output buffer |
US20060171395A1 (en) * | 2005-01-31 | 2006-08-03 | Sharp Laboratories Of America, Inc. | Systems and methods for implementing a metadata station for an internet radio service |
US20060190616A1 (en) * | 2005-02-04 | 2006-08-24 | John Mayerhofer | System and method for aggregating, delivering and sharing audio content |
US20060206526A1 (en) * | 2005-03-10 | 2006-09-14 | Portalvideo, Inc. | Video editing method and apparatus |
US20060230345A1 (en) * | 2005-04-07 | 2006-10-12 | Shih-Hsiung Weng | Portable data storage device that converts data types and data type converting method |
US7127507B1 (en) * | 2001-09-27 | 2006-10-24 | Sprint Communications Company L.P. | Method and apparatus for network-level monitoring of queue-based messaging systems |
US20060280177A1 (en) * | 2005-06-13 | 2006-12-14 | Gupta Pawan K | Integration network for digital media solutions |
US20060294183A1 (en) * | 2002-02-15 | 2006-12-28 | Agnoli Giovanni M | System, method, and computer program product for media publishing request processing |
US20070043792A1 (en) * | 2003-07-16 | 2007-02-22 | O'brien Philip P | Image processing system |
US20070073767A1 (en) * | 2002-08-15 | 2007-03-29 | Microsoft Corporation | Media identifier registry |
US20070136778A1 (en) * | 2005-12-09 | 2007-06-14 | Ari Birger | Controller and control method for media retrieval, routing and playback |
US20080007651A1 (en) * | 2006-06-23 | 2008-01-10 | Broadcom Corporation, A California Corporation | Sub-frame metadata distribution server |
US20080195698A1 (en) * | 2007-02-09 | 2008-08-14 | Novarra, Inc. | Method and System for Transforming and Delivering Video File Content for Mobile Devices |
US20080215392A1 (en) * | 2006-12-27 | 2008-09-04 | Financial Management Systems, Inc. | Method to increase collection of debts owed to government |
US20080229404A1 (en) * | 2001-07-18 | 2008-09-18 | Art Technology Group, Inc | Automated methods and processes for establishing media streaming connections through firewalls and proxy servers and countermeasures thereto |
US20080301233A1 (en) * | 2006-02-17 | 2008-12-04 | Nhn Corporation | P2p file transmission system and method |
US7478164B1 (en) * | 2001-06-12 | 2009-01-13 | Netapp, Inc. | Methods and apparatus for pacing delivery of streaming media data |
US7516136B2 (en) * | 2005-05-17 | 2009-04-07 | Palm, Inc. | Transcoding media files in a host computing device for use in a portable computing device |
US20090103607A1 (en) * | 2004-06-07 | 2009-04-23 | Sling Media Pvt. Ltd. | Systems and methods for controlling the encoding of a media stream |
US20090157777A1 (en) * | 2007-12-13 | 2009-06-18 | Golwalkar Yogesh V | Dynamically adding partitions to be distributed directory setup with no downtime |
US7594218B1 (en) * | 2001-07-24 | 2009-09-22 | Adobe Systems Incorporated | System and method for providing audio in a media file |
US20090254672A1 (en) * | 2008-04-08 | 2009-10-08 | Microsoft Corporation | Dynamic server-side media transcoding |
US20090268740A1 (en) * | 1996-12-16 | 2009-10-29 | Juniper Networks, Inc. | Memory organization in a switching device |
US20100005483A1 (en) * | 2008-07-01 | 2010-01-07 | Sling Media Inc. | Systems and methods for securely place shifting media content |
US20100023642A1 (en) * | 2002-06-28 | 2010-01-28 | Dutch Branch Of Streamserve Development Ab | Method and system for transforming input data streams |
US7676590B2 (en) * | 2004-05-03 | 2010-03-09 | Microsoft Corporation | Background transcoding |
US7721300B2 (en) * | 2004-01-07 | 2010-05-18 | Ge Fanuc Automation North America, Inc. | Methods and systems for managing a network |
US20100169477A1 (en) * | 2008-12-31 | 2010-07-01 | Sap Ag | Systems and methods for dynamically provisioning cloud computing resources |
US20100226444A1 (en) * | 2009-03-09 | 2010-09-09 | Telephoto Technologies Inc. | System and method for facilitating video quality of live broadcast information over a shared packet based network |
US20100269144A1 (en) * | 2009-04-17 | 2010-10-21 | Tandberg Television, Inc. | Systems and methods for incorporating user generated content within a vod environment |
US20100281042A1 (en) * | 2007-02-09 | 2010-11-04 | Novarra, Inc. | Method and System for Transforming and Delivering Video File Content for Mobile Devices |
US20100309916A1 (en) * | 1998-08-04 | 2010-12-09 | Juniper Networks, Inc. | In-line packet processing |
US20110002381A1 (en) * | 2009-07-02 | 2011-01-06 | Dialogic Corporation | Bitrate control algorithm for video transcoding systems |
US7895275B1 (en) * | 2006-09-28 | 2011-02-22 | Qurio Holdings, Inc. | System and method providing quality based peer review and distribution of digital content |
US20110047079A1 (en) * | 2001-06-12 | 2011-02-24 | Du L Garren | Digital content publication |
US20110050908A1 (en) * | 2009-09-01 | 2011-03-03 | Cha Hee Nam | Method and apparatus for receiving signal |
US7921150B1 (en) * | 2009-10-23 | 2011-04-05 | Eastman Kodak Company | Method for viewing videos on distributed networks |
US20110307608A1 (en) * | 2009-07-14 | 2011-12-15 | Chang Joseph Y | Parallel Packet Processor with Session Active Checker |
US8082545B2 (en) * | 2005-09-09 | 2011-12-20 | Oracle America, Inc. | Task dispatch monitoring for dynamic adaptation to system conditions |
US8194681B2 (en) * | 2006-05-23 | 2012-06-05 | Core Wireless Licensing S. á.r. l. | Bridging between AD HOC local networks and internet-based peer-to-peer networks |
US20120166669A1 (en) * | 2000-09-12 | 2012-06-28 | Wag Acquisition, Llc | Streaming media delivery system |
Family Cites Families (62)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6628303B1 (en) | 1996-07-29 | 2003-09-30 | Avid Technology, Inc. | Graphical user interface for a motion video planning and editing system for a computer |
US6931451B1 (en) | 1996-10-03 | 2005-08-16 | Gotuit Media Corp. | Systems and methods for modifying broadcast programming |
US7055166B1 (en) | 1996-10-03 | 2006-05-30 | Gotuit Media Corp. | Apparatus and methods for broadcast monitoring |
US20060280437A1 (en) | 1999-01-27 | 2006-12-14 | Gotuit Media Corp | Methods and apparatus for vending and delivering the content of disk recordings |
US20040255330A1 (en) | 2000-03-28 | 2004-12-16 | Gotuit Audio, Inc. | CD and DVD players |
US7058376B2 (en) | 1999-01-27 | 2006-06-06 | Logan James D | Radio receiving, recording and playback system |
US7263671B2 (en) | 1998-09-09 | 2007-08-28 | Ricoh Company, Ltd. | Techniques for annotating multimedia information |
US20040255336A1 (en) | 1999-03-30 | 2004-12-16 | Gotuit Video, Inc. | Methods and apparatus for simultaneous program viewing |
CN100379273C (en) | 1999-09-20 | 2008-04-02 | 提维股份有限公司 | Closed caption tagging system |
US7155735B1 (en) | 1999-10-08 | 2006-12-26 | Vulcan Patents Llc | System and method for the broadcast dissemination of time-ordered data |
US6675205B2 (en) | 1999-10-14 | 2004-01-06 | Arcessa, Inc. | Peer-to-peer automated anonymous asynchronous file sharing |
KR20020007310A (en) | 1999-12-22 | 2002-01-26 | 요트.게.아. 롤페즈 | Remote delivery of multimedia content from consumer electronics devices |
US20060015925A1 (en) | 2000-03-28 | 2006-01-19 | Gotuit Media Corp | Sales presentation video on demand system |
US20040255334A1 (en) | 2000-03-28 | 2004-12-16 | Gotuit Audio, Inc. | Methods and apparatus for seamlessly changing volumes during playback using a compact disk changer |
JP2004506352A (en) | 2000-08-08 | 2004-02-26 | リプレイティブィ・インコーポレーテッド | Remote television playback control |
US7549160B1 (en) | 2000-12-21 | 2009-06-16 | Cisco Technology, Inc. | Method and system for authenticated access to internet protocol (IP) multicast traffic |
US20070300258A1 (en) | 2001-01-29 | 2007-12-27 | O'connor Daniel | Methods and systems for providing media assets over a network |
US7239800B2 (en) | 2001-05-02 | 2007-07-03 | David H. Sitrick | Portable player for personal video recorders |
US20050005308A1 (en) | 2002-01-29 | 2005-01-06 | Gotuit Video, Inc. | Methods and apparatus for recording and replaying sports broadcasts |
US6941575B2 (en) | 2001-06-26 | 2005-09-06 | Digeo, Inc. | Webcam-based interface for initiating two-way video communication and providing access to cached video |
US20050021398A1 (en) | 2001-11-21 | 2005-01-27 | Webhound Corporation | Method and system for downloading digital content over a network |
US20070113250A1 (en) | 2002-01-29 | 2007-05-17 | Logan James D | On demand fantasy sports systems and methods |
JP2004023732A (en) | 2002-06-20 | 2004-01-22 | Matsushita Electric Ind Co Ltd | Data transmitting device, data receiving device, data transmitting method and data receiving method |
WO2004010353A1 (en) | 2002-07-24 | 2004-01-29 | Koninklijke Philips Electronics N.V. | Method and device for regulating file sharing |
US8090798B2 (en) | 2002-08-12 | 2012-01-03 | Morganstein | System and methods for direct targeted media advertising over peer-to-peer networks |
US7885963B2 (en) | 2003-03-24 | 2011-02-08 | Microsoft Corporation | Free text and attribute searching of electronic program guide (EPG) data |
US7676737B2 (en) | 2003-04-10 | 2010-03-09 | Microsoft Corporation | Synchronization mechanism and the implementation for multimedia captioning and audio descriptions |
US20040216173A1 (en) | 2003-04-11 | 2004-10-28 | Peter Horoszowski | Video archiving and processing method and apparatus |
US7869699B2 (en) | 2003-09-08 | 2011-01-11 | Ati Technologies Ulc | Method of intelligently applying real-time effects to video content that is being recorded |
CN100399768C (en) | 2003-12-24 | 2008-07-02 | 华为技术有限公司 | Method and system for realizing network address translation traversal |
US20050155077A1 (en) | 2004-01-08 | 2005-07-14 | Mediamall Technologies | Media on-demand systems |
US7769756B2 (en) | 2004-06-07 | 2010-08-03 | Sling Media, Inc. | Selection and presentation of context-relevant supplemental content and advertising |
US9998802B2 (en) | 2004-06-07 | 2018-06-12 | Sling Media LLC | Systems and methods for creating variable length clips from a media stream |
US8346605B2 (en) | 2004-06-07 | 2013-01-01 | Sling Media, Inc. | Management of shared media content |
US7917932B2 (en) | 2005-06-07 | 2011-03-29 | Sling Media, Inc. | Personal video recorder functionality for placeshifting systems |
US7975062B2 (en) | 2004-06-07 | 2011-07-05 | Sling Media, Inc. | Capturing and sharing media content |
US7720432B1 (en) | 2004-06-16 | 2010-05-18 | Colby Steven M | Content customization in asymmetric communication systems |
US20050288999A1 (en) | 2004-06-28 | 2005-12-29 | Hightech Systems Ltd. | Content file downloading over a network with usage rights |
US7558862B1 (en) | 2004-12-09 | 2009-07-07 | LogMeln, Inc. | Method and apparatus for remotely controlling a computer with peer-to-peer command and data transfer |
US7721315B2 (en) | 2004-12-17 | 2010-05-18 | Vibe Solutions Group, Inc. | Method and system for on-demand delivery of personalized internet-based content to television viewers |
JP2006285607A (en) | 2005-03-31 | 2006-10-19 | Sony Corp | Content information providing system, content information providing server, content reproducing unit, content information providing method, content reproducing method, and computer program |
JP4421517B2 (en) | 2005-06-07 | 2010-02-24 | 株式会社東芝 | Information processing server, remote operation system, and remote operation method |
US7983254B2 (en) | 2005-07-20 | 2011-07-19 | Verizon Business Global Llc | Method and system for securing real-time media streams in support of interdomain traversal |
US7739599B2 (en) | 2005-09-23 | 2010-06-15 | Microsoft Corporation | Automatic capturing and editing of a video |
US20070183436A1 (en) | 2005-12-12 | 2007-08-09 | Hunter James M | System and method for web-based control of remotely located devices using ready on command architecture |
TWI301025B (en) | 2005-12-28 | 2008-09-11 | Ind Tech Res Inst | Method for transmitting real-time streaming data and apparatus using the same |
US20070157237A1 (en) | 2005-12-29 | 2007-07-05 | Charles Cordray | Systems and methods for episode tracking in an interactive media environment |
EP1987647B1 (en) | 2006-02-24 | 2010-11-03 | Telefonaktiebolaget LM Ericsson (publ) | Ims-enabled control channel for iptv |
US20080036917A1 (en) | 2006-04-07 | 2008-02-14 | Mark Pascarella | Methods and systems for generating and delivering navigatable composite videos |
US7661121B2 (en) | 2006-06-22 | 2010-02-09 | Tivo, Inc. | In-band data recognition and synchronization system |
DE602006004869D1 (en) | 2006-09-01 | 2009-03-05 | Alcatel Lucent | Procedure for creating an IPTV service |
CN101155293B (en) | 2006-09-25 | 2011-11-30 | 华为技术有限公司 | Method, system and device for network live television service channel authorization |
US7991271B2 (en) | 2007-02-14 | 2011-08-02 | Sony Corporation | Transfer of metadata using video frames |
KR100842284B1 (en) | 2006-12-08 | 2008-06-30 | 한국전자통신연구원 | System and method for providing IP service in next generation network |
KR100879148B1 (en) | 2007-11-20 | 2009-01-19 | 한국전자통신연구원 | IPTV service certification and service quality control method and system |
TW200948075A (en) | 2008-05-09 | 2009-11-16 | Avermedia Tech Inc | Method for providing audio/video stream signal and share system |
US7987266B2 (en) | 2008-07-29 | 2011-07-26 | International Business Machines Corporation | Failover in proxy server networks |
US20100070925A1 (en) | 2008-09-08 | 2010-03-18 | Sling Media Inc. | Systems and methods for selecting media content obtained from multple sources |
US20100100898A1 (en) | 2008-10-16 | 2010-04-22 | Lucent Technologies Inc. | Method and apparatus for personalized multi-user centralized control and filtering of iptv content |
US7975047B2 (en) | 2008-12-19 | 2011-07-05 | Oracle International Corporation | Reliable processing of HTTP requests |
US8171148B2 (en) | 2009-04-17 | 2012-05-01 | Sling Media, Inc. | Systems and methods for establishing connections between devices communicating over a network |
US20100333162A1 (en) | 2009-06-24 | 2010-12-30 | At&T Intellectual Property I, L.P. | System and Method to Provide an Extensible Storefront |
-
2009
- 2009-12-10 US US12/635,138 patent/US8621099B2/en active Active
Patent Citations (100)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5237648A (en) * | 1990-06-08 | 1993-08-17 | Apple Computer, Inc. | Apparatus and method for editing a video recording by selecting and displaying video clips |
US5293357A (en) * | 1990-09-10 | 1994-03-08 | The Superguide Corporation | Method and apparatus for controlling a television program recording device |
US6208805B1 (en) * | 1992-02-07 | 2001-03-27 | Max Abecassis | Inhibiting a control function from interfering with a playing of a video |
US5953485A (en) * | 1992-02-07 | 1999-09-14 | Abecassis; Max | Method and system for maintaining audio during video control |
US6091886A (en) * | 1992-02-07 | 2000-07-18 | Abecassis; Max | Video viewing responsive to content and time restrictions |
US5610653A (en) * | 1992-02-07 | 1997-03-11 | Abecassis; Max | Method and system for automatically tracking a zoomed video image |
US5684918A (en) * | 1992-02-07 | 1997-11-04 | Abecassis; Max | System for integrating video and communications |
US5696869A (en) * | 1992-02-07 | 1997-12-09 | Max Abecassis | Variable-content-video provider system |
US6553178B2 (en) * | 1992-02-07 | 2003-04-22 | Max Abecassis | Advertisement subsidized video-on-demand system |
US6151444A (en) * | 1992-02-07 | 2000-11-21 | Abecassis; Max | Motion picture including within a duplication of frames |
US5537530A (en) * | 1992-08-12 | 1996-07-16 | International Business Machines Corporation | Video editing by locating segment boundaries and reordering segment sequences |
US5434678A (en) * | 1993-01-11 | 1995-07-18 | Abecassis; Max | Seamless transmission of non-sequential video segments |
US5438423C1 (en) * | 1993-06-25 | 2002-08-27 | Grass Valley Us Inc | Time warping for video viewing |
US5438423A (en) * | 1993-06-25 | 1995-08-01 | Tektronix, Inc. | Time warping for video viewing |
US6421429B1 (en) * | 1993-12-29 | 2002-07-16 | At&T Corporation | Network-based system enabling image communications |
US5892536A (en) * | 1996-10-03 | 1999-04-06 | Personal Audio | Systems and methods for computer enhanced broadcast monitoring |
US20120219001A1 (en) * | 1996-12-16 | 2012-08-30 | Juniper Networks, Inc. | Separation of data and control in a switching device |
US20090268740A1 (en) * | 1996-12-16 | 2009-10-29 | Juniper Networks, Inc. | Memory organization in a switching device |
US6088455A (en) * | 1997-01-07 | 2000-07-11 | Logan; James D. | Methods and apparatus for selectively reproducing segments of broadcast programming |
US20020031333A1 (en) * | 1997-09-30 | 2002-03-14 | Yoshizumi Mano | On-the fly video editing device for capturing and storing images from a video stream during playback for subsequent editing and recording |
US20100309916A1 (en) * | 1998-08-04 | 2010-12-09 | Juniper Networks, Inc. | In-line packet processing |
US6529506B1 (en) * | 1998-10-08 | 2003-03-04 | Matsushita Electric Industrial Co., Ltd. | Data processing apparatus and data recording media |
US6408128B1 (en) * | 1998-11-12 | 2002-06-18 | Max Abecassis | Replaying with supplementary information a segment of a video |
US6597374B1 (en) * | 1998-11-12 | 2003-07-22 | Microsoft Corporation | Activity based remote control unit |
US20020151992A1 (en) * | 1999-02-01 | 2002-10-17 | Hoffberg Steven M. | Media recording device with packet data interface |
US6036601A (en) * | 1999-02-24 | 2000-03-14 | Adaboy, Inc. | Method for advertising over a computer network utilizing virtual environments of games |
US6795638B1 (en) * | 1999-09-30 | 2004-09-21 | New Jersey Devils, Llc | System and method for recording and preparing statistics concerning live performances |
US20040236844A1 (en) * | 1999-11-15 | 2004-11-25 | Lucent Technologies, Inc. | Method and apparatus for remote audiovisual signal recording |
US6609253B1 (en) * | 1999-12-30 | 2003-08-19 | Bellsouth Intellectual Property Corporation | Method and system for providing interactive media VCR control |
US6389467B1 (en) * | 2000-01-24 | 2002-05-14 | Friskit, Inc. | Streaming media search and continuous playback system of media resources located by multiple network addresses |
US6505169B1 (en) * | 2000-01-26 | 2003-01-07 | At&T Corp. | Method for adaptive ad insertion in streaming multimedia content |
US20020105529A1 (en) * | 2000-02-11 | 2002-08-08 | Jason Bowser | Generation and display of multi-image video streams |
US6597375B1 (en) * | 2000-03-10 | 2003-07-22 | Adobe Systems Incorporated | User interface for video editing |
US20020120925A1 (en) * | 2000-03-28 | 2002-08-29 | Logan James D. | Audio and video program recording, editing and playback systems using metadata |
US20030093790A1 (en) * | 2000-03-28 | 2003-05-15 | Logan James D. | Audio and video program recording, editing and playback systems using metadata |
US20020004839A1 (en) * | 2000-05-09 | 2002-01-10 | William Wine | Method of controlling the display of a browser during a transmission of a multimedia stream over an internet connection so as to create a synchronized convergence platform |
US20020138843A1 (en) * | 2000-05-19 | 2002-09-26 | Andrew Samaan | Video distribution method and system |
US6476826B1 (en) * | 2000-08-22 | 2002-11-05 | Vastvideo, Inc. | Integrated system and method for processing video |
US20120166669A1 (en) * | 2000-09-12 | 2012-06-28 | Wag Acquisition, Llc | Streaming media delivery system |
US20020042921A1 (en) * | 2000-10-11 | 2002-04-11 | United Video Properties, Inc. | Systems and methods for caching data in media-on-demand systems |
US20020143972A1 (en) * | 2001-01-12 | 2002-10-03 | Charilaos Christopoulos | Interactive access, manipulation,sharing and exchange of multimedia data |
US20030088686A1 (en) * | 2001-01-19 | 2003-05-08 | Jennings Charles A. | System and method for streaming media |
US7478164B1 (en) * | 2001-06-12 | 2009-01-13 | Netapp, Inc. | Methods and apparatus for pacing delivery of streaming media data |
US20110047079A1 (en) * | 2001-06-12 | 2011-02-24 | Du L Garren | Digital content publication |
US7945688B1 (en) * | 2001-06-12 | 2011-05-17 | Netapp, Inc. | Methods and apparatus for reducing streaming media data traffic bursts |
US20080229404A1 (en) * | 2001-07-18 | 2008-09-18 | Art Technology Group, Inc | Automated methods and processes for establishing media streaming connections through firewalls and proxy servers and countermeasures thereto |
US7594218B1 (en) * | 2001-07-24 | 2009-09-22 | Adobe Systems Incorporated | System and method for providing audio in a media file |
US20030078973A1 (en) * | 2001-09-25 | 2003-04-24 | Przekop Michael V. | Web-enabled system and method for on-demand distribution of transcript-synchronized video/audio records of legal proceedings to collaborative workgroups |
US7127507B1 (en) * | 2001-09-27 | 2006-10-24 | Sprint Communications Company L.P. | Method and apparatus for network-level monitoring of queue-based messaging systems |
US20030074660A1 (en) * | 2001-10-12 | 2003-04-17 | Liberate Technologies | System method and apparatus for portable digital identity |
US20030093260A1 (en) * | 2001-11-13 | 2003-05-15 | Koninklijke Philips Electronics N.V. | Apparatus and method for program selection utilizing exclusive and inclusive metadata searches |
US20070067390A1 (en) * | 2002-02-15 | 2007-03-22 | Agnoli Giovanni M | System, Method, and computer program product for media publishing request processing |
US7478166B2 (en) * | 2002-02-15 | 2009-01-13 | Sony Corporation | System, method, and computer program product for media publishing request processing |
US20060294183A1 (en) * | 2002-02-15 | 2006-12-28 | Agnoli Giovanni M | System, method, and computer program product for media publishing request processing |
US20030192054A1 (en) * | 2002-03-13 | 2003-10-09 | David Birks | Networked personal video recorder method and apparatus |
US20030187657A1 (en) * | 2002-03-26 | 2003-10-02 | Erhart George W. | Voice control of streaming audio |
US20030198243A1 (en) * | 2002-04-19 | 2003-10-23 | Norio Yamada | Packet routing apparatus |
US20030208612A1 (en) * | 2002-05-01 | 2003-11-06 | Stmicroelectronics, Inc. | Method for pre-caching content to enable true VOD systems from NVOD or stream limited VOD systems |
US20030231868A1 (en) * | 2002-05-31 | 2003-12-18 | Microsoft Corporation | System and method for identifying and segmenting repeating media objects embedded in a stream |
US20030234803A1 (en) * | 2002-06-19 | 2003-12-25 | Kentaro Toyama | System and method for automatically generating video cliplets from digital video |
US20040003406A1 (en) * | 2002-06-27 | 2004-01-01 | Digeo, Inc. | Method and apparatus to invoke a shopping ticker |
US20100023642A1 (en) * | 2002-06-28 | 2010-01-28 | Dutch Branch Of Streamserve Development Ab | Method and system for transforming input data streams |
US20070073767A1 (en) * | 2002-08-15 | 2007-03-29 | Microsoft Corporation | Media identifier registry |
US20040101271A1 (en) * | 2002-11-21 | 2004-05-27 | International Business Machines Corporation | Personal video recording with storage space distributed among remote personal video recorders |
US20040139047A1 (en) * | 2003-01-09 | 2004-07-15 | Kaleidescape | Bookmarks and watchpoints for selection and presentation of media streams |
US20040221029A1 (en) * | 2003-02-11 | 2004-11-04 | Catena Networks, Inc. | Method for selecting a resource to provide a requested service in a multicasting environment |
US20040162845A1 (en) * | 2003-02-18 | 2004-08-19 | Samsung Electronics Co., Ltd. | Media file management system and method for home media center |
US20040177151A1 (en) * | 2003-02-19 | 2004-09-09 | Maui X-Stream, Inc. | Methods, data structures, and systems for processing media data streams |
US20070043792A1 (en) * | 2003-07-16 | 2007-02-22 | O'brien Philip P | Image processing system |
US7721300B2 (en) * | 2004-01-07 | 2010-05-18 | Ge Fanuc Automation North America, Inc. | Methods and systems for managing a network |
US7676590B2 (en) * | 2004-05-03 | 2010-03-09 | Microsoft Corporation | Background transcoding |
US20090103607A1 (en) * | 2004-06-07 | 2009-04-23 | Sling Media Pvt. Ltd. | Systems and methods for controlling the encoding of a media stream |
US20060095401A1 (en) * | 2004-06-07 | 2006-05-04 | Jason Krikorian | Personal media broadcasting system with output buffer |
US20060095472A1 (en) * | 2004-06-07 | 2006-05-04 | Jason Krikorian | Fast-start streaming and buffering of streaming content for personal media player |
US20060171395A1 (en) * | 2005-01-31 | 2006-08-03 | Sharp Laboratories Of America, Inc. | Systems and methods for implementing a metadata station for an internet radio service |
US20060190616A1 (en) * | 2005-02-04 | 2006-08-24 | John Mayerhofer | System and method for aggregating, delivering and sharing audio content |
US20060206526A1 (en) * | 2005-03-10 | 2006-09-14 | Portalvideo, Inc. | Video editing method and apparatus |
US20060230345A1 (en) * | 2005-04-07 | 2006-10-12 | Shih-Hsiung Weng | Portable data storage device that converts data types and data type converting method |
US7516136B2 (en) * | 2005-05-17 | 2009-04-07 | Palm, Inc. | Transcoding media files in a host computing device for use in a portable computing device |
US20060280177A1 (en) * | 2005-06-13 | 2006-12-14 | Gupta Pawan K | Integration network for digital media solutions |
US8082545B2 (en) * | 2005-09-09 | 2011-12-20 | Oracle America, Inc. | Task dispatch monitoring for dynamic adaptation to system conditions |
US20070136778A1 (en) * | 2005-12-09 | 2007-06-14 | Ari Birger | Controller and control method for media retrieval, routing and playback |
US20080301233A1 (en) * | 2006-02-17 | 2008-12-04 | Nhn Corporation | P2p file transmission system and method |
US8194681B2 (en) * | 2006-05-23 | 2012-06-05 | Core Wireless Licensing S. á.r. l. | Bridging between AD HOC local networks and internet-based peer-to-peer networks |
US20080007651A1 (en) * | 2006-06-23 | 2008-01-10 | Broadcom Corporation, A California Corporation | Sub-frame metadata distribution server |
US7895275B1 (en) * | 2006-09-28 | 2011-02-22 | Qurio Holdings, Inc. | System and method providing quality based peer review and distribution of digital content |
US20110125861A1 (en) * | 2006-09-28 | 2011-05-26 | Qurio Holdings, Inc. | System and method providing peer review and distribution of digital content |
US20080215392A1 (en) * | 2006-12-27 | 2008-09-04 | Financial Management Systems, Inc. | Method to increase collection of debts owed to government |
US20100281042A1 (en) * | 2007-02-09 | 2010-11-04 | Novarra, Inc. | Method and System for Transforming and Delivering Video File Content for Mobile Devices |
US20080195698A1 (en) * | 2007-02-09 | 2008-08-14 | Novarra, Inc. | Method and System for Transforming and Delivering Video File Content for Mobile Devices |
US20090157777A1 (en) * | 2007-12-13 | 2009-06-18 | Golwalkar Yogesh V | Dynamically adding partitions to be distributed directory setup with no downtime |
US20090254672A1 (en) * | 2008-04-08 | 2009-10-08 | Microsoft Corporation | Dynamic server-side media transcoding |
US20100005483A1 (en) * | 2008-07-01 | 2010-01-07 | Sling Media Inc. | Systems and methods for securely place shifting media content |
US20100169477A1 (en) * | 2008-12-31 | 2010-07-01 | Sap Ag | Systems and methods for dynamically provisioning cloud computing resources |
US20100226444A1 (en) * | 2009-03-09 | 2010-09-09 | Telephoto Technologies Inc. | System and method for facilitating video quality of live broadcast information over a shared packet based network |
US20100269144A1 (en) * | 2009-04-17 | 2010-10-21 | Tandberg Television, Inc. | Systems and methods for incorporating user generated content within a vod environment |
US20110002381A1 (en) * | 2009-07-02 | 2011-01-06 | Dialogic Corporation | Bitrate control algorithm for video transcoding systems |
US20110307608A1 (en) * | 2009-07-14 | 2011-12-15 | Chang Joseph Y | Parallel Packet Processor with Session Active Checker |
US20110050908A1 (en) * | 2009-09-01 | 2011-03-03 | Cha Hee Nam | Method and apparatus for receiving signal |
US7921150B1 (en) * | 2009-10-23 | 2011-04-05 | Eastman Kodak Company | Method for viewing videos on distributed networks |
Cited By (113)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110179137A1 (en) * | 2010-01-15 | 2011-07-21 | Endurance International Group, Inc. | Migrating a web hosting service between a one box per client architecture and a grid computing architecture |
US20110179111A1 (en) * | 2010-01-15 | 2011-07-21 | Endurance International Group, Inc. | Migrating a web hosting service between a one box per client architecture and a cloud computing architecture |
US20110179103A1 (en) * | 2010-01-15 | 2011-07-21 | Endurance International Group, Inc. | Common service web hosting architecture with crm plus reporting |
US20110179165A1 (en) * | 2010-01-15 | 2011-07-21 | Endurance International Group, Inc. | Unaffiliated web domain hosting service product mapping |
US20110178840A1 (en) * | 2010-01-15 | 2011-07-21 | Endurance International Group, Inc. | Unaffiliated web domain hosting service client financial impact analysis |
US20110178831A1 (en) * | 2010-01-15 | 2011-07-21 | Endurance International Group, Inc. | Unaffiliated web domain hosting service client retention analysis |
US20110179147A1 (en) * | 2010-01-15 | 2011-07-21 | Endurance International Group, Inc. | Unaffiliated web domain hosting service based on service pools with flexible resource |
US20110178838A1 (en) * | 2010-01-15 | 2011-07-21 | Endurance International Group, Inc. | Unaffiliated web domain hosting service survival analysis |
US20110178869A1 (en) * | 2010-01-15 | 2011-07-21 | Endurance International Group, Inc. | Common services web hosting architecture with multiple branding and oss consistency |
US20110179175A1 (en) * | 2010-01-15 | 2011-07-21 | Endurance International Group, Inc. | Migrating a web hosting service from one architecture to another, where at least one is a common service architecture |
US20110178870A1 (en) * | 2010-01-15 | 2011-07-21 | Endurance International Group, Inc. | Unaffiliated web domain common hosting service with service representative plug-in |
US20110179135A1 (en) * | 2010-01-15 | 2011-07-21 | Endurance International Group, Inc. | Unaffiliated web domain hosting service based on a common service architecture |
US20110179154A1 (en) * | 2010-01-15 | 2011-07-21 | Endurance International Group, Inc. | Web hosting service based on a common service architecture and third party services |
US20110179176A1 (en) * | 2010-01-15 | 2011-07-21 | Endurance International Group, Inc. | Migrating a web hosting service between a one box per client architecture and a multiple box per client architecture |
US20110178890A1 (en) * | 2010-01-15 | 2011-07-21 | Endurance International Group, Inc. | Common services web hosting architecture with multiple branding |
US8935314B2 (en) | 2010-01-15 | 2015-01-13 | Endurance International Group, Inc. | Common service web hosting architecture with CRM plus reporting |
US9197517B2 (en) | 2010-01-15 | 2015-11-24 | Endurance International Group, Inc. | Migrating a web hosting service via a virtual network from one architecture to another |
US9277022B2 (en) | 2010-01-15 | 2016-03-01 | Endurance International Group, Inc. | Guided workflows for establishing a web presence |
US20110179145A1 (en) * | 2010-01-15 | 2011-07-21 | Endurance International Group, Inc. | Unaffiliated web domain hosting service based on shared data structure |
US9071553B2 (en) | 2010-01-15 | 2015-06-30 | Endurance International Group, Inc. | Migrating a web hosting service between a dedicated environment for each client and a shared environment for multiple clients |
US8595338B2 (en) | 2010-01-15 | 2013-11-26 | Endurance International Group, Inc | Migrating a web hosting service via a virtual network from one architecture to another |
US9071552B2 (en) | 2010-01-15 | 2015-06-30 | Endurance International Group, Inc. | Migrating a web hosting service between a one box per client architecture and a cloud computing architecture |
US10536544B2 (en) | 2010-01-15 | 2020-01-14 | Endurance International Group, Inc. | Guided workflows for establishing a web presence |
US8762484B2 (en) * | 2010-01-15 | 2014-06-24 | Endurance International Group, Inc. | Unaffiliated web domain hosting service based on a common service architecture |
US8762463B2 (en) * | 2010-01-15 | 2014-06-24 | Endurance International Group, Inc. | Common services web hosting architecture with multiple branding and OSS consistency |
US9883008B2 (en) | 2010-01-15 | 2018-01-30 | Endurance International Group, Inc. | Virtualization of multiple distinct website hosting architectures |
US8819207B2 (en) | 2010-01-15 | 2014-08-26 | Endurance International Group, Inc. | Unaffiliated web domain hosting service based on common service pools architecture |
US8819121B2 (en) * | 2010-01-15 | 2014-08-26 | Endurance International Group, Inc. | Unaffiliated web domain hosting service based on service pools with flexible resource |
US8819122B2 (en) | 2010-01-15 | 2014-08-26 | Endurance International Group, Inc. | Unaffiliated web domain common hosting service with service representative plug-in |
US8825746B2 (en) * | 2010-01-15 | 2014-09-02 | Endurance International Group, Inc. | Unaffiliated web domain hosting service based on shared data structure |
US8843571B2 (en) | 2010-01-15 | 2014-09-23 | Endurance International Group, Inc. | Web hosting service based on a common service architecture and third party services |
US8949410B2 (en) * | 2010-09-10 | 2015-02-03 | Cisco Technology, Inc. | Server load balancer scaling for virtual servers |
US20120066371A1 (en) * | 2010-09-10 | 2012-03-15 | Cisco Technology, Inc. | Server Load Balancer Scaling for Virtual Servers |
CN102740014A (en) * | 2011-04-07 | 2012-10-17 | 青岛海信电器股份有限公司 | Voice controlled television, television system and method for controlling television through voice |
US20160110373A1 (en) * | 2011-08-26 | 2016-04-21 | Cfe Media Llc | System and method for content syndication service |
US20130054688A1 (en) * | 2011-08-26 | 2013-02-28 | Steven Michael Rourke | System and method for content syndication service |
US9208158B2 (en) * | 2011-08-26 | 2015-12-08 | Cfe Media Llc | System and method for content syndication service |
US9154549B2 (en) | 2011-10-27 | 2015-10-06 | Cisco Technology, Inc. | Dynamic server farms |
US11838385B2 (en) | 2011-12-14 | 2023-12-05 | Level 3 Communications, Llc | Control in a content delivery network |
US12284260B2 (en) | 2011-12-14 | 2025-04-22 | Sandpiper Cdn, Llc | Control in a content delivery network |
US11218566B2 (en) | 2011-12-14 | 2022-01-04 | Level 3 Communications, Llc | Control in a content delivery network |
US20140372588A1 (en) | 2011-12-14 | 2014-12-18 | Level 3 Communications, Llc | Request-Response Processing in a Content Delivery Network |
US9451045B2 (en) | 2011-12-14 | 2016-09-20 | Level 3 Communications, Llc | Content delivery network |
US9456053B2 (en) | 2011-12-14 | 2016-09-27 | Level 3 Communications, Llc | Content delivery network |
US9516136B2 (en) | 2011-12-14 | 2016-12-06 | Level 3 Communications, Llc | Customer-specific request-response processing in a content delivery network |
US10187491B2 (en) | 2011-12-14 | 2019-01-22 | Level 3 Communications, Llc | Request-response processing an a content delivery network |
US10841398B2 (en) | 2011-12-14 | 2020-11-17 | Level 3 Communications, Llc | Control in a content delivery network |
US10089373B1 (en) | 2012-01-13 | 2018-10-02 | Amazon Technologies, Inc. | Wide-scale replication of similarly structured data |
WO2013143050A1 (en) * | 2012-03-26 | 2013-10-03 | 华为技术有限公司 | Service processing method, execution unit and system for distributed operating system |
US9736034B2 (en) * | 2012-09-19 | 2017-08-15 | Oracle International Corporation | System and method for small batching processing of usage requests |
US20140082170A1 (en) * | 2012-09-19 | 2014-03-20 | Oracle International Corporation | System and method for small batching processing of usage requests |
US20140221087A1 (en) * | 2012-11-28 | 2014-08-07 | Nvidia Corporation | Handheld gaming console |
US9787551B2 (en) | 2012-12-13 | 2017-10-10 | Level 3 Communications, Llc | Responsibility-based request processing |
US10142191B2 (en) | 2012-12-13 | 2018-11-27 | Level 3 Communications, Llc | Content delivery framework with autonomous CDN partitioned into multiple virtual CDNs |
US9634907B2 (en) | 2012-12-13 | 2017-04-25 | Level 3 Communications, Llc | Devices and methods supporting content delivery with adaptation services with feedback |
US9634918B2 (en) | 2012-12-13 | 2017-04-25 | Level 3 Communications, Llc | Invalidation sequencing in a content delivery framework |
US9641402B2 (en) | 2012-12-13 | 2017-05-02 | Level 3 Communications, Llc | Configuring a content delivery network (CDN) |
US9641401B2 (en) | 2012-12-13 | 2017-05-02 | Level 3 Communications, Llc | Framework supporting content delivery with content delivery services |
US9647901B2 (en) | 2012-12-13 | 2017-05-09 | Level 3 Communications, Llc | Configuring a content delivery network (CDN) |
US9647900B2 (en) | 2012-12-13 | 2017-05-09 | Level 3 Communications, Llc | Devices and methods supporting content delivery with delivery services |
US9647899B2 (en) * | 2012-12-13 | 2017-05-09 | Level 3 Communications, Llc | Framework supporting content delivery with content delivery services |
US9654355B2 (en) | 2012-12-13 | 2017-05-16 | Level 3 Communications, Llc | Framework supporting content delivery with adaptation services |
US9654354B2 (en) | 2012-12-13 | 2017-05-16 | Level 3 Communications, Llc | Framework supporting content delivery with delivery services network |
US9654353B2 (en) | 2012-12-13 | 2017-05-16 | Level 3 Communications, Llc | Framework supporting content delivery with rendezvous services network |
US9654356B2 (en) | 2012-12-13 | 2017-05-16 | Level 3 Communications, Llc | Devices and methods supporting content delivery with adaptation services |
US9661046B2 (en) | 2012-12-13 | 2017-05-23 | Level 3 Communications, Llc | Devices and methods supporting content delivery with adaptation services |
US9660876B2 (en) | 2012-12-13 | 2017-05-23 | Level 3 Communications, Llc | Collector mechanisms in a content delivery network |
US9660874B2 (en) | 2012-12-13 | 2017-05-23 | Level 3 Communications, Llc | Devices and methods supporting content delivery with delivery services having dynamically configurable log information |
US9660875B2 (en) | 2012-12-13 | 2017-05-23 | Level 3 Communications, Llc | Devices and methods supporting content delivery with rendezvous services having dynamically configurable log information |
US9667506B2 (en) | 2012-12-13 | 2017-05-30 | Level 3 Communications, Llc | Multi-level peering in a content delivery framework |
US9686148B2 (en) | 2012-12-13 | 2017-06-20 | Level 3 Communications, Llc | Responsibility-based cache peering |
US9705754B2 (en) | 2012-12-13 | 2017-07-11 | Level 3 Communications, Llc | Devices and methods supporting content delivery with rendezvous services |
US9722882B2 (en) | 2012-12-13 | 2017-08-01 | Level 3 Communications, Llc | Devices and methods supporting content delivery with adaptation services with provisioning |
US9722884B2 (en) | 2012-12-13 | 2017-08-01 | Level 3 Communications, Llc | Event stream collector systems, methods, and devices |
US9722883B2 (en) | 2012-12-13 | 2017-08-01 | Level 3 Communications, Llc | Responsibility-based peering |
US9634904B2 (en) | 2012-12-13 | 2017-04-25 | Level 3 Communications, Llc | Framework supporting content delivery with hybrid content delivery services |
US9749192B2 (en) | 2012-12-13 | 2017-08-29 | Level 3 Communications, Llc | Dynamic topology transitions in a content delivery framework |
US9749191B2 (en) | 2012-12-13 | 2017-08-29 | Level 3 Communications, Llc | Layered request processing with redirection and delegation in a content delivery network (CDN) |
US9749190B2 (en) | 2012-12-13 | 2017-08-29 | Level 3 Communications, Llc | Maintaining invalidation information |
US9755914B2 (en) | 2012-12-13 | 2017-09-05 | Level 3 Communications, Llc | Request processing in a content delivery network |
US9628345B2 (en) | 2012-12-13 | 2017-04-18 | Level 3 Communications, Llc | Framework supporting content delivery with collector services network |
US9887885B2 (en) | 2012-12-13 | 2018-02-06 | Level 3 Communications, Llc | Dynamic fill target selection in a content delivery framework |
US9634905B2 (en) | 2012-12-13 | 2017-04-25 | Level 3 Communications, Llc | Invalidation systems, methods, and devices |
US9847917B2 (en) | 2012-12-13 | 2017-12-19 | Level 3 Communications, Llc | Devices and methods supporting content delivery with adaptation services with feedback |
US9819554B2 (en) | 2012-12-13 | 2017-11-14 | Level 3 Communications, Llc | Invalidation in a content delivery framework |
US9628342B2 (en) | 2012-12-13 | 2017-04-18 | Level 3 Communications, Llc | Content delivery framework |
US10135697B2 (en) | 2012-12-13 | 2018-11-20 | Level 3 Communications, Llc | Multi-level peering in a content delivery framework |
US9628343B2 (en) | 2012-12-13 | 2017-04-18 | Level 3 Communications, Llc | Content delivery framework with dynamic service network topologies |
US9628347B2 (en) | 2012-12-13 | 2017-04-18 | Level 3 Communications, Llc | Layered request processing in a content delivery network (CDN) |
US9628344B2 (en) | 2012-12-13 | 2017-04-18 | Level 3 Communications, Llc | Framework supporting content delivery with reducer services network |
US9628346B2 (en) | 2012-12-13 | 2017-04-18 | Level 3 Communications, Llc | Devices and methods supporting content delivery with reducer services |
US10608894B2 (en) | 2012-12-13 | 2020-03-31 | Level 3 Communications, Llc | Systems, methods, and devices for gradual invalidation of resources |
US10652087B2 (en) | 2012-12-13 | 2020-05-12 | Level 3 Communications, Llc | Content delivery framework having fill services |
US10701148B2 (en) | 2012-12-13 | 2020-06-30 | Level 3 Communications, Llc | Content delivery framework having storage services |
US10700945B2 (en) | 2012-12-13 | 2020-06-30 | Level 3 Communications, Llc | Role-specific sub-networks in a content delivery framework |
US10701149B2 (en) | 2012-12-13 | 2020-06-30 | Level 3 Communications, Llc | Content delivery framework having origin services |
US10708145B2 (en) | 2012-12-13 | 2020-07-07 | Level 3 Communications, Llc | Devices and methods supporting content delivery with adaptation services with feedback from health service |
US10742521B2 (en) | 2012-12-13 | 2020-08-11 | Level 3 Communications, Llc | Configuration and control in content delivery framework |
US10791050B2 (en) | 2012-12-13 | 2020-09-29 | Level 3 Communications, Llc | Geographic location determination in a content delivery framework |
US10826793B2 (en) | 2012-12-13 | 2020-11-03 | Level 3 Communications, Llc | Verification and auditing in a content delivery framework |
US10841177B2 (en) | 2012-12-13 | 2020-11-17 | Level 3 Communications, Llc | Content delivery framework having autonomous CDN partitioned into multiple virtual CDNs to implement CDN interconnection, delegation, and federation |
US9634906B2 (en) | 2012-12-13 | 2017-04-25 | Level 3 Communications, Llc | Devices and methods supporting content delivery with adaptation services with feedback |
US11368548B2 (en) | 2012-12-13 | 2022-06-21 | Level 3 Communications, Llc | Beacon services in a content delivery framework |
US10862769B2 (en) | 2012-12-13 | 2020-12-08 | Level 3 Communications, Llc | Collector mechanisms in a content delivery network |
US10931541B2 (en) | 2012-12-13 | 2021-02-23 | Level 3 Communications, Llc | Devices and methods supporting content delivery with dynamically configurable log information |
US10992547B2 (en) | 2012-12-13 | 2021-04-27 | Level 3 Communications, Llc | Rendezvous systems, methods, and devices |
US11121936B2 (en) | 2012-12-13 | 2021-09-14 | Level 3 Communications, Llc | Rendezvous optimization in a content delivery framework |
US20140172952A1 (en) * | 2012-12-13 | 2014-06-19 | Level 3 Communications, Llc | Framework Supporting Content Delivery With Content Delivery Services |
CN104572276A (en) * | 2014-12-17 | 2015-04-29 | 北京可思云海科技有限公司 | Cloud-computation-based concurrent data processing method |
US10599609B1 (en) * | 2015-03-31 | 2020-03-24 | EMC IP Holding Company LLC | Method and system for elastic, distributed transcoding |
US10863211B1 (en) * | 2018-11-12 | 2020-12-08 | Amazon Technologies, Inc. | Manifest data for server-side media fragment insertion |
US11128739B2 (en) * | 2018-12-24 | 2021-09-21 | Verizon Patent And Licensing Inc. | Network-edge-deployed transcoding methods and systems for just-in-time transcoding of media data |
CN113965628A (en) * | 2020-12-03 | 2022-01-21 | 广州三叠纪元智能科技有限公司 | Message scheduling method, server and storage medium |
Also Published As
Publication number | Publication date |
---|---|
US8621099B2 (en) | 2013-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8621099B2 (en) | Systems and methods for formatting media content for distribution | |
US11343351B2 (en) | Content distribution network supporting popularity-based caching | |
US10999340B2 (en) | Cloud-based video delivery | |
US9288250B2 (en) | Mobile multimedia real-time transcoding system, apparatus, storage medium and method | |
US20140165119A1 (en) | Offline download method, multimedia file download method and system thereof | |
US9276984B2 (en) | Distributed on-demand media transcoding system and method | |
US7355531B2 (en) | Distributed on-demand media transcoding system and method | |
US8589368B1 (en) | Media players and download manager functionality | |
US20070162487A1 (en) | Multi-format data coding, managing and distributing system and method | |
US8656443B2 (en) | Method and system for providing dynamic time slice encoding for complete internet anywhere | |
EP2779576A1 (en) | Methods and systems for dynamic data management | |
US8479242B1 (en) | Video storage and distribution | |
US11716369B2 (en) | System and method of web streaming media content | |
US20080115177A1 (en) | Method and system for providing a file | |
Van Ma et al. | An efficient scheduling multimedia transcoding method for DASH streaming in cloud environment | |
CN112953944A (en) | Audio-video transcoding method based on MapReduce | |
CN119520932A (en) | Video processing method, device, equipment, storage medium and program product for progressive download | |
WO2010140152A2 (en) | A device and method for increasing downloading throughput | |
NZ623572B2 (en) | Mobile multimedia real-time transcoding system, device, storage medium and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
AS | Assignment |
Owner name: SLING MEDIA L.L.C., CALIFORNIA Free format text: CHANGE OF NAME;ASSIGNOR:SLING MEDIA, INC.;REEL/FRAME:041854/0291 Effective date: 20170227 |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |
|
AS | Assignment |
Owner name: SLING MEDIA, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:CURTIS, SEAN;REEL/FRAME:069130/0735 Effective date: 20091202 |