US5745703A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Transmission of higher-order objects across a network of heterogeneous machines
Assignee: NEC Corp
•
Filing: 1995-07-18
•
Granted: 1998-04-28
•
Expires: 2015-07-18
Abstract
Abstract The system comprises a collection of address spaces within which potentially many concurrent lightweight perceptible threads may execute. The address space is uniformly distributed among different nodes in a network of heterogeneous machines. Address spaces are first-class and may be generated dynamically. Threads within an address space may communicate with one another via shared memory; communication between address spaces takes place using explicit message-passing.
Inventors
- 👤 Henry Cejtin
- 👤 Suresh Jagannathan
- 👤 Richard A. Kelsey
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-10-27 22:53
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/54; G06F9/546
Claims Analysis
Total Claims: 18
Claim 1
Independent Claim
106 words
An apparatus for sending messages across machines comprising: a plurality of data objects, code objects, threads and globally unique identifiers in at least one virtual machine in a network of machines; and a plurality of address spaces in said at least one virtual machine, each address space having a unique identifier and a list of pairs of input and output channels, said address spaces being capable of creating and destroying said channels; whereby a thread sends data objects, code objects, thread objects or global unique identifiers in the form of a message to a selected address space, said selected address space intercepts and reconstructs incoming messages.
Claim 2
Independent Claim
106 words
An apparatus for sending messages across machines comprising: a plurality of data objects, code objects, threads and globally unique identifiers in at least one virtual machine in a network of machines; and a plurality of address spaces in said at least one virtual machine, each address space having a unique identifier and a list of pairs of input and output channels, said address spaces being capable of creating and destroying said channels; whereby a thread sends data objects, code objects, thread objects or global unique identifiers in the form of a message to a selected address space, said selected address space intercepts and reconstructs incoming messages.
Claim 3
Dependent Claim
35 words
An apparatus as set forth in claim 1, where said address space reconstructs messages dynamically so that a new message can be intercepted by said address space without said address space stopping intercepting incoming messages.
Claim 4
Dependent Claim
28 words
An apparatus as set forth in claim 1, where a plurality of threads in the same virtual machine simultaneously sends messages to a plurality of selected address spaces.
Claim 5
Dependent Claim
30 words
An apparatus as set forth in claim 1, further comprising a shared memory comprising unique identifiers, where each unique identifier is associated with a data object, code object or thread.
Claim 6
Dependent Claim
25 words
An apparatus as set forth in claim 1, where additional address space is added dynamically to a running computation without causing ongoing computations to halt.
Claim 7
Dependent Claim
22 words
An apparatus as set forth in claim 1, where said at least one virtual machine resides in a heterogeneous network of machines.
Claim 8
Dependent Claim
16 words
An apparatus as set forth in claim 6, where said network comprises a local area network.
Claim 9
Dependent Claim
16 words
An apparatus as set forth in claim 6, where said network comprises a wide area network.
Claim 10
Dependent Claim
16 words
An apparatus as set forth in claim 6, where said network resides in a single machine.
Claim 11
Independent Claim
107 words
A method of sending messages across virtual machines comprising the steps of: providing a plurality of data objects, code objects, threads and globally unique identifiers in at least one virtual machine; providing a plurality of address spaces in said at least one virtual machine, each address space having a unique identifier and a list of pairs of input and output channels, said address space being capable of creating and destroying said channels; and sending via a thread, data objects, code objects, thread objects or global unique identifiers in the form of a message to a selected address space, said selected address space intercepting and reconstructing incoming messages.
Claim 12
Independent Claim
107 words
A method of sending messages across virtual machines comprising the steps of: providing a plurality of data objects, code objects, threads and globally unique identifiers in at least one virtual machine; providing a plurality of address spaces in said at least one virtual machine, each address space having a unique identifier and a list of pairs of input and output channels, said address space being capable of creating and destroying said channels; and sending via a thread, data objects, code objects, thread objects or global unique identifiers in the form of a message to a selected address space, said selected address space intercepting and reconstructing incoming messages.
Claim 13
Dependent Claim
31 words
A method as set forth in claim 10, where said reconstructing is performed dynamically so that a new message can be intercepted without said selected address space stopping intercepting incoming messages.
Claim 14
Dependent Claim
24 words
A method as set forth in claim 10, where said sending via a thread sends messages simultaneously to a plurality of selected address spaces.
Claim 15
Dependent Claim
31 words
A method as set forth in claim 10, further comprising providing a shared memory comprising unique identifiers, where each unique identifier is associated with a data object, code object or thread.
Claim 16
Dependent Claim
24 words
A method as set forth in claim 10, further comprising dynamically adding address space to a running computation without causing ongoing computations to halt.
Claim 17
Dependent Claim
23 words
A method as set forth in claim 10, where said providing at least one virtual machine is in a heterogeneous network of machines.
Claim 18
Dependent Claim
21 words
A method as set forth in claim 10, further comprising garbage collecting performed weakly synchronously across a plurality of virtual machines.
References Cited (Backward Citations)
US4031512A
Cited
US4750109A
Cited
US4630259A
Cited
US5060150A
Cited
US4908828A
Cited
US5095480A
Cited
US5140583A
Cited
US5555427A
Cited
US5224100A
Cited
US5481721A
Cited
US5305461A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2001-04-27 | 2001-10-27 | 2002-04-28 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2005-04-27 | 2005-10-27 | 2006-04-28 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2009-04-27 | 2009-10-27 | 2010-04-28 | $7700.00 | Window Closed / Lapsed |