US6074427A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Apparatus and method for simulating multiple nodes on a single machine
Assignee: Oracle America Inc
•
Filing: 1997-08-30
•
Granted: 2000-06-13
•
Expires: 2017-08-30
Abstract
Abstract The present invention pertains to a system and method for simulating multiple clusters of independent computer nodes in a single machine. A cluster contains one or more computer nodes interconnected by a communications link. A user can simulate a cluster of n nodes by generating n user-level procedures where each user-level procedure represents the kernel of a respective node. An additional mechanism is provided which allows a user to exercise the operation of any intended function in any of the nodes in any of the clusters.
Inventors
- 👤 Steven K. Fought
- 👤 Madhusudhan Talluri
- 👤 Declan J. Murphy
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-06 05:50
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/44; G06F9/455; G06F9/45533; G06F9/45558; G06F2009/45591
Claims Analysis
Total Claims: 31
Claim 1
Independent Claim
145 words
An apparatus for simulating a cluster of independent computer nodes, said apparatus comprising: a plurality of user-level non-simulated domains, each user-level domain having a distinct address space and having one or more user-level procedures; and a plurality of user-level simulated kernel domains, each user-level simulated kernel domain having a distinct address space and providing a capability to simulate a kernel operating system, each user-level simulated kernel domain including: at least one executable procedure; a gateway handler procedure receiving a request to execute a select one of the executable procedures and executing the select executable procedure; and a first interprocess communication mechanism providing communication between a select one of the user-level simulated kernel domains and the user-level domains; wherein the user-level domains utilize the first interprocess communication mechanism to request execution of a particular one of the executable procedures in a particular user-level simulated kernel domain.
Claim 2
Independent Claim
145 words
An apparatus for simulating a cluster of independent computer nodes, said apparatus comprising: a plurality of user-level non-simulated domains, each user-level domain having a distinct address space and having one or more user-level procedures; and a plurality of user-level simulated kernel domains, each user-level simulated kernel domain having a distinct address space and providing a capability to simulate a kernel operating system, each user-level simulated kernel domain including: at least one executable procedure; a gateway handler procedure receiving a request to execute a select one of the executable procedures and executing the select executable procedure; and a first interprocess communication mechanism providing communication between a select one of the user-level simulated kernel domains and the user-level domains; wherein the user-level domains utilize the first interprocess communication mechanism to request execution of a particular one of the executable procedures in a particular user-level simulated kernel domain.
Claim 3
Independent Claim
182 words
An apparatus for simulating a cluster of independent computer nodes, said apparatus comprising: a plurality of user-level domains, each user-level domain having a distinct address space and having one or more user-level procedures; and a plurality of user-level simulated kernel domains, each user-level simulated kernel domain having a distinct address space and providing a capability to simulate a kernel operating system, each user-level simulated kernel domain including: at least one executable procedure; a gateway handler procedure receiving a request to execute a select one of the executable procedures and executing the select executable procedure; and a first interprocess communication mechanism providing communication between a select one of the user-level simulated kernel domains and the user-level domains; wherein the user-level domains utilize the first interprocess communication mechanism to request execution of a particular one of the executable procedures in a particular user-level simulated kernel domain; each user-level simulated kernel domain includes a plurality of object methods; and each user-level simulated kernel domain includes an object request broker (ORB) that receives a request from the select executable procedure to invoke a specified object method.
Claim 4
Independent Claim
182 words
An apparatus for simulating a cluster of independent computer nodes, said apparatus comprising: a plurality of user-level domains, each user-level domain having a distinct address space and having one or more user-level procedures; and a plurality of user-level simulated kernel domains, each user-level simulated kernel domain having a distinct address space and providing a capability to simulate a kernel operating system, each user-level simulated kernel domain including: at least one executable procedure; a gateway handler procedure receiving a request to execute a select one of the executable procedures and executing the select executable procedure; and a first interprocess communication mechanism providing communication between a select one of the user-level simulated kernel domains and the user-level domains; wherein the user-level domains utilize the first interprocess communication mechanism to request execution of a particular one of the executable procedures in a particular user-level simulated kernel domain; each user-level simulated kernel domain includes a plurality of object methods; and each user-level simulated kernel domain includes an object request broker (ORB) that receives a request from the select executable procedure to invoke a specified object method.
Claim 5
Independent Claim
183 words
An apparatus for simulating a cluster of independent computer nodes, said apparatus comprising: a plurality of user-level domains, each user-level domain having a distinct address space and having one or more user-level procedures; and a plurality of user-level simulated kernel domains, each user-level simulated kernel domain having a distinct address space and providing a capability to simulate a kernel operating system, each user-level simulated kernel domain including: at least one executable procedure; a gateway handler procedure receiving a request to execute a select one of the executable procedures and executing the select executable procedure; and a first interprocess communication mechanism providing communication between a select one of the user-level simulated kernel domains and the user-level domains; wherein the user-level domains utilize the first interprocess communication mechanism to request execution of a particular one of the executable procedures in a particular user-level; simulated kernel domain; and a subset of the user-level simulated kernel domains represent a cluster; the apparatus further comprising a communications membership monitor procedure that monitors an operational status of each of the user-level simulated kernel domains associated with a particular cluster.
Claim 6
Independent Claim
183 words
An apparatus for simulating a cluster of independent computer nodes, said apparatus comprising: a plurality of user-level domains, each user-level domain having a distinct address space and having one or more user-level procedures; and a plurality of user-level simulated kernel domains, each user-level simulated kernel domain having a distinct address space and providing a capability to simulate a kernel operating system, each user-level simulated kernel domain including: at least one executable procedure; a gateway handler procedure receiving a request to execute a select one of the executable procedures and executing the select executable procedure; and a first interprocess communication mechanism providing communication between a select one of the user-level simulated kernel domains and the user-level domains; wherein the user-level domains utilize the first interprocess communication mechanism to request execution of a particular one of the executable procedures in a particular user-level; simulated kernel domain; and a subset of the user-level simulated kernel domains represent a cluster; the apparatus further comprising a communications membership monitor procedure that monitors an operational status of each of the user-level simulated kernel domains associated with a particular cluster.
Claim 7
Dependent Claim
38 words
The apparatus of claim 3, further comprising: a clock procedure, that at a predefined time interval, notifies the communications membership monitor to monitor the operational status of each of the user-level simulated kernel domains associated with the cluster.
Claim 8
Dependent Claim
25 words
The apparatus of claim 1, further comprising: a debugger mechanism for debugging operations of any specified one of the plurality of user-level simulated kernel domains.
Claim 9
Dependent Claim
21 words
The apparatus of claim 1, further comprising: a first procedure for generating one or more of the user-level simulated kernel domains.
Claim 10
Dependent Claim
21 words
The apparatus of claim 1, further comprising: a second interprocess communication mechanism for handling communications between the user-level simulated kernel domains.
Claim 11
Dependent Claim
172 words
A computer-implemented method for simulating a cluster of computing nodes, the method comprising the steps of: providing a plurality of user-level domains, each user-level domain including one or more user applications; providing a plurality of user-level simulated kernel domains, each user-level simulated kernel domain representing a select one of the computing nodes, each user-level simulated kernel domain including a first interprocess communication (IPC) mechanism for communicating with the user-level domains and a particular one of the user-level simulated kernel domains, a plurality of executable procedures, and an gateway handler for executing an executable procedure; obtaining a request from a specific user-level domain to execute an executable procedure in a select one of the user-level simulated kernel domains; determining a first IPC mechanism associated with the select user-level simulated kernel domain; utilizing the first IPC mechanism associated with the select user-level simulated kernel domain to transmit the request to a gateway handler associated with the select user-level simulated kernel domain; and executing the requested executable procedure in the select user-level simulated kernel domain.
Claim 12
Dependent Claim
172 words
A computer-implemented method for simulating a cluster of computing nodes, the method comprising the steps of: providing a plurality of user-level domains, each user-level domain including one or more user applications; providing a plurality of user-level simulated kernel domains, each user-level simulated kernel domain representing a select one of the computing nodes, each user-level simulated kernel domain including a first interprocess communication (IPC) mechanism for communicating with the user-level domains and a particular one of the user-level simulated kernel domains, a plurality of executable procedures, and an gateway handler for executing an executable procedure; obtaining a request from a specific user-level domain to execute an executable procedure in a select one of the user-level simulated kernel domains; determining a first IPC mechanism associated with the select user-level simulated kernel domain; utilizing the first IPC mechanism associated with the select user-level simulated kernel domain to transmit the request to a gateway handler associated with the select user-level simulated kernel domain; and executing the requested executable procedure in the select user-level simulated kernel domain.
Claim 13
Dependent Claim
83 words
The method of claim 8, said step of providing a plurality of user-level simulated kernel domains further comprising the steps of: generating one or more user-level simulated kernel domains; and associating with each user-level simulated kernel domain a cluster identifier and a node identifier; and providing each user-level simulated kernel domain with a second IPC mechanism that provides a communication path between one or more of the user-level simulated kernel domains, the second IPC mechanism using the cluster identifier and the node identifier.
Claim 14
Dependent Claim
30 words
The method of claim 8, further comprising the step of: debugging an execution of the requested executable procedure in any specified one of the plurality of user-level simulated kernel domains.
Claim 15
Dependent Claim
56 words
The method of claim 8, further comprising the steps of: associating a subset of the user-level simulated kernel domains with a particular cluster; and providing each user-level kernel domain with a communications membership monitor (CMM) mechanism that monitors an operational status of each user-level simulated kernel domain associated with a particular cluster at predefined time intervals.
Claim 16
Dependent Claim
19 words
The of claim 11, further comprising the step of: notifying the CMM mechanism when the predefined time intervals occurs.
Claim 17
Dependent Claim
24 words
The method of claim 8, wherein the executable procedures includes a plurality of shared objects referenced by a module name and a function name.
Claim 18
Dependent Claim
44 words
The method of claim 13, said executing step further comprising the steps of: determining a module name associated with the requested executable procedure; dynamically loading the module associated with the module name into memory; and invoking the function associated with the requested executable procedure.
Claim 19
Dependent Claim
26 words
The method of claim 8, further comprising the steps of: obtaining a reply from the executed procedure; and transmitting the reply to the requesting user-level domain.
Claim 20
Dependent Claim
32 words
The method of claim 8, further comprising the steps of: providing an object request broker (ORB) mechanism to invoke methods associated with one or more objects referenced by the requested executed procedure.
Claim 21
Dependent Claim
166 words
A computer program product for use in conjunction with a computer system, the computer program product comprising a computer readable storage medium and a computer program mechanism embedded therein, the computer program mechanism comprising: a plurality of user-level non-simulated domains, each user-level domain having a distinct address space and having one or more user-level procedures; and a plurality of user-level simulated kernel domains, each user-level simulated kernel domain having a distinct address space and providing a capability to simulate a kernel operating system, each user-level simulated kernel domain including: at least one executable procedure; a gateway handler procedure receiving a request to execute a select one of the executable procedures and executing the select executable procedure; and a first interprocess communication mechanism providing communication between a select one of the user-level simulated kernel domains and the user-level domains; wherein the user-level domains utilize the first interprocess communication mechanism to request execution of a particular one of the executable procedures in a particular user-level simulated kernel domain.
Claim 22
Dependent Claim
166 words
A computer program product for use in conjunction with a computer system, the computer program product comprising a computer readable storage medium and a computer program mechanism embedded therein, the computer program mechanism comprising: a plurality of user-level non-simulated domains, each user-level domain having a distinct address space and having one or more user-level procedures; and a plurality of user-level simulated kernel domains, each user-level simulated kernel domain having a distinct address space and providing a capability to simulate a kernel operating system, each user-level simulated kernel domain including: at least one executable procedure; a gateway handler procedure receiving a request to execute a select one of the executable procedures and executing the select executable procedure; and a first interprocess communication mechanism providing communication between a select one of the user-level simulated kernel domains and the user-level domains; wherein the user-level domains utilize the first interprocess communication mechanism to request execution of a particular one of the executable procedures in a particular user-level simulated kernel domain.
Claim 23
Dependent Claim
203 words
A computer program product for use in conjunction with a computer system, the computer program product comprising a computer readable storage medium and a computer program mechanism embedded therein, the computer program mechanism comprising: a plurality of user-level domains, each user-level domain having a distinct address space and having one or more user-level procedures; and a plurality of user-level simulated kernel domains, each user-level simulated kernel domain having a distinct address space and providing a capability to simulate a kernel operating system, each user-level simulated kernel domain including: at least one executable procedure; a gateway handler procedure receiving a request to execute a select one of the executable procedures and executing the select executable procedure; and a first interprocess communication mechanism providing communication between a select one of the user-level simulated kernel domains and the user-level domains; wherein the user-level domains utilize the first interprocess communication mechanism to request execution of a particular one of the executable procedures in a particular user-level simulated kernel domain; each user-level simulated kernel domain includes a plurality of object methods; and each user-level simulated kernel domain includes an object request broker (ORB) that receives a request from the select executable procedure to invoke a specified object method.
Claim 24
Dependent Claim
203 words
A computer program product for use in conjunction with a computer system, the computer program product comprising a computer readable storage medium and a computer program mechanism embedded therein, the computer program mechanism comprising: a plurality of user-level domains, each user-level domain having a distinct address space and having one or more user-level procedures; and a plurality of user-level simulated kernel domains, each user-level simulated kernel domain having a distinct address space and providing a capability to simulate a kernel operating system, each user-level simulated kernel domain including: at least one executable procedure; a gateway handler procedure receiving a request to execute a select one of the executable procedures and executing the select executable procedure; and a first interprocess communication mechanism providing communication between a select one of the user-level simulated kernel domains and the user-level domains; wherein the user-level domains utilize the first interprocess communication mechanism to request execution of a particular one of the executable procedures in a particular user-level simulated kernel domain; each user-level simulated kernel domain includes a plurality of object methods; and each user-level simulated kernel domain includes an object request broker (ORB) that receives a request from the select executable procedure to invoke a specified object method.
Claim 25
Dependent Claim
204 words
A computer program product for use in conjunction with a computer system, the computer program product comprising a computer readable storage medium and a computer program mechanism embedded therein, the computer program mechanism comprising: a plurality of user-level domains, each user-level domain having a distinct address space and having one or more user-level procedures; and a plurality of user-level simulated kernel domains, each user-level simulated kernel domain having a distinct address space and providing a capability to simulate a kernel operating system, each user-level simulated kernel domain including: at least one executable procedure; a gateway handler procedure receiving a request to execute a select one of the executable procedures and executing the select executable procedure; and a first interprocess communication mechanism providing communication between a select one of the user-level simulated kernel domains and the user-level domains; wherein the user-level domains utilize the first interprocess communication mechanism to request execution of a particular one of the executable procedures in a particular user-level simulated kernel domain; a subset of the user-level simulated kernel domains represent a cluster; the computer program product includes a communications membership monitor procedure that monitors an operational status of each of the user-level simulated kernel domains associated with a particular cluster.
Claim 26
Dependent Claim
204 words
A computer program product for use in conjunction with a computer system, the computer program product comprising a computer readable storage medium and a computer program mechanism embedded therein, the computer program mechanism comprising: a plurality of user-level domains, each user-level domain having a distinct address space and having one or more user-level procedures; and a plurality of user-level simulated kernel domains, each user-level simulated kernel domain having a distinct address space and providing a capability to simulate a kernel operating system, each user-level simulated kernel domain including: at least one executable procedure; a gateway handler procedure receiving a request to execute a select one of the executable procedures and executing the select executable procedure; and a first interprocess communication mechanism providing communication between a select one of the user-level simulated kernel domains and the user-level domains; wherein the user-level domains utilize the first interprocess communication mechanism to request execution of a particular one of the executable procedures in a particular user-level simulated kernel domain; a subset of the user-level simulated kernel domains represent a cluster; the computer program product includes a communications membership monitor procedure that monitors an operational status of each of the user-level simulated kernel domains associated with a particular cluster.
Claim 27
Dependent Claim
40 words
The computer program product of claim 19, further comprising: a clock procedure, that at a predefined time interval, notifies the communications membership monitor to monitor the operational status of each of the user-level simulated kernel domains associated with the cluster.
Claim 28
Dependent Claim
28 words
The computer program product of claim 17, further comprising: a debugger mechanism for debugging operations of a any specified one of the plurality of user-level simulated kernel domains.
Claim 29
Dependent Claim
23 words
The computer program product of claim 17, further comprising: a first procedure for generating one or more of the user-level simulated kernel domains.
Claim 30
Dependent Claim
189 words
A computer program product for use in conjunction with a computer system, the computer program product comprising a computer readable storage medium and a computer program mechanism embedded therein, the computer program mechanism comprising: a plurality of user-level domains, each user-level domain having a distinct address space and having one or more user-level procedures; and a plurality of user-level simulated kernel domains, each user-level simulated kernel domain having a distinct address space and providing a capability to simulate a kernel operating system, each user-level simulated kernel domain including: at least one executable procedure; a gateway handler procedure receiving a request to execute a select one of the executable procedures and executing the select executable procedure; and a first interprocess communication mechanism providing communication between a select one of the user-level simulated kernel domains and the user-level domains; wherein the user-level domains utilize the first interprocess communication mechanism to request execution of a particular one of the executable procedures in a particular user-level simulated kernel domain; the computer program product further comprising a second interprocess communication mechanism for handling communications between one or more of the user-level simulated kernel domains.
Claim 31
Dependent Claim
189 words
A computer program product for use in conjunction with a computer system, the computer program product comprising a computer readable storage medium and a computer program mechanism embedded therein, the computer program mechanism comprising: a plurality of user-level domains, each user-level domain having a distinct address space and having one or more user-level procedures; and a plurality of user-level simulated kernel domains, each user-level simulated kernel domain having a distinct address space and providing a capability to simulate a kernel operating system, each user-level simulated kernel domain including: at least one executable procedure; a gateway handler procedure receiving a request to execute a select one of the executable procedures and executing the select executable procedure; and a first interprocess communication mechanism providing communication between a select one of the user-level simulated kernel domains and the user-level domains; wherein the user-level domains utilize the first interprocess communication mechanism to request execution of a particular one of the executable procedures in a particular user-level simulated kernel domain; the computer program product further comprising a second interprocess communication mechanism for handling communications between one or more of the user-level simulated kernel domains.
References Cited (Backward Citations)
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2003-06-13 | 2003-12-13 | 2004-06-13 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2007-06-13 | 2007-12-13 | 2008-06-13 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2011-06-13 | 2011-12-13 | 2012-06-13 | $7700.00 | Window Closed / Lapsed |