Program and device class entitlements in a media platform
First Claim
Patent Images
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.
1 Assignment
0 Petitions
Accused Products
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.
22 Citations
13 Claims
-
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. - View Dependent Claims (2, 3, 4, 5)
-
-
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. - View Dependent Claims (7, 8, 9)
-
-
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. - View Dependent Claims (11, 12, 13)
-
Specification