US20060200578A1 - Avalanche control for video on demand session setup - Google Patents

Avalanche control for video on demand session setup Download PDF

Info

Publication number
US20060200578A1
US20060200578A1 US11/361,301 US36130106A US2006200578A1 US 20060200578 A1 US20060200578 A1 US 20060200578A1 US 36130106 A US36130106 A US 36130106A US 2006200578 A1 US2006200578 A1 US 2006200578A1
Authority
US
United States
Prior art keywords
session
coalescing
session setup
transition boundary
mode
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.)
Abandoned
Application number
US11/361,301
Inventor
W. Sherer
Kirk Blattman
Danny Nessett
David Yates
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Synamedia Ltd
Original Assignee
Arroyo Video Solutions LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Arroyo Video Solutions LLC filed Critical Arroyo Video Solutions LLC
Priority to US11/361,301 priority Critical patent/US20060200578A1/en
Priority to US11/361,302 priority patent/US8935313B2/en
Assigned to ARROYO VIDEO SOLUTIONS, INC. reassignment ARROYO VIDEO SOLUTIONS, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: NESSETT, DANNY M., SHERER, W. PAUL, BLATTMAN, KIRK, YATES, DAVID
Publication of US20060200578A1 publication Critical patent/US20060200578A1/en
Assigned to ARROYO VIDEO SOLUTIONS LLC reassignment ARROYO VIDEO SOLUTIONS LLC CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: ARROYO VIDEO SOLUTIONS, INC.
Assigned to CISCO TECHNOLOGY, INC. reassignment CISCO TECHNOLOGY, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ARROYO VIDEO SOLUTIONS LLC
Assigned to NDS LIMITED reassignment NDS LIMITED ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BEAUMARIS NETWORKS LLC, CISCO SYSTEMS INTERNATIONAL S.A.R.L., CISCO TECHNOLOGY, INC., CISCO VIDEO TECHNOLOGIES FRANCE
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1881Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with schedule organisation, e.g. priority, sequence management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/102Gateways
    • H04L65/1043Gateway controllers, e.g. media gateway control protocol [MGCP] controllers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/613Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/765Media network packet handling intermediate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/142Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/143Termination or inactivation of sessions, e.g. event-controlled end of session
    • H04L67/145Termination or inactivation of sessions, e.g. event-controlled end of session avoiding end of session, e.g. keep-alive, heartbeats, resumption message or wake-up for inactive or interrupted session
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/637Control signals issued by the client directed to the server or network components
    • H04N21/6377Control signals issued by the client directed to the server or network components directed to server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/64Addressing
    • H04N21/6408Unicasting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources

