Distributed 2 Marks
Distributed 2 Marks
UNIT 1 INTRODUCTION
PART A
1. What is a distributed system?
A distributed system is one in which components located at networked computers
communicate and coordinate their actions only by passing messages. The components interact
with each other in order to achieve a common goal.
2. Mention few examples of distributed systems.
Some examples of distributed systems are web search, Massively multiplayer online
games(MMOGs), Financial trading markets, SOA based systems etc.
3. Mention the trends in distributed systems.
Following are the trends in distributed systems:
Emergence of pervasive networking technology
Emergence of ubiquitous computing coupled with desire to support user mobility in
distributed systems
Increasing demand for multimedia services
The view of distributed systems as a utility.
4. What are backbones in intranets?
The intranets are linked together by backbones. A backbone is a network link with a high
transmission capacity, employing satellite connections, fiber optic cables and other high-
bandwidth circuits.
5. Write short notes about webcasting.
Webcasting is an application of distributed multimedia technology. Webcasting is the
ability to broadcast continuous media, typically audio or video, over the Internet. It is now
commonplace for major sporting or music events to be broadcast in this way often attracting
large numbers of viewers.
6. Define cloud computing.
A cloud is defined as a set of Internet-based application, storage and computing services
sufficient to support most users’ needs, thus enabling them to largely or totally dispense with
local data storage and application software. The term cloud computing refers to the practice of
using a network of remote servers hosted on the Internet to store, manage, and process data,
rather than a local server or a personal computer.
7. What is a cluster computer? Mention its goals.
A cluster computer is a set of interconnected computers that cooperate closely to provide
a single, integrated high performance computing capability. It consists of a set of loosely or
tightly connected computers. Computer clusters have each node set to perform the same task,
controlled and scheduled by software.
8. Write short notes on mobile and ubiquitous computing.
Mobile Computing is a technology that allows transmission of data, voice and video via a
computer or any other wireless enabled device without having to be connected to a fixed
physical link. It involves mobile communication, mobile hardware, and mobile software.
Ubiquitous computing (ubicomp) is a concept in software engineering and computer
science where computing is made to appear anytime and everywhere. In contrast to desktop
computing, ubiquitous computing can occur using any device, in any location, and in any
format. This paradigm is also described as pervasive computing.
9. What does the term remote invocation mean?
Remote invocation mechanism facilitates to create a distributed application. It
provides a remote communication using two objects stub and skeleton. In this client-server
approach remote object plays main role and it is an object whose method can be invoked from
another JVM. In the client side, stub acts as a gateway. In the server side, skeleton acts as the
gateway.
10. What is the role of middleware?
The term middleware applies to a software layer that provides a programming abstraction
as well as masking the heterogeneity of the underlying networks, hardware, operating systems
and programming languages. In addition to solving the problems of heterogeneity,
middleware provides a uniform computational model for use by the programmers of servers
and distributed applications.
11. What are the challenges of distributed systems?
The main challenges of distributed system are:
Heterogeneity
Openness
Security
Scalability
Failure handling
Concurrency
Transparency
Quality of service
12. What is mobile code? Give an example.
The term mobile code is used to refer to program code that can be transferred from one
computer to another and run at the destination. Example is Java applet. The need for mobile
code is that the code suitable for running on one computer is not necessarily suitable for
running on another because executable programs are normally specific both to the instruction
set and to the host operating system.
13. What determines the openness of distributed systems?
The openness of a computer system is the characteristic that determines whether the
system can be extended and reimplemented in various ways. The openness of distributed
systems is determined primarily by the degree to which new resource-sharing services can be
added and be made available for use by a variety of client programs.
14. Mention the characteristics of open distributed systems.
Open systems are characterized by the fact that their key interfaces are published.
Open distributed systems are based on the provision of a uniform communication
mechanism and published interfaces for access to shared resources.
Open distributed systems can be constructed from heterogeneous hardware and
software, possibly from different vendors. But the conformance of each component
to the published standard must be carefully tested and verified if the system is to work
correctly.
15. What are the 2 security challenges that are not fully met by distributed systems?
Denial of service attacks: One of the security problems is that a user may wish to
disrupt a service for some reason. This can be achieved by bombarding the service
with such a large number of pointless requests that the serious users are unable to use
it. This is called a denial serviceof attack. There have been several denial of service
attacks on well-known web services.
Security of mobile code: Mobile code needs to be handled with care. Consider
someone who receives an executable program as an electronic mail attachment. The
possible effects of running the program are unpredictable.
16. When a system can be described as scalable in nature?
A system is described as scalable if it will remain effective when there is a significant
increase in the number of resources and the number of users. Distributed systems operate
effectively and efficiently at many different scales, ranging from a small intranet to the
Internet.
17. What are the challenges faced by a scalable distributed system?
Controlling the cost of physical resources: As the demand for a resource grows, it
should be possible to extend the system, at reasonable cost, to meet it.
Controlling the performance loss: Consider the management of a set of data whose
size is proportional to the number of users or resources in the system.
Preventing software resources running out: An example of lack of scalability is
shown by the numbers used as Internet (IP) addresses
Avoiding performance bottlenecks: In general, algorithms should be decentralized
to avoid having performance bottlenecks.
18. What are the techniques used for dealing failures in a distributed system.
Detecting failures: Some failures can be detected. For example, checksums can be
used to detect corrupted data in a message or a file.
Masking failures: Some failures that have been detected can be hidden or made less
severe.
Tolerating failures: Most of the services in the Internet do exhibit failures – it would
not be practical for them to attempt to detect and hide all of the failures that might
occur in such a large network with so many components.
Recovery from failures: Recovery involves the design of software so that the state of
permanent data can be recovered or ‘rolled back’ after a server has crashed.
Redundancy: Services can be made to tolerate failures by the use of redundant
components.
19. How the availability of a system can be measured?
The availabilityof a system is a measure of the proportion of time that it is available for
use. When one of the components in a distributed system fails, only the work that was using
the failed component is affected. A user may move to another computer if the one that they
were using fails; a server process can be started on another computer.
20. Define Transparency. What are its types?
Transparency is defined as the concealment from the user and the application programmer
of the separation of components in a distributed system, so that the system is perceived as a
whole rather than as a collection of independent components.
Its types are:
Access transparency
Location transparency
Concurrency transparency
Replication transparency
Failure transparency
Mobility transparency
Performance transparency
Scaling transparency
21. What are the non-functional properties of a system that affects its quality of service?
The main nonfunctional properties of systems that affect the quality of the service
experienced by clients and users are reliability, security and performance. Adaptability to
meet changing system configurations and resource availability has been recognized as a
further important aspect of service quality.
22. What are the main technological components of a web?
Then main technological components of a web are:
HyperText Markup Language (HTML), a language for specifying the contents
and layout of pages as they are displayed by web browsers
Uniform Resource Locators (URLs) also known as Uniform Resource Identifiers
(URIs), which identify documents and other resources stored as part of the Web
Hypertext Transfer Protocol (HTTP) is client-server system architecture, with
standard rules for interaction by which browsers and other clients fetch documents
another resource from web servers.
23. What is HTML and HTTP?
HTML:HTML stands for HyperText Markup Language. It is a well-known mark up language
used to develop web pages. It has been around for a long time and is commonly used in
webpage design. HTML is written using HTML elements, which consist of tags,
primarily and opening tag and a closing tag.
HTTP: HTTP, on the other hand, stands for Hypertext Transfer Protocol. It is a means of data
communication for the World Wide Web. It is an application protocol for distributed,
collaborative, hypermedia information systems. HTTP is the protocol to exchange or transfer
hypertext.
19. State the differences between the deterministic and probabilistic load balancing
alogrithms.
Deterministic load balancing Probabilistic load balancing algorithms
algorithms
These algorithms use the information These algorithms use the information about
about the properties of the nodes and the static attributes of the system such as
the characteristics of the processes to number of nodes, network topology etc.
be scheduled.
This approach provides optimized It often suffers from having poor
performance. performance.
It costs more to implement. It is easier to implement.