IP Library › Granted Patent US 12,265,597
Granted Patent B2
US 12,265,597 · App. 17/157,243 · Granted Apr 1, 2025

Digital rights management system resource manager

Inventors: Santosh Basavaraj Budni (Bangalore, IN); Vinod Jatti (Bangalore, IN); Nithin Raj Kuyyar Ravindranath (Bangalore, IN); Kiran Tovinkere Srinivasan (Bangalore, IN)
Assignee: ARRIS ENTERPRISES LLC
G06F21/123G06F9/445G06F21/10G06F21/53
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 12,265,597
App. No.
17/157,243
Filed
Jan 25, 2021
Granted
Apr 1, 2025
Kind
B2
Examiner
ZHU, ZHIMEI
Art Unit
2495
USPC
713/193
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 (66)

1. A method of managing, for playback of media content, one or more resources of a processor of a device, comprising:

(a) accepting a command from a user to execute an application of one or more applications at least in part by the processor, wherein the application is associated with playback of the media content;

(b) executing the application using the processor, wherein the application is associated with at least one of the one or more resources;

(c) monitoring execution parameters characterizing the execution of the application by the processor for the user, the execution parameters comprising an identifier of the application and a time at which the application begins execution, wherein monitoring comprises building a table that includes usage of the device, usage of the one or more applications, and the execution parameters;

(d) storing the monitored execution parameters in a memory accessible to the processor; and

reserving the at least one resource sufficient to execute the application based on an expected use of the application, wherein when to reserve the at least one resource is based on at least one of the execution parameters, and wherein the at least one resource comprises one or more key slots.

2. The method of claim 1 , wherein the monitored execution parameters further comprise:

processor resources used to execute the application.

3. The method of claim 2 , wherein:

the processor comprises a secure processor having a trusted execution environment; and

the processor resources comprise a secure memory.

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

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

6. 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.

7. The method of claim 1 , wherein the execution parameters further include:

a time at which the application ends execution.

8. The method of claim 1 , wherein:

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.

9. 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.

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

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

12. 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.

13. 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.

14. An apparatus for managing one or more resources of a device, for playback of media content, comprising:

a processor, wherein the one or more resources are of the processor;

a memory, communicatively coupled to the processor, the memory storing processor instructions comprising processor instructions for:

(a) accepting a command from a user to execute an application of one or more applications, wherein the application is associated with playback of the media content;

(b) executing the application using the processor, wherein the application is associated with at least one of the one or more resources;

(c) monitoring execution parameters characterizing the execution of the application by the processor for the user, the execution parameters comprising an identifier of the application and a time at which the application begins execution, wherein monitoring comprises building a table that includes usage of the device, usage of the one or more applications, and the execution parameters;

(d) storing the monitored execution parameters in the memory; and

reserving the at least one resource sufficient to execute the application based on an expected use of the application, wherein when to reserve the at least one resource is based on at least one of the execution parameters, and wherein the at least one resource comprises one or more key slots.

15. The apparatus of claim 14 , wherein the monitored execution parameters further comprise:

processor resources used to execute the application.

16. 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.

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

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

19. 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.

20. The apparatus of claim 14 , wherein the execution parameters further include:

a time at which the application ends execution.

21. The apparatus of claim 14 , wherein:

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.

22. 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.

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

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

25. 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.

26. 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.

27. An apparatus for managing, for playback of media content, one or more resources of a device using a processor of the apparatus, comprising:

(a) means for accepting a command from a user to execute an application of one or more applications at least in part by the processor, wherein the application is associated with playback of the media content;

(b) means for executing the application using the processor, wherein the application is associated with at least one of the one or more resources;

(c) means for monitoring execution parameters characterizing the execution of the application by the processor for the user, the execution parameters comprising an identifier of the application and a time at which the application begins execution, wherein monitoring comprises building a table that includes usage of the device, usage of the one or more applications, and the execution parameters;

(d) means for storing the monitored execution parameters in a memory accessible to processor; and

reserving the at least one resource sufficient to execute the application based on an expected use of the application, wherein when to reserve the at least one resource is based on at least one of the execution parameters, and wherein the at least one resource comprises one or more key slots.