Definitions

  • the invention relates generally to interactive video services via digital video networks, and more particularly to systems and methods for processing requests for video on demand sessions.
  • VOD video on demand
  • VOD allows users to select and watch video content over a network as part of an interactive television experience.
  • VOD systems support “streaming,” in which content is available to the subscriber while the video streams over the network, and/or “downloading,” in which the content is downloaded to a subscriber device, such as a set-top box, before the content is available to the subscriber.
  • streaming systems need greater network bandwidth and thus more network resources. It is possible to provide streaming VOD services over a wide area network (WAN) to service a fairly large community or geographic area, however, the responsiveness to the subscriber may be reduced to unacceptable levels. For example, the establishment of a VOD session using conventional techniques typically requires 20 or more messages between VOD elements, once a subscriber signals his/her intention to establish a video on demand session. This in turn can induce session setup delays of a second or more.
  • WAN wide area network
  • a technique for managing session setup requests involves operating in a normal mode when the arrival rate of session setup requests is below a normal transition boundary, and transitioning from the normal mode to a coalescing mode when the arrival rate of session setup requests rises above a coalescing transition boundary.
  • the session manager processes each of the session setup requests individually; whereas in the coalescing mode, multiple session setup requests are batched and processed collectively.
  • the session manager is transitioned from the normal mode to the coalescing mode when the session setup request arrival rate rises above a coalescing transition boundary and the session manager is transitioned from the coalescing mode to the normal mode when the session setup request arrival rate falls below a normal transition boundary.
  • FIG. 1 is a schematic representation of an exemplary video on demand system architecture, according to one aspect of the invention.
  • FIG. 2 is a schematic representation of an exemplary video server system for quick session setup of a video on demand session, according to the invention.
  • FIG. 3 is a block diagram of a video server system, having cached database and network resource information, for quick session setup of a video on demand session, according to an embodiment of the invention.
  • FIG. 4 is a block diagram showing a session manager for quick session setup of a video on demand session, the session manager having internal database and resource manager functionality, according to another embodiment of the invention.
  • FIG. 5 is a flow diagram schematically representing steps involved in an exemplary method for setting up a video on demand session, according to another embodiment of the invention.
  • FIG. 6 is a flow diagram schematically representing an exemplary process for providing a video on demand session to a client, according to another embodiment of the invention.
  • FIG. 7 is a flow diagram schematically representing steps involved in an exemplary method for caching database and network resource information for quick session setup of a video on demand session, according to another embodiment of the invention.
  • FIG. 8 is a flow diagram schematically representing steps involved in an exemplary method for updating cached database information for quick session setup of a video on demand session, according to another embodiment of the invention.
  • FIG. 9 is a process flow diagram of a method for managing session setup for video on demand sessions, according to another aspect of the invention.
  • FIG. 10A is a schematic representation of an exemplary video on demand system architecture showing a plurality of session setup requests received by the session manager, according to another aspect of the invention.
  • FIG. 10B is a schematic representation of an exemplary session manager state machine for a video server system, showing transitions between normal and coalescing states of the session manager, according to another aspect of the invention.
  • FIG. 11A is a graphic representation of transitions between a normal mode and a coalescing mode of the session manager, according to another aspect of the invention.
  • FIG. 11B is a graphic representation of transitions between normal and coalescing modes of the session manager with hysteretic mode transition, according to another aspect of the invention.
  • FIG. 11C is a schematic representation of an exemplary session manager state machine, according to another embodiment of the invention.
  • FIG. 12 is a block diagram showing a session manager having a state machine for transitioning the session manager between normal and coalescing states, according to another embodiment of the invention.
  • FIG. 13A is a flow diagram schematically representing steps involved in an exemplary method for managing session setup requests for video on demand sessions, according to another embodiment of the invention.
  • FIG. 13B is a flow diagram schematically representing steps involved in an exemplary method for managing session setup requests by a session manager operable in normal and coalescing modes with hysteretic mode transition, according to another embodiment of the invention.
  • FIG. 14 is a flow diagram schematically representing steps involved in an exemplary method for operating a session manager in normal mode or coalescing mode, according to another embodiment of the invention.
  • session setup requests from multiple clients received by the session manager are monitored and the session manager may transition between different operational modes according to the session setup request arrival rate.
  • the mode of operation of the session manager may be transitioned by a state machine between a normal mode and a coalescing mode.
  • the coalescing mode multiple session setup requests are coalesced into a batch, and the session setup requests within a given batch are processed collectively as a group, thereby streamlining the processing of session setup requests and preventing delays in VOD session setup during periods of high session setup request arrival rate.
  • the request from the client for session setup is received directly by a session manager, and the session manager may cache information related to session setup.
  • video as used herein may optionally include audio and/or associated content control information.
  • content as used herein may be used to refer to digital video content, which may be delivered to a client over a network.
  • a “network” for distributing digital video content may include a packet-based distribution network, wherein the packet-based distribution network may utilize, for example, IP, Ethernet, ATM, or a combination thereof to communicate the digital video content to the client.
  • a “network” for distributing digital video content may also include a hybrid fiber coaxial (HFC) network, as is well known in the field of cable television distribution.
  • HFC hybrid fiber coaxial
  • FIG. 1 is a schematic representation of an exemplary video on demand system architecture 10 , according to one aspect of the invention.
  • the video on demand system may include a distribution network 20 that is capable of both broadcast/multicast and video on demand communications.
  • the distribution network may be implemented with multiple network elements (not separately shown in FIG. 1 ) for facilitating broadcast/multicast and video on demand communications, as is well known in the art.
  • a video server system 30 is coupled to the distribution network 20 .
  • the video server system may provide digital video content to multiple clients 40 utilizing a broadcast/multicast scheme over the distribution network. Further, each of the clients may be capable of receiving digital video content for multiple channels from the video server system. Each of the channels may be identified by a corresponding channel number.
  • the video server system 30 includes a stream server 50 for streaming data streams to clients 40 during broadcast/multicast or a VOD session.
  • the video server system also includes a session manager 32 for managing set up and execution of a VOD session.
  • the session manager is integrated with, or internal to, the stream server.
  • the session manager may be a separate component (i.e., a separate server).
  • the session manager is configured to provide for quick session setup of a VOD session in response to a session setup request from the client, as is described in more detail hereinbelow.
  • FIG. 2 is a schematic representation of an exemplary video server system 30 configured to implement quick session setup for a video on demand session, according to one aspect of the invention.
  • the video server system includes a session manager 32 , a channel to content map 34 , an entitlement database 36 , and a resource manager 38 .
  • the session manager manages transactions involved in session setup.
  • the video on demand session may involve, for example, a NPVR session.
  • the transactions involved in session setup begin when a session setup request is sent from the client 40 and received by the session manager 32 .
  • the session setup request includes a channel number, which has been inserted into the session setup request by the client.
  • the transactions involved in session setup are described fully hereinbelow, e.g., with reference to FIGS. 2 and 6 .
  • the channel to content map 34 is in signal communication with the session manager 32 .
  • the channel to content map includes a real-time database of associations between the channel numbers and content identifiers, wherein the channel to content map associates each channel number with a different content identifier, and the content identifiers identify video content related to a requested VOD session.
  • the channel to content map includes content identifier to content source information that indicates the location of the source of the content identified by the content identifier.
  • the source of the content may be, for example, a point within the video server system at which content is ingested into the video server system or a server within the video server system at which the content is stored.
  • the channel to content map may be integrated with the session manager (see, e.g., FIG. 4 ), with the stream server 50 ( FIG. 1 ), or with other components of VOD infrastructure.
  • the channel to content map is located on a server that is remote to the server on which the session manager is located.
  • the session manager communicates with the channel to content map utilizing a network messaging protocol.
  • the entitlement database 36 is in signal communication with the session manager 32 .
  • the entitlement database includes a database of entitlement information that is used to authorize entitlement of a particular client 40 to access the video content related to a requested VOD session.
  • the entitlement database may be external to the session manager; for example, the entitlement database may be implemented on a separate or remote server.
  • the session manager communicates with the entitlement database utilizing a network messaging protocol.
  • the entitlement database may be implemented locally within the session manager (see, e.g., FIG. 4 ).
  • the resource manager 38 is in signal communication with the session manager 32 , and includes resource reservation information, for a requested VOD session, which is provided to the session manager.
  • the resource reservation information may be related to reservation, or pre-reservation, of network resources (see, for example, FIG. 6 , steps 216 a , and 216 b , respectively).
  • the resource manager is located on a server that is remote to the server on which the session manager is located. In this case, the session manager communicates with the resource manager utilizing a network messaging protocol.
  • the terms “reservation” and “reserving” refer to the retention or retaining of network resources for a single VOD session, and in particular, where the session manager 32 contacts the resource manager 38 separately for each session setup request received by the session manager.
  • the terms “pre-reservation” and “pre-reserving” refer to the retention or retaining of network resources for one or more subsequent VOD sessions, wherein the session manager does not need to contact the resource manager separately for each session setup request received by the session manager.
  • the terms “retention” and “retaining” may be used to refer generically to include both the “pre-reservation” and “reservation” of network resources, as defined hereinabove, for one or more VOD sessions.
  • the phrase “resource reservation information” may be used herein to refer generically to information associated with either the “pre-reservation” or “reservation” of network resources.
  • the phrase “resource reservation request” as used herein refers generically to a request for “resource reservation information” associated with either the “pre-reservation” or “reservation” of network resources.
  • the resource manager 38 function may be implemented in components other than the session manager 32 .
  • the resource manager function may be implemented internally within the session manager (see, e.g., FIG. 4 ).
  • the session manager is still further in communication with the client 40 .
  • the stream server 50 (see, FIG. 1 ) is omitted from FIG. 2 for the sake of clarity.
  • a subscriber to digital video content provided by the VOD system architecture 10 may instruct the client 40 to establish a VOD session by sending a session setup request to the session manager, whereby the session manager receives the session setup request directly from the client, as indicated by transaction 1 .
  • a subscriber may instruct the client 40 to establish the VOD session via a client component, such as a set-top box (not shown).
  • the video server system 30 may comprise a plurality of session managers.
  • the session setup request may be unicast to a specific session manager for processing of the session setup request.
  • the session setup request may be broadcast/multicast to a plurality of the session managers, one of which accepts the session setup request for processing.
  • each VOD session is associated with broadcast/multicast digital video content that the client 40 receives on one of a plurality of broadcast/multicast channels, wherein each of the plurality of broadcast/multicast channels is identified by a channel number.
  • the session setup request received by the session manager 32 includes the channel number.
  • the session manager 32 After the session manager 32 receives the session setup request from the client 40 , the session manager accesses the channel to content map 34 in transaction 2 of FIG. 2 .
  • the channel to content map comprises a real-time database of associations between channel numbers and content identifiers, wherein the content identifiers identify content related to the requested VOD session.
  • the session manager consults the channel to content map, which translates the channel number in the session setup request into a content identifier, wherein the content identifier identifies the underlying content being broadcast/multicast on that channel number.
  • transaction 2 may take one of a plurality of different forms, according to various embodiments of the invention.
  • transaction 2 may be executed each time the session manager 32 receives a quick session setup request.
  • transaction 2 involves an exchange of messages between the channel to content map and the session manager.
  • the session manager may cache channel to content map information.
  • transaction 2 may represent protocol messaging activity that implements a channel to content map cache coherency algorithm.
  • the channel to content map cache coherency algorithm manages the transfer of information between the channel to content map 34 and the session manager, wherein the channel to content map may be remote from the session manager. Caching of channel to content map information for the purpose of quick session setup of a VOD session according to an aspect of the invention, is described fully hereinbelow (see, for example, FIG. 3 and FIG. 7 ).
  • transaction 3 may include authorizing the client's entitlement to execute various NPVR functions on the content identified by the content identifier.
  • NPVR functions may include, for example, pause, fast forward, slow forward, fast/slow rewind, and jump to frame.
  • the entitlement request from the session manager 32 to the entitlement database 36 may include the channel number, the content identifier, or both the channel number and the content identifier, since entitlement decisions authorizing the client 40 to access the identified content may depend on either one or both of the channel number and the content identifier.
  • transaction 3 may take one of a plurality of different forms, according to various embodiments of the invention.
  • transaction 3 may require the session manager 32 to send an entitlement request message to the entitlement database 36 on each occasion that the session manager receives a quick session setup request.
  • the session manager may cache entitlement information.
  • transaction 3 represents the protocol messaging activity that implements an entitlement cache coherency algorithm for caching entitlement information by the session manager.
  • the entitlement cache coherency algorithm manages the transfer of information between the entitlement database and the session manager, wherein the entitlement database may be remote from the session manager. Caching of entitlement information for the purpose of quick session setup of a VOD session according to an aspect of the invention, is described fully hereinbelow (see, for example, FIG. 3 and FIG. 7 ).
  • the session manager 32 may retain network resources managed by the session manager itself for the VOD session. Thereafter, via transaction 4 ( FIG. 2 ), the session manager contacts the resource manager 38 to retain any additional network resources that may be required for the VOD session.
  • the resource manager may reserve or pre-reserve network bandwidth, modulation equipment resources, and a digital channel over which the content for the VOD session is transmitted.
  • the resource manager function may typically be implemented externally to the session manager, i.e., in equipment other than the session manager. However, in a accordance with the invention, the resource manager function may be implemented by the session manager.
  • the session manager may contact the resource manager to reserve network resources on each occasion that the session manger receives a quick session setup request. Alternatively, the session manager may pre-reserve network resources for one or more subsequent VOD sessions. In either situation, the session manager exchanges messages with the resource manager (transaction 4 ) for retention (i.e., reservation or pre-reservation) of network resources for the VOD session.
  • transaction 4 represents a request for the resources required for a single VOD session.
  • transaction 4 represents the exchange of information necessary to pre-reserve resources for one or more subsequent VOD sessions.
  • transaction 4 may further represent the exchange of information necessary to inform the resource manager 38 when each VOD session terminates.
  • network resources may be re-allocated and used for other VOD sessions to be provided by the video server system 30 .
  • the session manager 32 assigns a video on demand session identifier (or “session identifier”) to the data stream that will use the retained network resources, and the session manager returns the information related to session setup to the client 40 in transaction 5 . Thereafter, the VOD session may be established.
  • a video on demand session identifier or “session identifier”
  • FIG. 3 is a block diagram showing an exemplary embodiment of a video server system 30 for quick session setup of a video on demand session, according to an embodiment of the invention.
  • the video server system includes a session manager 32 in communication with each of the channel to content map 34 , the entitlement database 36 , and the resource manager 38 , substantially as described with reference to FIG. 2 .
  • the session manager is further in communication with the client 40 for receiving a session setup request from the client.
  • One or more of the channel to content map, the entitlement database, and the resource manager may be remote from, or external to, the session manager.
  • the session manager 32 further comprises a processor 60 and a memory 70 .
  • the memory may comprise cached information related to session setup by the session manager.
  • the memory may comprise one or more of the following: a channel to content map information cache 72 , an entitlement information cache 74 , and a resource reservation information cache 76 .
  • the channel to content map information cache, the entitlement information cache, and the resource reservation information cache may include cached channel to content map information, cached entitlement information, and cached resource reservation information, respectively.
  • the session manager may further include a cache manager 78 for managing at least one of the channel to content map information cache, the entitlement information cache, and the resource reservation information cache.
  • the session manager is described as caching certain information, other information related to session setup can be cached by the session manager.
  • Each of the cached channel to content map information, the cached entitlement information, and the cached resource reservation information may be processed substantially as described elsewhere herein, e.g., with reference to FIG. 2 and FIG. 6 .
  • the channel to content map information, the entitlement information, and cached resource reservation information held in cache may be accessed more rapidly, thereby decreasing the time required by the session manager 32 to set up a VOD session.
  • the time required by the session manager to set up a VOD session may be less than 1 second.
  • FIG. 4 is a block diagram showing a session manager 32 for quick session setup of a video on demand session, according to another embodiment of the invention.
  • the session manager comprises a channel to content map 34 , an entitlement database 36 , and a resource manager 38 , wherein each of the channel to content map, the entitlement database, and the resource manager are integrated with, or reside within, the session manager.
  • the functionality of the session manager, the channel to content map, the entitlement database, and the resource manager in the embodiment of FIG. 4 may be substantially as described hereinabove, e.g., with respect to FIG. 2 .
  • the session manager is shown in relation to clients 40 , while the distribution network 20 is omitted from FIG. 4 for the sake of clarity.
  • a video server system 30 may comprise: 1) a session manager 32 having an internal channel to content map 34 , a remote entitlement database 36 , and an internal resource manager 38 ; or 2) a session manager having a remote channel to content map, an internal entitlement database, and an internal resource manager.
  • Other configurations for the video server system and session manager are also within the scope of the invention, as may be apparent to the skilled artisan.
  • FIG. 5 is a flow diagram schematically representing steps involved in an exemplary method for setting up a video on demand session requested by a client, according to another embodiment of the invention.
  • a quick session setup request for establishing a VOD session is sent from the client 40 , wherein the session setup request may be received by the session manager 32 .
  • the quick session setup request received by the session manager is received directly from the client.
  • the session setup request received by the session manager includes a channel number associated with the VOD session, wherein the channel number associated with the VOD session is inserted in the quick session setup request by the client.
  • the channel number is translated into a content identifier.
  • the content identifier identifies content related to the VOD session, as described hereinabove (e.g., with respect to FIG. 2 ). Translation of the channel number into the content identifier may be implemented by the channel to content map 34 (see, e.g., FIGS. 2-4 ).
  • the client's 40 entitlement to access the content identified by the content identifier may be authorized. Authorization of the client's entitlement to access the identified content may be executed by the entitlement database 36 , for example, as described hereinabove with respect to transaction 3 of FIG. 2 .
  • network resources for the VOD session may be retained for the VOD session. Retention of the network resources for the VOD session may be implemented by the resource manager 38 , substantially as described hereinabove (see, e.g., FIGS. 2-4 ).
  • all of the tasks described with reference to blocks 102 - 108 of FIG. 5 may be completed within a time period of less than one second.
  • this technique enables setting up a VOD session with only a sub-second delay once a subscriber initiates a session setup request via the client 40 .
  • FIG. 6 is a flow diagram schematically representing tasks involved in an exemplary process for providing a video on demand session to a client, according to another embodiment of the invention.
  • a session setup request may be initiated by a client 40 , e.g., via a client device, such as a set-top box (STB).
  • the session setup request includes a channel number inserted by the client.
  • the session setup request is received by at least one session manager 32 .
  • the session setup request is accepted for processing by one of the session managers.
  • the session manager 32 accesses channel to content map information via the channel to content map 34 .
  • the channel to content map comprises a real-time database which associates each of a plurality of the channel numbers with a different content identifier.
  • the channel to content map information may reside within the session manager, e.g., as cached channel to content map information.
  • the channel number in the session setup request is translated into a content identifier.
  • Accessing the entitlement information may comprise sending an authorization request, via the session manager, to the entitlement database 38 , wherein the authorization request comprises at least one of the channel number and the content identifier.
  • accessing the entitlement information may comprise sending the authorization request to the entitlement database in response to each of a plurality of the session setup requests received by the session manager.
  • the entitlement information, or a portion thereof may reside within the session manager, e.g., as cached entitlement information.
  • the client's 40 authorization to access identified content for the VOD session is determined. Determination of the client's authorization to access the identified content may be based on the channel number, the content identifier, or both the channel number and the content identifier.
  • the session setup procedure may diverge according to how the resource manager 32 manages the network resources required for providing the VOD session to the client 40 .
  • the network resources for providing the VOD session to the client have been pre-reserved for one or more subsequent VOD sessions and the pre-reserved resources are utilized in the session setup process.
  • the network resources for providing the VOD session to the client are reserved separately for each VOD session.
  • the session manager contacts the resource manager 38 on each occasion that the session manager receives a session setup request from a client.
  • Blocks 218 a / 220 a and 218 b / 220 b of the process of FIG. 6 involve similar steps, wherein at blocks 218 a / 218 b a VOD session identifier is assigned to a data stream for the VOD session; and at blocks 220 a / 220 b the data stream is transmitted to the client 40 via the network resources pre-reserved or reserved, at block 216 a or block 216 b , respectively.
  • the VOD session is provided to the client 40 .
  • the resource manager 38 is informed by the session manager 32 when each VOD session is terminated (block 224 ). By informing the resource manager when each VOD session terminates, network resources may be re-allocated to subsequent VOD sessions.
  • the session manager 32 may cache resources or information managed by remote servers, such as those managing channel to content map 34 , entitlement database 36 , and resource manager 38 functionality. By implementing such resource and information caching, significant improvements in the efficiency and responsiveness of the session manager can be made when processing session setup requests.
  • FIG. 7 is a flow diagram schematically representing tasks involved in an exemplary technique for caching database information and network resource information for quick session setup of a video on demand session, according to another embodiment of the invention.
  • database information is accessed.
  • the database information may be accessed by the session manager 32 that has received a session setup request for the VOD session.
  • the database information may include channel to content map information for translating a channel number within the session setup request to a content identifier.
  • the channel to content map information may be accessed from a remote server (see, e.g., FIG. 3 ).
  • the database information may additionally or alternatively include entitlement information for authorizing the client's 40 entitlement to access the content (e.g., digital video content) identified by the content identifier.
  • the entitlement information may also be accessed from a remote server.
  • resource reservation information is accessed.
  • the resource reservation information may be accessed by the session manager 32 that has received, and accepted, a session setup request for a VOD session.
  • the resource reservation information may be related to reservation, or pre-reservation, of network resources to be used in providing the VOD session.
  • the network resources may be used for streaming the content to the client 40 during the VOD session.
  • the reserved or pre-reserved network resources may include network bandwidth, modulation equipment resources, and a digital channel over which the content for the VOD session is transmitted.
  • the channel to content map information, the entitlement database information, and the resource reservation information may be cached by the session manager 32 to provide a channel to content map information cache 72 , an entitlement information cache 74 , and a resource reservation information cache 76 .
  • Caching channel to content map information may involve implementing a channel to content map cache coherency algorithm for managing transfer of channel to content map information from the channel to content map 34 to the session manager, and caching the channel to content map information by the session manager.
  • caching entitlement information may involve implementing a cache coherency algorithm for managing transfer of entitlement information from the entitlement database 36 to the session manager, and caching the entitlement information by the session manager.
  • Each of the channel to content map information cache, the entitlement information cache, and the resource reservation information cache may reside within the memory 70 of the session manager (see, e.g., FIG. 3 ).
  • the channel to content map information cache 72 , the entitlement information cache 74 , and the resource reservation information cache 76 may be updated.
  • cached information held by the session manager 32 may be updated independently of a session setup request for the VOD session. That is to say, updates to cached information may occur as the result of events not directly related to the receipt by the session manager of a quick session setup request.
  • the session manager is described as caching certain information, other information related to session setup can be cached by the session manager.
  • Updating the channel to content map information cache 72 , the entitlement information cache 74 , and the resource reservation information cache 76 may be accomplished via various mechanisms.
  • information related to session setup may comprise database information on a remote server, and updating information held in cache by the session manager 32 may comprise periodically uploading the entire database, or a portion of the database, to the session manager.
  • updating information held in cache by the session manager may comprise uploading a sub-set of the database to the session manager, wherein the sub-set of the database may be determined by a service group of clients 40 previously serviced by the session manager in the establishment of VOD sessions.
  • database information may be uploaded from a database of a remote server in response to a pre-determined percentage change of the database from a prior reference point.
  • the prior reference point may comprise, as an example, a defined prior time point or condition.
  • the pre-determined percentage change of the database may be measured with respect to the database content at the time of a prior upload event.
  • a database may include, e.g., the channel to content map 34 or the entitlement database 36 .
  • the cached information may comprise resource reservation information in the session manager cache that is updated when a variable time interval has elapsed, for example, where the variable time interval is dependent on the availability of network resources.
  • the cached information may again include resource reservation information
  • updating the cached resource reservation information may result in re-allocating network resources between multiple session managers 32 on the basis of a network resource requirement of each of the session managers.
  • updating information held in cache by the session manager may involve changing cached resource reservation information such that network resources that were previously retained for one or more VOD sessions are revoked when a quantity of available network resources falls below a configurable minimum threshold.
  • updating information held in cache by the session manager 32 may occur according to whether a mismatch exists between information held at a remote server and that held in cache by the session manager.
  • An exemplary technique for updating cached information related to session setup e.g., channel to content map information, entitlement information, and resource reservation information
  • FIG. 8 An exemplary technique for updating cached information related to session setup is described hereinbelow with reference to FIG. 8 .
  • each of the above techniques or mechanisms for updating cached information related to VOD session setup is within the scope of the invention.
  • updating cached information related to session setup may be triggered when the session manager 32 first comes online.
  • updating of cached information related to session setup may be triggered after a constant time interval, or a variable time interval, has elapsed.
  • FIG. 8 is a flow diagram schematically representing steps involved in an exemplary technique for updating cached information related to session setup of a video on demand session, according to another embodiment of the invention.
  • the information to be updated may include information related to session setup, such as channel to content map information, entitlement information, and resource reservation information.
  • the cached information may be updated by uploading information to the session manager 32 from one or more remote servers, such as a channel to content map 34 database server, an entitlement database 36 server, or a resource manager 38 server, located remote from the session manager 32 (see, e.g., FIG. 2 ).
  • a digest, or summary, of the information held by one or more of the remote servers may be uploaded from the remote server(s) to the session manager 32 .
  • a remote server might compute a digest (e.g., an MD5 or SHA-1 hash) of its database, or a portion thereof, and send the digest to the session manager.
  • the digest received from the remote server may be used by the session manager to compare the information held by the remote server with the cached information held by the session manager.
  • updated information may be uploaded from the remote server to the session manager (block 408 ), whereby the information cached by the session manager is reconstituted from the authoritative copy in the remote server. Conversely, if there is no mismatch between the compared information (N), the information is not uploaded from the remote server and flow may proceed back to block 402 for reiteration.
  • Various mechanisms for updating and uploading cached information to the session manager are described hereinabove (e.g., with reference to FIG. 7 ).
  • FIG. 9 is a process flow diagram of a method for managing session setup for video on demand sessions.
  • information related to session setup is cached for a session manager.
  • the cached information is utilized to setup a video on demand session for a client in response to a session setup request that is received from the client
  • FIG. 10A is a schematic representation of an exemplary video server system 30 configured to implement VOD session setup in response to an avalanche of session setup requests, according to another aspect of the invention.
  • the video server system includes a session manager 32 , a channel to content map 34 , an entitlement database 36 , and a resource manager 38 , substantially as described hereinabove (e.g., with reference to FIG. 2 ).
  • the session manager manages transactions 1 - 4 involved in processing session setup requests. Transactions 1 - 4 may be executed essentially as described hereinabove (e.g., with reference to FIG. 2 and FIG. 6 ).
  • Transaction 5 is omitted from FIG. 10A for the sake of clarity.
  • each session setup request is individually processed according to transactions 1 - 4 .
  • a coalescing mode of operation of the session manager multiple session setup requests are batched or grouped into batches, and the session setup requests within each batch are processed collectively according to one or more of transactions 1 - 4 .
  • all of the session setup requests within a given batch may be concurrently processed according to transaction 1 .
  • the normal and coalescing modes of operation of the session manager are described in greater detail hereinbelow (see, e.g., FIG. 10B and FIGS. 11 A-B).
  • FIG. 10B is a schematic representation of an exemplary state machine 80 for the session manager 32 .
  • the state machine may be integrated with, or reside within, the session manager (see, e.g., FIG. 12 ).
  • the state machine controls transition(s) between the normal mode 82 of operation of the session manager and the coalescing mode 84 of operation of the session manager. Transitions between the normal and coalescing modes of the session manager are controlled by the state machine according to the session setup request arrival rate, wherein the session setup request arrival rate is a measure of the rate of arrival of session setup requests at the session manager.
  • the arrival of session setup requests may be monitored by a request monitor (see, e.g., FIG. 12 ).
  • the state machine 80 transitions from the normal mode 82 to the coalescing mode 84 when the session setup request arrival rate exceeds a transition boundary and transitions from the coalescing mode to the normal mode when the session setup request arrival rate is less than a transition boundary.
  • the state machine may be configured to control transitions between the normal and coalescing modes in response to more than one transition boundary.
  • the state machine may be configured to control transitions between the normal and coalescing modes in response to a normal transition boundary and a coalescing transition boundary (see, e.g., FIGS. 11 A-B).
  • the coalescing transition boundary is greater than the normal transition boundary (see, e.g., FIG. 11B ).
  • FIG. 11A is a graphic representation of transitions between the normal mode 82 and the coalescing mode 84 of the session manager 32 , as controlled by the state machine 80 , according to an aspect of the invention.
  • the ordinate/y axis represents the session setup request arrival rate (SSRAR).
  • SSRAR session setup request arrival rate
  • transitions between the normal mode 82 and the coalescing mode 84 may occur on the basis of a single threshold or boundary value of the session setup request arrival rate.
  • the single boundary value of the session setup request arrival rate may represent both the normal transition boundary and the coalescing transition boundary, i.e., in an embodiment, the normal transition boundary may have the same session setup request arrival rate value as the coalescing transition boundary.
  • the normal transition boundary/coalescing transition boundary threshold is represented in FIG. 11B by the broken line.
  • the session manager When the session manager first comes online, it may operate in normal mode.
  • the state machine and the session manager may be configured such that the normal mode is the default operation mode by which the session manager processes session setup requests.
  • the normal mode 82 is represented by the broken curve.
  • the state machine 80 transitions from the normal mode to the coalescing mode 84 , as shown by the solid curve in FIG. 11A .
  • operation of the session manager 32 continues in coalescing mode while the session setup request arrival rate lies above the normal transition boundary/coalescing transition boundary.
  • the state machine induces transition from the coalescing mode to the normal mode.
  • the session manager may continue to operate in the normal mode while the session setup request arrival rate remains below the normal transition boundary/coalescing transition boundary. If the session setup request arrival rate oscillates around the normal/coalescing transition boundary, the state machine will oscillate between the normal and coalescing modes. A high frequency of transitions between the normal mode and the coalescing mode is generally not a desirable operating characteristic.
  • the normal transition boundary value and/or the coalescing transition boundary value may be dynamically varied such that the frequency of transitions, between the normal mode 82 and the coalescing mode 84 , are controlled; for example, such that the transition frequency is decreased.
  • FIG. 11B is a graphic representation of transitions between the normal mode 82 and the coalescing mode 84 of the session manager 32 , according to another aspect of the invention.
  • the coalescing transition boundary represents a session setup request arrival rate value greater than the session setup request arrival rate value of the normal transition boundary. No units for the session setup request arrival rate are shown or implied in FIGS. 11 A-B.
  • the session manager 32 may initially operate in the normal mode, e.g., as a default operation mode.
  • the normal mode 82 is represented by the broken curve.
  • the session manager continues to operate in the normal mode.
  • the session manager transitions to coalescing mode 84 (as represented by the solid curve).
  • the session manager continues to operate in the coalescing mode even after the session setup request arrival rate falls below the coalescing transition boundary.
  • the session manager transitions to normal mode only after the session setup request arrival rate falls below the normal transition boundary. Thereafter, if the session setup request arrival rate again rises above the normal transition boundary, but remains below the coalescing transition boundary, operation continues in the normal mode.
  • the embodiment of FIG. 11B may show hysteretic mode transition, in which there may be a first lag period (abscissa/x axis) between the time when the session setup request arrival rate rises above the normal transition boundary and the time of transition from normal to coalescing mode; and a second lag period between the time when the session setup request arrival rate falls below the coalescing transition boundary and the time of transition from coalescing to normal mode.
  • a first lag period abcissa/x axis
  • FIG. 11C is a schematic representation of an exemplary state machine 80 , which is configured to induce hysteretic mode transitions between the normal mode and the coalescing mode as described with reference to FIG. 11B .
  • the state machine controls transitions from the normal mode 82 to the coalescing mode 84 when the session setup request arrival rate exceeds the coalescing transition boundary, and transitions from the coalescing mode to the normal mode when the session setup request arrival rate is less than the normal transition boundary.
  • the coalescing transition boundary is set at a higher session setup request arrival rate value than the session setup request arrival rate value of the normal transition boundary.
  • FIG. 12 is a block diagram showing a session manager 32 , which is configured for transitioning between the normal mode 82 and the coalescing mode 84 , according to an embodiment of the invention.
  • the session manager includes processor 60 , the state machine 80 , and a request monitor 90 .
  • the state machine may be configured for transitioning the session manager between the normal mode and the coalescing mode according to a of session setup request arrival rate received by the session manager, for example, as described with reference to FIG. 10B and FIGS. 11 A-B.
  • the request monitor 90 is in signal communication with the state machine 80 and is configured for monitoring the arrival of session setup requests at the session manager 32 .
  • the request monitor may “count” the session setup requests received by the session manager by observing the time of arrival of each session setup request at the session manager; and, based on the observed arrival time of each session setup request, the request monitor may estimate the session setup request arrival rate by a moving average estimator.
  • the request monitor may include a leaky bucket counter to determine whether the session setup request arrival rate has risen above or fallen below the normal transition boundary and the coalescing transition boundary. The leaky bucket counter may record an increment of one each time a session setup request arrives at the session manager, while the counter is periodically decremented by a fixed value.
  • the session manager 32 may further include a memory 70 ( FIG. 3 ) and one or more caches of information related to processing session setup requests, as shown and described hereinabove, e.g., with reference to FIG. 3 .
  • FIG. 13A is a flow diagram schematically representing steps involved in an exemplary method for processing session setup requests for video on demand sessions, according to another embodiment of the invention.
  • the session manager 32 operates in the normal mode 82 to process session setup requests received by the session manager from clients 40 .
  • the session manager processes each session setup request individually or separately.
  • the normal mode may be the default mode of operation for the session manager.
  • the session manager 32 may continue to operate in the normal mode 82 while the session setup request arrival rate remains below the normal transition boundary.
  • the session manager may continue to operate in the normal mode while the session setup request arrival rate is above the normal transition boundary but below the coalescing transition boundary, wherein the coalescing transition boundary is greater than the normal transition boundary.
  • the normal transition boundary and the coalescing transition boundary may be at the same level, i.e., the normal transition boundary and the coalescing transition boundary have the same session setup request arrival rate value.
  • the session manager 32 transitions from the normal mode 82 to the coalescing mode 84 when the session setup request arrival rate rises above the coalescing transition boundary.
  • the session manager combines, or batches, multiple session setup requests into a batch, wherein the session setup requests in each batch are processed collectively by the session manager.
  • the session setup requests may be batched categorically according to various request parameters or criteria.
  • a batch of session setup requests may be batched according to a request parameter such as: time of receipt of the session setup requests by the session manager, geographic location of clients 40 sending the session setup requests, the nature of digital video content being requested in the session setup requests.
  • the coalescing mode may include forming a first batch of session setup requests, and thereafter, forming at least a second batch of session setup requests before the processing of the first batch of session setup requests has been initiated.
  • the session setup requests received by the session manager 32 may be batched according to a subscriber priority level of the clients sending the session setup requests.
  • clients may be associated with various subscriber priority levels, such as gold, silver, and bronze, according to their subscription rates.
  • the session setup requests received from higher priority clients, e.g., gold may be batched preferentially (e.g., sooner) than session setup requests received from lower priority clients, e.g., bronze.
  • FIG. 13B is a flow diagram schematically representing steps involved in an exemplary method for managing session setup requests by a session manager 32 exhibiting hysteretic mode transition between the normal mode 82 and the coalescing mode 84 , according to another embodiment of the invention.
  • session setup requests received by the session manager are monitored.
  • the session setup requests received by the session manager may be monitored by a request monitor 90 .
  • the session setup requests received by the session manager may be monitored by observing the time of arrival of each session setup request.
  • each of the session setup requests received by the session manager may be counted, e.g., using a leaky bucket counter which is incremented by one when each session setup request is received by the session manager.
  • the request monitor may be integral with the session manager (see, e.g., FIG. 12 ).
  • the session setup request arrival rate at the session manager 32 may be determined.
  • the session setup request arrival rate may be determined by the request monitor 90 .
  • the session setup requests received by the session manager are monitored by observing the time of arrival of each session setup request
  • the session setup request arrival rate may be determined using a moving average estimator.
  • the session setup request arrival rate may be estimated using a leaky bucket counter wherein the counter is periodically decremented by a fixed value of counted session setup requests.
  • the session manager 32 is operated in the normal mode 82 while the session setup request arrival rate remains below the coalescing transition boundary. In some embodiments, operation in the normal mode may continue even though the session setup request arrival rate may be above the normal transition boundary (see, e.g., FIG. 11B ).
  • the mode of operation of the session manager transitions to the coalescing mode 84 when the session setup request arrival rate is above the coalescing transition boundary.
  • operation in the coalescing mode 84 continues after the session setup request arrival rate has fallen below the coalescing transition boundary provided that the session setup request arrival rate is above the normal transition boundary.
  • FIG. 14 is a flow diagram schematically representing steps involved in an exemplary method for operating a session manager 32 in normal mode 82 or coalescing mode 84 , according to another embodiment of the invention.
  • the session manager operates in the normal mode.
  • the normal mode in which each session setup request received by the session manager is processed separately, may be the default operation mode of the session manager. For example, the normal mode may be used when the session manager first comes online.
  • the session setup request arrival rate may be estimated, for example, as described hereinabove with respect to FIG. 13B , block 604 .
  • the session manager is transitioned to the coalescing mode (at block 708 ). Conversely, if the estimated session setup request arrival rate is not above the coalescing transition boundary (N), operation may continue in normal mode (block 702 ).
  • the optional task of dynamically varying the coalescing transition boundary and/or the normal transition boundary may be performed. Thereafter, the decision at block 706 may be reiterated in light of a revised coalescing transition boundary value.
  • one or both of the coalescing transition boundary and the normal transition boundary may be dynamically varied in order to control the frequency of transitions between the normal mode 82 and the coalescing mode 84 .
  • the coalescing transition boundary and/or the normal transition boundary may be dynamically varied at anytime during operation of the session manager 32 in either the normal mode or the coalescing mode.
  • At least one of the coalescing transition boundary and the normal transition boundary may be dynamically varied, at block 710 , according to an availability of network resources for VOD sessions.
  • at least one of the coalescing transition boundary and the normal transition boundary may be dynamically varied according to a subscriber volume to a real-time broadcast/multicast of digital video content.
  • transition to coalescing mode triggers an action other than, or in addition to, batch processing of session setup requests.
  • the action may be any action that enables an avalanche of session setup requests to be more efficiently and/or quickly processed.
  • the transition to coalescing mode may trigger accessing other processing resources to process the session setup requests.
  • the other processing resources could come from the local stream server or some other computer device that is in signal communication with the session manager.
  • memory 70 may include processor-executable instructions that may be executed by processor 60 to perform tasks, e.g., as described with reference to FIGS. 13 A-B, and FIG. 14 .
  • the instructions may reside in various types of computer readable media. Accordingly, another aspect of the present invention concerns a programmed product, comprising computer readable media tangibly embodying a program of machine-readable instructions executable by processor 60 to perform the various techniques and methods in accordance with embodiments of the present invention.
  • the computer readable media may comprise, for example, RAM, or a magnetic data storage diskette.
  • the processor-executable instructions may also be stored on a variety of machine readable storage media, such as a DASD storage (e.g., a conventional “hard drive” or a RAID array), magnetic tape, electronic read-only memory, an optical storage device (e.g., CD ROM, WORM, DVD, digital optical tape), paper “punch” cards, or other suitable computer readable media, including transmission media such as digital communication links.
  • a DASD storage e.g., a conventional “hard drive” or a RAID array
  • magnetic tape e.g., magnetic tape
  • electronic read-only memory e.g., an optical storage device
  • an optical storage device e.g., CD ROM, WORM, DVD, digital optical tape
  • paper “punch” cards e.g., paper “punch” cards
  • the machine-readable instructions may comprise lines of compiled C, C++, or similar language code

