Avalanche control for video on demand session setup
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.
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 INVENTIONThe 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 INVENTIONProviders 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 INVENTIONA 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
Throughout the description, similar reference numbers may be used to identify similar elements.
DETAILED DESCRIPTION OF THE INVENTIONAccording 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.
As illustrated in
In the embodiment of
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
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
With further reference to
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,
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.,
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
Although only a single session manager 32 is shown in
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
With further reference to
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
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 (
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
With further reference to
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
Various configurations intermediate between those shown in
At block 104 (
According to one aspect of the invention, all of the tasks described with reference to blocks 102-108 of
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 216a/216b 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 216a, 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 216b, 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
Blocks 218a/220a and 218b/220b of the process of
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.
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.,
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
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.
With further reference to
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
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.,
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.,
In
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.
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
The embodiment of
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
With further reference to
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.
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.,
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.,
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,
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
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.
Type: Application
Filed: Feb 23, 2006
Publication Date: Sep 7, 2006
Inventors: W. Sherer (Danville, CA), Kirk Blattman (San Ramon, CA), Danny Nessett (Fremont, CA), David Yates (Menlo Park, CA)
Application Number: 11/361,301
International Classification: G06F 15/16 (20060101);