Assignments (7)
RELEASE OF SECURITY INTEREST AT REEL/FRAME 058843/0712 Recorded Jan 12, 2026
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: ARRIS ENTERPRISES LLC; COMMSCOPE NORTH CAROLINA, LLC (F/K/A COMMSCOPE, INC. OF NORTH CAROLINA); COMMSCOPE TECHNOLOGIES LLC
Reel/Frame 074591/0389 →
RELEASE OF SECURITY INTEREST AT REEL/FRAME 058875/0449 Recorded Dec 19, 2024
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: ARRIS ENTERPRISES LLC (F/K/A ARRIS ENTERPRISES, INC.); COMMSCOPE, INC. OF NORTH CAROLINA; COMMSCOPE TECHNOLOGIES LLC
Reel/Frame 069743/0057 →
SECURITY INTEREST Recorded Dec 17, 2024
From: ARRIS ENTERPRISES LLC; COMMSCOPE TECHNOLOGIES LLC; COMMSCOPE INC., OF NORTH CAROLINA; OUTDOOR WIRELESS NETWORKS LLC; RUCKUS IP HOLDINGS LLC
To: APOLLO ADMINISTRATIVE AGENCY LLC
Reel/Frame 069889/0114 →
SECURITY INTEREST Recorded Nov 19, 2021
From: ARRIS SOLUTIONS, INC.; ARRIS ENTERPRISES LLC; COMMSCOPE TECHNOLOGIES LLC; COMMSCOPE, INC. OF NORTH CAROLINA; RUCKUS WIRELESS, INC.
To: WILMINGTON TRUST
Reel/Frame 060752/0001 →
TERM LOAN SECURITY AGREEMENT Recorded Nov 15, 2021
From: ARRIS ENTERPRISES LLC; COMMSCOPE TECHNOLOGIES LLC; COMMSCOPE, INC. OF NORTH CAROLINA
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 058875/0449 →
ABL SECURITY AGREEMENT Recorded Nov 15, 2021
From: ARRIS ENTERPRISES LLC; COMMSCOPE TECHNOLOGIES LLC; COMMSCOPE, INC. OF NORTH CAROLINA
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 058843/0712 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 25, 2021
From: BUDNI, SANTOSH BASAVARAJ; JATTI, VINOD; RAVINDRANATH, NITHIN RAJ KUYYAR; SRINIVASAN, KIRAN TOVINKERE
To: ARRIS ENTERPRISES LLC
Reel/Frame 055020/0886 →
Continuity (2)
Provisional Application 62969547 · Feb 3, 2020
Related Publication 20210240801A1 · Aug 5, 2021
References Cited (18)
US 8112755B2 · Apacible · 2012 [cited by examiner]
US 20080172668A1 · Tzruya · 2008 [cited by examiner]
US 20100057905A1 · Enscoe · 2010 [cited by examiner]
US 20120096455A1 · Katsumata · 2012 [cited by examiner]
US 20120324481A1 · Xia · 2012 [cited by examiner]
US 20130173513A1 · Chu · 2013 [cited by examiner]
US 20130305392A1 · Bar-El · 2013 [cited by examiner]
US 20140372356A1 · Bilal · 2014 [cited by examiner]
US 20150193239A1 · Dolph · 2015 [cited by examiner]
US 20150358301A1 · Dalbehera · 2015 [cited by examiner]
US 20160006724A1 · Vlot · 2016 [cited by examiner]
US 20160070887A1 · Wu · 2016 [cited by examiner]
US 20160162858A1 · Winograd · 2016 [cited by examiner]
US 20180191507A1 · Blankenbeckler · 2018 [cited by examiner]
US 20190138919A1 · Chen · 2019 [cited by examiner]
US 20190370603A1 · Chen · 2019 [cited by examiner]
US 20210200882A1 · Maor · 2021 [cited by examiner]
Thierry Monteil. Coupling profile and historical methods to predict execution time of parallel applications . Parallel and Cloud Computing, 2013, 2 (3), pp. 81-89 (Year: 2013). [cited by examiner]