← Back to Patent Explorer
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
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag