IP Library Granted Patent US 7,669,202
Granted Patent B1
US 7,669,202 · App. 10/959,409 · Granted Feb 23, 2010

Resource management

Assignee: Azul Systems, Inc.
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 7,669,202
App. No.
10/959,409
Granted
Feb 23, 2010
Kind
B1
Abstract

A technique for executing a segmented virtual machine (VM) is disclosed. A plurality of core VM's are implemented in a common core space. Each core VM is associated with a shell VM. Resources of the core space are allocated among the core VM's. A core VM is associated with a shell VM configured to perform shell VM functions and communicate with the core VM. VM internal execution functionality is performed on the core VM. The shell VM may be bypassed to communicate with an external application.

Claims (82)

1. A segmented virtual machine (VM) executing within one or more computer systems, the segmented virtual machine comprising:

a plurality of core VM's implemented in a common core space; and

a plurality of shell VM's each associated with a core VM;

wherein:

the plurality of core VM's each perform VM internal execution functions;

the plurality of shell VM's each perform interactions with an external environment and are configured to forward certain calls from the external environment to its associated core VM;

the plurality of core VM's and the plurality of shell VM's cooperate to form the segmented VM; and

resources of the common core space are allocated among the core VM's according to a policy indicating resource requirement of the plurality of core VM's, the resource requirement including priority information pertaining to each of the plurality of core VM's.

2. A segmented VM as recited in claim 1 wherein the resources are dynamically allocated among the core VM's.

3. A segmented VM as recited in claim 1 wherein the resources include memory.

4. A segmented VM as recited in claim 1 wherein the resources include processing power.

5. A segmented VM as recited in claim 1 wherein the resources include I/O.

6. A segmented VM as recited in claim 1 wherein the core space resides on a plurality of physical devices.

7. A segmented VM as recited in claim 1 wherein the core space includes a portion allocated to a core VM.

8. A segmented VM as recited in claim 1 wherein the core space includes a portion reserved for a core VM.

9. A segmented VM as recited in claim 1 wherein the core space includes a portion borrowed for a core VM.

10. A segmented VM as recited in claim 1 wherein the core space includes portions that are specifically allocated.

11. A segmented VM as recited in claim 1 wherein the core space includes portions that are generally allocated.

12. A segmented VM as recited in claim 1 wherein the core space includes a portion that is unallocated.

13. A segmented VM as recited in claim 1 further including a resource manager that allocates a portion of the core space to a core VM based on the policy.

14. A segmented VM as recited in claim 1 further including a core allocation enforcer that enforces an allocation of the core space to a core VM based on the policy.

15. A method of executing a segmented virtual machine (VM) comprising:

implementing a plurality of core VM's in a common core space; wherein:

each core VM is associated with a shell VM;

each core VM performs VM internal execution functions;

each shell VM performs VM interactions with an external environment and are configured to forward certain calls from the external environment to its associated core VM; and

the plurality of core VM's and the plurality of shell VM's cooperate to form the segmented VM; and

allocating resources of the common core space among the core VM's according to a policy indicating resource requirement of the plurality of core VM's, the resource requirement including priority information pertaining to each of the plurality of core VM's.

16. A method as recited in claim 15 wherein the resources are dynamically allocated among the core VM's.

17. A method as recited in claim 15 wherein the resources include memory.

18. A method as recited in claim 15 wherein the resources include processing power.

19. A method as recited in claim 15 wherein the resources include I/O.

20. A method as recited in claim 15 wherein the core space resides on a plurality of physical devices.

21. A method as recited in claim 15 wherein the core space includes a portion allocated to a core VM.

22. A method as recited in claim 15 wherein the core space includes a portion reserved for a core VM.

23. A method as recited in claim 15 wherein the core space includes a portion borrowed for a core VM.

24. A method as recited in claim 15 wherein the core space includes portions that are specifically allocated.

25. A method as recited in claim 15 wherein the core space includes portions that are generally allocated.

26. A method as recited in claim 15 wherein the core space includes a portion that is unallocated.

27. A method as recited in claim 15 further including allocating a portion of the core space to a core VM based on the policy.

28. A method as recited in claim 15 further including enforcing an allocation of the core space to a core VM based on the policy.

29. A computer program product for executing a segmented virtual machine (VM), the computer program product being embodied in a computer readable storage medium and comprising computer instructions for:

implementing a plurality of core VM's in a common core space; wherein:

each core VM is associated with a shell VM;

each core VM performs VM internal execution functions;

each shell VM performs VM interactions with an external environment and are configured to forward certain calls from the external environment to its associated core VM; and

the plurality of core VM's and the plurality of shell VM's cooperate to form the segmented VM; and

allocating resources of the common core space among the core VM's according to a policy indicating resource requirement of the plurality of core VM's, the resource requirement including priority information pertaining to each of the plurality of core VM's.