Abstract

A technique for managing session setup requests involves operating in a normal mode when the arrival rate of session setup requests is below a normal transition boundary, and transitioning from the normal mode to a coalescing mode when the arrival rate of session setup requests rises above a coalescing transition boundary. In the normal mode, the session manager processes each of the session setup requests individually; whereas in the coalescing mode, multiple session setup requests are batched and processed collectively. The session manager may be transitioned from the normal mode to the coalescing mode when the session setup request arrival rate rises above a coalescing transition boundary, and the session manager may be transitioned from the coalescing mode to the normal mode when the session setup request arrival rate falls below a normal transition boundary.

Description

    CROSS-REFERENCE TO RELATED APPLICATION
  • This application is entitled to the benefit of provisional U.S. Patent Application Ser. No. 60/655,328, filed Feb. 23, 2005, the disclosure of which is incorporated by reference herein in its entirety.
  • This application is related to the co-filed application entitled “QUICK SESSION SETUP FOR VIDEO ON DEMAND WITH INFORMATION CACHING” having Application Ser. No. ______, filed Feb. 23, 2006.
  • FIELD OF THE INVENTION
  • The invention relates generally to interactive video services via digital video networks, and more particularly to systems and methods for processing requests for video on demand sessions.
  • BACKGROUND OF THE INVENTION
  • Providers of television-based entertainment are attempting to expand the range of services that they offer to subscribers in order to increase revenues. In addition to television content such as that found on and conventional cable networks, some providers also offer interactive video services, such as video on demand (VOD). The provision of interactive video services is stimulating the further development of digital network technology, which in turn will enable providers to increase the number and kinds of video services offered to subscribers.
  • VOD allows users to select and watch video content over a network as part of an interactive television experience. VOD systems support “streaming,” in which content is available to the subscriber while the video streams over the network, and/or “downloading,” in which the content is downloaded to a subscriber device, such as a set-top box, before the content is available to the subscriber.
  • In general, streaming systems need greater network bandwidth and thus more network resources. It is possible to provide streaming VOD services over a wide area network (WAN) to service a fairly large community or geographic area, however, the responsiveness to the subscriber may be reduced to unacceptable levels. For example, the establishment of a VOD session using conventional techniques typically requires 20 or more messages between VOD elements, once a subscriber signals his/her intention to establish a video on demand session. This in turn can induce session setup delays of a second or more.
  • Furthermore, in certain situations many clients may request the establishment of a VOD session at approximately the same time, which results in a high volume or “avalanche” of session setup requests. A burst or sudden increase in the volume of session setup requests can overload equipment involved in session setup, thereby delaying the creation of some of the requested VOD sessions. If the burst in the volume of session setup requests is prolonged, additional requests will arrive while prior requests are still queued. This creates a backup of unprocessed session setup requests. For some VOD applications, such as network personal video recorder (NPVR), delay in processing session setup requests is unacceptable.
  • In light of the above, what is needed is a system and method for managing the processing of session setup requests.
  • SUMMARY OF THE INVENTION
  • A technique for managing session setup requests involves operating in a normal mode when the arrival rate of session setup requests is below a normal transition boundary, and transitioning from the normal mode to a coalescing mode when the arrival rate of session setup requests rises above a coalescing transition boundary. In the normal mode, the session manager processes each of the session setup requests individually; whereas in the coalescing mode, multiple session setup requests are batched and processed collectively. In an embodiment, the session manager is transitioned from the normal mode to the coalescing mode when the session setup request arrival rate rises above a coalescing transition boundary and the session manager is transitioned from the coalescing mode to the normal mode when the session setup request arrival rate falls below a normal transition boundary.
  • By processing session setup requests in batches while in the coalescing mode, the processing of avalanches or bursts of session setup requests may be streamlined, thereby preventing a backup in processing session setup requests and decreasing delays in providing VOD sessions to clients.
  • Other aspects and advantages of the invention will become apparent from the following detailed description, taken in conjunction with the accompanying drawings, illustrating by way of example the principles of the invention.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a schematic representation of an exemplary video on demand system architecture, according to one aspect of the invention.
  • FIG. 2 is a schematic representation of an exemplary video server system for quick session setup of a video on demand session, according to the invention.
  • FIG. 3 is a block diagram of a video server system, having cached database and network resource information, for quick session setup of a video on demand session, according to an embodiment of the invention.
  • FIG. 4 is a block diagram showing a session manager for quick session setup of a video on demand session, the session manager having internal database and resource manager functionality, according to another embodiment of the invention.
  • FIG. 5 is a flow diagram schematically representing steps involved in an exemplary method for setting up a video on demand session, according to another embodiment of the invention.
  • FIG. 6 is a flow diagram schematically representing an exemplary process for providing a video on demand session to a client, according to another embodiment of the invention.
  • FIG. 7 is a flow diagram schematically representing steps involved in an exemplary method for caching database and network resource information for quick session setup of a video on demand session, according to another embodiment of the invention.
  • FIG. 8 is a flow diagram schematically representing steps involved in an exemplary method for updating cached database information for quick session setup of a video on demand session, according to another embodiment of the invention.
  • FIG. 9 is a process flow diagram of a method for managing session setup for video on demand sessions, according to another aspect of the invention.
  • FIG. 10A is a schematic representation of an exemplary video on demand system architecture showing a plurality of session setup requests received by the session manager, according to another aspect of the invention.
  • FIG. 10B is a schematic representation of an exemplary session manager state machine for a video server system, showing transitions between normal and coalescing states of the session manager, according to another aspect of the invention.
  • FIG. 11A is a graphic representation of transitions between a normal mode and a coalescing mode of the session manager, according to another aspect of the invention.
  • FIG. 11B is a graphic representation of transitions between normal and coalescing modes of the session manager with hysteretic mode transition, according to another aspect of the invention.
  • FIG. 11C is a schematic representation of an exemplary session manager state machine, according to another embodiment of the invention.
  • FIG. 12 is a block diagram showing a session manager having a state machine for transitioning the session manager between normal and coalescing states, according to another embodiment of the invention.
  • FIG. 13A is a flow diagram schematically representing steps involved in an exemplary method for managing session setup requests for video on demand sessions, according to another embodiment of the invention.
  • FIG. 13B is a flow diagram schematically representing steps involved in an exemplary method for managing session setup requests by a session manager operable in normal and coalescing modes with hysteretic mode transition, according to another embodiment of the invention.
  • FIG. 14 is a flow diagram schematically representing steps involved in an exemplary method for operating a session manager in normal mode or coalescing mode, according to another embodiment of the invention.
  • Throughout the description, similar reference numbers may be used to identify similar elements.
  • DETAILED DESCRIPTION OF THE INVENTION
  • According to one aspect of the invention, and in contrast to the prior art, session setup requests from multiple clients received by the session manager are monitored and the session manager may transition between different operational modes according to the session setup request arrival rate. When the session setup request arrival rate attains a value in relation to one or more threshold or boundary levels, the mode of operation of the session manager may be transitioned by a state machine between a normal mode and a coalescing mode. In the coalescing mode, multiple session setup requests are coalesced into a batch, and the session setup requests within a given batch are processed collectively as a group, thereby streamlining the processing of session setup requests and preventing delays in VOD session setup during periods of high session setup request arrival rate. The request from the client for session setup is received directly by a session manager, and the session manager may cache information related to session setup.
  • The term “video” as used herein may optionally include audio and/or associated content control information. The term “content” as used herein may be used to refer to digital video content, which may be delivered to a client over a network. A “network” for distributing digital video content may include a packet-based distribution network, wherein the packet-based distribution network may utilize, for example, IP, Ethernet, ATM, or a combination thereof to communicate the digital video content to the client. A “network” for distributing digital video content may also include a hybrid fiber coaxial (HFC) network, as is well known in the field of cable television distribution.
  • FIG. 1 is a schematic representation of an exemplary video on demand system architecture 10, according to one aspect of the invention. The video on demand system may include a distribution network 20 that is capable of both broadcast/multicast and video on demand communications. The distribution network may be implemented with multiple network elements (not separately shown in FIG. 1) for facilitating broadcast/multicast and video on demand communications, as is well known in the art.
  • As illustrated in FIG. 1, a video server system 30 is coupled to the distribution network 20. The video server system may provide digital video content to multiple clients 40 utilizing a broadcast/multicast scheme over the distribution network. Further, each of the clients may be capable of receiving digital video content for multiple channels from the video server system. Each of the channels may be identified by a corresponding channel number.
  • In the embodiment of FIG. 1, the video server system 30 includes a stream server 50 for streaming data streams to clients 40 during broadcast/multicast or a VOD session. The video server system also includes a session manager 32 for managing set up and execution of a VOD session. Typically, the session manager is integrated with, or internal to, the stream server. In other embodiments, the session manager may be a separate component (i.e., a separate server). The session manager is configured to provide for quick session setup of a VOD session in response to a session setup request from the client, as is described in more detail hereinbelow.
  • FIG. 2 is a schematic representation of an exemplary video server system 30 configured to implement quick session setup for a video on demand session, according to one aspect of the invention. The video server system includes a session manager 32, a channel to content map 34, an entitlement database 36, and a resource manager 38. The session manager manages transactions involved in session setup. The video on demand session may involve, for example, a NPVR session.
  • The transactions involved in session setup begin when a session setup request is sent from the client 40 and received by the session manager 32. In an embodiment, the session setup request includes a channel number, which has been inserted into the session setup request by the client. The transactions involved in session setup are described fully hereinbelow, e.g., with reference to FIGS. 2 and 6.
  • The channel to content map 34 is in signal communication with the session manager 32. The channel to content map includes a real-time database of associations between the channel numbers and content identifiers, wherein the channel to content map associates each channel number with a different content identifier, and the content identifiers identify video content related to a requested VOD session. In an embodiment, the channel to content map includes content identifier to content source information that indicates the location of the source of the content identified by the content identifier. The source of the content may be, for example, a point within the video server system at which content is ingested into the video server system or a server within the video server system at which the content is stored. Although the channel to content map is shown in FIG. 2 as being separate from the session manager, in an embodiment, the channel to content map may be integrated with the session manager (see, e.g., FIG. 4), with the stream server 50 (FIG. 1), or with other components of VOD infrastructure. Each of these configurations for the channel to content map is within the scope of the invention. In an embodiment, the channel to content map is located on a server that is remote to the server on which the session manager is located. In this case, the session manager communicates with the channel to content map utilizing a network messaging protocol.
  • With further reference to FIG. 2, the entitlement database 36 is in signal communication with the session manager 32. The entitlement database includes a database of entitlement information that is used to authorize entitlement of a particular client 40 to access the video content related to a requested VOD session. Typically, the entitlement database may be external to the session manager; for example, the entitlement database may be implemented on a separate or remote server. When the entitlement database is located on a separate server or remote server, the session manager communicates with the entitlement database utilizing a network messaging protocol. Alternatively, the entitlement database may be implemented locally within the session manager (see, e.g., FIG. 4).
  • The resource manager 38 is in signal communication with the session manager 32, and includes resource reservation information, for a requested VOD session, which is provided to the session manager. The resource reservation information may be related to reservation, or pre-reservation, of network resources (see, for example, FIG. 6, steps 216 a, and 216 b, respectively). In an embodiment, the resource manager is located on a server that is remote to the server on which the session manager is located. In this case, the session manager communicates with the resource manager utilizing a network messaging protocol.
  • It is to be understood that, as used herein in the context of network resources, the terms “reservation” and “reserving” refer to the retention or retaining of network resources for a single VOD session, and in particular, where the session manager 32 contacts the resource manager 38 separately for each session setup request received by the session manager. As used herein in the context of network resources, the terms “pre-reservation” and “pre-reserving” refer to the retention or retaining of network resources for one or more subsequent VOD sessions, wherein the session manager does not need to contact the resource manager separately for each session setup request received by the session manager.
  • It is to be further understood that, as used herein in the context of network resources, the terms “retention” and “retaining” may be used to refer generically to include both the “pre-reservation” and “reservation” of network resources, as defined hereinabove, for one or more VOD sessions. The phrase “resource reservation information” may be used herein to refer generically to information associated with either the “pre-reservation” or “reservation” of network resources. Similarly, the phrase “resource reservation request” as used herein refers generically to a request for “resource reservation information” associated with either the “pre-reservation” or “reservation” of network resources.
  • Typically, the resource manager 38 function may be implemented in components other than the session manager 32. However, in an embodiment of the invention, the resource manager function may be implemented internally within the session manager (see, e.g., FIG. 4). The session manager is still further in communication with the client 40. The stream server 50 (see, FIG. 1) is omitted from FIG. 2 for the sake of clarity.
  • Transactions between the session manager 32 and each of the client 40, the channel to content map 34, the entitlement database 36, and the resource manager 38, which are involved in quick (VOD) session setup according to the invention, will now be described with further reference to FIG. 2. A subscriber to digital video content provided by the VOD system architecture 10 (FIG. 1) may instruct the client 40 to establish a VOD session by sending a session setup request to the session manager, whereby the session manager receives the session setup request directly from the client, as indicated by transaction 1. As an example, a subscriber may instruct the client 40 to establish the VOD session via a client component, such as a set-top box (not shown).
  • Although only a single session manager 32 is shown in FIG. 2, it is to be understood that the video server system 30 may comprise a plurality of session managers. In an embodiment of the invention, the session setup request may be unicast to a specific session manager for processing of the session setup request. In an alternative embodiment, the session setup request may be broadcast/multicast to a plurality of the session managers, one of which accepts the session setup request for processing.
  • In an embodiment, each VOD session is associated with broadcast/multicast digital video content that the client 40 receives on one of a plurality of broadcast/multicast channels, wherein each of the plurality of broadcast/multicast channels is identified by a channel number. The session setup request received by the session manager 32 includes the channel number.
  • After the session manager 32 receives the session setup request from the client 40, the session manager accesses the channel to content map 34 in transaction 2 of FIG. 2. As described hereinabove, the channel to content map comprises a real-time database of associations between channel numbers and content identifiers, wherein the content identifiers identify content related to the requested VOD session. The session manager consults the channel to content map, which translates the channel number in the session setup request into a content identifier, wherein the content identifier identifies the underlying content being broadcast/multicast on that channel number.
  • With further reference to FIG. 2, transaction 2 may take one of a plurality of different forms, according to various embodiments of the invention. As an example only, and not to limit the invention in any way, transaction 2 may be executed each time the session manager 32 receives a quick session setup request. In an embodiment, transaction 2 involves an exchange of messages between the channel to content map and the session manager. In an alternative embodiment of the invention, the session manager may cache channel to content map information. In the latter situation, transaction 2 may represent protocol messaging activity that implements a channel to content map cache coherency algorithm. The channel to content map cache coherency algorithm manages the transfer of information between the channel to content map 34 and the session manager, wherein the channel to content map may be remote from the session manager. Caching of channel to content map information for the purpose of quick session setup of a VOD session according to an aspect of the invention, is described fully hereinbelow (see, for example, FIG. 3 and FIG. 7).
  • Once the session manager 32 translates the channel number of the session setup request into a content identifier, the session manager sends an entitlement request to the entitlement database 36 to determine whether the client 40 is authorized to access the content identified by the content identifier, as indicated by transaction 3. As a non-limiting example, transaction 3 may include authorizing the client's entitlement to execute various NPVR functions on the content identified by the content identifier. Such NPVR functions may include, for example, pause, fast forward, slow forward, fast/slow rewind, and jump to frame.
  • The entitlement request from the session manager 32 to the entitlement database 36 may include the channel number, the content identifier, or both the channel number and the content identifier, since entitlement decisions authorizing the client 40 to access the identified content may depend on either one or both of the channel number and the content identifier.
  • With further reference to FIG. 2, transaction 3 may take one of a plurality of different forms, according to various embodiments of the invention. As an example only, and not to limit the invention in any way, transaction 3 may require the session manager 32 to send an entitlement request message to the entitlement database 36 on each occasion that the session manager receives a quick session setup request. In an alternative embodiment of the invention, the session manager may cache entitlement information. In the latter situation, transaction 3 represents the protocol messaging activity that implements an entitlement cache coherency algorithm for caching entitlement information by the session manager. The entitlement cache coherency algorithm manages the transfer of information between the entitlement database and the session manager, wherein the entitlement database may be remote from the session manager. Caching of entitlement information for the purpose of quick session setup of a VOD session according to an aspect of the invention, is described fully hereinbelow (see, for example, FIG. 3 and FIG. 7).
  • If the client 40 is entitled to access the identified content for the requested VOD session, the session manager 32 may retain network resources managed by the session manager itself for the VOD session. Thereafter, via transaction 4 (FIG. 2), the session manager contacts the resource manager 38 to retain any additional network resources that may be required for the VOD session. As non-limiting examples, the resource manager may reserve or pre-reserve network bandwidth, modulation equipment resources, and a digital channel over which the content for the VOD session is transmitted. The resource manager function may typically be implemented externally to the session manager, i.e., in equipment other than the session manager. However, in a accordance with the invention, the resource manager function may be implemented by the session manager.
  • In embodiments wherein the resource manager 38 function is implemented externally to the session manager 32, the session manager may contact the resource manager to reserve network resources on each occasion that the session manger receives a quick session setup request. Alternatively, the session manager may pre-reserve network resources for one or more subsequent VOD sessions. In either situation, the session manager exchanges messages with the resource manager (transaction 4) for retention (i.e., reservation or pre-reservation) of network resources for the VOD session.
  • Differences in the execution of transaction 4 for the two situations described above are as follows. When the session manager 32 contacts the resource manager 38 on separate occasions for each quick session setup request, transaction 4 represents a request for the resources required for a single VOD session. Whereas, when the session manager uses pre-reservation of network resources, transaction 4 represents the exchange of information necessary to pre-reserve resources for one or more subsequent VOD sessions.
  • Furthermore, in the case of pre-reservation of network resources, transaction 4 may further represent the exchange of information necessary to inform the resource manager 38 when each VOD session terminates. By informing the resource manager when each VOD session terminates, network resources may be re-allocated and used for other VOD sessions to be provided by the video server system 30.
  • With still further reference to FIG. 2, once the session manager 32 has retained all necessary network resources for the VOD session, the session manager assigns a video on demand session identifier (or “session identifier”) to the data stream that will use the retained network resources, and the session manager returns the information related to session setup to the client 40 in transaction 5. Thereafter, the VOD session may be established.
  • FIG. 3 is a block diagram showing an exemplary embodiment of a video server system 30 for quick session setup of a video on demand session, according to an embodiment of the invention. The video server system includes a session manager 32 in communication with each of the channel to content map 34, the entitlement database 36, and the resource manager 38, substantially as described with reference to FIG. 2. The session manager is further in communication with the client 40 for receiving a session setup request from the client. One or more of the channel to content map, the entitlement database, and the resource manager may be remote from, or external to, the session manager.
  • With further reference to FIG. 3, the session manager 32 further comprises a processor 60 and a memory 70. The memory may comprise cached information related to session setup by the session manager. For example, the memory may comprise one or more of the following: a channel to content map information cache 72, an entitlement information cache 74, and a resource reservation information cache 76. The channel to content map information cache, the entitlement information cache, and the resource reservation information cache may include cached channel to content map information, cached entitlement information, and cached resource reservation information, respectively. The session manager may further include a cache manager 78 for managing at least one of the channel to content map information cache, the entitlement information cache, and the resource reservation information cache. Although the session manager is described as caching certain information, other information related to session setup can be cached by the session manager.
  • Each of the cached channel to content map information, the cached entitlement information, and the cached resource reservation information may be processed substantially as described elsewhere herein, e.g., with reference to FIG. 2 and FIG. 6. However, in the embodiment depicted in FIG. 3, the channel to content map information, the entitlement information, and cached resource reservation information held in cache may be accessed more rapidly, thereby decreasing the time required by the session manager 32 to set up a VOD session. According to one aspect of the invention, the time required by the session manager to set up a VOD session may be less than 1 second.
  • FIG. 4 is a block diagram showing a session manager 32 for quick session setup of a video on demand session, according to another embodiment of the invention. The session manager comprises a channel to content map 34, an entitlement database 36, and a resource manager 38, wherein each of the channel to content map, the entitlement database, and the resource manager are integrated with, or reside within, the session manager. The functionality of the session manager, the channel to content map, the entitlement database, and the resource manager in the embodiment of FIG. 4 may be substantially as described hereinabove, e.g., with respect to FIG. 2. The session manager is shown in relation to clients 40, while the distribution network 20 is omitted from FIG. 4 for the sake of clarity.
  • Various configurations intermediate between those shown in FIGS. 2 and 4 are also contemplated under the invention. As non-limiting examples, a video server system 30 according to one exemplary embodiment of the invention may comprise: 1) a session manager 32 having an internal channel to content map 34, a remote entitlement database 36, and an internal resource manager 38; or 2) a session manager having a remote channel to content map, an internal entitlement database, and an internal resource manager. Other configurations for the video server system and session manager are also within the scope of the invention, as may be apparent to the skilled artisan.
  • FIG. 5 is a flow diagram schematically representing steps involved in an exemplary method for setting up a video on demand session requested by a client, according to another embodiment of the invention. At block 102, a quick session setup request for establishing a VOD session is sent from the client 40, wherein the session setup request may be received by the session manager 32. According to one aspect of the invention, and in contrast to the prior art, the quick session setup request received by the session manager is received directly from the client. As noted hereinabove, the session setup request received by the session manager includes a channel number associated with the VOD session, wherein the channel number associated with the VOD session is inserted in the quick session setup request by the client.
  • At block 104 (FIG. 5) the channel number is translated into a content identifier. The content identifier identifies content related to the VOD session, as described hereinabove (e.g., with respect to FIG. 2). Translation of the channel number into the content identifier may be implemented by the channel to content map 34 (see, e.g., FIGS. 2-4). Thereafter, at block 106 the client's 40 entitlement to access the content identified by the content identifier may be authorized. Authorization of the client's entitlement to access the identified content may be executed by the entitlement database 36, for example, as described hereinabove with respect to transaction 3 of FIG. 2. At block 108, network resources for the VOD session may be retained for the VOD session. Retention of the network resources for the VOD session may be implemented by the resource manager 38, substantially as described hereinabove (see, e.g., FIGS. 2-4).
  • According to one aspect of the invention, all of the tasks described with reference to blocks 102-108 of FIG. 5 may be completed within a time period of less than one second. Thus, this technique enables setting up a VOD session with only a sub-second delay once a subscriber initiates a session setup request via the client 40.
  • FIG. 6 is a flow diagram schematically representing tasks involved in an exemplary process for providing a video on demand session to a client, according to another embodiment of the invention. At block 202 a session setup request may be initiated by a client 40, e.g., via a client device, such as a set-top box (STB). The session setup request includes a channel number inserted by the client. At block 204, the session setup request is received by at least one session manager 32. At block 206, the session setup request is accepted for processing by one of the session managers. At block 208 the session manager 32 accesses channel to content map information via the channel to content map 34. The channel to content map comprises a real-time database which associates each of a plurality of the channel numbers with a different content identifier. In an embodiment, the channel to content map information, or a portion thereof, may reside within the session manager, e.g., as cached channel to content map information. At block 210, the channel number in the session setup request is translated into a content identifier.
  • At block 212 the session manager 32 accesses entitlement information. Accessing the entitlement information may comprise sending an authorization request, via the session manager, to the entitlement database 38, wherein the authorization request comprises at least one of the channel number and the content identifier. In an embodiment, accessing the entitlement information may comprise sending the authorization request to the entitlement database in response to each of a plurality of the session setup requests received by the session manager. In an embodiment, the entitlement information, or a portion thereof, may reside within the session manager, e.g., as cached entitlement information.
  • At block 214, the client's 40 authorization to access identified content for the VOD session is determined. Determination of the client's authorization to access the identified content may be based on the channel number, the content identifier, or both the channel number and the content identifier.
  • At blocks 216 a/216 b the session setup procedure may diverge according to how the resource manager 32 manages the network resources required for providing the VOD session to the client 40. At block 216 a, the network resources for providing the VOD session to the client have been pre-reserved for one or more subsequent VOD sessions and the pre-reserved resources are utilized in the session setup process. At block 216 b, in contrast, the network resources for providing the VOD session to the client are reserved separately for each VOD session. As described hereinabove with reference to FIG. 2, when the network resources for providing the VOD session to the client are reserved separately for each VOD session, the session manager contacts the resource manager 38 on each occasion that the session manager receives a session setup request from a client.
  • Blocks 218 a/220 a and 218 b/220 b of the process of FIG. 6 involve similar steps, wherein at blocks 218 a/218 b a VOD session identifier is assigned to a data stream for the VOD session; and at blocks 220 a /220 b the data stream is transmitted to the client 40 via the network resources pre-reserved or reserved, at block 216 a or block 216 b, respectively. At block 222, the VOD session is provided to the client 40. Thereafter, in the case of the “a” branch of the flow diagram of FIG. 6, the resource manager 38 is informed by the session manager 32 when each VOD session is terminated (block 224). By informing the resource manager when each VOD session terminates, network resources may be re-allocated to subsequent VOD sessions.
  • To minimize the delay in setting up VOD sessions, the session manager 32 may cache resources or information managed by remote servers, such as those managing channel to content map 34, entitlement database 36, and resource manager 38 functionality. By implementing such resource and information caching, significant improvements in the efficiency and responsiveness of the session manager can be made when processing session setup requests.
  • FIG. 7 is a flow diagram schematically representing tasks involved in an exemplary technique for caching database information and network resource information for quick session setup of a video on demand session, according to another embodiment of the invention. At block 302, database information is accessed. The database information may be accessed by the session manager 32 that has received a session setup request for the VOD session. The database information may include channel to content map information for translating a channel number within the session setup request to a content identifier. The channel to content map information may be accessed from a remote server (see, e.g., FIG. 3). The database information may additionally or alternatively include entitlement information for authorizing the client's 40 entitlement to access the content (e.g., digital video content) identified by the content identifier. The entitlement information may also be accessed from a remote server.
  • At block 304, resource reservation information is accessed. The resource reservation information may be accessed by the session manager 32 that has received, and accepted, a session setup request for a VOD session. The resource reservation information may be related to reservation, or pre-reservation, of network resources to be used in providing the VOD session. The network resources may be used for streaming the content to the client 40 during the VOD session. As an example, the reserved or pre-reserved network resources may include network bandwidth, modulation equipment resources, and a digital channel over which the content for the VOD session is transmitted.
  • At block 306 the channel to content map information, the entitlement database information, and the resource reservation information, may be cached by the session manager 32 to provide a channel to content map information cache 72, an entitlement information cache 74, and a resource reservation information cache 76. Caching channel to content map information may involve implementing a channel to content map cache coherency algorithm for managing transfer of channel to content map information from the channel to content map 34 to the session manager, and caching the channel to content map information by the session manager. Similarly, caching entitlement information may involve implementing a cache coherency algorithm for managing transfer of entitlement information from the entitlement database 36 to the session manager, and caching the entitlement information by the session manager. Each of the channel to content map information cache, the entitlement information cache, and the resource reservation information cache may reside within the memory 70 of the session manager (see, e.g., FIG. 3).
  • At block 308, the channel to content map information cache 72, the entitlement information cache 74, and the resource reservation information cache 76 may be updated. According to one aspect of the invention, cached information held by the session manager 32 may be updated independently of a session setup request for the VOD session. That is to say, updates to cached information may occur as the result of events not directly related to the receipt by the session manager of a quick session setup request. Additionally, although the session manager is described as caching certain information, other information related to session setup can be cached by the session manager.
  • Updating the channel to content map information cache 72, the entitlement information cache 74, and the resource reservation information cache 76 may be accomplished via various mechanisms. For example, information related to session setup may comprise database information on a remote server, and updating information held in cache by the session manager 32 may comprise periodically uploading the entire database, or a portion of the database, to the session manager. As a non-limiting example, updating information held in cache by the session manager may comprise uploading a sub-set of the database to the session manager, wherein the sub-set of the database may be determined by a service group of clients 40 previously serviced by the session manager in the establishment of VOD sessions.
  • According to another example, database information may be uploaded from a database of a remote server in response to a pre-determined percentage change of the database from a prior reference point. The prior reference point may comprise, as an example, a defined prior time point or condition. As an example, the pre-determined percentage change of the database may be measured with respect to the database content at the time of a prior upload event. Such a database may include, e.g., the channel to content map 34 or the entitlement database 36.
  • As a further example, the cached information may comprise resource reservation information in the session manager cache that is updated when a variable time interval has elapsed, for example, where the variable time interval is dependent on the availability of network resources. According to still another example, wherein the cached information may again include resource reservation information, updating the cached resource reservation information may result in re-allocating network resources between multiple session managers 32 on the basis of a network resource requirement of each of the session managers. In yet another example, updating information held in cache by the session manager may involve changing cached resource reservation information such that network resources that were previously retained for one or more VOD sessions are revoked when a quantity of available network resources falls below a configurable minimum threshold.
  • According to yet another aspect of the invention, updating information held in cache by the session manager 32 may occur according to whether a mismatch exists between information held at a remote server and that held in cache by the session manager. An exemplary technique for updating cached information related to session setup (e.g., channel to content map information, entitlement information, and resource reservation information) is described hereinbelow with reference to FIG. 8. Naturally, each of the above techniques or mechanisms for updating cached information related to VOD session setup is within the scope of the invention.
  • Various mechanisms or methods for triggering the update of cached information are also possible in accordance with the invention. As a non-limiting example, updating cached information related to session setup may be triggered when the session manager 32 first comes online. In another non-limiting example, updating of cached information related to session setup may be triggered after a constant time interval, or a variable time interval, has elapsed.
  • FIG. 8 is a flow diagram schematically representing steps involved in an exemplary technique for updating cached information related to session setup of a video on demand session, according to another embodiment of the invention. The information to be updated may include information related to session setup, such as channel to content map information, entitlement information, and resource reservation information. The cached information may be updated by uploading information to the session manager 32 from one or more remote servers, such as a channel to content map 34 database server, an entitlement database 36 server, or a resource manager 38 server, located remote from the session manager 32 (see, e.g., FIG. 2).
  • With further reference to FIG. 8, at block 402 a digest, or summary, of the information held by one or more of the remote servers may be uploaded from the remote server(s) to the session manager 32. For example, a remote server might compute a digest (e.g., an MD5 or SHA-1 hash) of its database, or a portion thereof, and send the digest to the session manager. At block 404, the digest received from the remote server may be used by the session manager to compare the information held by the remote server with the cached information held by the session manager. At decision block 406, if a mismatch exists between the compared information (Y), updated information may be uploaded from the remote server to the session manager (block 408), whereby the information cached by the session manager is reconstituted from the authoritative copy in the remote server. Conversely, if there is no mismatch between the compared information (N), the information is not uploaded from the remote server and flow may proceed back to block 402 for reiteration. Various mechanisms for updating and uploading cached information to the session manager are described hereinabove (e.g., with reference to FIG. 7).
  • FIG. 9 is a process flow diagram of a method for managing session setup for video on demand sessions. At block 900, information related to session setup is cached for a session manager. At block 902, the cached information is utilized to setup a video on demand session for a client in response to a session setup request that is received from the client
  • Aspects of the invention for streamlining the processing of session setup requests for video on demand sessions requested by multiple clients will now be described with reference to FIGS. 10A-14. FIG. 10A is a schematic representation of an exemplary video server system 30 configured to implement VOD session setup in response to an avalanche of session setup requests, according to another aspect of the invention. The video server system includes a session manager 32, a channel to content map 34, an entitlement database 36, and a resource manager 38, substantially as described hereinabove (e.g., with reference to FIG. 2). The session manager manages transactions 1-4 involved in processing session setup requests. Transactions 1-4 may be executed essentially as described hereinabove (e.g., with reference to FIG. 2 and FIG. 6). Transaction 5 is omitted from FIG. 10A for the sake of clarity.
  • In a normal mode of operation of the session manager 32, each session setup request is individually processed according to transactions 1-4. In contrast, in a coalescing mode of operation of the session manager, multiple session setup requests are batched or grouped into batches, and the session setup requests within each batch are processed collectively according to one or more of transactions 1-4. As an example, all of the session setup requests within a given batch may be concurrently processed according to transaction 1. The normal and coalescing modes of operation of the session manager are described in greater detail hereinbelow (see, e.g., FIG. 10B and FIGS. 11A-B).
  • FIG. 10B is a schematic representation of an exemplary state machine 80 for the session manager 32. The state machine may be integrated with, or reside within, the session manager (see, e.g., FIG. 12). The state machine controls transition(s) between the normal mode 82 of operation of the session manager and the coalescing mode 84 of operation of the session manager. Transitions between the normal and coalescing modes of the session manager are controlled by the state machine according to the session setup request arrival rate, wherein the session setup request arrival rate is a measure of the rate of arrival of session setup requests at the session manager. The arrival of session setup requests may be monitored by a request monitor (see, e.g., FIG. 12).
  • In an embodiment, the state machine 80 transitions from the normal mode 82 to the coalescing mode 84 when the session setup request arrival rate exceeds a transition boundary and transitions from the coalescing mode to the normal mode when the session setup request arrival rate is less than a transition boundary. In some embodiments, the state machine may be configured to control transitions between the normal and coalescing modes in response to more than one transition boundary. As an example, in an embodiment, the state machine may be configured to control transitions between the normal and coalescing modes in response to a normal transition boundary and a coalescing transition boundary (see, e.g., FIGS. 11A-B). In an embodiment, the coalescing transition boundary is greater than the normal transition boundary (see, e.g., FIG. 11B).
  • FIG. 11A is a graphic representation of transitions between the normal mode 82 and the coalescing mode 84 of the session manager 32, as controlled by the state machine 80, according to an aspect of the invention. The ordinate/y axis represents the session setup request arrival rate (SSRAR). In the embodiment of FIG. 11A, transitions between the normal mode 82 and the coalescing mode 84 may occur on the basis of a single threshold or boundary value of the session setup request arrival rate. The single boundary value of the session setup request arrival rate may represent both the normal transition boundary and the coalescing transition boundary, i.e., in an embodiment, the normal transition boundary may have the same session setup request arrival rate value as the coalescing transition boundary. In this embodiment, the normal transition boundary/coalescing transition boundary threshold is represented in FIG. 11B by the broken line. When the session manager first comes online, it may operate in normal mode. For example, the state machine and the session manager may be configured such that the normal mode is the default operation mode by which the session manager processes session setup requests.
  • In FIG. 11A, the normal mode 82 is represented by the broken curve. When the session setup request arrival rate increases to a level which exceeds the normal transition boundary/coalescing transition boundary, the state machine 80 transitions from the normal mode to the coalescing mode 84, as shown by the solid curve in FIG. 11A. In the embodiment of FIG. 11A, operation of the session manager 32 continues in coalescing mode while the session setup request arrival rate lies above the normal transition boundary/coalescing transition boundary. When the session setup request arrival rate falls below the normal transition boundary/coalescing transition boundary, the state machine induces transition from the coalescing mode to the normal mode. Thereafter, the session manager may continue to operate in the normal mode while the session setup request arrival rate remains below the normal transition boundary/coalescing transition boundary. If the session setup request arrival rate oscillates around the normal/coalescing transition boundary, the state machine will oscillate between the normal and coalescing modes. A high frequency of transitions between the normal mode and the coalescing mode is generally not a desirable operating characteristic.
  • According to one aspect of the invention, the normal transition boundary value and/or the coalescing transition boundary value may be dynamically varied such that the frequency of transitions, between the normal mode 82 and the coalescing mode 84, are controlled; for example, such that the transition frequency is decreased.
  • FIG. 11B is a graphic representation of transitions between the normal mode 82 and the coalescing mode 84 of the session manager 32, according to another aspect of the invention. In the embodiment of FIG. 11B, the coalescing transition boundary represents a session setup request arrival rate value greater than the session setup request arrival rate value of the normal transition boundary. No units for the session setup request arrival rate are shown or implied in FIGS. 11A-B.
  • The session manager 32 may initially operate in the normal mode, e.g., as a default operation mode. The normal mode 82 is represented by the broken curve. In the embodiment of FIG. 11B, as the session setup request arrival rate rises above the normal transition boundary, the session manager continues to operate in the normal mode. Once the session setup request arrival rate exceeds the coalescing transition boundary, the session manager transitions to coalescing mode 84 (as represented by the solid curve). The session manager continues to operate in the coalescing mode even after the session setup request arrival rate falls below the coalescing transition boundary. As the session setup request arrival rate continues to fall, the session manager transitions to normal mode only after the session setup request arrival rate falls below the normal transition boundary. Thereafter, if the session setup request arrival rate again rises above the normal transition boundary, but remains below the coalescing transition boundary, operation continues in the normal mode.
  • The embodiment of FIG. 11B may show hysteretic mode transition, in which there may be a first lag period (abscissa/x axis) between the time when the session setup request arrival rate rises above the normal transition boundary and the time of transition from normal to coalescing mode; and a second lag period between the time when the session setup request arrival rate falls below the coalescing transition boundary and the time of transition from coalescing to normal mode. By setting the coalescing transition boundary higher than the normal transition boundary, the session manager will not oscillate between the normal mode and the coalescing mode even if the session setup request arrival rate oscillates around one of these boundaries.
  • FIG. 11C is a schematic representation of an exemplary state machine 80, which is configured to induce hysteretic mode transitions between the normal mode and the coalescing mode as described with reference to FIG. 11B. In the embodiment of FIG. 11C, the state machine controls transitions from the normal mode 82 to the coalescing mode 84 when the session setup request arrival rate exceeds the coalescing transition boundary, and transitions from the coalescing mode to the normal mode when the session setup request arrival rate is less than the normal transition boundary. As described above, the coalescing transition boundary is set at a higher session setup request arrival rate value than the session setup request arrival rate value of the normal transition boundary.
  • FIG. 12 is a block diagram showing a session manager 32, which is configured for transitioning between the normal mode 82 and the coalescing mode 84, according to an embodiment of the invention. The session manager includes processor 60, the state machine 80, and a request monitor 90. The state machine may be configured for transitioning the session manager between the normal mode and the coalescing mode according to a of session setup request arrival rate received by the session manager, for example, as described with reference to FIG. 10B and FIGS. 11A-B.
  • The request monitor 90 is in signal communication with the state machine 80 and is configured for monitoring the arrival of session setup requests at the session manager 32. As a non-limiting example, the request monitor may “count” the session setup requests received by the session manager by observing the time of arrival of each session setup request at the session manager; and, based on the observed arrival time of each session setup request, the request monitor may estimate the session setup request arrival rate by a moving average estimator. As another non-limiting example, the request monitor may include a leaky bucket counter to determine whether the session setup request arrival rate has risen above or fallen below the normal transition boundary and the coalescing transition boundary. The leaky bucket counter may record an increment of one each time a session setup request arrives at the session manager, while the counter is periodically decremented by a fixed value. Other configurations and mechanisms for monitoring the arrival of session setup requests and for estimating the session setup request arrival rate are also within the scope if the invention. In the embodiment of FIG. 12, the session manager 32 may further include a memory 70 (FIG. 3) and one or more caches of information related to processing session setup requests, as shown and described hereinabove, e.g., with reference to FIG. 3.
  • FIG. 13A is a flow diagram schematically representing steps involved in an exemplary method for processing session setup requests for video on demand sessions, according to another embodiment of the invention. At block 502, the session manager 32 operates in the normal mode 82 to process session setup requests received by the session manager from clients 40. In the normal mode, the session manager processes each session setup request individually or separately. The normal mode may be the default mode of operation for the session manager.
  • With further reference to FIG. 13A, block 502, the session manager 32 may continue to operate in the normal mode 82 while the session setup request arrival rate remains below the normal transition boundary. In some embodiments, the session manager may continue to operate in the normal mode while the session setup request arrival rate is above the normal transition boundary but below the coalescing transition boundary, wherein the coalescing transition boundary is greater than the normal transition boundary. In other embodiments, the normal transition boundary and the coalescing transition boundary may be at the same level, i.e., the normal transition boundary and the coalescing transition boundary have the same session setup request arrival rate value.
  • At block 504, the session manager 32 transitions from the normal mode 82 to the coalescing mode 84 when the session setup request arrival rate rises above the coalescing transition boundary. In the coalescing mode, the session manager combines, or batches, multiple session setup requests into a batch, wherein the session setup requests in each batch are processed collectively by the session manager. In some embodiments, the session setup requests may be batched categorically according to various request parameters or criteria. As an example only, and not to limit the invention, a batch of session setup requests may be batched according to a request parameter such as: time of receipt of the session setup requests by the session manager, geographic location of clients 40 sending the session setup requests, the nature of digital video content being requested in the session setup requests. In an embodiment, the coalescing mode may include forming a first batch of session setup requests, and thereafter, forming at least a second batch of session setup requests before the processing of the first batch of session setup requests has been initiated.
  • According to another aspect of the invention, the session setup requests received by the session manager 32 may be batched according to a subscriber priority level of the clients sending the session setup requests. For example, clients may be associated with various subscriber priority levels, such as gold, silver, and bronze, according to their subscription rates. The session setup requests received from higher priority clients, e.g., gold, may be batched preferentially (e.g., sooner) than session setup requests received from lower priority clients, e.g., bronze.
  • FIG. 13B is a flow diagram schematically representing steps involved in an exemplary method for managing session setup requests by a session manager 32 exhibiting hysteretic mode transition between the normal mode 82 and the coalescing mode 84, according to another embodiment of the invention. At block 602, session setup requests received by the session manager are monitored. The session setup requests received by the session manager may be monitored by a request monitor 90. The session setup requests received by the session manager may be monitored by observing the time of arrival of each session setup request. Alternatively, each of the session setup requests received by the session manager may be counted, e.g., using a leaky bucket counter which is incremented by one when each session setup request is received by the session manager. The request monitor may be integral with the session manager (see, e.g., FIG. 12).
  • At block 604, the session setup request arrival rate at the session manager 32 may be determined. The session setup request arrival rate may be determined by the request monitor 90. In embodiments wherein the session setup requests received by the session manager are monitored by observing the time of arrival of each session setup request, the session setup request arrival rate may be determined using a moving average estimator. Alternatively, in embodiments wherein each session setup request received by the session manager is counted by an increment of one, the session setup request arrival rate may be estimated using a leaky bucket counter wherein the counter is periodically decremented by a fixed value of counted session setup requests.
  • At block 606, the session manager 32 is operated in the normal mode 82 while the session setup request arrival rate remains below the coalescing transition boundary. In some embodiments, operation in the normal mode may continue even though the session setup request arrival rate may be above the normal transition boundary (see, e.g., FIG. 11B). At block 608, the mode of operation of the session manager transitions to the coalescing mode 84 when the session setup request arrival rate is above the coalescing transition boundary.
  • At block 610, operation in the coalescing mode 84 continues after the session setup request arrival rate has fallen below the coalescing transition boundary provided that the session setup request arrival rate is above the normal transition boundary. At block 612 operation transitions back to the normal mode 82 when the session setup request arrival rate falls below the normal transition boundary. Transitions from the coalescing mode to the normal mode at block 608, and from the coalescing mode to the normal mode at block 612, may both be controlled by the state machine 80 (see, e.g., FIG. 10B).
  • FIG. 14 is a flow diagram schematically representing steps involved in an exemplary method for operating a session manager 32 in normal mode 82 or coalescing mode 84, according to another embodiment of the invention. At block 702, the session manager operates in the normal mode. The normal mode, in which each session setup request received by the session manager is processed separately, may be the default operation mode of the session manager. For example, the normal mode may be used when the session manager first comes online. At block 704, the session setup request arrival rate may be estimated, for example, as described hereinabove with respect to FIG. 13B, block 604.
  • At decision block 706, if the session setup request arrival rate is estimated to be above the coalescing transition boundary (Y), the session manager is transitioned to the coalescing mode (at block 708). Conversely, if the estimated session setup request arrival rate is not above the coalescing transition boundary (N), operation may continue in normal mode (block 702).
  • At block 710, the optional task of dynamically varying the coalescing transition boundary and/or the normal transition boundary may be performed. Thereafter, the decision at block 706 may be reiterated in light of a revised coalescing transition boundary value. In an embodiment, one or both of the coalescing transition boundary and the normal transition boundary may be dynamically varied in order to control the frequency of transitions between the normal mode 82 and the coalescing mode 84. The coalescing transition boundary and/or the normal transition boundary may be dynamically varied at anytime during operation of the session manager 32 in either the normal mode or the coalescing mode.
  • As a non-limiting example, at least one of the coalescing transition boundary and the normal transition boundary may be dynamically varied, at block 710, according to an availability of network resources for VOD sessions. As another non-limiting example, at least one of the coalescing transition boundary and the normal transition boundary may be dynamically varied according to a subscriber volume to a real-time broadcast/multicast of digital video content. By increasing the coalescing transition boundary, transition from the normal mode 82 to the coalescing mode 84 will occur at a higher value of the session setup request arrival rate. By decreasing the normal transition boundary, transition from the coalescing mode 84 to the normal mode 82 will occur at a lower value of the session setup request arrival rate. A wider boundary gap resulting from increasing the coalescing transition boundary and/or decreasing the normal transition boundary will dampen oscillation between the normal mode and the coalescing mode as the session setup request arrival rate fluctuates around either the normal transition boundary or the coalescing transition boundary.
  • Various other mechanisms and parameters may also be used for varying the coalescing transition boundary and normal transition boundary, according to the invention. It is to be understood that the invention is not limited to those embodiments described hereinabove. Additional mechanisms and techniques for controlling the processing of session setup requests may be apparent to the skilled artisan in light of the teachings contained herein.
  • In an embodiment, transition to coalescing mode triggers an action other than, or in addition to, batch processing of session setup requests. The action may be any action that enables an avalanche of session setup requests to be more efficiently and/or quickly processed. For example, the transition to coalescing mode may trigger accessing other processing resources to process the session setup requests. The other processing resources could come from the local stream server or some other computer device that is in signal communication with the session manager.
  • Those skilled in the art will recognize that the invention may be implemented in software, firmware, hardware, or a combination thereof. The above-described embodiments of the invention may also be implemented, for example, by processor-executable instructions. For example, memory 70 (see, FIG. 3) may include processor-executable instructions that may be executed by processor 60 to perform tasks, e.g., as described with reference to FIGS. 13A-B, and FIG. 14. The instructions may reside in various types of computer readable media. Accordingly, another aspect of the present invention concerns a programmed product, comprising computer readable media tangibly embodying a program of machine-readable instructions executable by processor 60 to perform the various techniques and methods in accordance with embodiments of the present invention.
  • In some embodiments, the computer readable media may comprise, for example, RAM, or a magnetic data storage diskette. The processor-executable instructions may also be stored on a variety of machine readable storage media, such as a DASD storage (e.g., a conventional “hard drive” or a RAID array), magnetic tape, electronic read-only memory, an optical storage device (e.g., CD ROM, WORM, DVD, digital optical tape), paper “punch” cards, or other suitable computer readable media, including transmission media such as digital communication links. In an illustrative embodiment of the invention, the machine-readable instructions may comprise lines of compiled C, C++, or similar language code commonly used by those skilled in the art.]
  • Although specific embodiments of the invention have been described and illustrated, the invention is not to be limited to the specific forms or arrangements of parts or functional elements as described and illustrated herein. The invention is limited only by the claims.

