# US 2021/0240801 A1 · Digital rights management system resource manager

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

- Number: US 2021/0240801 A1
- Document ID: US20210240801A1
- Status: Published application
- Kind: A1
- Application number: 17/157,243
- Filed: 2021-01-25
- Published: 2021-08-05
- Earliest claimed: 2020-02-03
- Assignees: ARRIS Enterprises LLC
- Applicants: ARRIS Enterprises LLC
- Inventors: Santosh Basavaraj BUDNI; Vinod JATTI; Nithin Raj Kuyyar RAVINDRANATH; Kiran Tovinkere SRINIVASAN
- Web page: https://patentgrep.com/patent/US20210240801A1

## CPC

- G06F 21/123: {by using dedicated hardware, e.g. dongles, smart cards, cryptographic processors, global positioning systems [GPS] devices}
- G06F 9/445: Program loading or initiating (bootstrapping G06F9/4401; security arrangements for program loading or initiating G06F21/57)
- G06F 21/10: Protecting distributed programs or content, e.g. vending or licensing of copyrighted material (protection in video systems or pay television H04N7/16) {; Digital rights management [DRM]}
- G06F 21/53: by executing in a restricted environment, e.g. sandbox or secure virtual machine
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A system and method for managing resources of a processor is disclosed. In an illustrative embodiment, the method includes accepting a command to execute an application at least in part by the processor, executing the application using the processor, monitoring execution parameters characterizing the execution of the application by the processor, and storing the monitored execution parameters in a memory accessible to processor. In one example, the execution parameters including an identifier of the application and a time at which the application begins execution.

## Claims

### Claim 1

A method of managing resources of a processor, comprising:
(a) accepting a command to execute an application at least in part by the processor;
(b) executing the application using the processor;
(c) monitoring execution parameters characterizing the execution of the application by the processor, the execution parameters comprising an identifier of the application and a time at which the application begins execution; and
(d) storing the monitored execution parameters in a memory accessible to processor.

### Claim 2 (depends on 1)

The method of claim 1, wherein the monitored execution parameters further comprise:
processor resources used to execute the application.

### Claim 3 (depends on 2)

The method of claim 2, wherein:
the processor comprises a secure processor module having a trusted execution environment; and
the processor resources comprise a secure processor module resources including a secure processor module memory.

### Claim 4 (depends on 3)

The method of claim 3, wherein the secure processor memory comprises one or more least one key slot and a secure video path (SVP), the key slots for securely storing keys for use by the application to decrypt content.

### Claim 5 (depends on 4)

The method of claim 4, wherein the application includes a trusted digital rights management (DRM) application executed by the secure processor module.

### Claim 6 (depends on 5)

The method of claim 5, wherein the trusted DRM application is selected from a group comprising:
high bandwidth digital content protection (HDCP);
digital transmission content protection (DTCP);
playready; and
widevine.

### Claim 7 (depends on 1)

The method of claim 1, wherein the execution parameters further include:
a time at which the application ends execution.

### Claim 8 (depends on 1)

The method of claim 1, wherein:
the command is accepted from a user; and
the method further comprises the steps of:
repeating steps (a)-(d) for a plurality of executions of a plurality of applications by a plurality of users.

### Claim 9 (depends on 8)

The method of claim 8, wherein the monitored execution parameters are stored in a table relating the user, the identifier of each of the applications and the times at which each of the applications begins and ends execution.

### Claim 10 (depends on 9)

The method of claim 9, wherein the table further comprises secure processor module resources invoked by the associated applications at the associated times.

### Claim 11 (depends on 10)

The method of claim 10, wherein the memory in which the monitored execution parameters are stored is external to the secure processor module.

### Claim 12 (depends on 1)

The method of claim 1, further comprising:
dynamically generating a prediction of the execution parameters from the stored monitored execution parameters, the predicted execution parameters including a predicted time at which the application will be executed and predicted secure processor resources invoked by the application; and
before the predicted time at which the application will be executed, initializing the predicted secure processor resources invoked by the application.

### Claim 13 (depends on 12)

The method of claim 12, wherein the predicted time at which the application will be executed is a most probable time that the application will be executed based on the plurality of executions of a plurality of applications.

### Claim 14

An apparatus for receiving content and providing content for presentation, comprising:
a processor;
a memory, communicatively coupled to the processor, the memory storing processor instructions comprising processor instructions for:
(a) accepting a command to execute an application for providing the content for presentation, the application executed at least in part by the processor;
(b) executing the application using the processor;
(c) monitoring execution parameters characterizing the execution of the application by the processor, the execution parameters comprising an identifier of the application and a time at which the application begins execution; and
(d) storing the monitored execution parameters in the memory.

### Claim 15 (depends on 14)

The apparatus of claim 14, wherein the monitored execution parameters further comprise: processor resources used to execute the application.

### Claim 16 (depends on 15)

The apparatus of claim 15, wherein:
the processor comprises a secure processor having a trusted execution environment; and
the processor resources comprise a secure memory.

### Claim 17 (depends on 16)

The apparatus of claim 16, wherein the secure memory comprises one or more least one key slot and a secure video path (SVP), the key slots for securely storing keys for use by the application to decrypt content.

### Claim 18 (depends on 17)

The apparatus of claim 17, wherein the application includes a trusted digital rights management (DRM) application executed by the secure processor.

### Claim 19 (depends on 18)

The apparatus of claim 18, wherein the trusted DRM application is selected from a group comprising:
high bandwidth digital content protection (HDCP);
digital transmission content protection (DTCP); and
a conditional access system application.

### Claim 20 (depends on 14)

The apparatus of claim 14, wherein the execution parameters further include:
a time at which the application ends execution.

### Claim 21 (depends on 14)

The apparatus of claim 14, wherein:
the command is accepted from a user; and
the processor instructions further comprise processor instructions for repeating steps (a)-(d) for a plurality of executions of a plurality of applications by a plurality of users.

### Claim 22 (depends on 21)

The apparatus of claim 21, wherein the monitored execution parameters are stored in a table relating the user, the identifier of each of the applications and the times at which each of the applications begins and ends execution.

### Claim 23 (depends on 22)

The apparatus of claim 22, wherein the table further comprises secure processor resources invoked by the associated applications at the associated times.

### Claim 24 (depends on 14)

The apparatus of claim 14, wherein the memory in which the monitored execution parameters are stored is external to the secure processor module.

### Claim 25 (depends on 14)

The apparatus of claim 14, wherein the processor instructions further comprise:
dynamically generating a prediction of the execution parameters from the stored monitored execution parameters, the predicted execution parameters including a predicted time at which the application will be executed and predicted secure processor resources invoked by the application; and
initializing the predicted secure processor resources invoked by the application before the predicted time at which the application will be executed.

### Claim 26 (depends on 25)

The apparatus of claim 25, wherein the predicted time at which the application will be executed is a most probable time that the application will be executed based on the plurality of executions of a plurality of applications.

### Claim 27

An apparatus for managing resources of a processor, comprising:
(a) means for accepting a command to execute an application at least in part by the processor;
(b) means for executing the application using the processor;
(c) means for monitoring execution parameters characterizing the execution of the application by the processor, the execution parameters comprising an identifier of the application and a time at which the application begins execution; and
(d) means for storing the monitored execution parameters in a memory accessible to processor.
