IP Library Granted Patent US 7,620,953
Granted Patent B1
US 7,620,953 · App. 10/959,407 · Granted Nov 17, 2009

System and method for allocating resources of a core space among a plurality of core virtual machines

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,620,953
App. No.
10/959,407
Granted
Nov 17, 2009
Kind
B1
Abstract

A technique for executing a segmented virtual machine (VM) is disclosed. A plurality of core VM's is implemented in a plurality of core spaces. Each core VM is associated with one of a plurality of shell VM's. Resources of the core spaces are allocated among the core VM's.

Claims (94)

1. A segmented virtual machine (VM) system stored in a computer system comprising:

a plurality of core VM's implemented in a plurality of core spaces; and

a plurality of shell VM's each associated with a core VM, each shell VM configured to perform VM external execution functionality and communicate with a core VM, and each core VM configured to perform VM internal execution functionality;

wherein:

resources of the plurality of core spaces are allocated among the plurality of core VM's, wherein allocating is performed by at least one processor;

resources are allocated to a core VM based on a policy that automatically adapts based on current resource availability and current resource requirements; and

the policy can be changed without reconfiguring any application using the plurality of core spaces.

2. A segmented VM system as recited in claim 1 wherein resources are reserved for use by a core VM based on resource requirements of the core VM.

3. A segmented VM system as recited in claim 1 wherein resources are allocated to a core VM based on redundancy requirements of the core VM.

4. A segmented VM system as recited in claim 1 wherein resources allocated to a core VM are restricted by resource limits of the core VM.

5. A segmented VM system as recited in claim 1 wherein resources allocated to a core VM are distributed based on a priority associated with the core VM.

6. A segmented VM system as recited in claim 1 wherein resources are allocated to a core VM based on a predetermined assignment.

7. A segmented VM system as recited in claim 1 wherein resources are allocated to a core VM based on a policy.

8. A segmented VM system as recited in claim 1 wherein resources are allocated to a core VM by specifying a core device.

9. A segmented VM system as recited in claim 1 wherein at least one of the plurality of core spaces resides on a core device.

10. A segmented VM system as recited in claim 1 wherein at least one of the core spaces resides on more than one core device.

11. A segmented VM system as recited in claim 1 wherein each core space resides on at least one core device and wherein a new core device can be added to each core space by describing the new core device.

12. A segmented VM system as recited in claim 1 wherein each core space resides on at least one core device and wherein a new core device can be added to each core space without reconfiguring any application using the core space.

13. A segmented VM system as recited in claim 1 wherein each core space resides on at least one core device and wherein a new core device can be removed from each core space without reconfiguring any application using the core space.

14. A segmented VM system as recited in claim 1 wherein each core space resides on at least one core device and in the event that the core device fails, a new core device is selected based on a policy to replace the failed core device.

15. A segmented VM system as recited in claim 1 wherein a new application can begin using a core space without reconfiguring any other application using a core space.

16. A segmented VM system as recited in claim 1 wherein resources are allocated to a core VM based on a policy, wherein the policy changes assignments and reservations based on current resource availability and current resource requirements.

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

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

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

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

implementing a plurality of core VM's in a plurality of core spaces, wherein each core VM is associated with one of a plurality of shell VM's, each shell VM configured to perform VM external execution functionality and communicate with a core VM, and each core VM configured to perform VM internal execution functionality; and

allocating resources of the plurality of core spaces among the plurality of core VM's, wherein allocating is performed by at least one processor;

wherein:

resources are allocated to a core VM based on a policy that automatically adapts based on current resource availability and current resource requirements; and

the policy can be changed without reconfiguring any application using the plurality of core spaces.

21. A method as recited in claim 20 wherein resources are reserved for use by a core VM based on resource requirements of the core VM.

22. A method as recited in claim 20 wherein resources are allocated to a core VM based on redundancy requirements of the core VM.

23. A method as recited in claim 20 wherein resources allocated to a core VM are restricted by resource limits of the core VM.

24. A method as recited in claim 20 wherein resources allocated to a core VM are distributed based on a priority associated with the core VM.

25. A method as recited in claim 20 wherein resources are allocated to a core VM based on a predetermined assignment.

26. A method as recited in claim 20 wherein resources are allocated to a core VM based on a policy.

27. A method as recited in claim 20 wherein resources are allocated to a core VM by specifying a core device.

28. A method as recited in claim 20 wherein at least one of the plurality of core spaces resides on a core device.

29. A method as recited in claim 20 wherein at least one of the core spaces resides on more than one core device.

30. A method as recited in claim 20 wherein each core space resides on at least one core device and wherein a new core device can be added to each core space by describing the new core device.

31. A method as recited in claim 20 wherein each core space resides on at least one core device and wherein a new core device can be added to each core space without reconfiguring any application using the core space.

32. A method as recited in claim 20 wherein each core space resides on at least one core device and wherein a new core device can be removed from each core space without reconfiguring any application using the core space.

33. A method as recited in claim 20 wherein each core space resides on at least one core device and in an event that the core device fails, a new core device is selected based on a policy to replace the failed core device.

34. A method as recited in claim 20 wherein a new application can begin using a core space without reconfiguring any other application using a core space.