Claims (23)

1. A method for managing session setup requests for video on demand sessions, comprising:
a) operating in a normal mode when a session setup request arrival rate is below a normal transition boundary; and
b) transitioning from the normal mode to a coalescing mode when the session setup request arrival rate rises above a coalescing transition boundary.
2. The method of claim 1, wherein:
the normal mode comprises processing each session setup request individually; and
the coalescing mode comprises coalescing a plurality of session setup requests into a batch of session setup requests.
3. The method of claim 2, wherein the coalescing mode further comprises:
j) processing the batch of session setup requests collectively.
4. The method of claim 3, wherein the coalescing mode further comprises:
k) forming a first batch of session setup requests; and
l) forming at least a second batch of session setup requests before initiating the processing of the first batch of session setup requests.
5. The method of claim 1, further comprising:
c) after step b), transitioning from the coalescing mode to the normal mode when the session setup request arrival rate falls below the normal transition boundary.
6. The method of claim 1, wherein the coalescing transition boundary and the normal transition boundary have the same value.
7. The method of claim 1, wherein the coalescing transition boundary is greater than the normal transition boundary, and the method further comprises:
d) prior to step b) continuing operation in the normal mode when the session setup request arrival rate:
i) rises above the normal transition boundary, and
ii) lies below the coalescing transition boundary.
8. The method of claim 5, wherein the coalescing transition boundary is greater than the normal transition boundary, and the method further comprises:
e) prior to step c), continuing operation in the coalescing mode when the session setup request arrival rate:
i) falls below the coalescing transition boundary, and
ii) lies above the normal transition boundary.
9. The method of claim 1, wherein the session setup request arrival rate comprises a rate at which session setup requests are received by a session manager, and the method further comprises:
f) monitoring arrival of the session setup requests at the session manager; and
g) controlling transition between the normal mode and the coalescing mode based on the monitoring.
10. The method of claim 1, wherein the session setup request arrival rate comprises a rate at which session setup requests are received by a session manager, and the method further comprises:
i) during operation of the session manager in the normal mode or the coalescing mode, dynamically varying at least one of the normal transition boundary and the coalescing transition boundary.
11. The method of claim 10, wherein dynamically varying at least one of the normal transition boundary and the coalescing transition boundary controls a frequency of transitions between the normal mode and the coalescing mode.
12. The method of claim 1, wherein at least one of the coalescing transition boundary and the normal transition boundary is dynamically varied according to a subscriber volume to a real-time transmission of digital video content.
13. The method of claim 1, wherein at least one of the coalescing transition boundary and the normal transition boundary is dynamically varied according to an availability of network resources.
14. Processor-accessible storage media comprising processor-executable instructions, that when executed, direct a computer system to perform the method as recited in claim 1.
15. A method for processing requests for video on demand sessions, comprising:
a) monitoring session setup requests received by a session manager;
b) determining a session setup request arrival rate, wherein the session setup request arrival rate comprises a rate of arrival of the session setup requests at the session manager;
c) operating the session manager in a normal mode when the session setup request arrival rate is below a coalescing transition boundary;
d) transitioning operation of the session manager from the normal mode to a coalescing mode when the session setup request arrival rate rises above the coalescing transition boundary;
e) continuing operation of the session manager in the coalescing mode when:
i) the session setup request arrival rate falls below the coalescing transition boundary, and
ii) the session setup request arrival rate lies above a normal transition boundary, wherein the normal transition boundary is less than the coalescing transition boundary; and
f) transitioning operation of the session manager from the coalescing mode to the normal mode when the session setup request arrival rate falls below the normal transition boundary.
16. The method of claim 15, wherein step c) comprises continuing operation in the normal mode when the session setup request arrival rate:
i) rises above the normal transition boundary, and
ii) lies below the coalescing transition boundary.
17. The method of claim 15, wherein:
the normal mode comprises processing each session setup request individually,
the coalescing mode comprises coalescing a plurality of session setup requests into a batch of session setup requests and processing the batch of session setup requests collectively.
18. A session manager for managing session setup requests for video on demand sessions, comprising:
a state machine configured to transition the session manager from a normal mode of operation to a coalescing mode of operation when a session setup request arrival rate rises above a coalescing transition boundary.
19. The method of claim 18, wherein:
the normal mode comprises processing each session setup request individually,
the coalescing mode comprises coalescing a plurality of session setup requests into a batch of session setup requests and processing the batch of session setup requests collectively.
20. The session manager of 19, wherein the state machine is further configured to transition the session manager from the coalescing mode to the normal mode when the session setup request arrival rate falls from at least the coalescing transition boundary to below a normal transition boundary.
21. The session manager of claim 20, wherein:
the coalescing transition boundary is greater than the normal transition boundary, and
the state machine is further configured to operate the session manager in the normal mode when the session setup request arrival rate:
i) rises above the normal transition boundary, and
ii) lies below the coalescing transition boundary.
22. The session manager of claim 21, wherein:
the coalescing transition boundary is greater than the normal transition boundary, and
the state machine is further configured to operate the session manager in the coalescing mode when the session setup request arrival rate:
i) falls below the coalescing transition boundary, and
ii) lies above the normal transition boundary.
23. The session manager of claim 22, wherein:
each of the session setup requests includes a channel number associated with a video on demand session; and further comprising setting up a session, wherein setting up a session comprises at least one of:
i) translating the channel number to a content identifier, wherein the content identifier identifies content related to the video on demand session,
ii) authorizing a client's entitlement to access the content identified by the content identifier, and
iii) retaining network resources for the video on demand session.
US11/361,301 2005-02-23 2006-02-23 Avalanche control for video on demand session setup Abandoned US20060200578A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US11/361,301 US20060200578A1 (en) 2005-02-23 2006-02-23 Avalanche control for video on demand session setup
US11/361,302 US8935313B2 (en) 2005-02-23 2006-02-23 Quick session setup for video on demand with information caching

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US65532805P 2005-02-23 2005-02-23
US11/361,301 US20060200578A1 (en) 2005-02-23 2006-02-23 Avalanche control for video on demand session setup

