Deferred reconstruction of objects and remote loading in a distributed system
First Claim
1. A method for transmitting objects in a distributed system comprised of multiple machines, each with an RPC mechanism, the method comprising the steps of:
- specifying an object;
converting the object into a stream containing a self-describing form of the object; and
sending the stream to an RPC mechanism on one of the machines such that reconstruction of the object is deferred until the stream is transmitted to another RPC mechanism on another machine whereupon the object may be reconstructed by the other RPC mechanism by accessing program code identified in the stream.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and system for transmitting objects in an object-oriented distributed system allows the reconstruction of objects and downloading of code associated with such object reconstruction to be deferred until it is needed by a program. The deferred reconstruction is accomplished by using a Java object called a “marshalled object,” which is a self-describing stream and which is a first-class entity in the system, meaning that it exists within a type system of a programming language and can be accessed and manipulated by instructions written in that language. Such an object can typically be produced by any object that can be passed from one address space to another, and it can be stored, passed to other objects, or used to reconstruct an object of the original type on demand. The reconstruction of an object is deferred until the code holding a marshalled object directly calls the creation of the object using the marshalled object. Any downloading of code is also deferred until the marshalled object is used to create a copy of the original object.
175 Citations
21 Claims
-
1. A method for transmitting objects in a distributed system comprised of multiple machines, each with an RPC mechanism, the method comprising the steps of:
-
specifying an object;
converting the object into a stream containing a self-describing form of the object; and
sending the stream to an RPC mechanism on one of the machines such that reconstruction of the object is deferred until the stream is transmitted to another RPC mechanism on another machine whereupon the object may be reconstructed by the other RPC mechanism by accessing program code identified in the stream. - View Dependent Claims (2)
-
-
3. A method for processing objects in a distributed system comprised of multiple machines, the method comprising the steps of:
-
receiving at an RPC mechanism on one of the multiple of machines a stream containing a self-describing form of an object; and
while the object remains in the form of the stream, performing the steps of;
determining whether to send the stream to another RPC mechanism on another machine by the RPC mechanism; and
sending the stream to the other RPC mechanism on the other machine for reconstruction of the object by the other RPC mechanism accessing program code identified in the stream.
-
-
4. A method for transmitting objects in a distributed system comprised of multiple machines, each with an RPC mechanism, the method comprising the steps of:
-
specifying an object;
converting the object into a stream containing a self-describing form of the object;
sending the stream to an RPC mechanism on one of the machines such that reconstruction of the object is deferred until the object is transmitted to another RPC mechanism on another machine;
transmitting the stream to the other RPC mechanism on the other machine while the object remains in the form of the stream; and
reconstructing the object from the stream by the other RPC mechanism on the other machine by accessing program code identified in the stream. - View Dependent Claims (5)
-
-
6. An apparatus for transmitting objects in a distributed system comprised of multiple machines, comprising:
-
a module configured to specify an object;
a converting module configured to convert the object into a stream containing a self-describing form of the object; and
a sending module configured to send the stream to an RPC mechanism on one of the machines such that reconstruction of the object is deferred until the stream is transmitted to another RPC mechanism on another machine whereupon the object may be reconstructed by accessing program code identified in the stream. - View Dependent Claims (7)
-
-
8. An apparatus for processing objects in a distributed system comprised of multiple machines, comprising:
-
a receiving module of an RPC mechanism on one of the machines configured to receive a stream containing a self-describing form of an object;
a determining module of the RPC mechanism configured to determine whether to send the stream to another machine while the object remains in the form of the stream; and
a sending module of the RPC mechanism configured to send the stream to the other machine while the object remains in the form of the stream, whereupon receipt of the stream by the other machine the object is reconstructed by accessing program code identified in the stream.
-
-
9. A computer program product, comprising:
-
a computer usable medium having computer readable code embodied therein for use in transmitting objects in a distributed system comprised of multiple machines, comprising;
a module configured to specify an object;
a converting module configured to convert the object into a stream containing a self-describing form of the object; and
a sending module configured to send the stream to an RPC mechanism on one of the machines such that reconstruction of the object is deferred until the stream is transmitted to another RPC mechanism on another machine whereupon the object may be reconstructed by accessing program code identified in the stream. - View Dependent Claims (10)
-
-
11. A computer program product, comprising:
-
a computer usable medium having computer readable code embodied therein for use in processing objects in a distributed system comprised of multiple machines, comprising;
a receiving module of an RPC mechanism on one of the machines configured to receive a stream containing a self-describing form of an object;
a determining module of the RPC mechanism configured to determine whether to send the stream to another machine while the object remains in the form of the stream; and
a sending module of the RPC mechanism configured to send the stream to the other machine while the object remains in the form of the stream, whereupon receipt of the stream by the other machine the object is reconstructed by accessing program code identified in the stream.
-
-
12. A computer data signal embodied in a carrier wave and representing sequences of instructions which, when executed by a processor, cause the processor to securely address a peripheral device at an absolute address by performing the steps of:
-
executing a first module of an RPC mechanism to specify an object;
executing a second module of the RPC mechanism to convert the object into a stream containing a self-describing form of the object; and
executing a third module of the RPC mechanism to send the stream to one of the machines such that reconstruction of the object is deferred until the stream is transmitted to another machine whereupon the object may be reconstructed by accessing program code identified in the stream. - View Dependent Claims (13)
-
-
14. A computer data signal embodied in a carrier wave and representing sequences of instructions which, when executed by a processor, cause the processor to securely address a peripheral device at an absolute address by performing the steps of:
-
executing a first module of an RPC mechanism to receive at a machine a stream containing a self-describing form of an object;
executing a second module of the RPC mechanism to determine whether to send the stream to another machine while the object remains in the form of a stream; and
executing a third module of the RPC mechanism to send the stream to the other machine while the object remains in the form of a stream, whereupon receipt of the object by the other machine the object is reconstructed by accessing program code identified in the stream.
-
-
15. An article of manufacture specifying a representation of an object stored in a computer-readable storage medium and capable of electronic transmission between machines in a distributed system, the article of manufacture comprising:
a first object comprising a self-describing stream stored in a computer-readable storage medium, the first object representing a second object and having a property indicating that the first object is to be maintained as the stream when the first object is transmitted between RPC mechanisms on machines in the system unless a particular RPC mechanism requires use of the second object. - View Dependent Claims (16, 17)
-
18. A method in a data processing system having a RPC mechanism used by a program, comprising the steps performed by the RPC mechanism of:
-
receiving an object in a form of a stream from a remote RPC mechanism;
deferring reconstruction of the object until requested to perform reconstruction by the program;
receiving from the program a request to reconstruct the object by the RPC mechanism; and
reconstructing the object responsive to receiving the request by the RPC mechanism.
-
-
19. In a data processing system, a method for transmitting an object from a first RPC mechanism to a second RPC mechanism that is used by a program, comprising the steps of:
-
forming a stream out of the object by the first RPC mechanism;
sending the stream to the second RPC mechanism by the first RPC mechanism;
receiving the stream by the second RPC mechanism;
deferring reconstruction of the object by the second RPC mechanism until requested to perform the reconstruction by the program;
receiving from the program a request to reconstruct the object by the second RPC mechanism; and
reconstructing the object responsive to receiving the request by the second RPC mechanism.
-
-
20. A computer-readable medium containing instructions for controlling a data processing system to perform a method, the data processing system having an RPC mechanism used by a program, the method comprising the steps performed by the RPC mechanism of:
-
receiving an object in a form of a stream from a remote RPC mechanism;
deferring reconstruction of the object until requested to perform reconstruction by the program;
receiving from the program a request to reconstruct the object by the RPC mechanism; and
reconstructing the object responsive to receiving the request by the RPC mechanism.
-
-
21. A computer-readable medium containing instructions for controlling a data processing system to perform a method, the method for transmitting an object from a first RPC mechanism to a second RPC mechanism that is used by a program, the method comprising the steps of:
-
forming a stream out of the object by the first RPC mechanism;
sending the stream to the second RPC mechanism by the first RPC mechanism;
receiving the stream by the second RPC mechanism;
deferring reconstruction of the object by the second RPC mechanism until requested to perform the reconstruction by the program;
receiving from the program a request to reconstruct the object by the second RPC mechanism; and
reconstructing the object responsive to receiving the request by the second RPC mechanism.
-
Specification