0% found this document useful (0 votes)
67 views9 pages

Module 1 - QN Bank

This document contains a question bank with questions and answers about distributed systems. It begins by defining a distributed system as a collection of independent computers that appear as a single coherent system to users. It notes several needs for distributed systems, including functional distribution, load balancing, replication of processing power, and economics. It discusses reliability in terms of validity and integrity of message delivery. It lists advantages and disadvantages of distributed systems and provides examples like web search, finance/commerce, healthcare, and Google. It analyzes security challenges in finance/commerce and healthcare distributed systems. It discusses goals, concepts and issues of distributed systems using web search as an example. Finally, it provides explanations of several distributed systems concepts and protocols.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
67 views9 pages

Module 1 - QN Bank

This document contains a question bank with questions and answers about distributed systems. It begins by defining a distributed system as a collection of independent computers that appear as a single coherent system to users. It notes several needs for distributed systems, including functional distribution, load balancing, replication of processing power, and economics. It discusses reliability in terms of validity and integrity of message delivery. It lists advantages and disadvantages of distributed systems and provides examples like web search, finance/commerce, healthcare, and Google. It analyzes security challenges in finance/commerce and healthcare distributed systems. It discusses goals, concepts and issues of distributed systems using web search as an example. Finally, it provides explanations of several distributed systems concepts and protocols.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 9

DEPARTMENT OF INFORMATION TECHNOLOGY

20IT902 – DISTRIBUTED SYSTEMS

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.

2. Identify the need for distributed system.


Functional distribution: Computers have different functional capabilities (i.e., sharing of
resources with specific functionalities).
Load distribution/balancing: Assign tasks to processors such that the overall system
performance is optimized.
Replication of processing power: Independent processors working on the same task.
Distributed system consisting of collections of microcomputers may have processing powers that
no supercomputer will ever achieve.
Physical separation: Systems that rely on the fact that computers are physically separated (e.g.,
to satisfy reliability requirements).
Economics: Collections of microprocessors offer a better price/performance ratio than large
mainframes.mainframes:10 times faster, 1000 times as expensive.

3. Define reliability in terms of validity and integrity.


Validity property in a point-to-point message service can be described as reliable if messages are
guaranteed to be delivered despite a ‘reasonable’ number of packets being dropped or lost. For
integrity, the messages must arrive uncorrupted and without duplication.

4. List the advantages and disadvantages of Distributed Systems.


The advantages of distributed systems are Performance, Distribution, Reliability (fault
tolerance), Incremental growth, Sharing of data/resources and Communication. The
disadvantages of distributed systems are Difficulties of developing distributed software,
Networking problems and Security problems.

5. Point out some real time examples of distributed system.


The examples of distributed system are Web search, Finance and commerce, Information
society, Creative industries and entertainment, Healthcare, Education, Transport and logistics,
Science, Environmental management, Google, Financial trading, mobile and ubiquitous
computing.
6. Analyze any two real time examples of distributed systems and infer the security
challenges in distributed systems.
Finance and commerce sector is an example for distributed systems. Companies like Amazon
and eBay use payments technologies such as PayPal, Visa, Maestro and Rupay. The main
security challenges are Distributed Denial of Service (DDoS) Attacks, Credit card fraud,
Malware, Bad bots and E-skimming. Health informatics and remote diagnosis support health
care systems. The security risks are Phishing, Ransomware, Identity theft, Malware, Data
breaches and loss of patient data.

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

8. Consider a distributed system which allows new resource-sharing services to be


added and accessed by a variety of client programs. Identify the challenges to be
considered while designing distributed systems to handle this.
The main challenges to be considered while designing distributed systems are Heterogeneity,
Openness, Security, Scalability, Failure handling, Concurrency, Transparency and Quality of
service

9. Interpret the term interoperability with respect to openness property of distributed


system.
The openness of the distributed system is determined by the degree to which new resource-
sharing services can be made available to the users. Interoperability is the ability for one or more
systems to connect, understand and exchange data with one another for a given purpose.

10. List the issues related to networking for distributed systems.


Performance, Scalability, Reliability, Security, Mobility, Quality of service and Multicasting are
the issues related to networking for distributed systems.

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.

13. Identify the purpose of access and migration transparency.


Access transparency requires that objects are accessed with the same operations regardless of
whether they are local or remote. Migration transparency ensures that a resource can move to a
different location within the system and still be accessible in the same manner by a user

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>

16. Define thin clients.


Thin clients refers to software layer that supports a window based user interface on a computer
that is local to the user while executing application programs on a remote computer. It has the
low management and hardware costs, but it runs the application code of user’s computer in the
computer server, which is the powerful computer that has the capacity to run large numbers of
applications simultaneously. It can be multiprocessor or cluster computer running a
multiprocessor version of OS such as UNIX or Windows NT.
17. Sketch the architectural models of client server and peer to peer.

Client server

Peer to peer

18. Discuss about architectural model and fundamental model.


An architectural model defines the way in which the components of system interact with one
another and the way in which they are mapped onto an underlying network of computers.
Fundamental models that help to reveal key problems for the designers of distributed systems.
Their purpose is to specify the design issues, difficulties and threats that must be resolved in
order to develop distribute systems that fulfill their tasks correctly, reliably and securely. The
fundamental mode provides abstract views of just those characteristics of distributed systems that
affect the dependability characteristics - correctness, reliability and security.
19. Diagrammatically represent the different Inter Process Communication failure
handling mechanism.
Inter Process Communication failure handling mechanism.

20. Define marshalling and unmarshalling.


Marshalling is the process of taking a collection of data items and assembling them into a form
suitable for transmission in a message. Unmarshalling is the process of disassembling them on
arrival to produce an equivalent collection of data items at the destination.

21. What is QoS in distributed systems?


It is not sufficient to provide access to services in distributed systems. In particular, it is also
important to provide guarantees regarding the qualities associated with such service access.
Examples of such qualities include parameters related to performance, security and reliability.

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.

24. Explain any two network protocols related to distributed systems.


• Resource Reservation Protocol (RSVP) – enables applications to negotiate the
preallocation of bandwidth for real-time data streams
• Real Time Transport Protocol (RTP) - application-level data transfer protocol that
includes details of the play time and other timing requirements in each packet

25. Comment on routing algorithm.


A routing algorithm has two parts:
 It must make decisions that determine the route taken by each packet as it travels
through the network.
 It must dynamically update its knowledge of the network based on traffic
monitoring and the detection of configuration changes or failures

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.

29. Illustrate group communication.


Group communication is a multicast operation is more appropriate- this is an operation that sends
a single message from one process to each of the members of a group of process, usually in such
a way that the membership of the group is transparent to the sender.

30. Examine the use of multicast.


Locating an object: A process multicasts a message containing a name of a resource to a group
of server processes. Only the process that holds the resource responds to the message.
Fault tolerance: A process multicasts its request to a group of identical server processes. The
group of servers can continue to provide their service even if one of its members fails.
Multiple update: Used for example in video conferencing with multiple participants.

31. Compare synchronous communication and asynchronous communication.


In the synchronous form of communication, the sending and receiving processes synchronize at
every message. In this case, both send and receive are blocking operations. Whenever a send is
issued the sending process (or thread) is blocked until the corresponding receive is issued.
Whenever receive is issued by a process (or thread), it blocks until a message arrives.
In the asynchronous form of communication, the use of the send operation is non-blocking in
that the sending process is allowed to proceed as soon as the message has been copied to a local
buffer, and the transmission of the message proceeds in parallel with the sending process. The
receive operation can have blocking and non-blocking variants.

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

You might also like