35. A method as recited in claim 20 wherein resources are allocated to a core VM based on a policy, wherein the policy changes assignments and reservations based on current resource availability and current resource requirements.

36. A method as recited in claim 20 wherein the resources include memory.

37. A method as recited in claim 20 wherein the resources include processing power.

38. A method as recited in claim 20 wherein the resources include I/O.

39. A computer program product for executing a segmented virtual machine (VM) system, the computer program product being embodied in a computer readable medium and comprising computer instructions when executed by a processor for:

implementing a plurality of core VM's in a plurality of core spaces, wherein each core VM is associated with one of a plurality of shell VM's, each shell VM configured to perform VM external execution functionality and communicate with a core VM, and each core VM configured to perform VM internal execution functionality; and

allocating resources of the plurality of core spaces among the plurality of core VM's, wherein allocating is performed by at least one processor;

wherein:

resources are allocated to a core VM based on a policy that automatically adapts based on current resource availability and current resource requirements; and

the policy can be changed without reconfiguring any application using the plurality of core spaces.

40. A computer program product as recited in claim 39 wherein resources are reserved for use by a core VM based on resource requirements of the core VM.

41. A computer program product as recited in claim 39 wherein resources are allocated to a core VM based on redundancy requirements of the core VM.

42. A computer program product as recited in claim 39 wherein resources allocated to a core VM are restricted by resource limits of the core VM.

43. A computer program product as recited in claim 39 wherein resources allocated to a core VM are distributed based on a priority associated with the core VM.

44. A computer program product as recited in claim 39 wherein resources are allocated to a core VM based on a predetermined assignment.

45. A computer program product as recited in claim 39 wherein resources are allocated to a core VM based on a policy.

46. A computer program product as recited in claim 39 wherein resources are allocated to a core VM by specifying a core device.

47. A computer program product as recited in claim 39 wherein at least one of the plurality of core spaces resides on a core device.

48. A computer program product as recited in claim 39 wherein at least one of the core spaces resides on more than one core device.

49. A computer program product as recited in claim 39 wherein each core space resides on at least one core device and wherein a new core device can be added to each core space by describing the new core device.

50. A computer program product as recited in claim 39 wherein each core space resides on at least one core device and wherein a new core device can be added to each core space without reconfiguring any application using the core space.

51. A computer program product as recited in claim 39 wherein each core space resides on at least one core device and wherein a new core device can be removed from each core space without reconfiguring any application using the core space.

52. A computer program product as recited in claim 39 wherein each core space resides on at least one core device and in an event that the core device fails, a new core device is selected based on a policy to replace the failed core device.

53. A computer program product as recited in claim 39 wherein a new application can begin using a core space without reconfiguring any other application using a core space.

54. A computer program product as recited in claim 39 wherein resources are allocated to a core VM based on a policy, wherein the policy changes assignments and reservations based on current resource availability and current resource requirements.

55. A computer program product as recited in claim 39 wherein the resources include memory.

56. A computer program product as recited in claim 39 wherein the resources include processing power.

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

58. A segmented virtual machine (VM) system stored in a computer system comprising:

a plurality of core VM's implemented in a plurality of core spaces; and

a plurality of shell VM's each associated with a core VM, each shell VM configured to perform VM external execution functionality and communicate with a core VM, and each core VM configured to perform VM internal execution functionality;

wherein:

resources of the plurality of core spaces are allocated among the plurality of core VM's, wherein allocating is performed by at least one processor;

resources are allocated to a core VM based on redundancy requirements of the core VM; and

at least one of the plurality of core spaces resides on more than one core device.

59. A segmented VM system as recited in claim 58 wherein resources are reserved for use by a core VM based on resource requirements of the core VM.

60. A segmented VM system as recited in claim 58 wherein each core space resides on at least one core device and wherein a new core device can be removed from each core space without reconfiguring any application using the core space.

61. A segmented VM system as recited in claim 58 wherein each core space resides on at least one core device and wherein a new core device can be removed from each core space without reconfiguring any application using the core space.

62. A segmented virtual machine (VM) system stored in a computer system comprising:

a plurality of core VM's implemented in a plurality of core spaces; and

a plurality of shell VM's each associated with a core VM, each shell VM configured to perform VM external execution functionality and communicate with a core VM, and each core VM configured to perform VM internal execution functionality;

wherein:

resources of the plurality of core spaces are allocated among the plurality of core VM's, wherein allocating is performed by at least one processor;

each core space resides on at least one core device and in an event that the core device fails, a new core device is selected based on a policy to replace the failed core device; and

a new application can begin using a core space without reconfiguring any other application using a core space.

63. A segmented VM system as recited in claim 62 wherein resources are reserved for use by a core VM based on resource requirements of the core VM.

64. A segmented VM system as recited in claim 62 wherein resources are allocated to a core VM based on redundancy requirements of the core VM.

65. A segmented VM system as recited in claim 62 wherein a new core device can be added to each core space without reconfiguring any application using the core space.

66. A segmented VM system as recited in claim 62 wherein a new core device can be removed from each core space without reconfiguring any application using the core space.

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 Jan 20, 2005
From: TENE, GIL; PILLALAMARRI, SHYAM PRASAD
To: AZUL SYSTEMS, INC.
Reel/Frame 015611/0167 →