Media on demand session re-use
First Claim
1. A method for establishing and re-using sessions for the delivery of media content from at least one server to any of a plurality of client devices, comprising the steps of:
- establishing a first session to deliver first media content;
receiving a request for a second session to deliver second media content;
determining whether a session can be re-used for the second session; and
re-using the first session for the second session responsive to determining that the first session can be used for the second session.
3 Assignments
0 Petitions
Accused Products
Abstract
A system for establishing and re-using sessions for the delivery of media content from at least one server to any of a plurality of client devices that comprises a memory with logic and a processor configured by the logic to establish a first session to deliver first media content. The processor is further configured by the logic to receive a request for a second session to deliver second media content and determine whether a session can be re-used for the second session. The processor is further configured by the logic to re-use the first session for the second session responsive to determining that the first session can be used for the second session.
156 Citations
66 Claims
-
1. A method for establishing and re-using sessions for the delivery of media content from at least one server to any of a plurality of client devices, comprising the steps of:
-
establishing a first session to deliver first media content;
receiving a request for a second session to deliver second media content;
determining whether a session can be re-used for the second session; and
re-using the first session for the second session responsive to determining that the first session can be used for the second session. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32)
-
-
33. A method for establishing and re-using sessions for the delivery of media content from at least one server to any of a plurality of client devices, comprising the steps of:
-
receiving a request for a first session, for delivering first media content from the server, from one of the client devices;
receiving, from the one of the client devices, an identification of the first media content, an identification of a user, an address of the server, and billing information for the user;
interpreting the request for the first session in order to balance the server load among a plurality of server loads, to match the server to corresponding proprietary client devices, and to optimize signal strength between the client devices and the server;
forwarding the request for the first session to the server;
receiving a request from the server to allocate resources for the first session;
establishing the first session to deliver the first media content from the server to the one of the client devices, wherein the step of establishing further comprises the step of allocating the resources for the first session, wherein the resources are defined in part by resource descriptors and the corresponding resource descriptor attributes, wherein the resource descriptors comprise a TSDownstreamBandwidth, an MPEGProgram, a ServerConditionalAccess, a ClientConditionalAccess, and a HeadendID resource descriptor, wherein the resource descriptor attributes include bit rate, encryption, transport stream identification, and MPEG program number, wherein the step of establishing further comprises the step of selecting a QAM modulator and equipping the QAM modulator with an encryption message for later insertion into an output transport stream carrying the first media content, wherein the encryption message includes an interactive session key;
confirming to the server that the resources are allocated for the first session, such that the server can deliver the first media content using the first session;
sending a session confirmation to the one of the client devices, wherein the session confirmation provides the one of the client devices with the frequency to tune to receive the first media content, the output program number to select to receive the first media content, and an interactive session key for decrypting the encrypted first media content;
saving the first session for a second session request after completing the delivery of the first media content;
preserving from the first session for the second session the interactive session key for encryption, hardware settings in a headend, wherein the headend hardware includes at least one QAM modulator, and resource descriptor attribute settings, wherein the resource descriptor attribute settings include bit rate, encryption, transport stream identification, and MPEG program number;
receiving a request for the second session to deliver second media content;
determining whether a session can be re-used for the second session, wherein the determining step includes determining whether a session includes resources that use at least some of the same resources as the first session; and
re-using the first session for the second session responsive to determining that the first session can be used for the second session, wherein the step of re-using includes the step of re-using the first session for the second session if the second session uses at least some of the same resources that were used for the first session to deliver the first media content;
re-using the first session for the second session request if the second session resources match at least some of the resources used for the first session, wherein the step of re-using includes the step of re-using the first session for the second session if the second session uses at least the bit rate used in the first session, wherein the step of re-using includes the step of re-using the first session for the second session if the second session uses the same encryption as the encryption used in the first session, wherein the step of re-using includes the step of re-using the first session for the second session if the second session uses the same MPEG program number as the MPEG program number used in the first session, wherein the step of re-using includes the step of re-using the first session for the second session if the second session uses the same QAM modulator as the QAM modulator used in the first session;
maintaining a transport stream identification table indexed by transport stream identification for each QAM modulator input;
accessing a session table for a selected entry of the transport stream identification table, wherein the session table includes session identification and entries for client view resource descriptors and server view resource descriptors, wherein the resource descriptors include a TSDownstreamBandwidth, an MPEGProgram, a ServerConditionalAccess, a ClientConditionalAccess, and a HeadendID resource descriptor, wherein the resource descriptors include resource descriptor attributes including bit rate, encryption, transport stream identification, and MPEG program number;
comparing the resource descriptors and the corresponding resource descriptor attributes of the first session included in the session table with the resource descriptors and the corresponding resource descriptor attributes needed for the second session;
remapping program number packet identifications for carrying the second media content in the second session;
renumbering program numbers carrying the second media content when the program number is being used at the output of a QAM modulator for another session;
re-using a plurality of sessions;
releasing the resources of the first session to configure different resources for second session if the second session bit rate exceeds the bit rate for the first session; and
releasing the resources for the first session if the first session has been dormant for a defined period of time.
-
-
34. A system for establishing and re-using sessions for the delivery of media content from at least one server to any of a plurality of client devices, the system comprising:
-
a memory with logic; and
a processor configured with the logic to establish a first session to deliver first media content, wherein the processor is further configured with the logic to receive a request for a second session to deliver second media content, wherein the processor is further configured with the logic to determine whether a session can be re-used for the second session, wherein the processor is further configured with the logic to re-use the first session for the second session responsive to determining that the first session can be used for the second session. - View Dependent Claims (35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65)
-
-
66. A system for establishing and re-using sessions for the delivery of media content from at least one server to any of a plurality of client devices, the system comprising:
-
a memory with logic; and
a processor configured with the logic to receive a request for a first session, for delivering first media content from the server, from one of the client devices, wherein the processor is further configured with the logic to receive, from the one of the client devices, an identification of the first media content, an identification of a user, an address of the server, and billing information for the user, wherein the processor is further configured with the logic to interpret the request for the first session in order to balance the server load among a plurality of server loads, to match the server to corresponding proprietary client devices, and to optimize signal strength between the client devices and the server, wherein the processor is further configured with the logic to forward the request for the first session to the server, wherein the processor is further configured with the logic to receive a request from the server to allocate resources for the first session, wherein the processor is further configured with the logic to establish the first session to deliver the first media content from the server to the one of the client devices, wherein the processor is further configured with the logic to allocate the resources for the first session, wherein the resources are defined in part by resource descriptors and the corresponding resource descriptor attributes, wherein the resource descriptors comprise a TSDownstreamBandwidth, an MPEGProgram, a ServerConditionalAccess, a ClientConditionalAccess, and a HeadendID resource descriptor, wherein the resource descriptor attributes include bit rate, encryption, transport stream identification, and MPEG program number, wherein the step of establishing further comprises the step of selecting a QAM modulator and equipping the QAM modulator with an encryption message for later insertion into an output transport stream carrying the first media content, wherein the encryption message includes an interactive session key, wherein the processor is further configured with the logic to confirm to the server that the resources are allocated for the first session, such that the server can deliver the first media content using the first session, wherein the processor is further configured with the logic to send a session confirmation to the one of the client devices, wherein the session confirmation provides the one of the client devices with the frequency to tune to receive the first media content, the output program number to select to receive the first media content, and an interactive session key for decrypting the encrypted first media content, wherein the processor is further configured with the logic to save the first session for a second session request after completing the delivery of the first media content, wherein the processor is further configured with the logic to preserve from the first session for the second session the interactive session key for encryption, hardware settings in a headend, wherein the headend hardware includes at least one QAM modulator, and resource descriptor attribute settings, wherein the resource descriptor attribute settings include bit rate, encryption, transport stream identification, and MPEG program number, wherein the processor is further configured with the logic to receive a request for the second session to deliver second media content, wherein the processor is further configured with the logic to determine whether a session can be re-used for the second session, wherein the processor is further configured with the logic to determine whether a session includes resources that use at least some of the same resources as the first session, wherein the processor is further configured with the logic to re-use the first session for the second session responsive to determining that the first session can be used for the second session, wherein the processor is further configured with the logic to re-use the first session for the second session if the second session uses at least some of the same resources that were used for the first session to deliver the first media content, wherein the processor is further configured with the logic to re-use the first session for the second session request if the second session resources match at least some of the resources used for the first session, wherein the processor is further configured with the logic to re-use the first session for the second session if the second session uses at least the bit rate used in the first session wherein the processor is further configured with the logic to re-use the first session for the second session if the second session uses the same encryption as the encryption used in the first session, wherein the processor is further configured with the logic to re-use the first session for the second session if the second session uses the same MPEG program number as the MPEG program number used in the first session, wherein the processor is further configured with the logic to re-use the first session for the second session if the second session uses the same QAM modulator as the QAM modulator used in the first session, wherein the processor is further configured with the logic to maintain a transport stream identification table indexed by transport stream identification for each QAM modulator input, wherein the processor is further configured with the logic to access a session table for a selected entry of the transport stream identification table, wherein the session table includes session identification and entries for client view resource descriptors and server view resource descriptors, wherein the resource descriptors include a TSDownstreamBandwidth, an MPEGProgram, a ServerConditionalAccess, a ClientConditionalAccess, and a HeadendID resource descriptor, wherein the resource descriptors include resource descriptor attributes including bit rate, encryption, transport stream identification, and MPEG program number, wherein the processor is further configured with the logic to compare the resource descriptors and the corresponding resource descriptor attributes of the first session included in the session table with the resource descriptors and the corresponding resource descriptor attributes needed for the second session, wherein the processor is further configured with the logic to remap program number packet identifications for carrying the second media content in the second session, wherein the processor is further configured with the logic to renumber program numbers carrying the second media content when the program number is being used at the output of a QAM modulator for another session, wherein the processor is further configured with the logic to re-use a plurality of sessions, wherein the processor is further configured with the logic to release the resources of the first session to configure different resources for second session if the second session bit rate exceeds the bit rate for the first session, wherein the processor is further configured with the logic to release the resources for the first session if the first session has been dormant for a defined period of time.
-
Specification