Module 1 - QN Bank
Module 1 - QN Bank
MODULE – 1
Question Bank
Part – A
1. Define the term Distributed System.
A distributed system is a collection of independent computers that appears to its users as a single
coherent system. A distributed system is one in which components located at networked
communicate and coordinate their actions only by passing message.
7. Analyze goals, concepts and issues of any one real time example of distributed
system
The key goals of a distributed system include transparency and openness. Transparency:
Achieving the image of a single system image without concealing the details of the location,
access, migration, concurrency, failure, relocation, persistence and resources to the users.
Openness: Making the network easier to configure and modify. Eg. Web search, Finance and
commerce, Healthcare
11. Distributed system appears as a single coherent system to the users. In this context,
interpret the concepts of buffering, caching and replication.
Buffering is a technique for storing data transmitted from a sending process to a receiving
process in local memory or secondary (disk) storage until the receiving process is ready to
consume it. The buffer is released when the data has been consumed by the process.
Replication increases availability and helps to balance the load between components leading to
better performance.
Caching is a special form of replication which makes a copy of the resource, generally in the
proximity of the client accessing that resource
12. Identify the different forms of transparency in a distributed system.
Access, location, migration, relocation, replication, concurrency and failure transparency are the
different forms of transparency in a distributed system.
14. Write CORBA’s common data representation (CDR) for person structure with
name, birth_place and birth_year
Representation of Person structure with value: {‘Smith’, ‘London’, 1934}
15. Illustrate the use of namespace in XML definition of the Person structure.
<person pers:id="1234" xmlns:pers = "http://www.cdk5.net/person">
<pers:name> Smith </pers:name>
<pers:place> London </pers:place >
<pers:year> 1984 </pers:year>
</person>
Client server
Peer to peer
22. Indicate the purpose of three models in fundamental model of distributed system
The three models are interaction, failure and security model. The interaction model deals with
performance and with difficulty of setting time limits. The failure model attempts to give a
precise specification of the faults that can be exhibited by processes and communication
channels. The security model discusses the possible threats to processes and communication
channels. It introduces the concept of a secure channel, which is secure against those threats.
23. A user arrives at a railway station for the first time, carrying a PDA that is capable
of wireless networking. Suggest how the user could be provided with information about the
local services and amenities at that station without entering the stations name or attributes.
The user must be able to acquire the address of locally relevant information as automatically as
possible. One method is for the local wireless network to provide the URL of web pages about
the locality over a local wireless network. For this to work: (1) the user must run a program on
her device that listens for these URLs, and which gives the user sufficient control that she is not
swamped by unwanted URLs of the places she passes through; and (2) the means of propagating
the URL (e.g. infrared or an 802.11 wireless LAN) should have a reach that corresponds to the
physical spread of the place itself.
26. Examine the classes of failures that affect the process or channel.
27. Review the purpose of middleware and mention some services and examples of
Middleware.
Middleware is a layer of software whose purpose is to mask heterogeneity and to provide a
convenient programming model to application programmers. Middleware is represented by
processes or objects in a set of computers that interact with each other to implement
communication and resource sharing support for distributed applications.
Eg. Common Object Request Broker (CORBA) and Java Remote Method Invocation (RMI).
Middleware services are Naming, Security, Transactions, Persistent storage, and Event
notification.
28. Consider a simple server that carries out client requests without accessing other
servers. Outline why it is generally not possible to set a limit on the time taken by such a
server to respond to a client request
The rate of arrival of client requests is unpredictable. If the server uses threads to execute the
requests concurrently, it may not be able to allocate sufficient time to a particular request within
any given time limit. If the server queues the request and carries them out one at a time, they
may wait in the queue for an unlimited amount of time. To execute requests within bounded
time, limit the number of clients to suit its capacity. To deal with more clients, use a server with
more processors. After that, (or instead) replicate the service. The solution may be costly and in
some cases keeping the replicas consistent may take up useful processing cycles, reducing those
available for executing requests.
32. Client server interactions are built over TCP or UDP protocols, write the three main
communication primitives of the request-reply protocol for client server interaction.
public byte[] doOperation (RemoteObjectRef o, int methodId, byte[] arguments)
public byte[] getRequest ();
public void sendReply (byte[] reply, InetAddress clientHost, int clientPort);
33. A search engine is a web server that responds to client requests to search in its
stored indexes and runs concurrently in several web crawler tasks to build and update the
indexes. Illustrate the requirements for synchronization between these concurrent
activities.
Search engines are the primary gateways of information access on the Web. A search engine
operates in the following order
Web Crawling
Indexing
Searching
Web search engines work by storing information about many web pages. These pages are
retrieved by a Web Crawler. The crawler tasks could build partial indexes to new pages
incrementally, and then merge them with the active index (including deleting invalid
references). This merging operation could be done on an off-line copy. Finally, the
environment for processing client requests is changed to access the new index. The latter
might need some concurrency control, but in principle it is just a change to one reference to
the index which should be atomic.
34. Consider a simple server that carries out client requests without accessing other
servers. Outline why it is generally not possible to set a limit on the time taken by
such a server to respond to a client request.
The rate of arrival of client requests is unpredictable. If the server uses threads to execute the
requests concurrently, it may not be able to allocate sufficient time to a particular request within
any given time limit. If the server queues the request and carries them out one at a time, they
may wait in the queue for an unlimited amount of time. To execute requests within bounded
time, limit the number of clients to suit its capacity. To deal with more clients, use a server with
more processors. After that, (or instead) replicate the service. The solution may be costly and in
some cases keeping the replicas consistent may take up useful processing cycles, reducing those
available for executing requests.
35. Compare the various message buffering strategies.
Buffering implies queuing of sending or receiving messages during transmission to and from
one process to another.
Null Buffer or No Buffer:
In the no buffer strategy, no temporary storage is used for keeping the messages.
Single-Message Buffer:
In a single-message buffer mechanism, a buffer is maintained to store only a single message at
the receiver end. The message will be buffered only in that case if the receiver is not ready to
receive the message.
Unbounded Capacity Buffer:
In this strategy, the sender need not wait for sending messages if, on the receiving side, the
receiver is not ready to receive the messages. Unbounded Capacity refers that will keep all the
messages received from the sender and assure that these will be delivered to the receiver. It is
used in an asynchronous mode of communication.
Multiple-message Buffer
The allocation of buffer space is dependent on implementation. On the receiving side, the
receiver holds messages in the mailbox which is located either in the kernel’s address space or
at the receiving side in the receiver’s process address space.
Part- B
1. Use the World Wide Web as an example to illustrate the concept of resource sharing.
Interpret the advantages and disadvantages of HTML, URLs and HTTP as core
technologies for information browsing. Employ any of these suitable technologies as a
basis for client-server computing in general.
2. Relate synchronous communication and asynchronous communication in Inter Process
Communication (IPC) with neat diagram and discuss about IPC message structure and
IPC protocols.
3. Examine any one application of distributed systems and elaborate the architectural model,
fundamental model and the model of processor failures with suitable diagrams.
4. Discuss about the Client-Server and group communication with necessary diagrams.
5. Demonstrate CORBA’s common data representation (CDR) and Java’s object
serialization for external data representation and marshalling with an example.
6. Write short notes on XML, use of namespace and XML schema with an example.
7. Whenever data is shared by two or more machine types, there is a need for portable data.
Suggest a way to make programs data-portable and indicate the external data
representation
8. A search engine is a web server that responds to client requests to search in its stored
indexes and runs concurrently in several web crawler tasks to build and update the
indexes. Illustrate the requirements for synchronization between these concurrent
activities.
The crawler tasks could build partial indexes to new pages incrementally, then merge
them with the active index (including deleting invalid references). This merging
operation could be done on an off-line copy. Finally, the environment for processing
client requests is changed to access the new index. The latter might need some
concurrency control, but in principle it is just a change to one reference to the index
which should be atomic.
9. Devise a scenario in which multicasts sent by different clients are delivered to two group
members in different orders. Assume that some form of message retransmission is in use,
but that messages that are not dropped arrive in sender order. Compare the various
message formats, message passing and message buffering strategies used in
communication.
10. Illustrate remote procedure call and remote method invocation with necessary diagrams