IP Library Granted Patent US 9,274,852
Granted Patent B2
US 9,274,852 · App. 12/896,503 · Granted Mar 1, 2016

Apparatus and method for managing virtual processing unit

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 9,274,852
App. No.
12/896,503
Granted
Mar 1, 2016
Kind
B2
Abstract

A method and apparatus for managing a virtual processor including resources for operating application through a real central processing unit, which includes determining a utilization of a plurality of real CPUs to which a plurality of virtual processors are divided to be allocated; and repartitioning the virtual processors and reallocating the repartitioned virtual processor to at least part of the real CPUs, when the utilization of any one of the real CPUs is at a threshold or less.

Claims (67)

1. A method for managing virtual processors allocated to real processors, the method comprising:

determining utilization of a plurality of real processors;

identifying a first real processor having a lowest utilization among the plurality of real processors;

reallocating at least one virtual processor to the first real processor;

determining utilization of each processor of a plurality of virtual processors;

identifying at least two virtual processors having a combined lowest utilization among the plurality of virtual processors; and

transferring a part of a virtual task of each of the at least two virtual processors to the plurality of virtual processors, except for the at least two virtual processors.

2. The method of claim 1 , further comprising:

determining whether utilization of the first real processor is less than or equal to a first threshold; and

determining to reallocate the at least one virtual processor to the first real processor, if the utilization of the first real processor is less than or equal to the first threshold.

3. The method of claim 1 , further comprising:

identifying a second real processor having a highest utilization among the plurality of real processors;

determining whether utilization of the second real processor is greater than or equal to a second threshold;

determining whether at least two virtual processors are allocated to the second real processor, if the utilization of the second real processor is greater than or equal to the second threshold;

reallocating at least one of the at least two virtual processors allocated to the second real processor to one of the plurality of real processors other than the second real processor, if the at least two virtual processors are allocated to the second real processor.

4. The method of claim 1 , wherein determining the utilization of the plurality of real processors is performed periodically.

5. The method of claim 1 , wherein reallocating the at least one virtual processor to the first real processor comprises:

determining whether a predetermined time duration has elapsed, after a previous reallocation of at least one virtual processor to the first real processor; and

determining to reallocate the at least one virtual processor to the first real processor, if the predetermined time duration has elapsed,

wherein the at least one virtual processor is not reallocated to the first real processor, if the predetermined time duration has not elapsed.

6. The method of claim 1 , further comprising:

identifying a utilization of each real processor of a set of real processors among the plurality of real processors;

adding a utilization of at least two real processors having a lowest combined utilization; and

reallocating at least one virtual processor allocated to the at least two real processors of the set of real processors, if the added utilization the at least two real processors of the set of real processors is less than or equal to a third threshold,

wherein the at least two real processors of the set of real processors includes the first real processor.

7. The method of claim 6 , further comprising turning off a power of at least one real processor among the identified set of real processors.

8. The method of claim 1 , wherein the plurality of virtual processors, except for the at least two virtual processors, includes at least one non-real-time processor.

9. The method of claim 1 , further comprising:

determining utilization of a plurality of non-real-time processors among the plurality of real processors;

identifying a non-real-time processor having a lowest utilization among the plurality of non-real-time processors; and

reallocating at least one virtual processor allocated to the identified non-real-time processor to a real-time processor,

wherein the real-time processor is part of the plurality of real processors.

10. An apparatus for managing virtual processors allocated to real processors, the apparatus comprising:

a plurality of virtual processors including resources for operating applications;

a plurality of real processors; and

a controller configured to:

determine utilization of the plurality of real processors;

identify a first real processor having a lowest utilization among the plurality of real processors;

reallocate at least one of the plurality of virtual processors to the first real processor;

determine utilization of each processor of the plurality of virtual processors;

identify at least two virtual processors having a combined lowest utilization among the plurality of virtual processors; and

transfer a part of a virtual task of each of the at least two virtual processors to the plurality of virtual processors, except for the at least two virtual processors.

11. The apparatus of claim 10 , wherein the controller is further configured to:

