Cluster-based operating system-agnostic virtual computing system
DCFirst Claim
1. A method for executing a software application in a plurality of computers having respective hardware resources said hardware resources comprising a respective memory and a respective I/O device, wherein said computers include a first computer and a second computer that intercommunication over a network, comprising the steps of:
- running at least a first virtual machine implementer and a second virtual machine implementer on said first computer and said second computer, using said respective memory, wherein said first and second virtual machine implementers run separately and independently of one another on said first and second computers, respectively; and
executing a virtual machine on said computers, wherein said virtual machine is shared between said first virtual machine implementer and said second virtual machine implementer using said respective I/O device in each of said first computer and said second computer to intercommunicate between said first computer and said second computer, and a guest operating system runs over said shared virtual machine.
4 Assignments
Litigations
0 Petitions
Accused Products
Abstract
According to a disclosed embodiment of the invention, an improved cluster-based collection of computers (nodes) is realized using conventional computer hardware. Software is provided that enables at least one virtual machine to be presented to guest operating systems, wherein each node participating with the virtual machine has its own emulator or virtual machine monitor. VM memory coherency and I/O coherency are provided by hooks, which result in the manipulation of internal processor structures. A private network provides communication among the nodes.
42 Citations
45 Claims
-
1. A method for executing a software application in a plurality of computers having respective hardware resources said hardware resources comprising a respective memory and a respective I/O device, wherein said computers include a first computer and a second computer that intercommunication over a network, comprising the steps of:
-
running at least a first virtual machine implementer and a second virtual machine implementer on said first computer and said second computer, using said respective memory, wherein said first and second virtual machine implementers run separately and independently of one another on said first and second computers, respectively; and executing a virtual machine on said computers, wherein said virtual machine is shared between said first virtual machine implementer and said second virtual machine implementer using said respective I/O device in each of said first computer and said second computer to intercommunicate between said first computer and said second computer, and a guest operating system runs over said shared virtual machine. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 38, 40, 43)
-
-
14. A computer software product, comprising a computer-readable medium in which computer program instructions are stored, which instructions cause a plurality of computers having respective hardware resources, said hardware resources comprising a respective memory and a respective I/O device, to perform a method for executing a software application, wherein said computers include a first computer and a second computer that intercommunicate over a network, comprising the steps of:
-
running at least a first virtual machine implementer and a second virtual machine implementer on said first computer and said second computer, using said respective memory, wherein said first and second virtual machine implementers run separately and independently of one another on said first and second computers, respectively; and executing a virtual machine on said computers, wherein said virtual machine is shared between said first virtual machine implementer and said second virtual machine implementer using said respective I/O device in each of said first computer and said second computer to intercommunicate between said first computer and said second computer, and a guest operating system runs over said shared virtual machine. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 39, 41, 44)
-
-
28. A computer system for executing a software application, comprising:
-
a plurality of computers having respective hardware resources, said hardware resources comprising a respective memory and a respective I/O device, said computers comprising at least a first computer and a second computer; a network connected to said first computer and said second computer providing intercommunication therebetween; said first computer and said second computer being operative to execute a first virtual machine implementer and a second virtual machine implementer respectively using said respective memory, wherein a virtual machine is implemented concurrently and shared by at least said first virtual machine implementer and said second virtual machine implementer, and wherein said first and second virtual machine implementers run separately and independently of one another on said first and second computers, respectively; and said computers being operative to execute a guest operating system over said shared virtual machine, wherein said software application executes over said guest operating system, so that commands invoked by said software application are received by said first virtual machine implementer and said second virtual machine implementer on said first computer and said second computer, while said hardware resources of said first computer and said second computer are shared by communication over said network using said respective I/O device. - View Dependent Claims (29, 30, 31, 32, 33, 34, 35, 36, 37, 42, 45)
-
Specification