US10455265B2ActiveUtilityPatentIndex 58
Program and device class entitlements in a media platform
Est. expiryApr 27, 2035(~8.8 yrs left)· nominal 20-yr term from priority
H04N 21/25875H04N 21/2347H04N 21/26258H04N 21/23439H04N 21/8352H04N 21/8355H04N 21/835H04L 63/10H04N 21/2541H04N 21/64753H04H 60/14H04N 21/8456H04N 21/6543H04H 60/23H04N 21/26606H04L 63/0428H04N 21/2662H04N 21/25816H04N 21/4627H04N 21/2187H04N 21/4508H04N 21/4518
58
PatentIndex Score
1
Cited by
38
References
13
Claims
Abstract
A method and apparatus for managing entitlements in a broadcast stream are disclosed. The method includes receiving a manifest containing program information for a program in the broadcast stream, with the program information providing a program entitlement block. The method uses entitlements specified in the program entitlement block to enforce entitlements for the program.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A method operable on a user device for enforcing program entitlements for a live streaming adaptive bitrate (ABR) channel, the method comprising:
receiving channel entitlements from a network node;
receiving, in the live streaming ABR channel from a content distribution network, an ABR manifest containing first program information for a first program in the live streaming ABR channel, the first program information providing a first program entitlement block that is applicable only to the first program;
determining whether the first program entitlement block comprises a plurality of entitlement objects that each comprises a set of entitlements and targets a respective device class to which the set of entitlements is applied;
responsive to determining that the first program entitlement block comprises the plurality of entitlement objects, a media client that operates under control of a processor on the user device parsing respective device classes within the first program entitlement block until a first device class matching the user device is found, selecting a respective entitlement object of the plurality of entitlement objects and using entitlements specified in the selected entitlement object to enforce entitlements for the first program; and
responsive to the media client determining that the first program entitlement block does not comprise a plurality of entitlement objects, using entitlements specified in the first program entitlement block to enforce entitlements for the first program.
2. The method as recited in claim 1 further comprising:
receiving a subscriber override indicator;
determining whether a subscriber override is in effect for the user device;
responsive to determining that the subscriber override is in effect, sending an override entitlement request to a network node; and
responsive to receiving override entitlements, using the override entitlements to enforce entitlements for the first program.
3. The method as recited in claim 1 further comprising:
receiving, in the ABR manifest from the content distribution network, second program information for a second program in the live streaming ABR channel;
determining whether the second program information provides a second program entitlement block that is applicable only to the second program; and
responsive to determining that the second program entitlement block is not provided, using the channel entitlements to enforce entitlements for the second program.
4. The method as recited in claim 1 wherein the ABR manifest received from the content distribution network includes at least one entitlement selected from the group comprising activation time, device type, playback enabled/disabled on jailbroken devices, network connection type, HDMI/airplay enabled/disabled, in/out home, in/out country, stream count limits, minimum bitrate, maximum bitrate, fast-forward enabled/disabled, rewind enabled/disabled, maximum bitrate on a jailbroken device, minimum/maximum play position, maximum number of ads to play, session shift enabled/disabled.
5. The method as recited in claim 3 further comprising:
determining whether a hash code associated with the second program entitlement block matches a hash code associated with the first program entitlement block; and
responsive to determining that the hash codes match, using entitlements specified in the first entitlement block to enforce entitlements for the second program.
6. A method operable on a user device for enforcing program entitlements for a live streaming adaptive bitrate (ABR) stream, the method comprising:
receiving channel entitlements for a channel in the live streaming ABR stream;
receiving, in the live streaming ABR stream, an ABR manifest from a content distribution network, the ABR manifest containing program information for a first program on the channel;
a media client that operates under control of a processor on the user device determining whether a first program entitlement block that is applicable only to the first program is provided in the program information;
if the first program entitlement block is provided,
the media client determining whether the first program entitlement block comprises a plurality of entitlement objects that each comprises a set of entitlements and targets a respective device class to which the set of entitlements is applied; and
responsive to determining that the first program entitlement block comprises a plurality of entitlement objects, the media client parsing respective device classes within the first program entitlement block until a first device class matching the user device is found, selecting a respective entitlement object of the plurality of entitlement objects and using entitlements specified in the selected entitlement object to enforce entitlements for the first program;
responsive to determining that the first program entitlement block does not comprise a plurality of entitlement objects, the media client using entitlements specified in the first program entitlement block to enforce entitlements for the first program; and
if the first program entitlement block is not provided, using the channel entitlements to enforce entitlements for the first program.
7. The method as recited in claim 6 further comprising:
receiving a subscriber override indicator;
prior to determining whether the first program entitlement block is provided, determining whether a user override is active; and
responsive to determining that the user override is active, sending an override entitlement request to a network node;
receiving override entitlements for the first program; and
using the override entitlements to enforce entitlements for the first program.
8. The method as recited in claim 6 wherein the channel entitlements are received from a network node.
9. The method as recited in claim 8 further comprising:
receiving, in the ABR manifest from the content distribution network, a second program entitlement block for a second program
determining whether a hash code associated with the second program entitlement block matches a hash code associated with the first program entitlement block; and
responsive to determining that the hash codes match, using entitlements in the first program entitlement block to enforce entitlements for the second program.
10. An apparatus for enforcing program entitlements for a live streaming adaptive bitrate (ABR) channel comprising:
one or more processors operably coupled to a memory having a sequence of program instructions which, when executed by the one or more processors, perform the following:
receiving channel entitlements from a network node;
receiving, in the live streaming ABR channel from a content distribution network, an ABR manifest containing first program information for a first program in the live streaming ABR channel, the first program information providing a first program entitlement block that is applicable only to the first program;
determining whether the first program entitlement block comprises a plurality of entitlement objects, at least one entitlement object having a respective device class with which the entitlement object is associated;
responsive to determining that the first program entitlement block comprises a plurality of entitlement objects that each comprises a set of entitlements and targets a respective device class to which the entitlements belong, parsing respective device classes within the first program entitlement block until a first device class matching the user device is found, selecting a respective entitlement object of the plurality of entitlement objects and using the entitlements specified in the selected entitlement object to enforce entitlements for the first program; and
responsive to determining that the first program entitlement block does not comprise a plurality of entitlement objects, using entitlements specified in the first program entitlement block to enforce entitlements for the first program.
11. The apparatus as recited in claim 10 wherein the sequence of program instructions further performs the following:
receiving a subscriber override indicator;
determining whether a subscriber override is in effect for the user device;
responsive to determining that the subscriber override is in effect, sending an override entitlement request to a network node; and
responsive to receiving override entitlements, using the override entitlements to enforce entitlements for the first program.
12. The apparatus as recited in claim 10 wherein the sequence of program instructions further performs the following:
receiving, in the ABR manifest from the content distribution network, second program information for a second program in the live streaming ABR channel;
determining whether the second program information provides a second program entitlement block that is applicable only to the second program; and
responsive to determining that the second program entitlement block is not provided, using the channel entitlements to enforce entitlements for the second program.
13. The apparatus as recited in claim 12 wherein the sequence of program instructions further performs the following:
determining whether a hash code associated with the second program entitlement block matches a hash code associated with the first program entitlement block; and
responsive to determining that the hash codes match, using entitlements specified in the first entitlement block to enforce entitlements for the second program.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.