Publications (1)

Publication Number Publication Date
US20060200578A1 true US20060200578A1 (en) 2006-09-07

Family

ID=36928082

Family Applications (3)

Application Number Title Priority Date Filing Date
US11/361,302 Active 2031-02-14 US8935313B2 (en) 2005-02-23 2006-02-23 Quick session setup for video on demand with information caching
US11/361,301 Abandoned US20060200578A1 (en) 2005-02-23 2006-02-23 Avalanche control for video on demand session setup
US11/360,370 Active 2028-08-23 US8452885B2 (en) 2005-02-23 2006-02-23 Playout-dependent unicast streaming of digital video content

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US11/361,302 Active 2031-02-14 US8935313B2 (en) 2005-02-23 2006-02-23 Quick session setup for video on demand with information caching

Family Applications After (1)

Application Number Title Priority Date Filing Date
US11/360,370 Active 2028-08-23 US8452885B2 (en) 2005-02-23 2006-02-23 Playout-dependent unicast streaming of digital video content

Country Status (4)

Country Link
US (3) US8935313B2 (en)
EP (1) EP1854018B1 (en)
CA (1) CA2597850C (en)
WO (1) WO2006091886A2 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100020686A1 (en) * 2008-07-28 2010-01-28 Cellco Partnership D/B/A Verizon Wireless Dynamic setting of optimal buffer sizes in ip networks
US20100034389A1 (en) * 2007-03-13 2010-02-11 Oleg Veniaminovich Sakharov Conditional access system and method for limiting access to content in broadcasting and receiving systems
US8935313B2 (en) 2005-02-23 2015-01-13 Cisco Technology, Inc. Quick session setup for video on demand with information caching
US10425249B2 (en) * 2009-12-23 2019-09-24 Pismo Labs Technology Limited Methods and systems for increasing wireless communication throughput of a bonded VPN tunnel
US11005685B2 (en) 2009-12-23 2021-05-11 Pismo Labs Technology Limited Methods and systems for transmitting packets through aggregated end-to-end connection
US11201699B2 (en) 2009-12-23 2021-12-14 Pismo Labs Technology Limited Methods and systems for transmitting error correction packets

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1964575A (en) * 2005-09-01 2007-05-16 株式会社泛泰 Method for changing channels in wireless communication terminal and content service system
US20080120677A1 (en) * 2005-11-01 2008-05-22 Bernard Marc R Method and system for ensuring continuous video services in a passive optical network
US20070204309A1 (en) * 2005-11-01 2007-08-30 Tellabs Vienna, Inc. Method and apparatus for preserving internet protocol video services across an optical network element reboot
CN101473654B (en) * 2006-06-19 2011-08-03 艾利森电话股份有限公司 Media channel management
US9124767B2 (en) * 2006-10-25 2015-09-01 Microsoft Technology Licensing, Llc Multi-DVR media content arbitration
US8661155B2 (en) * 2008-12-30 2014-02-25 Telefonaktiebolaget Lm Ericsson (Publ) Service layer assisted change of multimedia stream access delivery
US20120114312A1 (en) * 2009-03-25 2012-05-10 Eloy Technology, Llc Method and system for determining the availability of a media controller
CN101583018B (en) * 2009-06-03 2011-05-11 中兴通讯股份有限公司 Method and system for unified management of channel service and services on demand of streaming media
US8775553B2 (en) * 2009-09-11 2014-07-08 The Directv Group, Inc. Managing signal delivery to a plurality of display platforms
US20110113134A1 (en) * 2009-11-09 2011-05-12 International Business Machines Corporation Server Access Processing System
EP2378758A1 (en) * 2010-04-09 2011-10-19 Alcatel-Lucent España, S.A. Method for broadcasting multimedia content
US9118942B2 (en) * 2010-06-04 2015-08-25 CSC Holdings, LLC On-demand session initiation and management
US8255556B2 (en) * 2010-06-17 2012-08-28 Cisco Technology, Inc. Multicast and synchronization emulation for content transformed streams
US8805163B2 (en) * 2012-01-20 2014-08-12 Comcast Cable Communications, Llc Network storage device and method
GB2500399B (en) 2012-03-20 2015-04-15 Media Network Services As Data distribution system
WO2013143058A1 (en) * 2012-03-26 2013-10-03 华为技术有限公司 Data transmitting method, device and system
US9532093B2 (en) 2012-05-15 2016-12-27 Bright House Networks, Llc Initiating a unicast stream based on a triggering event associated with a node receiving a multicast stream
CN103152617B (en) * 2013-03-28 2016-08-17 广东省广播电视网络股份有限公司 A kind of interactive TV long-distance disaster system and method
US11057285B2 (en) * 2014-11-24 2021-07-06 ZPE Systems, Inc. Non-intrusive IT device monitoring and performing action based on IT device state
US9838725B2 (en) * 2015-04-27 2017-12-05 Century Link Intellectual Property LLC Intelligent video streaming system
US10091264B2 (en) * 2015-12-26 2018-10-02 Intel Corporation Technologies for streaming device role reversal
US20170374581A1 (en) * 2016-06-23 2017-12-28 Huawei Technologies Co., Ltd. System and method for delivering unicast and broadcast traffic in a communication network
US10791366B2 (en) * 2017-11-30 2020-09-29 Hulu, LLC Fast channel change in a video delivery network

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040226044A1 (en) * 1999-04-20 2004-11-11 Christopher Goode Network bandwidth optimization by dynamic channel allocation
US20050210138A1 (en) * 2004-03-22 2005-09-22 Microsoft Corporation Method and apparatus for managing channel information
US6973037B1 (en) * 2000-05-04 2005-12-06 Nortel Networks Limited System and method for dynamically varying integrated services digital network (isdn) interface bandwidth
US20060047845A1 (en) * 2004-08-31 2006-03-02 Whited William Albert Streaming gateway
US7107606B2 (en) * 2000-08-30 2006-09-12 The Chinese University Of Hong Kong System and method for highly scalable video on demand

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6873627B1 (en) * 1995-01-19 2005-03-29 The Fantastic Corporation System and method for sending packets over a computer network
US5630119A (en) * 1995-05-05 1997-05-13 Microsoft Corporation System and method for displaying program listings in an interactive electronic program guide
US5768527A (en) 1996-04-23 1998-06-16 Motorola, Inc. Device, system and method of real-time multimedia streaming
US7266686B1 (en) * 1996-05-09 2007-09-04 Two-Way Media Llc Multicasting method and apparatus
US6208335B1 (en) * 1997-01-13 2001-03-27 Diva Systems Corporation Method and apparatus for providing a menu structure for an interactive information distribution system
US6385647B1 (en) * 1997-08-18 2002-05-07 Mci Communications Corporations System for selectively routing data via either a network that supports Internet protocol or via satellite transmission network based on size of the data
US6377972B1 (en) * 1999-01-19 2002-04-23 Lucent Technologies Inc. High quality streaming multimedia
US6418473B1 (en) * 1999-05-20 2002-07-09 Nortel Networks Limited Multimedia clent and server
US6651089B1 (en) * 1999-06-05 2003-11-18 At&T Corp Surfing friendly multicasting arrangement
US6263371B1 (en) * 1999-06-10 2001-07-17 Cacheflow, Inc. Method and apparatus for seaming of streaming content
US7010801B1 (en) * 1999-06-11 2006-03-07 Scientific-Atlanta, Inc. Video on demand system with parameter-controlled bandwidth deallocation
WO2000079734A1 (en) * 1999-06-18 2000-12-28 The Trustees Of Columbia University In The City Of New York System and method for receiving over a network a broadcast from a broadcast source
US20020124262A1 (en) * 1999-12-01 2002-09-05 Andrea Basso Network based replay portal
EP1273151B1 (en) * 2000-04-08 2004-09-29 Sun Microsystems, Inc. Resynchronizing media during streaming
DE60121930T2 (en) * 2000-04-08 2007-07-26 Sun Microsystems, Inc., Santa Clara METHOD FOR STREAMING A SINGLE MEDIA TRACK TO SEVERAL CLIENTS
AU2001268320A1 (en) * 2000-06-12 2001-12-24 Cachestream Corporation Personalized content management
US6769127B1 (en) * 2000-06-16 2004-07-27 Minerva Networks, Inc. Method and system for delivering media services and application over networks
US6782550B1 (en) * 2000-06-16 2004-08-24 Minerva Networks, Inc. Program guide with a current-time bar
AU2001276031A1 (en) * 2000-07-25 2002-02-05 Cachestream Corporation Branded channel
CA2425482C (en) * 2000-10-11 2015-12-01 United Video Properties, Inc. Systems and methods for caching data in media-on-demand systems
US6751673B2 (en) * 2001-01-03 2004-06-15 Akamai Technologies, Inc. Streaming media subscription mechanism for a content delivery network
US7363372B2 (en) * 2001-02-06 2008-04-22 Mtvn Online Partners I Llc System and method for managing content delivered to a user over a network
US6973667B2 (en) * 2001-03-01 2005-12-06 Minerva Networks, Inc. Method and system for providing time-shifted delivery of live media programs
US20020143951A1 (en) * 2001-03-30 2002-10-03 Eyeball.Com Network Inc. Method and system for multicast to unicast bridging
US7266832B2 (en) * 2001-06-14 2007-09-04 Digeo, Inc. Advertisement swapping using an aggregator for an interactive television system
US7793326B2 (en) * 2001-08-03 2010-09-07 Comcast Ip Holdings I, Llc Video and digital multimedia aggregator
US20030088876A1 (en) * 2001-11-08 2003-05-08 Liberate Technologies Video on demand gateway
US7082142B1 (en) * 2001-12-21 2006-07-25 At & T Corp. System and method for delivering content in a unicast/multicast manner
US20030200548A1 (en) * 2001-12-27 2003-10-23 Paul Baran Method and apparatus for viewer control of digital TV program start time
US7484103B2 (en) * 2002-01-12 2009-01-27 Je-Hak Woo Method and system for the information protection of digital content
US7073189B2 (en) * 2002-05-03 2006-07-04 Time Warner Interactive Video Group, Inc. Program guide and reservation system for network based digital information and entertainment storage and delivery system
US7899915B2 (en) * 2002-05-10 2011-03-01 Richard Reisman Method and apparatus for browsing using multiple coordinated device sets
KR100501332B1 (en) * 2003-07-04 2005-07-18 삼성전자주식회사 Tv portal services system and method using the message-based protocol
CA2531970A1 (en) * 2003-07-10 2005-01-27 Comcast Cable Holdings, Llc Distributed and scalable architecture for on demand session and resource management
ATE338429T1 (en) * 2003-07-18 2006-09-15 Cit Alcatel METHOD FOR DISTRIBUTING REAL-TIME DATA STREAMS OVER A MULTIMEDIA NETWORK AND SWITCHING DEVICE AND MULTIMEDIA NETWORK
US20050028219A1 (en) * 2003-07-31 2005-02-03 Asaf Atzmon System and method for multicasting events of interest
US20050183120A1 (en) * 2004-01-13 2005-08-18 Saurabh Jain Multi-user personalized digital multimedia distribution methods and systems
US20050216933A1 (en) * 2004-03-25 2005-09-29 Comcast Cable Holdings, Llc Method and system which enables users to select videos from cable provider web site for on-demand delivery from the cable provider to user televisions via cable television network
US20060018335A1 (en) * 2004-07-26 2006-01-26 Koch Christopher D Multicast to unicast traffic conversion in a network
US7630328B2 (en) * 2004-08-18 2009-12-08 At&T Intellectual Property, I,L.P. SIP-based session control
US7870590B2 (en) * 2004-10-20 2011-01-11 Cisco Technology, Inc. System and method for fast start-up of live multicast streams transmitted over a packet network
US7477653B2 (en) * 2004-12-10 2009-01-13 Microsoft Corporation Accelerated channel change in rate-limited environments
US8434117B2 (en) * 2005-02-14 2013-04-30 Microsoft Corporation Tunerless media presentation unit and methods of use
US8935313B2 (en) 2005-02-23 2015-01-13 Cisco Technology, Inc. Quick session setup for video on demand with information caching

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040226044A1 (en) * 1999-04-20 2004-11-11 Christopher Goode Network bandwidth optimization by dynamic channel allocation
US6973037B1 (en) * 2000-05-04 2005-12-06 Nortel Networks Limited System and method for dynamically varying integrated services digital network (isdn) interface bandwidth
US7107606B2 (en) * 2000-08-30 2006-09-12 The Chinese University Of Hong Kong System and method for highly scalable video on demand
US20050210138A1 (en) * 2004-03-22 2005-09-22 Microsoft Corporation Method and apparatus for managing channel information
US20060047845A1 (en) * 2004-08-31 2006-03-02 Whited William Albert Streaming gateway

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8935313B2 (en) 2005-02-23 2015-01-13 Cisco Technology, Inc. Quick session setup for video on demand with information caching
US20100034389A1 (en) * 2007-03-13 2010-02-11 Oleg Veniaminovich Sakharov Conditional access system and method for limiting access to content in broadcasting and receiving systems
US20100020686A1 (en) * 2008-07-28 2010-01-28 Cellco Partnership D/B/A Verizon Wireless Dynamic setting of optimal buffer sizes in ip networks
US8223641B2 (en) * 2008-07-28 2012-07-17 Cellco Partnership Dynamic setting of optimal buffer sizes in IP networks
US8897137B2 (en) 2008-07-28 2014-11-25 Cellco Partnership Dynamic setting of optimal buffer sizes in IP networks
US10425249B2 (en) * 2009-12-23 2019-09-24 Pismo Labs Technology Limited Methods and systems for increasing wireless communication throughput of a bonded VPN tunnel
US11005685B2 (en) 2009-12-23 2021-05-11 Pismo Labs Technology Limited Methods and systems for transmitting packets through aggregated end-to-end connection
US11201699B2 (en) 2009-12-23 2021-12-14 Pismo Labs Technology Limited Methods and systems for transmitting error correction packets
US11677510B2 (en) 2009-12-23 2023-06-13 Pismo Labs Technology Limited Methods and systems for transmitting error correction packets
US11943060B2 (en) 2009-12-23 2024-03-26 Pismo Labs Technology Limited Methods and systems for transmitting packets

