CS417 Exam 1
Fall 2017
Paul Krzyzanowski
- What problem can arise with a system that exhibits fail-restart behavior?
- At 10:05.800, a client sends the server a request for the time. The server response arrives at 10:05.900 containing a time stamp of 10:05.850. Using Cristian's algorithm, to what value does the client set its clock?
- In the diagram of events shown, what is the Lamport timestamp of event f ? Assume that all Lamport counters are initialized to 0 and incremented before events.
- Explain the distinction between receiving and delivering a message.
- Moore's law states that the:
(a) Number of computers on the Internet doubles approximately every two years.
(b) Amount of data on the Internet doubles approximately every two years.
(c) Number of transistors in an integrated circuit doubles approximately every two years.
(d) Speed of a network doubles approximately every two years. - Metcalfe's law addresses the:
(a) Bandwidth of a communication network.
(b) Number of redundant paths in a communication network.
(c) Latency of a communication network.
(d) Value of a communication network. - A network partition refers to:
(a) A protected segment of the network for administrative tasks.
(b) Each local area network within the Internet.
(c) A type of fault where the network fragments into two or more disconnected sub-networks.
(d) A file system that is shared among multiple systems on a network. - A Byzantine fault is:
(a) A fault that triggers other failures, also known as a cascading failure.
(b) Any complex fault that is difficult to identify.
(c) The case when a system does not behave as expected.
(d) The situation when messages take longer to arrive than expected. - Which is NOT a key design principle of the Internet?
(a) Support the interconnection of different physical networks.
(b) Provide reliable communication.
(c) Use routers to move data between networks.
(d) Not have centralized control of the network. - Piggybacked acknowledgements:
(a) Prevent feedback implosion.
(b) Incorporate an acknowledgement within a response message.
(c) Optimize network use by sending one acknowledgement for multiple messages.
(d) Are a way for the sender to acknowledge receipt of an acknowledgement. - To convert a big endian number to a little endian format requires:
(a) Losing precision.
(b) Using fewer bytes.
(c) Risking overflow.
(d) Reversing byte positions. - An RPC server skeleton (stub):
(a) Receives requests from clients and calls the local function on the server.
(b) Is an automatically-generated template for writing server functions.
(c) Is used to discover remote procedures that reside on the server.
(d) Is called when the server-side function cannot be found. - Marshaling is the process of:
(a) Converting parameters into a network message for a remote procedure call.
(b) Sending a message that invokes a remote procedure call.
(c) The setup process that is needed before any remote procedures can be called.
(d) The process of a server receiving a message with parameters and calling the appropriate function. - An interface definition language in remote procedure calls:
(a) Describes the input and return parameters of remote functions.
(b) Defines the protocol used to communicate with an RPC server.
(c) Is the language used to implement remote procedure calls.
(d) Is used to inform clients of available web services. - Idempotent functions are desirable for remote services because:
(a) They are functional without the need to manage objects.
(b) We do not have to worry if multiple copies of the same request are received.
(c) They take no parameters, so data serialization is not an issue.
(d) They are architecture independent and can migrate to different servers. - REST differs from web services such as SOAP because:
(a) There is no need to marshal data.
(b) HTTP is used as the protocol for sending & receiving content.
(c) Requests are formulated as URLs.
(d) Returned data is structured as an XML message. - A surrogate process in Microsoft Windows is used to:
(a) Route client requests to the correct server.
(b) Act as the client stub and handle marshaling.
(c) Handle all requests for undefined services.
(d) Load COM objects at the server based on client requests. - An advantage of remote reference counting over leasing is:
(a) It is more fault tolerant.
(b) Its enables shorter messages.
(c) It consumes fewer resources on the client.
(d) It allows a server to deactivate an object immediately. - The coordinator's clock in a Berkeley algorithm reads 1:00. The clocks on the other systems read 1:01, 1:02, 1:05. After running the algorithm, to what value will the other systems be set?
(a) 1:00
(b) 1:01
(c) 1:02
(d) 1:05. - A synchronization subnet is:
(a) All the clients that are synchronizing from a specific NTP server
(b) A hierarchically arranged set of NTP servers
(c) A dedicated network for clock synchronization to ensure low jitter and low latency.
(d) The set of protocols used to synchronize clocks (e.g., NTP, SNTP, PTP). - Events x, y, z have Lamport timestamps of 3, 3, 5, respectively. They may or may not have occurred on different processes. What can you definitively say definitively about these events?
(a) x and y are concurrent.
(b) Both x and y happened before z.
(c) Both (a) and (b).
(d) Neither (a) nor (b). - Which vector timestamp causally precedes { 4, 12, 26 } ?
(a) { 3, 14, 28 }
(b) { 4, 11, 26 }
(c) { 5, 13, 27 }
(d) { 26, 12, 4 } - Which precedence vector from Process 2 can be given to the application immediately if the local vector is { 4, 12, 26 } (assume a vector of {P0, P1, P2})?
(a) { 4, 11, 27 }
(b) { 4, 10, 28 }
(c) { 5, 13, 27 }
(d) { 3, 11, 28 } - Protocol Independent Multicast is used to:
(a) Route IP multicast packets within the Internet.
(b) Support multiple forms of multicast beyond IP multicast.
(c) Provide sender-selectable levels of reliability in multicast streams.
(d) Provide sender-selectable levels of reliability and message ordering in multicast streams. - Sparse Mode PIM has the advantage over Dense Mode multicast because it:
(a) Does not funnel multicast traffic for a group through one designated router.
(b) Supports different levels of message ordering and reliability service.
(c) Does not require the use of IGMP.
(d) Does not flood the network. - Virtual synchrony implements this form of multicast:
(a) Atomic.
(b) Reliable.
(c) Unreliable.
(d) Consistent. - The two-army problem illustrates that, for an unreliable asynchronous network:
(a) Two parties can come to agreement by sending messages through a third party.
(b) Reliable communication requires acknowledging messages.
(c) It is not necessary to acknowledge individual messages if you use cumulative acknowledgements.
(d) An infinite series of messages is required to reach consensus. - Although UDP guarantees reliable delivery, messages may arrive out of order.
- Ethernet provides reliable delivery of packets.
- Because all code runs on a Java Virtual Machine, parameters do not need to be serialized with Java RMI.
- Java uses remote reference counting for distributed garbage collection.
- With sync ordering, messages may sometimes arrive in a different order on different systems .
- For a set of causal events, Lamport timestamps will identify their proper sequence.
- Two events with identical Lamport timestamps must be concurrent.
- A closed group means that no new members can join the group.
- The Precision Time Protocol is more accurate than NTP because it can deal with asymmetric network delays .
- Two vector time stamps may be identical for concurrent events .
PART I - 21 POINTS
5 points
5 points
6 POINTS
5 points
PART II
69 points - 3 points each.
For each statement, select the most appropriate answer.
PART III
10 points - 1 point each.
For each statement, answer True (T) or False (F).