CS600 Distributed Systems Quiz #1 (Sept. 25, 2002)

Name: Student #: Mark: / 35

  1. Explain what is meant by (distribution) transparency, and give examplesof different types of transparency. [4 marks]

ANSWER: Distribution transparency is the phenomenon by which distribution aspectsin a system are hidden from users and applications. Examples include accesstransparency, location transparency, migration transparency, relocation transparency,replication transparency, concurrency transparency, failure transparency,and persistence transparency.

  1. Describe precisely what is meant by a scalable system.Scalability can be achieved by applying different techniques. What arethese techniques? [4 marks]

ANSWER: [2 marks each]

A system is scalable with respect to either its number of components, geographicalsize, or number and size of administrative domains, if it can grow inone or more of these dimensions without an unacceptable loss of performance.

Scaling can be achieved through distribution, replication, and caching.

  1. Describe the differences between Internet stream sockets and datagram sockets [4 marks]

ANSWER: [1 mark for each difference]

Stream Sockets:

connection-oriented: communication takes place after a connection between two sockets is made

reliable

error-free

no message boundaries

Datagram Sockets:

no connections, each message is addressed individually.

delivery not guaranteed

error checking not provided

message boundaries exist

  1. Given a syntactically-correct IDL definition, RPC compiler generates three files. List and describe these files in general terms. [6 marks]

ANSWER: [3 marks for listing and 1 mark each for description]

A stub is a communication interface that implements the RPC protocol and specifies how messages are constructed and exchanged. It is responsible for packing and unpacking of arguments and results.

client stub: packs the arguments with the procedure name or ID into a message. It sends the message to the server and then awaits a reply message. It unpacks the results and returns them to the client.

header file: A header file is generated by the protocol definition compiler and it is included by client and server applications and stubs.

server stub: receives a request message. It unpacks the arguments and calls the appropriate server procedure. When it returns, packs the result and sends a reply message back to the client.

  1. Describe how one can debug RPC-based client-server applications. [2 marks]

ANSWER: Basically, you can do it by making a local single-processed application.

  1. List the five basic distributed services in OSF DCE. [5 marks]

ANSWER: [1 mark for each service]

RPC

directory service

security service

time service

distributed file service (or threads)

  1. What is a DCE cell and what does it include? [2 marks]

ANSWER:

a cell is the basic unit of operation and administration

a cell is a group of users, hosts, and resources that share common DCE services

  1. What is the role of middleware in a distributed system? [4 marks]

ANSWER: To enhance the distribution transparency that is missing in network operatingsystems. In other words, middleware aims at improving the single-systemview that a distributed system should have.

  1. What is a three-tiered client-server architecture? [4 marks]

ANSWER: A three-tiered client-server architecture consists of three logical layers,where each layer is, in principle, implemented at a separate machine. Thehighest layer consists of a client user interface, the middle layer contains theactual application, and the lowest layer implements the data that are beingused.