Also Published As

Publication number Publication date
CA2597850C (en) 2012-08-28
WO2006091886A2 (en) 2006-08-31
US20060200558A1 (en) 2006-09-07
CA2597850A1 (en) 2006-08-31
EP1854018A4 (en) 2009-04-22
WO2006091886A3 (en) 2008-01-10
US8452885B2 (en) 2013-05-28
EP1854018B1 (en) 2017-07-19
US20060200575A1 (en) 2006-09-07
EP1854018A2 (en) 2007-11-14
US8935313B2 (en) 2015-01-13

Similar Documents

Publication Publication Date Title
US20060200578A1 (en) Avalanche control for video on demand session setup
US11109077B2 (en) Controlling delivery of requested content based on delivery bandwidth limitations
CA3135076C (en) Method to stream contents in a peer-to-peer network
JP4652345B2 (en) Policy-based admission control and bandwidth reservation for future sessions
JP5181031B2 (en) Resilient service quality within a managed multimedia distribution network
CA2693891C (en) Systems and methods for allocating bandwidth in switched digital video systems based on interest
JP3364381B2 (en) How to control the transmission of a video stream
RU2530016C2 (en) Content localisation method and content delivery network node
US8161515B2 (en) Fast channel change handling of late multicast join
US8166154B2 (en) Method for streaming multimedia content
US20030126277A1 (en) Apparatus and method for providing multimedia streaming service by using point-to-point connection
EP2034731A1 (en) Multicast service processing method and access equipment
US7751438B2 (en) Communication system bandwidth reservation management
CN106993014B (en) Cache content adjusting method, device and system
JP2010517365A (en) Quality-of-service peer-to-peer video on demand supported by prefix caching
US20020188692A1 (en) Video proxy server
US20030055910A1 (en) Method and apparatus to manage data on a satellite data server
KR100934088B1 (en) Methods and apparatus for creation and transport of multimedia content flows to a distribution network
KR101867319B1 (en) Method for providing streaming service
US20050125836A1 (en) Shared wireless video downloading
KR20090101348A (en) Method for distributing non real-time media in a non real-time media distribution system, a related system, a related media server and media client
US20230199267A1 (en) Method and apparatus for processing adaptive multi-view streaming
Wakamiya et al. On proxy-caching mechanisms for cooperative video streaming in heterogeneous environments
Mancuso et al. Improved support for streaming services in vehicular networks
KR100765321B1 (en) Video on demand system and method for guaranteeing quality of service

