Transactional virtual machine architecture
First Claim
1. In a computer that executes computer software conforming to an operating system, a software virtual machine computer that runs on the computer and functions as a separate computer that executes virtual machine software not conforming to the operating system, the improvement comprising:
- plural transaction workspaces that are within the software virtual machine and operate to execute separate virtual machine software concurrently on the software virtual machine, the software virtual machine being in data communication with and providing client services to plural client computers; and
the virtual machine software operating on virtual machine data objects within one or more of the transactional workspaces and the virtual machine data objects being available to be operated on by client services provided by the software virtual machine for plural ones of the client computers, wherein the virtual machine data objects include persistent data objects held in a persistent object store and the virtual machine provides atomic committal of transactions and consistent views of the objects.
2 Assignments
0 Petitions
Accused Products
Abstract
A virtual machine computer includes multiple threads and can support multiple simultaneous workspaces. Within each workspace, multiple threads are able to access objects simultaneously. Threads are orthogonal to workspaces so that threads are not locked to particular workspaces, workspaces are not locked to particular threads, and the sizes of the workspaces are configurable to the requirements of the transactions within the workspaces. Such a virtual machine may be utilized in a variety of applications including transactional database applications in which multiple users have access to information (e.g., objects) in one or more shared databases. Such applications typically require that data transactions involving the objects in the shared database be performed reliably so as to maintain the integrity of the objects, which are sometimes called persistent objects.
-
Citations
14 Claims
-
1. In a computer that executes computer software conforming to an operating system, a software virtual machine computer that runs on the computer and functions as a separate computer that executes virtual machine software not conforming to the operating system, the improvement comprising:
-
plural transaction workspaces that are within the software virtual machine and operate to execute separate virtual machine software concurrently on the software virtual machine, the software virtual machine being in data communication with and providing client services to plural client computers; and
the virtual machine software operating on virtual machine data objects within one or more of the transactional workspaces and the virtual machine data objects being available to be operated on by client services provided by the software virtual machine for plural ones of the client computers, wherein the virtual machine data objects include persistent data objects held in a persistent object store and the virtual machine provides atomic committal of transactions and consistent views of the objects. - View Dependent Claims (2, 3, 4, 5)
-
-
6. In a computer-readable medium having stored thereon a temporary object of a persistent transactional data object for a virtual machine computer, the temporary object having a data structure for identifying the temporary object, the data structure comprising:
-
a workspace identifier that identifies one of plural transaction workspaces in the virtual machine computer within which workspace the temporary object is operated on, wherein the temporary object corresponds to a persistent object held in a persistent object store, and the data structure further comprises an object modification indicator that indicates whether the temporary object has been modified from the persistent object. - View Dependent Claims (7)
-
-
8. In a computer-readable medium having stored thereon a temporary object of a persistent transactional data object for a virtual machine computer, the temporary object having a data structure for identifying the temporary object, the data structure comprising:
-
a workspace identifier that identifies one of plural transaction workspaces in the virtual machine computer within which workspace the temporary object is operated on, wherein the temporary object corresponds to a persistent object held in a persistent object store, the data structure further comprising an object read indicator that indicates whether the temporary object has been copied from the persistent object since a predetermined event. - View Dependent Claims (9, 10)
-
-
11. In a computer-readable medium having stored thereon a temporary object of a persistent transactional data object for a virtual machine computer, the temporary object having a data structure for identifying the temporary object, the data structure comprising:
-
a workspace identifier that identifies one of plural transaction workspaces in the virtual machine computer within which workspace the temporary object is operated on, wherein the temporary object corresponds to a persistent object held in a persistent object store, the data structure further comprising an object modification indicator that indicates whether the temporary object has been modified from the persistent object and an object read indicator that indicates whether the temporary object has been copied from the persistent object since a predetermined event. - View Dependent Claims (12)
-
-
13. In a virtual machine computer software on a computer-readable medium for providing a virtual machine computer on a computer that executes computer software conforming to an operating system, the virtual machine computer functioning as a separate computer that executes virtual machine software not conforming to the operating system, the improvement comprising:
a get object field software instruction that creates in a transaction workspace a copy of a persistent object and assigns a workspace identifier to the copy. - View Dependent Claims (14)
Specification