IP Library Granted Patent US 9,076,017
Granted Patent B2
US 9,076,017 · App. 14/091,485 · Granted Jul 7, 2015

Hardware virtualization module for exclusive controlled access to CPU

Inventors: Sateesh K Addepalli (San Jose, CA); Raghuram S Sudhaakar (Sunnyvale, CA)
Assignee: Cisco Technology, Inc.
G06F21/70G06F12/145
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,076,017
App. No.
14/091,485
Granted
Jul 7, 2015
Kind
B2
Abstract

In one embodiment, a method comprises providing an apparatus having exclusive access to each of one or more central processing units (CPUs) of a computing system and exclusive access to host resources of the computing system; and controlling, by the apparatus, execution of a virtual machine in the computing system based on the apparatus controlling access to any one of the CPUs or any one of the host resources according to prescribed policies for the virtual machine, the prescribed policies maintained exclusively by the apparatus.

Claims (29)

1. A method comprising:

providing an apparatus having exclusive access to each of one or more central processing units (CPUs) of a computing system and exclusive access to host resources of the computing system;

controlling, by the apparatus, execution of a virtual machine in the computing system based on the apparatus controlling access to any one of the CPUs or any one of the host resources according to prescribed policies for the virtual machine, the prescribed policies maintained exclusively by the apparatus.

2. The method of claim 1 , wherein the controlling according to the prescribed policies includes the apparatus controlling access to any host resource by any one CPU during execution of the virtual machine, or controlling access to any CPU by any host resource, the host resources including any Input/Output (I/O) device of the computing system, or any memory of the computing system.

3. The method of claim 2 , wherein the controlling further comprises determining, by the apparatus, whether the CPU is authorized to access an identified memory location during execution of an identified instruction for the virtual machine, and selectively granting the access based on determining the CPU is authorized.

4. The method of claim 3 , wherein the controlling further comprises determining, by the apparatus, whether the CPU is authorized to access an identified I/O device of the computing system during execution of an second identified instruction for the virtual machine, and selectively granting the access to the identified I/O device based on determining the CPU is authorized.

5. The method of claim 3 , wherein the controlling further comprises the apparatus denying an identified I/O device access to the CPU based on determining the identified I/O device is creating a congestion condition during execution of the virtual machine.

6. The method of claim 1 , wherein the controlling includes the apparatus scheduling the virtual machine, relative to other virtual machines controlled by the apparatus, based on the respective policies for the respective virtual machines, including a corresponding priority assigned to each virtual machine.

7. The method of claim 6 , wherein each virtual machine has a corresponding policy, enforced by the apparatus, for accessing to any one CPU, or any host resource including any Input/Output (I/O) device of the computing system or any memory of the computing system.

8. An apparatus comprising:

at least one central processing unit (CPU) interface manager circuit configured for providing exclusive access to each of one or more CPUs of a computing system; and

at least one host interface manager circuit configured for providing exclusive access to host resources of the computing system;

the CPU interface manager circuit configured for controlling execution of a virtual machine in the computing system based on the apparatus controlling access to any one of the CPUs or any one of the host resources according to prescribed policies for the virtual machine, the prescribed policies maintained exclusively by the apparatus.

9. The apparatus of claim 8 , wherein:

the host interface manager circuit is configured for controlling, according to the prescribed policies, access to any host resource by any one CPU during execution of the virtual machine;

the CPU interface manager circuit configured for controlling access to any CPU by any host resource, the host resources including any Input/Output (I/O) device of the computing system, or any memory of the computing system.

10. The apparatus of claim 9 , wherein the host interface manager circuit comprises a memory manager circuit configured for determining whether the CPU is authorized to access an identified memory location during execution of an identified instruction for the virtual machine, and selectively granting the access based on determining the CPU is authorized.

11. The apparatus of claim 10 , wherein the host interface manager circuit further comprises an I/O manager circuit configured for determining whether the CPU is authorized to access an identified I/O device of the computing system during execution of an second identified instruction for the virtual machine, and selectively granting the access to the identified I/O device based on determining the CPU is authorized.

12. The apparatus of claim 10 , wherein the I/O manager circuit is configured for denying an identified I/O device access to the CPU based on determining the identified I/O device is creating a congestion condition during execution of the virtual machine.

13. The apparatus of claim 8 , wherein the CPU interface manager circuit is configured for scheduling the virtual machine, relative to other virtual machines controlled by the apparatus, based on the respective policies for the respective virtual machines, including a corresponding priority assigned to each virtual machine.

14. The apparatus of claim 13 , wherein each virtual machine has a corresponding policy, enforced by the apparatus, for accessing to any one CPU, or any host resource including any Input/Output (I/O) device of the computing system or any memory of the computing system.

15. Logic encoded in one or more non-transitory tangible media for execution by a machine and when executed by the machine operable for:

providing the machine with exclusive access to each of one or more central processing units (CPUs) of a computing system and exclusive access to host resources of the computing system;

controlling, by the machine, execution of a virtual machine in the computing system based on the machine controlling access to any one of the CPUs or any one of the host resources according to prescribed policies for the virtual machine, the prescribed policies maintained exclusively by the machine.

16. The logic of claim 15 , wherein the controlling according to the prescribed policies includes the machine controlling access to any host resource by any one CPU during execution of the virtual machine, or controlling access to any CPU by any host resource, the host resources including any Input/Output (I/O) device of the computing system, or any memory of the computing system.

17. The logic of claim 16 , wherein the controlling further comprises determining, by the machine, whether the CPU is authorized to access an identified memory location during execution of an identified instruction for the virtual machine, and selectively granting the access based on determining the CPU is authorized.

18. The logic of claim 17 , wherein the controlling further comprises determining, by the machine, whether the CPU is authorized to access an identified I/O device of the computing system during execution of an second identified instruction for the virtual machine, and selectively granting the access to the identified I/O device based on determining the CPU is authorized.

19. The logic of claim 17 , wherein the controlling further comprises the machine denying an identified I/O device access to the CPU based on determining the identified I/O device is creating a congestion condition during execution of the virtual machine.

20. The logic of claim 15 , wherein the controlling includes the machine scheduling the virtual machine, relative to other virtual machines controlled by the machine, based on the respective policies for the respective virtual machines, including a corresponding priority assigned to each virtual machine.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 27, 2013
From: ADDEPALLI, SATEESH K; SUDHAAKAR, RAGHURAM S
To: CISCO TECHNOLOGY, INC.
Reel/Frame 031684/0121 →
Continuity (1)
Related Publication 20150150118A1 · May 28, 2015