EP1761865A2 - Procede et systeme de controle de diffusion en flux dans un serveur sur demande - Google Patents
Procede et systeme de controle de diffusion en flux dans un serveur sur demandeInfo
- Publication number
- EP1761865A2 EP1761865A2 EP05757221A EP05757221A EP1761865A2 EP 1761865 A2 EP1761865 A2 EP 1761865A2 EP 05757221 A EP05757221 A EP 05757221A EP 05757221 A EP05757221 A EP 05757221A EP 1761865 A2 EP1761865 A2 EP 1761865A2
- Authority
- EP
- European Patent Office
- Prior art keywords
- content
- demand
- ingest
- processor
- server
- 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.)
- Withdrawn
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/16—Analogue secrecy systems; Analogue subscription systems
- H04N7/173—Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
- H04N7/17309—Transmission or handling of upstream communications
- H04N7/17336—Handling of requests in head-ends
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/612—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/222—Secondary servers, e.g. proxy server, cable television Head-end
- H04N21/2225—Local VOD servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
- H04N21/23103—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion using load balancing strategies, e.g. by placing or distributing content on different disks, different memories or different servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2402—Monitoring of the downstream path of the transmission network, e.g. bandwidth available
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2405—Monitoring of the internal components or processes of the server, e.g. server load
Definitions
- the present invention relates to method and system for managing and controlling streaming in an on-demand server. More particularly, the present invention provides a centralized tool for asset management, content propagation, configuration and status monitoring, and real-time stream control so as to service simultaneously a large number of streams of audio, video and or other data formats being played out to customers on a network.
- ODSO on-demand service operator
- VOD video on demand
- TOD television on demand
- SVOD subscription video on demand
- the on-demand service operator has to integrate a on-demand server into the operational framework of the network or ODSO distribution system.
- the main areas of functionality required to deliver the service in the ODSO network or distribution system are: on- demand server provisioning, content ingest management, session setup/stream management, and on-demand service assurance.
- BMS Business Management Systems
- a open BMS accorded the ISA standard from the Pegasus Time Warner Communications is an integrated BMS platform to provide the service level frame work for i to' considering, isi ⁇ e TM ry "ice ⁇ • s i stigmaf I lfik ae m ir tediousMii HOD . ⁇ note - Pi PV,-.i,ft h li , ⁇ sther standards such as J2EE of Telenet, RTSP by ⁇ nCube, a combination RTSP plus LSCP of UPC, and RTSP plus XML by NGOD.
- the present invention's management and control of the massive streaming density advantageously uses a graphical user interface to provide point-and-click access key functions including: Server Configuration; Asset Management; Content Ingest; Content Propagation; Real- Time Streaming Status and Monitoring; Alarm Management and Problem Resolution; Meaningful Service Statistics; and Customized Reporting.
- the invention described in the instant application overcomes these limitations and more by providing for a method and system, which permits dynamic manage content in the memory based on-demand server to maximize the streaming to the user interface.
- the intention can be implemented by one or more software modules to effectuate a client-server file.
- Some embodiments of the invention also facilitate better .s ⁇ ⁇ g 5 ,tqr
- Such advantages are achieved using the flexibility of an open protocol platform for the BMS while taking advantage of the dynamic ability of a memory-based on- demand server.
- devices connected in an on-demand system can be advantageously be used for reporting, messaging, and other streaming control functions without utilizing bandwidth when carrying out such control functions.
- the management and control of streaming is accomplished in a way to conserve bandwidth resources and that devices are able to change their bandwidth requirements dynamically without significantly affecting streaming to users.
- a method and system for dynamic managing of content in a memory-based on-demand server to maximize the streaming to the user interface, maximizing concurrent streams, generating reports, dynamic balancing of on-demand server platforms to balance the content in memory across multiple, memory-based on-demand servers so as to maximize concurrency, memory usage, modeling, reporting and television on demand.
- the method and system may include ingesting, managing and streaming a content object file.
- the method and system is configured to schedule ingest, utilize RAM memory efficiently, a ⁇ ⁇ ⁇ b
- the method and system is configured to maintain concurrency of streams of the content object file; and dynamically control and optimize memory utilization while minimizing access to disk storage by monitoring CAM usage so as to remove the content from resident CAM memory and page the same adaptively and to eliminate creating separate files for trick playback of content streamed to a customer.
- a system for controlling streaming of content from the memory-based, on-demand server consists of a processor; memory coupled to the processor, where the processor ingests content over a protocol bus; the processor repeatedly (a) establishes a content session for obtaining content by interfacing with a business management system (BMS); (b) ingests content as an object by interfacing with an Asset Management System (AMS) and/or a catcher; and/or (c) ingests movies-on-demand (MOD) applications APPS; and the processor controls the streaming of the content stored in memory of the memory-based on- demand server to a customer
- BMS business management system
- AMS Asset Management System
- MOD Movie-on-demand
- FIG. 1 is a schematic diagram of memory-based on-demand server system in the operational distribution framework of an on demand service operator;
- FIG. 2 is a diagram illustrating to method and system for managing and controlling streaming in an on-demand server distribution system;
- FIG. 3 is a schematic diagram illustrating controlling streaming with a memory based on-demand server in a cable network distribution system implementation configuration according to an exemplary embodiment of the present invention
- FIG. 4 is a block diagram illustrating a fiber network distribution system configuration according to an exemplary embodiment of the present invention
- FIG. 5 is a schematic diagram illustrating a managed services operator (MSO) metropolitan network distribution system according to an exemplary embodiment of the present invention
- FIG. 6 is a diagram illustrating the ingest sequence of controlling streaming with a memory based on-demand server; [O 23J. u FI. ⁇ 3. !l . ⁇ t i ,. a tl blp , ; , j,a ! p£am illustrating the ingest sequence of controlling streaming with a memory based on-demand server;
- FIG. 8 is a block diagram illustrating a stream sync and a stream sync refresh of the controlling streaming server with a memory based on-demand server;
- FIG. 9 is a schematic diagram illustrating a VOD stream synchronization and ingest with a memory based on-demand server;
- FIG. 10 is a schematic diagram illustrating a push of content in a live stream configuration with a memory based on-demand server
- FIG. 11 is a schematic diagram illustrating a push of content in a live stream configuration with a memory based on-demand server
- FIG. 12 is a schematic diagram illustrating an FTP pull and an FTP push of content in a memory based on-demand server
- FIG. 13 is a schematic diagram illustrating a basic clustering of one or more memory based on-demand server
- FIG. 14 is a schematic diagram is a diagram illustrating a basic ingest into a cluster of one or more memory based on-demand server
- FIG. 15 is a schematic diagram is a diagram illustrating a basic ingest into a cluster of one or more memory based on-demand server.
- DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT [0032]
- the system and method for managing and controlling the streaming from an on- demand server of the present invention is configured to utilize, for example, a solid state, memory based, on-demand server manufactured by Broadbus Technologies, Inc.
- the streaming controller of the present invention operates on a server for controlling the memory based, on-demand server, which can be one or more on-demand servers that store content files on an external RAID 5 storage array, consisting of hardware components and integrated software capable of ingesting and streaming content.
- the streaming controller has many functional units that may be implemented in hardware wired circuitry, by programming a general purpose processor, or by any combination of hardware and software as is illustrated in the drawings and detailed description that show that each of the functional units can correspond to a sequence of instructions stored in memory.
- the BMS is a network-based application that manages interactive digital product offerings within the Interactive Services Architecture (ISA) headend.
- ISA Interactive Services Architecture
- the ISA is a Time Warner Pegasus specification that defines a common interface and framework for adding digital video services.
- asset is a content file with supporting metadata that can be ingested into the on-demand server and streamed to a destination STB.
- Content files typically are digital files containing audio and video encodings as defined by the Moving Pictures Experts Group (MPEG).
- MPEG Moving Pictures Experts Group
- the design of stream control process application is fully compatible with ISA specification and is independent of the BMS integration.
- MCS network resource allocation and management & control system
- the BMCS When integrated with an ISA-based cable network, the BMCS is configured to work with other third party devices or entities within the network to identify, reserve, and release the resources needed to deliver content to downstream Set Top Boxes (STBs), DSL and or cable modems.
- STBs Set Top Boxes
- DSL DataSL
- cable modems A STB is also known as a Digital is a computing device capable of receiving and decoding content streams, that typically runs the client-side movie on demand (MOD) application.
- a memory based on-demand system is shown generally as element 20.
- the memory advantageously can be random access memory (RAM) readily available in 1 Gigabyte or greater chipsets.
- the memory based on-demand system 20 is configured to distribute content 22 to end users such as, for example, in a network distribution system.
- a head end 24 of the system 20 obtains content from near- or long-term storage (NTS or LTS) in response to requests sent across the network distribution system by the end user or customer.
- NTS near- or long-term storage
- the head end 24 is generally configured with storage 26, such as disk storage from either NTS or LTS that contains the content to be streamed.
- a content addressable memory (CAM) based on- demand server 28 such as a B-1 on-demand server or SBB-1 manufactured by Broadbus Technologies, Inc., a wide bus 30 and a switch 32.
- content 22 can generally refer to data, audio, visual or audio-visual works such as, for example, a movie file in an MPEG format that is played out to a customer's TV set. It will be appreciated, of course, that the context 22 and examples chosen by the applicant to illustrate the present invention, namely, pulling and playing a movie file to a customer's TV set were chosen for ease of illustrating the principals of the method and system of managing the resources of a RAM based on-demand server according to an exemplary embodiment the present invention.
- Content 22 also can be obtained and streamed out to a customer in other applications and formats.
- the content 22 can be another form of data and in another format, specifically, an audio MP3 file.
- data comes in numerous other formats that are streamed to a customer on-demand where it is still advantageous to manage server resources when the server is providing streaming to many, multiple end play the requested content 22.
- managing information dynamically using a volatile memory based on-demand server across a world-wide network has other applications such as, for example, managing instant messaging, e-mail, streaming video conferencing, audio communications and the like.
- a head end 24 connects to an on-demand distribution system 20 to distribute content 22 wirelessly 34 or physically on a land line 36, or both.
- wireless distribution 34 involves connecting the head end 24 to a satellite distribution network 38.
- distribution by land line 36 connects the head end 24 to a high-speed fiber optical network 40 that can be configured, for example, to have high speed fiber optic lines 42, connected to hubs 44, with such hubs 44 connected to nodes 46, and the nodes connected to individual end-users 48, e.g. a particular home or residence. Distribution of content 22 to a particular customer on-demand on a network, for example, network 40.
- an on-demand system 20 of the present invention includes a resource manager 70 having a Stream Controller 72 to provide content 22 by finding and streaming such content 22 to a customer on-demand.
- the stream controller 72 can be implemented by software, firmware or other so as to connect to one or more VOD or other on-demand servers 74, a business management system (BMS) 76, a graphical user interface (GUI) 78, and a data warehouse 80.
- the stream commander 72 connects to the on-demand server 74 via a gSOAP interface 82 or HTTP interface 84.
- T ⁇ e gSQAP,, interface 32 1 ,adystromously is open to management by other third parties.
- the real time streaming protocol (RTSP) or HTTP interface 84 has advantages as an Internet standard protocol.
- the BMS 76 advantageously connects to stream commander 76 utilizing various adaptors or protocols from different on-demand network operators (ODNO), whereby ODNO open standards include CORBA or ISA standard 86 published Time Warner and published by N2Broadband, or J2EE 88 published by Telenet, RTSP 90 published by nCUBE, combination protocol RTSP and LSCP 92 published by UPC, and combination protocol RTSP and XML 94 published by NGOD.
- the BMS 76 is connected to an Asset Management System 92 and Billing System 94 via a standard bus interface 96.
- the BMS 76 connects to the on-demand server 74 through a file system 100 to effectuate transferring content files by file transfer protocol 98.
- the GUI 78 connects to streaming controller 72 via a standard HTTP interface 84.
- the data warehouse 80 connects to stream commander 72 via a JDBC interface 102.
- content 22 Once content 22 has been loaded to the on-demand server 74, it can be streamed under the control of the streaming controller 72 via an interface 104 along a network path 106 to a customer's set top box 108 and displayed on the consumer's television 110.
- the streaming controller 72 has several internal processes functioning to configure the system 112 (both the on-demand server 74 and the resource allocator 120), an ORB 114 connection for CORBA, processing error messages and system alarms 116, a network management system (NMS) 118 (typically operating SNMP standard), and the resource allocator 120 configures both adaptive system interfaces ASI and GigE ports.
- the stream controller's 72 major functions are to (1) configure 112 the on-demand server 74 and provide stream data to the resource allocator 120; (2) to ingest content 22; (3) to stream the content from the on-demand server 74; and (4) monitor system alarms, error messages and SNMP messages.
- Ler im 72 is configured to control dynamically streaming functions such as, for example, loading content 22 entirely into memory 64, loading portions or segments of content 22 into memory 66, managing near-term-storage (NTS) bandwidth 68 limits and or limitations, and managing of playback functions 70 such as trick play modes and analyzing the speed of playing out the trick play in the stream to customers on-demand.
- NTS near-term-storage
- playback functions 70 such as trick play modes and analyzing the speed of playing out the trick play in the stream to customers on-demand.
- content 22 demanded by an end user can be either pulled entirely into the memory or pulled into memory in segments from disk storage 26.
- Information about streams must be maintained for several reasons including recovery information from Resource Allocation status so as to recover, for example, after a failure of the Stream Controller 62. Another reason to maintain information about the streams is more historical so as to maintain information about subscriber behavior like number of trick commands and their type, pause duration, etc.
- the Stream Controller 72 records information about active and suspended streams, whereby active streams are streamed from on-demand server 28 and suspended streams are streams for which the session was destroyed but the media file was not streamed up to the end by the Stream Controller 62 such as, for example, when the user resumes watching a paused program content 22 the Stream Controller 72 can provide index information to resume the playback.
- the Stream Controller 72 operates to receive packages containing assets and MPEG content files sent from a media provider or other asset owner to the cable or satellite network.
- the cable or satellite network uses a catcher 122 to receive the packages and assets, which the catcher forwards to the asset manager application.
- the catcher 122 is an application that managers the transfer of packages from the pitcher and then transmits the assets to the on-demand server system.
- the asset manager application records the association and signals the FTP transfer of the content 22 from the catcher to the on-demand server 28.
- the Stream Controller 72 maintains the association between the contents 22 and the on-demand server 28 that store them on its NTS 26.
- the main functionality of the Stream Controller 72 is to: • Implement the Content 22 as an object as per ISA standard and insure persistence. • Maintain information about all of the Content 22 files installed on the on-demand server 28. • Provide functionality to remove Content 22 files. • Create and maintain a unique handle for the content file and forward it to the VOD Server.
- FIG. 3 an exemplary embodiment of the stream management and control for the on-demand system 20 of the present invention illustrating interaction with the Cable Operator Network and Business System 120.
- the stream management and control 70 can be implemented as a client-server application to facilitate integration within an Interactive Service Architecture (ISA) head-end and a graphical user interface (GUI) to streamline the provisioning process, fault, configuration, accounting, performance, and security management of one or more memory based, on-demand server 130.
- ISA Interactive Service Architecture
- GUI graphical user interface
- the stream management and control process 70 icon be implemented in software running on a dedicated server within the head-end and logically situated between the on-demand server 130 and all third party ISA components such as, for example, the BMS 76 having (1 ) an asset manager server 124 with connected to the file se ⁇ r salt, ip ⁇ on pa cf e ii r i! ,122,, ⁇ d, ; 9ij ⁇ 1 f( f emand server 130, (2) the business system 126 with an interfaces to the billing system 94, session control 128, and the DNCS 132 configured with access control server (DAC) 134 and a session resource manager (SRM) 136.
- the BMS 76 having (1 ) an asset manager server 124 with connected to the file se ⁇ r content, ip ⁇ on pa cf e ii r i! ,122,, ⁇ d, ; 9ij ⁇ 1 f( f emand server 130, (2) the business system 126 with
- the central processing by the stream management and control 70 allows for session control in accessing information and content from the BMS 76, the DNCS 132, and transport stream to import on-demand server 130 as well as stream control of the on demand server 130.
- Streaming of data to the customer's set top box 108 and television 110 occurs independent of the transport stream typically via cable through a QAM 140.
- the stream controller 22 is configured to control one or more of the on-demand server 130 in order to provide the functionality required to ingest content files, set-up VOD session at subscriber request and record status information about VOD streams.
- An advantage of the present invention is to integrate and utilize the BMS framework and or system existing at the cable operator site. As illustrated in FIG.
- the streaming controller 70 controlling the operation of the on the memory-based demand server 130 can be implemented as an enterprise application on a server 128 such as, for example a web application GUI, a CORBA-based interface to the BMS, a SOAP-based interface to the VOD server, and a set of internal services that glue the other components together on top of a database such as, for example, an Oracle database.
- a catcher 122 is the wireless asset package receiver system, which in the cable system can be a satellite receiver, and in other implementations a dedicated equipment monitoring the stream.
- concurrency is the number of streams requesting a piece of content.
- Resident content means content entirely contained in the memory of the on- demand server 28.
- Segment content is a segment, page or tile of content contained in the memory of the on-demand server 28, whereby only a window around the current stream.
- Ipcatr ⁇ is,, kept jn ,p ⁇ n ⁇ p ⁇ , l
- a segment, for purposes of this patent application, is an 8 megabyte piece of content 22. Load is meant to indicate making a content 22 resident in the memory of the on-demand server 28.
- a credit is meant to be a portion or chunk of near-term-storage (NTS) bandwidth (BW), which in the present application is set to a throughput of four (4) megabits-per-second (mbps), which is the rate relating to the number of credits required by the stream.
- NTS near-term-storage
- BW bandwidth
- An overlap occurs each time one or more streams use the same segment of content 22 at the same time.
- a memory limit is a total memory capacity or amount of memory that can be allocated to streaming.
- a bandwidth limit is a limit of the total bandwidth that can be allocated, whereby setting the bandwidth limit to high may cause trick modes to stall due to unavailable bandwidth BW.
- a segmented or paging trick play speed limit means the maximum speed a stream that is segmented content 22 is allowed to be played out at in the trick play mode which has an impact on bandwidth requirements.
- the system and method for managing and controlling streaming can be configured as software utilizing a web-based graphical user interface advantageously to provide point-and-click access to all of the key functional areas of managing networked memory based on-demand servers including: • Resource Allocation • Server Configuration • Asset Management, Content Ingest, and Content Propagation • Real-Time Streaming Status and Monitoring • Alarm Management and Problem Resolution • Meaningful Service Statistics • Customized Reporting
- the streaming controller software of the present invention runs on a Linux-based or Solaris-based server and uses an Oracle9i SQL relational database for storing configuration profiles, status information, alarms, and statistics.
- the graphical user interface (GUI) is accessed via a client web browser (Netscape Navigator or Microsoft Internet Explorer).
- the streaming controller of the present invention advantageously status. monitoring as well as a centralized tool for asset management, content propagation, and real-time stream control.
- the streaming controller software and process is fully ISA-compliant and integrates with any CORBA-based Business Management or Asset Management System, including N2 Broadband's OpenStreamTM platform.
- the streaming controller software and process also works with today's deployed VOD/MOD applications such as the XOD solution from Scientific Atlanta and Pioneer's Showrunner system.
- the streaming controller includes a resource allocator that is a subsystem responsible for determining the best path for each stream and negotiating for the required Quaternary/Quadrature Amplitude Modulation (QAM) resources.
- the resource allocator uses information provided during the provisioning process, formulates a map of all possible stream routes, factors in current stream activity, and calculates the best stream path based on on-demand server and QAM resource utilization.
- the streaming controller includes a Session and Resource Manager (SRM), which manages and controls network resources. Session Gateway, which translates between the DSM-CC world of the SRM and the CORBA-based ISA world.
- SRM Session and Resource Manager
- the SRM cannot answer the question "which resources should be used;” it merely answers whether a resource can be used.
- the BMCS To set up a session, the BMCS must identify to the SRM the specific resources required, hence the need for a widget that answers the "which" question. Also, not all of the required resources are visible to the SRM (for example, Harmonic NSG boxes) and so must be managed by something within the VOD
- the on-demand Manager of the present invention enables the cable service operator to configure and control one or more VOD Servers in order to provide the functionality required to ingest content files, set-up VOD sessions at subscriber request and record status information on VOD streams.
- the VOD Manager must be able to set ,ses,siorj .J,p r , cooperation with existing cable network resource management systems.
- the resource allocator part of the VOD Manager allows the VOD Manager to do this intelligently, and to manage devices installed with the on- demand server that are not visible to the existing resource managers.
- BMCS network resource allocation and management & control system
- the MCS is configured to work with other third party devices or entities within the network to identify, reserve, and release the resources needed to deliver content to downstream DSL modems.
- an exemplary embodiment of the present invention illustrates the steps involved to stream content from the memory based on-demand server of the present invention.
- the B1 on-demand system is used to provide the streaming services consisting of up to ten slots populated with UPM cards.
- Each UPM card has 8 ports that can either be GIGABIT Ethernet GbE or Fiberchannel.
- GbE interfaces can be configured as storage interface that connect to storage via ISCSI.
- Fibrechannel can only be configured as storage interfaces.
- Storage contains the files of the MPEG-2 content that will be streamed.
- One card in the chassis is elected the chassis master. The master provides redundant control and management access to the system. In general, content objects are requested to start by the master who specifies the content to be played and where it should be played.
- the first time content is streamed it is brought into memory from NTS and built up in UPM content memory. At some point, while the content is being brought in, it will begin streaming out the GIGE interface. Subsequent, requests for the same content id already in memory are streamed from the copy already in memory. Referring, LSCP and stream setup commands come in via the 10/100 Ethernet management port. The internal commands re ⁇ 4 ⁇ ij ⁇ ed j ⁇ to ⁇ @ > ⁇ t ⁇ i t f ⁇ e. i ⁇ ⁇ i ⁇ ; 'g iuests are transported over the internal Ethernet control network. Initially a request for content, for example, a movie, is made and accepted by the AMS.
- Step 1 (1) the request is made for the content 22.
- step 2 (2) a request is made to set up a session structure to receive the MPEG-2 content of the movie file from NTS or LTS or from the BMS.
- step 3(3) a memory address is requested.
- step 4(4) a memory address is returned.
- step 5 (5) an acknowledgement is sent for the memory request.
- step 6 (6) a request for memory to stage an incoming movie.
- step 7 (7) an acknowledgement is is sent for the memory request.
- step 8(8) the requested file is brought from disk (NTS) or LTS to memory.
- step 9(9) playout is started of the movie from memory.
- step 10(10) tiles or pages of the content are brought into the MPM.
- step 11(11) tiles or pages of the content are brought into the MPM. Build tiles into content in SPM memory. After a predetermined threshold of content is in memory, for example, 7 MPEG-2 tiles of about a 2 minutes , then playout can begin.
- MSO managed services operator
- FIG. 7 is a flow diagram illustrating the ingest sequence controlling streaming with a memory based on-demand server.
- the streaming controller software of the present invention initially receives a ingest message from BMS. The follows steps illustrate a sample ingest and streaming of content: 1 ' . Inges ⁇ Ma ⁇ geVc ⁇ i ⁇ rJor efftYeceives the request and creates an IngestProcessor for each such message. The IngestProcessor is set in a queue 2. IngestProcessor sends the startlngest message over the SOAP interface to the VOD server.
- the ingestProsessor creates A ResultWaiter which will wait for events about the ingest status.
- the ResultWaiter registers to the JMS.
- VOD server sends am IngestStart event over the SOAP interface to the EventBindinglmpl component on the Stream Commander.
- EventBindinglmpl publishes the event on the JMS.
- IngestMDB receives the JMS ingest start event and updates the bitrate and the status of the Content object
- VOD server sends am IngestComplete event over the SOAP interface to the EventBindinglmpl component on the Stream Commander.
- EventBindinglmpl publishes the ingestComplete event on the JMS.
- IngestMDB receives the JMS ingest complete event and updates Content object 11.
- the ResutlWaiter component is also listening for these events.
- the BMS will receive the success or failure of the ingest as per the data in the ingestComplete event. ...;] not received in a preset interval, the ResultWaiter will ask the VOD server about the ingest status via the SOAP interface. 12a The IngestProcessor is removed from the queue. 13a The BMS will receive the success or failure of the ingest as per the data received in the getContentStatus request.
- On-demand server Integration a. On-demand server configuration (Blades, Ports)
- the system components required for managing and controlling the streaming from an on-demand server for the streaming controller of the present invention include a client-server architecture coupled to a BMS.
- the Client requirements include a web browser such as, for example, Internet Explorer 6.0 or later (Windows), Netscape Navigator 7.0 or later (Windows), or Mozzila 1.0.1 or later (Linux) with Java and Javascript enabled on such browser.
- the Server requirements include a computer with 512 MB RAM memory, a processor Pentium [6] 2.4GHz processor Redhat Linux version: AS 3.0, and a database Oracle 10g.
- the streaming controller software application hooks into the ISA bus by registering with the CORBA naming service running on the Business Management System (BMS). This enables direct communications with the BMS and other third-party ISA components.
- BMS Business Management System
- the streaming controller communicates with the on-demand server over the 10/100 Ethernet Client provides an intuitive graphical user interface (GUI) that enables central management of one or more on-demand servers.
- GUI graphical user interface
- the streaming controller system can be determined initially for the configuration, monitoring and management of one or more on-demand servers, whereby the streaming controller process and/or application software features the ability to both set and view configuration parameters on servers and ensure that servers are online and accessible.
- the streaming controller process and/or application software also displays Hierarchical Object Trees that illustrate the one or more on-demand servers and device topologies, whereby such can be represented as selectable objects within collapsible explorer trees for point-and-click navigation across systems and components.
- a browser-Based GUI enabling the management of on-demand servers from any supported network-accessible Web browser.
- the present invention can utilize a wizard to assist and easy add one or more on-demand servers by specifying the name and IP address of the server.
- the streaming controller process utilizes such defined name string to label each on demand server within GUI displays and uses such defined IP address to locate each on demand server.
- the streaming controller adds each on demand server to its local database and attempts to synchronize with the server to obtain the latest topology and configuration.
- the management IP address of each on demand server can also be coded through the system Command Line Interface (CLI) using the shelf ip address command and verify the current management IP address using the show shelf command.
- CLI system Command Line Interface
- the added on demand server to the server database will appear but it will be unable to synchronize with it to obtain the latest cqgf u tip ,, j ⁇ . ⁇ jle.d ⁇ yn ⁇ j,,pgf@t,on returns the following error: Failed to synchronize with on-demand server use Sync button on server configuration. If this message appears, ensure that the on demand on-demand server is online to perform a manual sync operation against the newly added server before adding new on-demand servers the storage cluster must be added to the associated on-demand servers.
- the process for managing and controlling the streaming from the on-demand server is configured with a graphical user interface (GUI) in a Web browser running on a workstation that has network access to the streaming controller application server and provides a real-time listing of alarms and events across all on-demand systems. Access to the streaming controller software is provided by a welcome page and password protection.
- the GUI generally has menu bar, object tree and provides a visual indication of current alarm conditions as follows: • Red — Illuminates to indicate that at least 1 critical alarm exists. • Magenta — Illuminates to indicate that at least 1 major alarm exists. • Yellow — Illuminates to indicate at least 1 major alarm exists. • Green — Illuminates to indicate there are no critical or major alarms.
- the streaming controller process and/or application software can have Control Room page, stream control Menu Bar page, and Object Tree page.
- the Control Room page provides a real-time listing of alarms and events across all systems.
- the Object Tree page provides a hierarchical representation of on-demand server systems and allows for easy navigation across system components.
- the stream control Menu Bar page provides access to stream control primary functional areas, thereby remaining accessible throughout all displays that launch in the stream control main window, with such menu bar page also includes: Server Management, Services, Control Room, Resources, Administration, Reports, Help, and Logout. jt The .
- ervep- anagep r efitiiPngnu heading provides access to the Object Tree and other configuration screens associated with each object such as, for example, the left pane displays the Object Tree while the right pane displays the available configuration screens associated with the selected object.
- the Services page menu heading provides access to the Assets menu option. Selecting the Assets menu option displays the Asset List.
- the Asset List describes the content ingested into all on-demand servers under the streaming controller process.
- Control Room menu heading launches the streaming controller process Control Room.
- the Control Room provides a complete real-time listing of all alarms received by the streaming controller process running on the server including: an alarm summary, alarm list, and filters that enable you to customize the display.
- the Resources menu launches a resource allocator through a GUI that provides enables end-to-end stream resource allocation on any path between a server port and service group so as to provision stream control with the topology information that it needs to intelligently track, monitor, and manage server and QAM resources.
- the Administration menu heading provides access to user administration and streaming controller process administration tools.
- a User menu option launches User Administration tools to manage user accounts and to control access to the system. Selecting a Maintenance option accesses stream synchronization, content synchronization, and stream delete functions.
- the Reports menu provides access to stream history and usage reports. Selecting the Stream History menu provides a view of the complete list of streams that were previously active but for which the session on the QAM has ,b
- the Help menu provides access to Help and About menu options. Selecting the Help menu launches stream control online Help supporting explorer tree contents, index, and other search features. Selecting the About menu option launches a dialog box that displays version and trademark information for the current stream control application. • The Logout menu exits the streaming controller process application thereby ending the current user session.
- the Object Tree provides a hierarchical representation of the on- demand servers under streaming controller process management.
- the object tree enables point-and-click navigation across multiple on-demand servers and supporting components using the object containment hierarchy.
- b. Discovering the on-demand server configuration [0056]
- the process for managing and controlling the on-demand server includes a dynamic discovery of each on-demand server topologies (blades and ports) and current configuration values and it can be on a Server Topology Discovery page.
- a region is a logical grouping of one or more headends enabling configuration of the name and description of the selected region.
- a headend is a logical grouping of one or more on-demand servers.
- the headend object provides access to the following screens: • Configuration - Enables configuration of the name and description for the selected headend. • Storage - Enables configuration to display and delete storage IP addresses contained within the selected headend.
- the screen is configured in one embodiment to display ISCSI storage. If Fibre Channel storage is used, this display is intentionally left blank. ⁇ n ⁇ Jngeat j pi:Eii»f l ⁇ jes djs ⁇ jay ⁇ (jrf he total number of active ingests for each on- demand server witnin the ' sseelleected headend.
- a storage cluster is an administrative grouping of one or more on-demand servers that share the same external storage.
- the on-demand server storage cluster object provides access to screens enabling the provision of the cluster and information about storage volumes contained in the cluster.
- Tabs at the storage cluster level of the object hierarchy include: • Configuration - Enables configuration of the name and description for the selected storage cluster. The configuration screen also enables entering the name assigned to the selected content store as configured on the Business Management System (BMS).
- BMS Business Management System
- Storage - Enables configuration to display and delete the storage IP addresses of all external storage arrays in the cluster. The screen is configured in one embodiment to display ISCSI storage. If Fibre Channel storage is used, this display is intentionally left blank.
- a server object represents an on-demand server and provides access to the following screens:
- a blade object represents a single on-demand server blade and provides access to the following screens:
- a port object represents a single port, or network interface, on the on-demand server and provides access to the following screens:
- the stream control process establishes a Client-Server architecture through a browser-based GUIs to render data in easy-to-understand displays, facilitate configuration of key server parameters, and the Clients provide for sync, save, and refresh operations.
- the sync operation retrieves the current configuration from the on-demand server and writes the information to the local database, thereby enabling updating the stream control process with the most current information from the on-demand server.
- the save operation writes the values that you supply in configuration fields to the local database and downloads any modified values to the on-demand server, thereby enabling configuration of basic server parameters.
- the refresh operation updates the current display with the latest information from the stream control process database, thereby ensuring the most recent data is available.
- the stream control process can perform a content synchronization, a stream sync operation, which advantageously can be periodically performed against each video server to remove unknown or illegal (not know by stream control process) streams.
- the stream sync operation ensures that only content that stream control process can use is contained on NTS disk.
- the stream sync operation enables the user to synchronize content between the stream control process database and the on-demand server, whereby the synchronization process compares the content list contained on both entities, and then removes any content from near term storage (NTS) that is not listed in the stream control process database.
- NTS near term storage
- the stream control process can perform a stream synchronization, a Stream Sync operation, whereby the stream control process uses the Stream Sync operation to retrieve current configuration parameters and properties from the selected server.
- Stream control process enables synchronizing streams (Stream Sync) to ensure that only the streams that stream control process knows about are utilizing on-demand server resources.
- the stream control process can be configured to perform the Stream Sync operation initially log into the system, after adding the on- demand server to be managed to the stream control process and then performing a Stream Sync operation to discover the on-demand server's topology and configuration.
- the content sync operation retrieves the list of active streams on the on- demand server and compares it with the current list of streams defined in the Stream Commander database.
- the procedure to add and synchronize the on-demand server includes: step 1 , entering the name, management IP address, and network mask for the on-demand server to be added; (2) In the stream control process, selecting the Storage Cluster to which this headend belongs; and (3) perform the stream (sync) operation.
- step 1 entering the name, management IP address, and network mask for the on-demand server to be added; (2) In the stream control process, selecting the Storage Cluster to which this headend belongs; and (3) perform the stream (sync) operation.
- the user specifies a Stream ID from where to start the stream synchronization process; stream control process synchronizes 1024 Stream IDs at a time starting with the Stream ID specified as the starting point for Stream Sync.
- a stream control process retrieves a list of streams that have Stream ID values from 10000 to 11024, and deletes any stream that exists on the on-demand server but for which stream control process has no record.
- the streaming controller process and/or application software can perform a stream sync operation against each on-demand server to remove unknown or illegal (not know by stream control process) streams, whereby the software can instruct the user to perform a stream sync operation, by following these steps:
- the Control Room page of the streaming controller process and/or application software provides a complete real-time listing of alarm conditions and events across all on-demand server systems in several categories including SNMP Event Notifications, My_ ⁇ Jij f Le ⁇ ej. lpEB ⁇ w ⁇ s A-l r f!3i ⁇ t l er ' t y Levels, and Alarm Details.
- the Alarm categories provide real-time alarm monitoring at the server, blade, and port component levels and supportive drill-down menus to detailed alarm information.
- streaming controller process and/or application has enabled dynamic notification of on- demand server events using Simple Network Management Protocol (SNMP) Traps and captures such information and populates the Stream database.
- SNMP Simple Network Management Protocol
- the streaming controller process and/or application can report alarms in categories of Alarm Severity Levels such as, for example, Critical, Major, Minor, and Informational. Moreover, the software can visually display Alarm Severity Levels in a Traffic Light icon shown in the upper-right corner of the streaming controller process display provides a visual notification of the highest level alarm condition reported by any server in the stream control process management domain. Alarm counts next to each severity light indicate the total number of active (uncleared) alarms as follows:
- Green Indicates the total number of informational events that have not yet been acknowledged or cleared.
- Alarms can be determined and viewed from the server, blade and port levels and these can be acknowledged and cleared by a responsible operator.
- a cluster typically consists of multiple storage arrays with each array holding one or more storage volumes. Each on-demand server in the cluster can load and stream content from any storage volume contained in the cluster.
- a storage cluster consists of the following elements: • master on-demand server — At least one on-demand server must be assigned as cluster master. The master is responsible for ingesting content into the cluster and notifying the other on-demand servers of changes in the content library. • slave on-demand servers — Slave on-demand servers are not allowed to perform ingest or write operations but can load and stream content contained on any array. • external storage arrays — Each RAID 5 storage array can be configured with one or more storage volumes. Each storage volume contains a unique inventory of contents that all on-demand servers in the cluster can access.
- the master on-demand server has communication with all slave on-demand servers. All on-demand servers in the cluster have access to all storage arrays. Only the master on- demand server can ingest content and write to external storage; slave on-demand servers have read-only access as shown in FIG. 13.
- the master on-demand server is connected to each slave on-demand server through an Ethernet connection to each on- demand server.
- Each on-demand server in the cluster connects to each storage array using one or more Gigabit Ethernet ISCSI or Fibre Channel storage ports.
- FIG. 14 required connections between on-demand servers and storage arrays in a cluster.
- the Business Management System views each storage cluster as a single content store. When multiple clusters exist, each cluster receives its own copy of content as is shown in FIG. 15.
- stream control process ships with a default storage cluster already added to the stream database labeled as StorageClusteM in the object tree.
- Any other on-demand server added to the stream control process thereafter can belong to the default storage cluster or assigned a new cluster by adding entering a name and de% 'j ⁇ ti ⁇ n qr jt ⁇ e ff .ngw ⁇ sl ⁇ rajge J1 ( ⁇ us er and refreshing the Object Tree will show the new cluster.
- Each additional on-demand server added to the stream control process creates a multiple storage cluster, whereby multiple storage clusters reflect how any on-demand servers and storage arrays are physically grouped.
- all on-demand servers in a storage cluster share the same external storage or otherwise have a shared content library, whereby on-demand servers within a storage cluster can stream content contained on any storage array in the same cluster enabling multiple on-demand servers to share the same content libraries, and advantageously, eliminate the need to propagate content across multiple server systems.
- the cluster makes new content available to all on-demand servers using a single content ingest, as shown in FIGS.13- 15.
- the stream controlling process for managing and controlling multiple on-demand servers advantageously does not have to ingest content into each on-demand server separately. Only the master on-demand server can ingest and save content to external storage arrays. Slaves can load content from storage but cannot write content.
- the master on-demand server round-robins across available storage arrays in the cluster so that disk space is equally utilized across the arrays.
- the master maintains management communication with all slaves over a 10/100 Ethernet connection to each on-demand server. If the master on-demand server loses communication to any slave, stream control process views the entire cluster as down. When a cluster is down, stream control process disallows the following operations: new stream creations, new ingests, content deletions, and formatting of storage volumes.
- the process for managing and controlling multiple on- demand server includes a storage volume to remain online and accessible, all on- demand servers must be able to access it. If any on-demand server loses connection with a storage volume, that storage volume is considered down and inaccessible for all a storage volume is down, the master cannot write to the volume and content contained in the storage volume cannot be streamed. During subsequent ingest operations, the master on-demand server will round-robin against the remaining available arrays in the cluster.
- the process for managing and controlling multiple on-demand server includes a dynamic adding server content when the master on-demand server ingests new content, it sends a content add notification to each slave on-demand server in the cluster to inform the slave servers that new content has arrived.
- the add notification includes the name and location of the new content. Armed with this information, each slave on-demand server can now access and stream the content as if they had ingested it themselves.
- the master on-demand server also sends notifications when a content is deleted, or when a storage volume is renamed or formatted. This ensures that all on-demand servers within the cluster remain synchronized.
- Cluster configuration involves specifying one on-demand server as master and one or more on-demand servers as slaves, stream control process facilitates provisioning of storage clusters by allowing you to specify the on-demand server to function as Master, then automatically defaulting the remaining servers in the cluster to slaves.
- the on-demand server functions as its own master and is considered a cluster of 1 , in which case no additional configuration is required. If you have added more than one on-demand server to the same storage cluster, you must perform the configuration described in this section. You can delete storage clusters that you no longer need. When you delete a storage cluster, all on-demand servers within the cluster are removed as well. To remove a storage cluster from stream control process, follow these steps: 1. Log into stream control process as described in Log In. 2. to ,the r ,objecti.treej. " Select,toe. ⁇ to ge cluster that you want to delete. 4. Click Yes. Response: The selected storage cluster is removed from stream control process.
- FIG. 12 illustrates Pull Ingest Pull ingest refers to the ability of the on-demand server to initiate content transfers into the system.
- Push Ingest Push ingest refers to the ability of5 the on-demand server to accept content transfers initiated from a remote server. 4, Additional SC functionality a.
- Manual ingest on VOD Server The stream control process enables you to perform manual asset ingests. During the manual ingest operation, stream control process performs a pull content ingest o operation.
- Pull content ingest refers to the ability of the master on-demand server in the storage cluster to connect to a remote system (such as a catcher or Asset Management System) and initiate transfer the content into the storage cluster.
- a remote system such as a catcher or Asset Management System
- the streaming controller process and/or application software provides for streaming from the on-demand servers stream directly from Dynamic Random Access Memory (DRAM). Before the on-demand server can stream content, it must retrieve the content from near term storage (NTS) and load it into memory.
- NTS near term storage
- the on-demand server of the present invention can support two content management modes that dictate how content is handled within the system during stream operations: content paging and memory resident content.
- Content paging is the process by which the on-demand server loads into memory only the portion of content it requires to stream at a given moment. Content paging helps to conserve on-demand server DRAM when supporting high numbers of unique content streams.
- the on-demand server When paging content, the on-demand server logically segments the content into 8MB portions -referred to as tiles — and retrieves from NTS only the tiles that it needs to stream at a given moment. As tiles are streamed, they are removed from memory and replaced with new tiles as required for seamless continuity of the stream.
- Memory resident content involves loading the entire content file into memory and keeping it there until streaming is complete. Memory resident content helps to maximize performance when the same content must support high numbers of streams.
- the on-demand server dynamically marks as memory resident only content that is servicing the most streams. When content is marked as memory resident, the on- demand server loads the entire content file into memory and keeps it there; this prevents the on-demand server from having to continuously retrieve portions of the content from external storage.
- the ability to stream both paged and memory resident content enables intelligent utilization of on-demand server DRAM to ensure the highest performance for the most popular content, whereby the on-demand servers use a dynamic paging algorithm to determine which content to make memory resident and refers to the on-demand server's ability to swap content between paging and memory resident modes as it determines which content to page and which content to mark as memory resident.
- the on-demand server makes this determination based on use count.
- This dynamic paging algorithm prevents 5 you from having to manually designate which content to page and which content to make memory resident.
- Use count is defined as the number of streams currently playing the content. For example, if two streams are playing the same content that content has a use count, or concurrency, of two.
- Stream management a. Active streams
- the streaming controller process and/or application software provides the ability to view currently active and suspended streams at multiple o component levels for all on-demand servers. Streams are considered active when they are playing out a on-demand server port and utilizing QAM resources.
- the streaming controller process supports the ability for the on-demand server to provision multiple or otherwise stream multiple content objects (Multi-Content Object Streams) as part of a single stream.
- a screen Stream Detail
- the streaming controller process provides the ability to manually create, play, delete, and control streams in the ( anjjalu tr a t m. ; C ⁇ atipn j ⁇ a,j 1 d- on ⁇ r l) currently active and to suspended streams for trick play functions including stop, pause, fast-forward and rewind.
- the streaming controller process provides real-time statistics for stream activity on each on-demand server.
- the user can synchronize active streams (Stream Sync) between stream control process and the on-demand server so that on- demand server resources are only used for valid streams — streams initiated by stream control process as a result of normal ISA operations.
- Stream Sync active streams
- the streaming controller process and/or application software provides the ability to view the complete stream history for all on-demand servers. As streams are destroyed they are removed from the active stream table and placed in the Stream
- the streaming controller process and/or application software provides the ability to view a complete listing of assets (Asset List) that have been ingested into all on- demand server systems.
- the streaming controller process and/or application software provides the ability to view storage management features enable you to view and manage content contained in near-term storage (NTS) volumes (Storage Management).
- the streaming controller process and/or application software provides the ability to view synchronize content (Content Sync) between stream control process and the on- demand server to ensure that near term storage (NTS) only contains content that stream control process can use. a.
- Assets [0Qj ] ⁇ and/or application software provides the ability to displays detailed information about the selected asset and enables you to perform the following actions: • Manually set the status of the asset to one of the following: • In Service — Sets the state of the asset to in service. When an asset is set to in- service, stream control process makes it available for streaming. • Out of Service — Sets the state of the asset to out of service. When an asset is set to out of service, stream control process makes the asset unavailable for streaming. Any current streams against the selected asset will continue until complete, but no additional streams can be created using this asset. • Configure a third-party identifier for the selected asset. • Launch content details for the selected asset.
- stream control process uses an internal indexing scheme to identify the asset within the Broadbus on-demand server system so typically you do not need to set this parameter. If, on the other hand, you require the asset to have a specific ID, you can use this field to assign the required value to the asset stream control process then keeps a mapping of Third Party ID to internal index number so it can respond to requests that identify the asset using the Third Party ID. Enables you to manually set the state of the asset within Stream Commander to one of these values: • In Service — The asset is available for streaming (Default). • Out of Service — The asset is not available for streaming. Any streams currently using the asset will complete; new streams cannot be created against this asset until the state is set back to In Service. Setting the asset state to Out of Service does not delete the asset from the system.
- the ingest state for the current asset as defined by the following values: • Queued - Include only content currently queued for ingest. • Ingesting - Content is currently ingesting. • Ingest Complete - Ingest has completed and the entire content is now contained in near-term storage. n Inges EaiJed,- Ing ⁇ st hasiailed and content is not contained in near-term storage. • Ingest Cancelled - Ingest was manually cancelled by stream control process operation.
- the streaming controller process and/or application software provides a Configuration tab at the blade level to access to key blade parameters, which is important in the stream control process for the on-demand server's topology, including blade and ports.
- the streaming controller process is configured to verifiy that each port is online and configured to perform its intended function — ingest, stream, ingest and stream, or storage.
- the streaming controller verification process discovers the correct on-demand server's topology and ensure that the blade and ports are online and configured to perform their intended functions, as follows: 1. Verify that all on-demand server blades appear in the object tree. 2. For SBB-1 , you should see a single blade. 3.
- Blades are on-demand server network interface modules.
- the SBB-1 consists of a single fixed blade and the B-1 can contain up to 10 blades. 5.
- Each blade is equipped with the following network interfaces: • up to 8 Gigabit Ethernet or Fibre Channel ports for ingest, storage, and streaming functions. • 1 10/100 Ethernet port for IP-based management access b. Ports
- the streaming controller process and/or application software provides provides a
- Ports are the physical interfaces that provide network connectivity. Blades are available in both 4-port and 8-port configurations and come equipped with Gigabit Ethernet ports, Fibre Channel ports, or both. While Fibre Channel ports are only used for connection to e ⁇
- Content ingest is the process of ingesting physical content files (MPEG-2, etc.) into the on-demand server system (SBB-1TM or B-1TM) for streaming and storage.
- the system uses File Transfer Protocol (FTP) to transfer content from a remote server (such as a catcher) to one or more ingest ports on the on-demand server.
- FTP File Transfer Protocol
- the system supports both FTP "pull” and FTP "push” content ingest.
- the on-demand server essentially functions as an FTP client and initiates transfer of the content from the remote server.
- the on- demand server functions as an FTP server and allows a remote client to initiate FTP transfer of the content to the on-demand server
- Pull content ingest refers to the ability of the on-demand server to pull content from a remote server (catcher). Pull content ingest is typically used within video on demand applications where content already exits and is available, ahead of time.
- stream control process provides the on-demand server with the FTP URL describing the location of the content. After receiving this URL, the on- demand server initiates transfer of the content from the remote location. to transfer content from catcher to on- demand server. 3. BMS forwards FTP URL to stream control process over CORBA interface.
- stream control process forwards FTP URL to on-demand server over SOAP interface.
- SBB-1 uses FTP URL to initiate transfer of content from catcher into server memory (referred to as content memory or CMEM).
- CMEM server memory
- NTS near term0 storage
- Push content ingest refers to the ability of a remote server to initiate an FTP transfer5 with the on-demand server and push content to the system. Push content ingest is typically used to ingest and stream live content feeds as they arrive at the headend.
- stream control process provides the remote server with the FTP URL describing the location to where the new content must be copied.
- the on- demand server then waits for the content and when it arrives, allows the remote server 0 to initiate transfer of the content (push) into the on-demand server using the pre-defined URL.
- FTP "push" content ingest involves pre-configuring the on-demand server to receive specified content, then configuring the server to allow a remote client process to initiate an FTP transfer of the content using a predefined URL.
- This two-step process includes:5 ⁇ Provisioning for FTP Push ⁇ Transferring Content to the Video Server ⁇ .
- a third-party application sends stream control process information describing the content to be ingested.
- Parameters passed to stream control process include bit rate, play time, and expected o start time of the file to be ingested, and can also include the content name.
- stream control process returns the FTP URL that theremote system must use to transfer the content when it arrives.5 3.
- the third-party application forwards the URL to the content push application. Transferring Content to the Video Server. .
- the content push application receives the live video feed and encodes it into MPEG-2 format, delineating the start and end of the content files to be transferred. 2. $ & & ⁇ nt ⁇ nt u a plicati hen initiates FTP transfer of the content directly to the S ⁇ -7 /nges potf defined in the FTP URL.
- CM EM server content memory
- Ingest information at the headend level provides the number of active ingests for each on-demand server within the selected headend. To view ingest activity for a selected headend, follow these steps: 1. Use the object tree to navigate to the selected headend. 2. Click the Ingest tab. Response: The total number of ingests for each on-demand server within the selected headend is displayed. Viewing Ingest Activity for a Storage Cluster. The ingest tab at the storage cluster level displays the currently active ingests for the selected cluster. To view ingest activity for a selected storage cluster: 1. Use the object tree to navigate to the selected storage cluster. 2. Click the Ingest tab. Response: The list of active ingests for the selected cluster is displayed.
- the streaming controller process and/or application software stores stream information in an Oracle SQL database (Stream database).
- the database resides on the stream control process application server and contains on-demand server configuration information, statistical data, alarms, stream history and suspended stream information.
- stream control process runs an automated purging process that removes obsolete data at pre-defined intervals: • Alarms — Alarms are purged from the stream control process database every 7 days. This means that alarms that are more than one week old are automatically deleted from the database. j,. jr ..Sjtr ⁇ li Hi,s 1 ,t ⁇ r ⁇ ,- j r S re r ⁇ .History entries are purged from the database every 7 """ days. ThTs meahs ' "" thai "stream entries more than 1 week old are removed from the Stream History report. • Streams — Streams are purged from the stream control process database every 24 hours.
- This operation also removes streams placed in the suspended state as a result of stop or pause commands issued from remote set top boxes. •
- the stream session is torn down and stream control process records the point in the content that the stream stopped playing.
- the STB sends a resume command to begin playing the stream, a new stream session is created and the stream resumes playing where it left off.
- the streaming controller process and/or application software trap event notifications from the one or more on-demand servers to generate generate event notifications to alert you to configuration changes, state transitions, and error conditions as they occur on the video server.
- the system can send these notifications to remote hosts in the form of Simple Network Management Protocol (SNMP) traps.
- SNMP Simple Network Management Protocol
- Each on- demand server sends event notifications to stream control process over the Simple Object Access Protocol (SOAP) interface.
- SOAP Simple Object Access Protocol
- the stream control process then saves a copy of the event notification to its local database and passes a copy to the SNMP agent running on the stream control process application server.
- Stream Commander uses the copy contained in its database to populate Graphical User Interface (GUI) alarm displays; the SNMP agent translates its copy of the notification into an SNMP trap then forwards the trap to all hosts defined in the trap forwarding table.
- GUI Graphical User Interface
- the streaming controller process and/or application software forwards the trap event notifications from the one or more on-demand servers to IP host destinations using
- the trap forwarding table defines the IP host destinations to which Stream Commander forwards SNMP traps. You can view and edit the trap forwarding table as described in the following procedures: • argO — Destination IP address. Valid value: IP address. • argl — Port (port to send trap out on; 8003 recommended) srf!!"'- 9.2;r :SHMP y ⁇ si ⁇ niyal values: 1 or 2. • arg3 — SNMP community string • arg4 — Retries (not used, but must enter 1 ) • arg ⁇ — Timeouts (not used, but must enter 1 )
- the streaming controller process and/or application software creates reports (On- Demand Report Generation), thereby generating a view of the content and stream usage statistics for a specified time period.
- the catcher receives content in the form of content packages. Each content package is stored in a directory and contains both an XML file describing the content and the content file itself.
- Manual content ingest using Stream Commander requires that you specify the FTP URL to the content file. If you do not specify a title in the Title field of the manual ingest window, you must also specify the XML file associated with the content file, in which case the XML file must be named XML.ADI.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Engineering & Computer Science (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US57626904P | 2004-06-01 | 2004-06-01 | |
| PCT/US2005/019296 WO2005119492A2 (fr) | 2004-06-01 | 2005-06-01 | Procede et systeme de controle de diffusion en flux dans un serveur sur demande |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| EP1761865A2 true EP1761865A2 (fr) | 2007-03-14 |
| EP1761865A4 EP1761865A4 (fr) | 2010-05-05 |
Family
ID=35463680
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP05757221A Withdrawn EP1761865A4 (fr) | 2004-06-01 | 2005-06-01 | Procede et systeme de controle de diffusion en flux dans un serveur sur demande |
Country Status (2)
| Country | Link |
|---|---|
| EP (1) | EP1761865A4 (fr) |
| WO (1) | WO2005119492A2 (fr) |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| RU2628992C1 (ru) * | 2016-02-17 | 2017-08-23 | Общество с ограниченной ответственностью "ЛитРес" | Система обеспечения систематизации, упорядочивания, распределения, обработки и работы с контентом библиотечной системы |
| CN108549546A (zh) * | 2018-04-02 | 2018-09-18 | 中航锂电技术研究院有限公司 | 一种基于can总线实现参数文件配置的方法 |
| CN118870052A (zh) * | 2024-07-01 | 2024-10-29 | 上海赛连信息科技有限公司 | 内网点播方法及其系统 |
| CN118535579B (zh) * | 2024-07-26 | 2024-12-06 | 济南浪潮数据技术有限公司 | 一种基于对象存储系统的数据处理方法和装置 |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6625750B1 (en) * | 1999-11-16 | 2003-09-23 | Emc Corporation | Hardware and software failover services for a file server |
| US7278153B1 (en) * | 2000-04-12 | 2007-10-02 | Seachange International | Content propagation in interactive television |
| US7171678B2 (en) * | 2001-01-22 | 2007-01-30 | N2 Broadband, Inc. | Systems and methods for establishing and administering sessions in digital cable systems |
| US20030088876A1 (en) * | 2001-11-08 | 2003-05-08 | Liberate Technologies | Video on demand gateway |
| US9027063B2 (en) * | 2002-11-27 | 2015-05-05 | Deluxe Digital Distribution Inc. | Video-on-demand (VOD) management system and methods |
-
2005
- 2005-06-01 WO PCT/US2005/019296 patent/WO2005119492A2/fr not_active Ceased
- 2005-06-01 EP EP05757221A patent/EP1761865A4/fr not_active Withdrawn
Also Published As
| Publication number | Publication date |
|---|---|
| WO2005119492A3 (fr) | 2007-05-10 |
| EP1761865A4 (fr) | 2010-05-05 |
| WO2005119492A2 (fr) | 2005-12-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20050278760A1 (en) | Method and system for controlling streaming in an on-demand server | |
| CN101479988B (zh) | 多dvr节点通信 | |
| US7159234B1 (en) | System and method for streaming media server single frame failover | |
| US6996779B2 (en) | Graphical user interface for a transport multiplexer | |
| US8504715B2 (en) | Method of using tokens and policy descriptions for dynamic on demand session management | |
| US20050289619A1 (en) | Methods and system for resource allocation in an on-demand server | |
| KR102108595B1 (ko) | 멀티플 서버 노드를 갖는 시설 보안시스템 | |
| KR101762088B1 (ko) | 다중 스크린 상호작용 방법 및 디바이스 | |
| CN102457707B (zh) | 安防监控视频数据传输、储存和点播方法 | |
| US8291484B2 (en) | System and method for video recording, management and access | |
| CN100518105C (zh) | 实现网络监控的方法、系统及内容分发网络 | |
| CN103997623B (zh) | 基于p2p技术的视频监控方法 | |
| US20050055718A1 (en) | Peer-to-peer architecture for sharing video on demand content | |
| US20070033282A1 (en) | Signaling redirection for distributed session and resource management | |
| JP5503560B2 (ja) | 負荷分散信号分配を行う方法および装置 | |
| WO2011026370A1 (fr) | Procédé, dispositif de fonctionnement de système de service de télévision sur protocole internet, et système de service de télévision sur protocole internet | |
| US20100153566A1 (en) | Monitoring requested content | |
| WO2005020556A2 (fr) | Fourniture et gestion optimales de largeur de bande dans une architecture de services video a la demande | |
| CN109587442B (zh) | 镜像针对因特网协议接收方的流配置的方法和存储介质 | |
| GB0126398D0 (en) | Distribution and networking of television video and other signals installation of such distribution systems and control of telivision sets | |
| CN102630044B (zh) | 一种基于hfc服务器缓存的时移电视系统 | |
| CN107959602B (zh) | 一种入网方法和装置 | |
| CN101753985B (zh) | 视频监控系统及该系统中的媒体流传输控制装置和方法 | |
| WO2005119492A2 (fr) | Procede et systeme de controle de diffusion en flux dans un serveur sur demande | |
| CN101668184B (zh) | 一种基于iptv系统的视频监控方法及系统 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| 17P | Request for examination filed |
Effective date: 20061214 |
|
| AK | Designated contracting states |
Kind code of ref document: A2 Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU MC NL PL PT RO SE SI SK TR |
|
| AX | Request for extension of the european patent |
Extension state: AL BA HR LV MK YU |
|
| PUAK | Availability of information related to the publication of the international search report |
Free format text: ORIGINAL CODE: 0009015 |
|
| RIC1 | Information provided on ipc code assigned before grant |
Ipc: H04N 7/173 20060101AFI20070611BHEP |
|
| DAX | Request for extension of the european patent (deleted) | ||
| RBV | Designated contracting states (corrected) |
Designated state(s): DE FR GB |
|
| A4 | Supplementary search report drawn up and despatched |
Effective date: 20100408 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
| 18D | Application deemed to be withdrawn |
Effective date: 20100708 |
|
| P01 | Opt-out of the competence of the unified patent court (upc) registered |
Effective date: 20230520 |