Professional Documents
Culture Documents
For example:
Type: mail server
Instance: a specific mail server of type mail server
2. Binding
2.3 Binding Events
2. Binding
2.3.1 Binding Events on Callee
– The caller binds to the callee by specifying something to uniquely identify
the callee (Naming in this case) and the callee’s location.
– But first the caller must find out what callees are available to handle the
request at the time of the procedure call. This is accomplished by a
database lookup:
– When a callee wishes to export an interface (make it available to callers),
it stores information about its interface in a network accessible database.
2. Binding
2.3.2 Binding Events on Caller
– The caller can then find the server callee in a database lookup:
– By specifying a particular instance of the desired interface type and
receiving location information about that instance, or
– By specifying the type of the interface and receiving a list of instances
that implement that type, and then iterating through them to find an
available match.
3. Transport Protocol
The protocol used is intended for small, discrete chunks of
data, each of which can contain:
– Identifiers specifying caller, callee and call.
– Requested procedure and procedure arguments.
– Procedure results.
– Acknowledgements of received packets.
– Exception information.
Optimizations:
Minimize the costs of maintaining connections.
Avoid costs of establishing and terminating connections.
Reduce the number of process switches involved in a call .
Other Optimizations:
Use the subsequence packet as ACK
Bypass software layer if within same network
6. Security
Encryption end to end – based security for
calls
Garpevine can be used as an authentication
server
7. Performance
Measurements made for remote calls between two Dorados computers
connected by Ethernet (2.94 Mbps)
Ethernet shared with other users, but the network was lightly loaded.
Did not use any encryption facilities.
12000 calls made on each procedure.
Interval timed is from the time the user invokes a local procedure to the return
of the procedure call.
Listed below are times for remote procedures to complete in comparison to local
procedure calls.
7. Performance
Performance Summary:
– Mainly RPC overhead – not due to local call
– For small packets, RPC overhead dominates
– For large packets, transmission time dominates
8. Conclusion
The authors concluded that the RPC
package was fully implemented and in use
by Cedar programmers.
Implementations were created in a number
of other languages, including C and
SmallTalk.
Should encourage development of new
distributed applications formerly considered
infeasible.
Discussion …