19.11.2014 Views

Midterm review questions

Midterm review questions

Midterm review questions

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Midterm</strong> <strong>review</strong> <strong>questions</strong><br />

EEE466 fall 2012<br />

The following <strong>questions</strong> will help you <strong>review</strong> for the midterm examination. I'm not promising that<br />

any of these exact <strong>questions</strong> will actually be on the midterm, but I do promise that if you understand<br />

the core concepts underlying these <strong>questions</strong> and their answers, you will be well prepared<br />

to write the examination.<br />

Short answer <strong>questions</strong><br />

• Define network delay (latency, lag), jitter, and bandwidth. Give sample units for each measure.<br />

• Node A sends a message of length x to node B across a network with effective bandwidth<br />

w. What is the elapsed time from the first bit of the message leaving A to the last bit of the<br />

message arriving at B?<br />

• What are the differences between a synchronous distributed system and an asynchronous<br />

distributed system? Which of these is more common in real systems and why?<br />

• Is it possible to construct a reliable distributed system on top of an unreliable network channel?<br />

If no, why not? If yes, what kinds of techniques can be used to accomplish this?<br />

Chapter 2 <strong>questions</strong>: 2.2, 2.6, 2.11, 2.13, 2.14, 2.15, 2.17<br />

Chapter 3 <strong>questions</strong>: 3.5, 3.7, 3.8<br />

Chapter 4 <strong>questions</strong>: 4.2, 4.7, 4.10, 4.11, 4.18<br />

Chapter 5 <strong>questions</strong>: 5.5, 5.6, 5.7, 5.8, 5.10, 5.15, 5.22<br />

Design question<br />

You are designing a client-server system that uses a request-reply protocol. The server is responsible<br />

for storing an ordered list of strings. The stored strings may include any character except a<br />

line feed.<br />

Operations<br />

• The client can ask the server to add a string to the end of the list. The server's response<br />

must indicate success or failure of the operation.<br />

• The client can request a string at a given list index. The server must return the string or signal<br />

an error (e.g., if the list index is out of bounds).<br />

• The client can request the complete list of strings. The server must return all strings in the<br />

list, in order.<br />

Socket-based implementation<br />

Define a protocol specification that will allow the operations described above. See lab 3 for an<br />

example protocol specification.<br />

Provide a pseudo-code implementation of the server side of this system, assuming the implementation<br />

would be in Java.<br />

Provide a pseudo-code implementation of the client side of this system, assuming the implementation<br />

would be in Java.<br />

1 of 2


Challenge. Provide a protocol specification for a similar system in which the stored strings may<br />

include any characters at all. (Hint, look at the ways this problem is addressed in the HTTP protocol<br />

and in email message formats.)<br />

Java RMI-based implementation<br />

Define an appropriate Java remote interface for the operations described above.<br />

Define a Java class that appropriately implements your remote interface.<br />

Describe the steps required to instantiate the server.<br />

Describes the steps required to instantiate the client.<br />

From http://last3.in © Greg Phillips. Unlimited use is permitted within the Government of Canada. All other use<br />

is governed by the Creative Commons by-nc 3.0 license; see http://last3.in/colophon.html for details.<br />

2 of 2

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!