Warning:
JavaScript is turned OFF. None of the links on this page will work until it is reactivated.
If you need help turning JavaScript On, click here.
This Concept Map, created with IHMC CmapTools, has information related to: ch5 dist comm, Communication between distributed objects: each process contains objects, some of which can receive remote invocations, others only local invocations those that can receive remote invocations are called remote objects contains distributed garbage collection: as soon as no object any longer holds a reference to it, it will be collected and the memory it uses is recovered, distributed andlocal garbage collectors work together as follows: 1 each server process maintains a set of the names of the processes that hold remote object references for each of its remote objects 2 when a client C first receives a remote reference to a particular remote object B 3 when a client C's garbage collector notices that a proxy for remote object B is no longer reachable it makes a invocation to the corresponding server and then deletes the proxy 4 when B .holders is empty, the servers local will reclaim the space, implementation of RMI: has remote reference module: responsible for translating between local and remote object references and creating remote object references, the remote object reference in each object has a remote object table that records: remote objects held by process, each local proxy, The object model has interfaces: an interface provides a definition of signatures of a set of methods, types of their arguments and return values, without specifying their implementation, the distributed object model: remote object reference- other objects can invoke the methods of a remote object if they have access to its remote object reference remote interface- every remote object has a remote interface that specifies which its method can be invoked remotely is made of remote interfaces: the class of a remote object implements the methods of its remote interface, objects in other processes can invoke only the methods that belong to its remote interface. CORBA system provides an interface defintion language IDL, the classes of remote objects and the client programs may be implemented in any language such as c++, java or python for which an IDL compilier is available, Communication between distributed objects: each process contains objects, some of which can receive remote invocations, others only local invocations those that can receive remote invocations are called remote objects contains The object model, design issues for RMI has transparency: the originators of RPC, Birrell and Nelson, aimed to make remote procedure calls as much like local procedure calls as possible, with no distinction in syntax between a local and a remote procedure call. all the necessary calls to marshalling and message passing procedures were hidden from the programmer making the call. request messages are retransmitted after a timeout, tis is transparent to the caller to make remote just like local, RMI invocation semantics: dooperation delivery guarantees- retry request message: whether to retransmit the request message until either a reply is received or the server is assumed to have failed duplicate filtering: when retransmissions are used, whether to filter out duplicate requests at the server retransmission of results: whether to keep a history of result messages to enable lost results to be retransmitted without reexecuting the operations at the server has maybe invocation semantics: may be executed once or not at all 1 ommisiion failures if the invocation or result message is lost 2 crash failures when the server containing the remote object fails, implementation of RMI: has object location: location services helps clients to locate remote objects from their remote object references by using database maps remote object references to their probably current locations, the distributed object model: remote object reference- other objects can invoke the methods of a remote object if they have access to its remote object reference remote interface- every remote object has a remote interface that specifies which its method can be invoked remotely is made of remote object reference: the notion of object reference is extended to allow any object that can receive an RMI to have a remote object reference. 1 the remote object to receive a remote method invocation is specified by the invoker as a remote object reference 2 remote object references may be passed as arguments and results of method invocations, The object model has object references: objects can be accessed via object references. the object whose method is invoked is sometimes called the target and also called the reciever, the distributed object model: remote object reference- other objects can invoke the methods of a remote object if they have access to its remote object reference remote interface- every remote object has a remote interface that specifies which its method can be invoked remotely is made of actions in a distibutedobject system: the objects involved in a chain of related invocations may be located in different processes or computers, implementation of RMI: has activation of remote objects: uses FTP by Inetd, activators: are processes to host remote objects a remote object is-active: when it is available, passive if not currently active, passive object: 1 implementation of its methods 2 its state in the marshalled form, activator: is responsible for 1 registering passive objects that are available 2 starting named server processes and activating remote objects in them 3 keeping track of the locations of the servers for remote objects it already has, RMI invocation semantics: dooperation delivery guarantees- retry request message: whether to retransmit the request message until either a reply is received or the server is assumed to have failed duplicate filtering: when retransmissions are used, whether to filter out duplicate requests at the server retransmission of results: whether to keep a history of result messages to enable lost results to be retransmitted without reexecuting the operations at the server has at least once invocation semantics: the invoker receives either a result, which case the invoker is informed that the method was executed at least once or a message saying that no result was received, implementation of RMI: has Dynamic invocation- an alternative to proxies: it gives client access to a generic representation of a remote invocation like the doOperation method which is available as part of the infrastructure for RMI, dynamic skeletons:, Communication between distributed objects: each process contains objects, some of which can receive remote invocations, others only local invocations those that can receive remote invocations are called remote objects contains implementation of RMI:, The object model has exceptions: provide a clean way to deal with error conditions without complicating the code, encounters of unexpected errors is not rare, a block of code may be defined to throw an exception whenever particular error occurs, meaning the control is passed to another block of code that catches the exception, implementation of RMI: has the RMI software: proxy: to make remote method invocation transparent to clients by behaving like a local object to the invoker by forwarding a message instead of executing an invocation dispatcher: a server has one dispatcher and skeleton for each class representing a remote object skeleton: implements the methods in the remote interface, implementation of RMI: has server and client programs: contains the classes for the dispatchers and skeletons, together with implementations of the classes of all of the servants that it supports, distributed garbage collection: as soon as no object any longer holds a reference to it, it will be collected and the memory it uses is recovered, distributed andlocal garbage collectors work together as follows: 1 each server process maintains a set of the names of the processes that hold remote object references for each of its remote objects 2 when a client C first receives a remote reference to a particular remote object B 3 when a client C's garbage collector notices that a proxy for remote object B is no longer reachable it makes a invocation to the corresponding server and then deletes the proxy 4 when B .holders is empty, the servers local will reclaim the space has leases in Jini: leases are given to avoid complicated protocols to discover whether the resource is still wanted, implementation of RMI: has communication module: two cooperating communication modules carry out request reply protocol, transmits request reply messages between client and server, uses only first three items: message type, requestID, remote reference of object to be invoked