30. A computer program product as recited in claim 29 wherein the resources are dynamically allocated among the core VM's.

31. A computer program product as recited in claim 29 wherein the resources include memory.

32. A computer program product as recited in claim 29 wherein the resources include processing power.

33. A computer program product as recited in claim 29 wherein the resources include I/O.

34. A computer program product as recited in claim 29 wherein the core space resides on a plurality of physical devices.

35. A computer program product as recited in claim 29 wherein the core space includes a portion allocated to a core VM.

36. A computer program product as recited in claim 29 wherein the core space includes a portion reserved for a core VM.

37. A computer program product as recited in claim 29 wherein the core space includes a portion borrowed for a core VM.

38. A computer program product as recited in claim 29 wherein the core space includes portions that are specifically allocated.

39. A computer program product as recited in claim 29 wherein the core space includes portions that are generally allocated.

40. A computer program product as recited in claim 29 wherein the core space includes a portion that is unallocated.

41. A computer program product as recited in claim 29 , the computer program product further comprising computer instructions for allocating a portion of the core space to a core VM based on the policy.

42. A computer program product as recited in claim 29 , the computer program product further comprising computer instructions for enforcing an allocation of the core space to a core VM based on the policy.

43. A segmented virtual machine (VM) executing within one or more computer systems, the segmented virtual machine comprising:

a core VM configured to perform VM internal execution functionality; and

a shell VM associated with the core VM, wherein

the shell VM is configured to perform VM interactions with an external environment and to forward certain calls from the external environment to its associated core VM;

the core VM and the shell VM cooperate to form the segmented VM; and

the core VM is configured to bypass the shell VM in some connections to communicate with an external application.

44. A segmented VM as recited in claim 43 , wherein the external application is another core VM.

45. A segmented VM as recited in claim 43 , wherein the core VM is configured to communicate with an external application by using an application programming interface (API).

46. A method of executing a segmented virtual machine (VM) comprising:

performing VM internal execution functionality on a core VM, wherein:

the core VM is associated with a shell VM configured to perform VM interactions with an external environment and to forward certain calls from the external environment to its associated core VM; and

the core VM and the shell VM cooperate to form the segmented VM; and

bypassing the shell VM in some connections to communicate with an external application.

47. A method as recited in claim 46 , wherein the external application is another core VM.

48. A method as recited in claim 46 , wherein the core VM is configured to communicate with an external application by using an application programming interface (API).

49. A computer program product for executing a segmented virtual machine (VM), the computer program product being embodied in a computer readable storage medium and comprising computer instructions for:

performing VM internal execution functionality on a core VM, wherein:

the core VM is associated with a shell VM configured to perform VM interactions with an external environment and to forward certain calls from the external environment to its associated core VM; and

the core VM and the shell VM cooperate to form the segmented VM; and bypassing the shell VM in some connections to communicate with an external application.

50. A computer program product as recited in claim 49 , wherein the external application is another core VM.

51. A computer program product as recited in claim 49 , wherein the core VM is configured to communicate with an external application by using an application programming interface (API).

Assignments (8)
RELEASE OF SECURITY INTERESTS IN PATENTS RECORDED AT REEL/FRAME 052293/0121 Recorded Dec 3, 2025
From: GOLUB CAPITAL LLC, AS COLLATERAL AGENT
To: AZUL SYSTEMS, INC.
Reel/Frame 073466/0064 →
SECURITY INTEREST Recorded Dec 3, 2025
From: AZUL SYSTEMS, INC.
To: ARES CAPITAL CORPORATION, AS COLLATERAL AGENT
Reel/Frame 073828/0083 →
SECURITY INTEREST Recorded Apr 2, 2020
From: AZUL SYSTEMS, INC.
To: GOLUB CAPITAL LLC, AS COLLATERAL AGENT
Reel/Frame 052293/0121 →
RELEASE OF SECURITY INTEREST Recorded Apr 2, 2020
From: SILICON VALLEY BANK
To: AZUL SYSTEMS, INC.
Reel/Frame 052293/0869 →
RELEASE OF SECURITY INTEREST Recorded Feb 21, 2019
From: PARTNERS FOR GROWTH IV, L.P.
To: AZUL SYSTEMS, INC.
Reel/Frame 048411/0138 →
SECURITY INTEREST Recorded Mar 1, 2016
From: AZUL SYSTEMS, INC.
To: PARTNERS FOR GROWTH IV, L.P.
Reel/Frame 037959/0694 →
SECURITY INTEREST Recorded Feb 2, 2016
From: AZUL SYSTEMS, INC.
To: SILICON VALLEY BANK
Reel/Frame 037641/0665 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 6, 2004
From: TENE, GIL; PILLALAMARRI, SHYAM PRASAD
To: AZUL SYSTEMS, INC.
Reel/Frame 015429/0044 →