IP Library Granted Patent US 7,984,108
Granted Patent B2
US 7,984,108 · App. 10/575,632 · Granted Jul 19, 2011

Computer system para-virtualization using a hypervisor that is implemented in a partition of the host system

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,984,108
App. No.
10/575,632
Granted
Jul 19, 2011
Kind
B2
Abstract

Embodiments of the present invention provide a virtualization infrastructure that allows multiple guest operating systems to run and communicate amongst each other within a host hardware partition. The host system is divided into distinct logical/virtual partitions and special infrastructure partitions are implemented to control resource management and to control physical I/O device drivers that are, in turn, used by operating systems in other distinct logical/virtual guest partitions. Host hardware resource management runs as a tracking application in a resource management “ultravisor” partition, while host resource management decisions are performed in a higher-level command partition based on policies maintained in a separate operations partition. The ultravisor partition maintains the master database of the hardware resource allocations and serves as a command channel to accept transactional requests for assignment of resources to partitions while also providing individual read-only views of individual partitions to the associated partition monitors.

Claims (17)

1. A virtualization system for a host computer having at least one host processor and system resources including memory divided into most privileged system memory and less privileged user memory, the system comprising:

virtualization software that operates in said less privileged user memory and divides said host computer into a plurality of virtual partitions including at least one user guest partition and at least one system partition, said at least one user guest partition providing a virtualization environment for at least one guest operating system, and said at least one system partition maintaining a resource database for use in managing use of said at least one host processor and said system resources;

at least one monitor that operates in said most privileged system memory and maintains guest applications in said at least one guest partition within memory space allocated by said at least one system partition to said at least one guest partition; and

a context switch between said at least one monitor and said respective guest and system partitions for controlling multitask processing of software in said partitions on said at least one host processor;

wherein said at least one system partition includes a resource management software application that assigns system resources to respective system and guest partitions and provides an index to the assigned system resource in said resource database;

a memory allocation page map of said resource database is organized according to a tiered page size model including a hierarchy of scales using 2 x as a scaling factor whereby an index page at each tiered page size level may allocate 2 x memory blocks at a size of the next lower tiered page size level; and

said resource management software application allocates memory to said respective system and guest partitions by storing a partition descriptor for a desired partition number [G,M,K] in said memory as Mem(G,M,K)=((G*2 10 +M)*2 10 +K)*2 10 *(word size), where word size is a power of 2.

2. The virtualization system of claim 1 , wherein the stored partition descriptor is provided to the monitor associated with the partition defined by the partition descriptor whereby said monitor may constrain applications in its partition to the memory defined by said partition descriptor.

3. The virtualization system of claim 1 , wherein x=10 and wherein a virtual partition number is represented in said memory allocation page map as a 32 bit index (2, 10, 10, 10) into a map of 4 k pages that identifies the virtual partition descriptor for the virtual partition with said virtual partition number, where a first bit indicates suballocation in smaller pages and three successive 2 10 values identify scaled pages.

4. A method of managing a plurality of operating system instances on a host computer having at least one host processor and system resources, the method comprising the steps of:

dividing said host computer into a plurality of virtual partitions including at least one user guest partition and at least one system partition, said at least one user guest partition providing a virtualization environment for at least one guest operating system, and said at least one system partition maintaining a resource database for use in managing use of said at least one host processor and said system resources;

maintaining guest applications in said at least one guest partition within memory space allocated by said at least one system partition to said at least one guest partition;

providing a context switch between said respective guest and system partitions for controlling multitask processing of software in said partitions on said at least one host processor;

organizing a memory allocation page map of said resource database according to a tiered page size model including a hierarchy of scales using 2 x as a scaling factor and an index page at each tiered page size level allocating 2 x memory blocks at a size of the next lower tiered page size level; and

allocating memory to said respective system and guest partitions by storing a partition descriptor for a desired partition number [G,M,K] in said memory as Mem(G,M,K)=((G*2 10 +M)*2 10 +K)*2 10 *(word size), where word size is a power of 2.

5. The method of claim 4 , further comprising the steps of providing the stored partition descriptor to a monitor associated with the partition defined by the partition descriptor and said monitor constraining applications in its partition to the memory defined by said partition descriptor.

6. The method of claim 4 , wherein x=10, further comprising the step of representing a virtual partition number in said memory allocation page map as a 32 bit index (2, 10, 10, 10) into a map of 4 k pages that identifies the virtual partition descriptor for the virtual partition with said virtual partition number, where a first bit indicates suballocation in smaller pages and three successive 2 10 values identify scaled pages.

Assignments (11)
AMENDED AND RESTATED PATENT SECURITY AGREEMENT Recorded Jun 27, 2025
From: UNISYS CORPORATION; UNISYS HOLDING CORPORATION; UNISYS NPL, INC.; UNISYS AP INVESTMENT COMPANY I
To: COMPUTERSHARE TRUST COMPANY, N.A., AS COLLATERAL TRUSTEE
Reel/Frame 071759/0527 →
RELEASE OF SECURITY INTEREST Recorded Oct 28, 2020
From: WELLS FARGO BANK, NATIONAL ASSOCIATION
To: UNISYS CORPORATION
Reel/Frame 054231/0496 →
RELEASE OF SECURITY INTEREST Recorded Nov 9, 2017
From: WELLS FARGO BANK, NATIONAL ASSOCIATION (SUCCESSOR TO GENERAL ELECTRIC CAPITAL CORPORATION)
To: UNISYS CORPORATION
Reel/Frame 044416/0358 →
SECURITY INTEREST Recorded Oct 6, 2017
From: UNISYS CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 044144/0081 →
PATENT SECURITY AGREEMENT Recorded Apr 27, 2017
From: UNISYS CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL TRUSTEE
Reel/Frame 042354/0001 →
RELEASE OF SECURITY INTEREST Recorded Mar 26, 2013
From: DEUTSCHE BANK TRUST COMPANY AMERICAS, AS COLLATERAL TRUSTEE
To: UNISYS CORPORATION
Reel/Frame 030082/0545 →
RELEASE OF SECURITY INTEREST Recorded Mar 15, 2013
From: DEUTSCHE BANK TRUST COMPANY
To: UNISYS CORPORATION
Reel/Frame 030004/0619 →
SECURITY AGREEMENT Recorded Jun 27, 2011
From: UNISYS CORPORATION
To: GENERAL ELECTRIC CAPITAL CORPORATION, AS AGENT
Reel/Frame 026509/0001 →
RELEASE OF SECURITY INTEREST Recorded Oct 1, 2009
From: CITIBANK, N.A.
To: UNISYS CORPORATION; UNISYS HOLDING CORPORATION
Reel/Frame 023312/0628 →
SECURITY AGREEMENT Recorded Jun 20, 2006
From: UNISYS CORPORATION; UNISYS HOLDING CORPORATION
To: CITIBANK, N.A.
Reel/Frame 018003/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 7, 2006
From: LANDIS, JOHN A.; POWDERLY, TERRENCE A.; SUBRAHMANIAN, RAJAGOPALAN; PUTHIYAPARAMBIL, ARAVINDH; HUNTER, JAMES R., JR.
To: UNISYS CORPORATION
Reel/Frame 017806/0334 →