Distributed Systems, Edition 3: Chapter 3 Solutions 3
Last updated: 21 February 2001 3:29 pm
©George Coulouris, Jean Dollimore and Tim Kindberg 2000
v) remote procedure call.
3.7 Ans.
i) The long duration of sessions, the need for reliability and the unstructured sequences of characters
transmitted make connection-oriented communication most suitable for this application. Performance is
not critical in this application, so the overheads are of little consequence.
ii) File calls for the transmission of large volumes of data. Connectionless would be ok if error rates are low
and the messages can be large, but in the Internet, these requirements aren’t met, so TCP is used.
iii)Connectionless is preferable, since messages are short, and a single message is sufficient for each
transaction.
iv)Either mode could be used. The volume of data transferred on each transaction can be quite large, so
TCP is used in practice.
v) RPC achieves reliability by means of timeouts and re-trys. so connectionless (UDP) communication is
often preferred.
3.8 Explain how it is possible for a sequence of packets transmitted through a wide area network to
arrive at their destination in an order that differs from that in which they were sent. Why can’t this
happen in a local network? Can it happen in an ATM network?
3.8 Ans.
Packets transmitted through a store-and-forward network travels by a route that is determined dynamically for
each packet. Some routes will have more hops or slower switches than others. Thus packets may overtake each
other. Connection-oriented protocols such as TCP overcome this by adding sequence numbers to the packets
and re-ordering them at the receiving host.
It can’t happen in local networks because the medium provides only a single channel connecting all of
the hosts on the network. Packets are therefore transmitted and received in strict sequence.
It can’t happen in ATM networks because they are connection-oriented. Transmission is always through
virtual channels, and VCs guarantee to deliver data in the order in which it is transmitted.
3.9 A specific problem that must be solved in remote terminal access protocols such as Telnet is the
need to transmit exceptional events such as ‘kill signals’ from the ‘terminal’ to the host in advance
of previously-transmitted data. Kill signals should reach their destination ahead of any other
ongoing transmissions. Discuss the solution of this problem with connection-oriented and
connectionless protocols.
3.9 Ans.
The problem is that a kill signal should reach the receiving process quickly even when there is buffer overflow
(e.g. caused by an infinite loop in the sender) or other exceptional conditions at the receiving host.
With a connection-oriented, reliable protocol such as TCP, all packets must be received and
acknowledged by the sender, in the order in which they are transmitted. Thus a kill signal cannot overtake other
data already in the stream. To overcome this, an out-of-band signalling mechanism must be provided. In TCP
this is called the URGENT mechanism. Packets containing data that is flagged as URGENT bypass the flow-
control mechanisms at the receiver and are read immediately.
With connectionless protocols, the process at the sender simply recognizes the event and sends a
message containing a kill signal in the next outgoing packet. The message must be resent until the receiving
process acknowledges it.
3.10 What are the disadvantages of using network-level broadcasting to locate resources:
i) in a single Ethernet?
ii) in an intranet?
To what extent is Ethernet multicast an improvement on broadcasting?
3.10 Ans.
i. All broadcast messages in the Ethernet must be handled by the OS, or by a standard daemon process. The
overheads of examining the message, parsing it and deciding whether it need be acted upon are incurred by
every host on the network, whereas only a small number are likely locations for a given resource. Despite this,