determine whether utilization of the first real processor is less than or equal to a first threshold; and

determining to reallocate at least one of the plurality of virtual processors to the first real processor, if the utilization of the first real processor is less than or equal to the first threshold.

12. The apparatus of claim 10 , wherein the controller is further configured to:

identify a second real processor having a highest utilization among the plurality of real processors;

determine whether utilization of the second real processor is greater than or equal to a second threshold;

determine whether at least two of the plurality of virtual processors are allocated to the second real processor, if the utilization of the second real processor is greater than or equal to the second threshold; and

reallocate at least one of the at least two of the plurality of virtual processors allocated to the second real processor to one of the plurality of real processors other than the second real processor, if the at least two of the plurality of virtual processors are allocated to the second real processor.

13. The apparatus of claim 10 , wherein the controller is further configured to periodically determine the utilization of the plurality of real processors.

14. The apparatus of claim 10 , wherein the controller is further configured to:

determine whether a predetermined time duration has elapsed, after a previous reallocation of at least one of the plurality of virtual processors to the first real processor;

reallocate at least one of the plurality of the virtual processors to the first real processor, if the predetermined time duration has elapsed; and

prevent reallocation of the at least one of the plurality of virtual processors to the first real processor, if the predetermined time duration has not elapsed.

15. The apparatus of claim 10 , wherein the controller is further configured to:

identify a utilization of each real processor of a set of real processors among the plurality of real processors;

add a utilization of at least two real processors having a lowest combined utilization; and

reallocate at least one virtual processor allocated to the at least two real processors of the set of real processors, if the added utilization of the at least two real processors of the set of real processors is less than or equal to a third threshold,

wherein the at least two real processors of the set of real processors includes the first real processor.

16. The apparatus of claim 15 , wherein the controller is further configured to turn off a power of at least one real processor among the identified set of real processors.

17. The apparatus of claim 10 , wherein the plurality of virtual processors, except for the at least two virtual processors, includes at least one non-real-time processor.

18. The apparatus of claim 10 , wherein the controller is further configured to:

determine utilization of a plurality of non-real-time processors among the plurality of real processors;

identify a non-real-time processor having a lowest utilization among the plurality of non-real-time processors; and

reallocate at least one virtual processor allocated to the identified non-real-time processor to a real-time processor,

wherein the real-time processor is part of the plurality of real processors.

Assignments (8)
CHANGE OF NAME Recorded Oct 4, 2024
From: ROVI GUIDES, INC.
To: ADEIA GUIDES INC.
Reel/Frame 069113/0420 →
RELEASE OF SECURITY INTEREST Recorded Jun 5, 2020
From: HPS INVESTMENT PARTNERS, LLC
To: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
Reel/Frame 053458/0749 →
RELEASE OF SECURITY INTEREST Recorded Jun 5, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
Reel/Frame 053481/0790 →
SECURITY INTEREST Recorded Jun 1, 2020
From: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS INC.; VEVEO, INC.; INVENSAS CORPORATION; INVENSAS BONDING TECHNOLOGIES, INC.; TESSERA, INC.; TESSERA ADVANCED TECHNOLOGIES, INC.; DTS, INC.; PHORUS, INC.; IBIQUITY DIGITAL CORPORATION
To: BANK OF AMERICA, N.A.
Reel/Frame 053468/0001 →
PATENT SECURITY AGREEMENT Recorded Nov 25, 2019
From: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 051110/0006 →
SECURITY INTEREST Recorded Nov 22, 2019
From: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
To: HPS INVESTMENT PARTNERS, LLC, AS COLLATERAL AGENT
Reel/Frame 051143/0468 →
MERGER Recorded Jul 18, 2019
From: TIVO TECHNOLOGIES CORPORATION
To: ROVI GUIDES, INC.
Reel/Frame 049795/0068 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 23, 2019
From: SAMSUNG ELECTRONICS CO., LTD.
To: TIVO TECHNOLOGIES CORPORATION
Reel/Frame 048112/0053 →