摘要:
In a distributed computing system, a first process may register interest in an event occurring in another address space or physical machine in such a way as to allow the subsequent notification of the event's occurrence to contain an object that includes methods that are to be run on receipt of the notification. When the notification is received, either by the first process or by some other entity designated by the first process to be the final point of notification, the methods may be executed as specified by the first process.
摘要:
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.
摘要:
A homogeneous execution environment operates within a heterogeneous client-server network. A client selects a server and transmits a procedure call with parameters. In response, the system dynamically and securely downloads code to a compute server; invokes a generic compute method; executes the code on the compute server; and returns the results to the calling client method, preserving the result on the compute server if requested. This technique is efficient in that it does not require multiple copies of code to be downloaded or compiled since server byte-codes can be executed on each of the different systems. The code can be compiled once and downloaded as needed to the various servers as byte-codes and then executed.
摘要:
A distributed computer system uses a single interface at the client site to handle calls to call both active and passive remote objects. Accordingly, the calling process does not need to be aware of distinctions between active and passive objects. Further, remote objects are aggregated into common groups of objects, thereby providing greater security between objects of disparate groups and efficiency between related objects of the same group. Preferably, different groups are run on different Java virtual machines.
摘要:
Downloading code for communicating with a device that joins a network. When the device joins the network, it transmits a multicast packet including a reference to code for use in communicating with the device. Receivers in the network use the reference to download the code for constructing objects to communicate with the device, and the receivers respond with a reference to a lookup service in the network. Using the reference from the receivers, the device registers with the lookup service.
摘要:
A homogeneous execution environment operates within a heterogeneous client-server network. A client selects a server and transmits a procedure call with parameters. In response, a server dynamically and securely downloads code to a compute server; invokes a generic compute method; executes the code on the compute server; and returns the results to the calling client method, preserving the result on the compute server if requested. This technique is efficient in that it does not require multiple copies of code to be downloaded or compiled since server byte-codes can be executed on each of the different systems, therefore downloading or compiling multiple copies of code can be avoided. The code can be compiled once and downloaded as needed to the various servers as byte-codes and then executed.
摘要:
Event notification in a distributed system using an object maintained in serialized form, referred to as a marshalled object. For event notification, a machine registers with a device to receive notification of particular events within a network, and a marshalled object is transmitted with a registration request.
摘要:
Remote method invocation using a generic proxy class. A client machine transmits a call for invocation of a method of a remote object including an identifier for the method object. A server machine receives the identifier and uses generic code to invoke the method object and return an indication of the invoked method along with any relevant parameters.
摘要:
A method and system is provided to uniquely identify a remote method to invoke on a server using a hash value computed from the method signature sent from the client to the server with the call request. When a client wishes to invoke a remote method located on a server, the client sends a hash value identifying the remote method to the server in the "remote method invocation" (RMI) call. In one implementation, this hash value is created by applying a hash function to the method string name and the parameter type list and possibly the return type. When the server receives the RMI call, the server identifies which method is being called using the received hash value. The server maintains a mapping of hash values to their associated remote methods located on the server and references the correct method using the hash value. Additionally, in one implementation, the server creates the mapping table dynamically when a remote object is created. The server identifies the methods implemented by the object and creates hash values for each method. These hash values are stored in a mapping table which is used to reference the remote methods.
摘要:
Systems consistent with the present invention a method and apparatus is provided for selectively supplying a state change associated with remote objects in a distributed system. The method involves registering a request from a computational entity to receive notification as to a state change associated with a remote object. Registration of a notification request causes the creation of a remote weak reference to the remote object including an identifier of a location of the remote object. Periodically, a request is sent to a location based on the identifier of the remote weak reference. When it is determined that a state change associated with the remote object has occurred, the registered computational entity is notified accordingly.