# US 10,455,265 B2 · Program and device class entitlements in a media platform

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,455,265 B2
- Document ID: US10455265B2
- Status: Granted
- Kind: B2
- Application number: 14/829,196
- Filed: 2015-08-18
- Published: 2016-10-27
- Granted: 2019-10-22
- Earliest claimed: 2015-04-27
- Assignees: Ericsson Inc.
- Applicants: Ericsson AB
- Inventors: Daniel Biagini; Mikhail Mikhailov; Kevin Ma; Prabhudev Navali; Robert Arritt
- Web page: https://patentgrep.com/patent/US10455265B2

## CPC

- H04N 21/2662: Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
- H04H 60/14: Arrangements for conditional access to broadcast information or to broadcast-related services
- H04H 60/23: using cryptography, e.g. encryption, authentication, key distribution
- H04L 63/0428: {wherein the data content is protected, e.g. by encrypting or encapsulating the payload}
- H04L 63/10: {for controlling access to devices or network resources}
- H04N 21/2187: Live feed
- H04N 21/23439: {for generating different versions}
- H04N 21/2347: involving video stream encryption
- H04N 21/2541: {Rights Management (protecting software against unauthorised usage in a vending or licensing environment G06F21/10; security in data switching network management H04L41/28; security management or policies for network security H04L63/20; access security in wireless networks H04W12/08)}
- H04N 21/25816: {involving client authentication (restricting access to computer systems by authenticating users using a predetermined code G06F21/33; cryptographic authentication protocols H04L9/32; networks authentication protocols H04L63/08; authentication in wireless network security H04W12/06)}
- H04N 21/25875: {involving end-user authentication (restricting access to computer systems by authenticating users using a predetermined code G06F21/33; arrangements for secret or secure communication including means for verifying the identity or authority of a user of the system H04L9/32; networks authentication protocols H04L63/08; authentication in wireless network security H04W12/06)}
- H04N 21/26258: {for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list (retrieval of multimedia data based on playlists G06F16/40)}
- H04N 21/26606: {for generating or managing entitlement messages, e.g. Entitlement Control Message [ECM] or Entitlement Management Message [EMM] (arrangements for conditional access to broadcast information or to broadcast-related services H04H60/14)}
- H04N 21/4518: {involving characteristics of one or more peripherals, e.g. peripheral type, software version, amount of memory available or display capabilities}
- H04N 21/4627: Rights management {associated to the content (security in data switching network management H04L41/28; security management or policies for network security H04L63/20; access security in wireless networks H04W12/08)}
- H04N 21/64753: {directed to the client}
- H04N 21/6543: for forcing some client operations, e.g. recording {(remote booting in general G06F9/4416)}
- H04N 21/835: Generation of protective data, e.g. certificates {(protecting software against unauthorised usage in a vending or licensing environment G06F21/10)}
- H04N 21/8352: involving content or source identification data, e.g. Unique Material Identifier [UMID]
- H04N 21/8355: involving usage data, e.g. number of copies or viewings allowed
- H04N 21/8456: {by decomposing the content in the time domain, e.g. in time segments}
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04H: BROADCAST COMMUNICATION (multiplex communication H04J; pictorial communication aspects of broadcast systems H04N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## 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

### Claim 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.

### Claim 2 (depends on 1)

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.

### Claim 3 (depends on 1)

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.

### Claim 4 (depends on 1)

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.

### Claim 5 (depends on 3)

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.

### Claim 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.

### Claim 7 (depends on 6)

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.

### Claim 8 (depends on 6)

The method as recited in claim 6 wherein the channel entitlements are received from a network node.

### Claim 9 (depends on 8)

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.

### Claim 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.

### Claim 11 (depends on 10)

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.

### Claim 12 (depends on 10)

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.

### Claim 13 (depends on 12)

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.