Legal Events

Date Code Title Description
AS Assignment

Owner name: ARROYO VIDEO SOLUTIONS, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SHERER, W. PAUL;BLATTMAN, KIRK;NESSETT, DANNY M.;AND OTHERS;REEL/FRAME:018017/0201;SIGNING DATES FROM 20060510 TO 20060518

AS Assignment

Owner name: ARROYO VIDEO SOLUTIONS LLC,DELAWARE

Free format text: CHANGE OF NAME;ASSIGNOR:ARROYO VIDEO SOLUTIONS, INC.;REEL/FRAME:024187/0846

Effective date: 20080522

Owner name: CISCO TECHNOLOGY, INC.,CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ARROYO VIDEO SOLUTIONS LLC;REEL/FRAME:024187/0924

Effective date: 20090312

Owner name: ARROYO VIDEO SOLUTIONS LLC, DELAWARE

Free format text: CHANGE OF NAME;ASSIGNOR:ARROYO VIDEO SOLUTIONS, INC.;REEL/FRAME:024187/0846

Effective date: 20080522

Owner name: CISCO TECHNOLOGY, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ARROYO VIDEO SOLUTIONS LLC;REEL/FRAME:024187/0924

Effective date: 20090312

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION

AS Assignment

Owner name: NDS LIMITED, UNITED KINGDOM

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BEAUMARIS NETWORKS LLC;CISCO SYSTEMS INTERNATIONAL S.A.R.L.;CISCO TECHNOLOGY, INC.;AND OTHERS;REEL/FRAME:047420/0600

Effective date: 20181028