IP Library › Granted Patent US 10,455,265
Granted Patent B2
US 10,455,265 · App. 14/829,196 · Granted Oct 22, 2019

Program and device class entitlements in a media platform

Inventors: Daniel Biagini (Bolton, MA); Mikhail Mikhailov (Newton, MA); Kevin Ma (Nashua, NH); Prabhudev Navali (Westford, MA); Robert Arritt (Nashua, NH)
Assignee: Ericsson AB
H04N21/2662H04H60/14H04H60/23H04N21/2187H04N21/2347H04N21/23439H04N21/2541H04N21/25816H04N21/25875H04N21/26258H04N21/26606H04N21/4508H04N21/4627H04N21/64753H04N21/6543H04N21/835H04N21/8352H04N21/8355H04N21/8456
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,455,265
App. No.
14/829,196
Granted
Oct 22, 2019
Kind
B2
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 (58)

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.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 13, 2017
From: ARRITT, ROBERT; BIAGINI, DANIEL; MA, KEVIN; MIKHAILOV, MIKHAIL; NAVALI, PRABHUDEV
To: ERICSSON AB
Reel/Frame 043864/0654 →
Continuity (2)
Provisional Application 62153036 · Apr 27, 2015
Related Publication 20160316244A1 · Oct 27, 2016