Introduction to Distributed Systems
• Introduction
• Examples of distributed systems
• Trends in distributed systems
• Case study : The World Wide Web (WWW)
1.1 What is a Distributed System? A distributed system is a collection of
independent computers that appears to its users as a single coherent system.
Tightly coupled systems Same clock, usually shared memory.
Multiprocessors. Communication is via this shared memory.
Advantage. Easier to program.
Loosely coupled systems Different clock, use communication links. The
processors do not share memory and each processor has its own local memory.
Eg. Distributed computing systems.
Advantages
- More scalable.
- Generally more reliable/fault-tolerant.
- Allows sharing of widely separated resources.
A distributed system is a collection of loosely coupled processors
interconnected by a communication network A distributed system is one in which
components located at networked computers communicate and coordinate their
actions only by passing messages.
This definition leads to the following characteristics of distributed systems:
• concurrency of components
• lack of a global clock
• independent failures of components. Distributed systems also :
• Requires autonomous computers to be interconnected through a network.
• Each computer has to be equipped with distributed operating system software,
which enables he computers to coordinate activities and to share resources in a
controlled way
• We also require transparency of distribution for the computer users.
They shall not have to be aware of the fact that the system is distributed The prime
motivation for constructing and using distributed systems stems from a desire to
share resources.
The term ‘resource’ is a rather abstract one, but it best characterizes the
range of things that can usefully be shared in a networked computer system.
It extends from hardware components such as disks and printers to software-
defined entities such as files, databases and data objects of all kinds. It includes
the stream of video frames that emerges from a digital video camera and the audio
connection that a mobile phone call represents.
1.2.1 Web search Web search has emerged as a major growth industry in the last
decade. The task of a web search engine is to index the entire contents of the World
Wide Web, encompassing a wide range of information styles including web pages,
multimedia sources and (scanned) books. Google, the market leader in web
search technology, has put significant effort into the design of a sophisticated
distributed system infrastructure to support search (and indeed other Google
applications and services such as Google Earth). The Google infrastructure include: ▪
an underlying physical infrastructure consisting of very large numbers of networked
computers located at data centres all around the world; ▪ a distributed file system
designed to support very large files and heavily optimized for the style of usage required
by search and other Google applications (especially reading from files at high and
sustained rates); ▪ an associated structured distributed storage system that offers fast access to
very large datasets; ▪ a lock service that offers distributed system functions such as distributed
locking and agreement; ▪ a programming model that supports the management of very large
parallel and distributed computations across the underlying physical infrastructure.
1.2.2 Massively multiplayer online games (MMOGs) Massively multiplayer online games
offer an immersive experience whereby very large numbers of users interact through the
Internet with a persistent virtual world. Leading examples of such games include Sony’s
EverQuest II and EVE Online from the Finnish company CCP Games.
1.2.3 Financial trading As a final example, we look at distributed systems support for
financial trading markets. The financial industry has long been at the cutting edge of
distributed systems technology with its need, in particular, for real-time access to a wide
range of information sources (for example, current share prices and trends, economic
and political developments). The industry employs automated monitoring and trading
applications.
1.3 Trends in distributed systems Distributed systems are undergoing a period of significant
change and this can be traced back to a number of influential trends: ▪ the emergence of
pervasive networking technology; the emergence of ubiquitous computing coupled with the
desire to support user mobility in distributed systems; ▪ the increasing demand for multimedia
services; ▪ the view of distributed systems as a utility.
1.3.1 Pervasive networking and the modern Internet The modern Internet is a vast
interconnected collection of computer networks of many different types, with the range of
types increasing all the time and now including, for example, a wide range of wireless
communication technologies such as WiFi, WiMAX, Bluetooth (see Chapter 3) and third-
generation mobile phone networks. The net result is that networking has become a
pervasive resource and devices can be connected (if desired) at any time and in any place.
Figure 1.3 illustrates a typical portion of the Internet. Programs running on the
computers connected to it interact by passing messages, employing a common means of
communication. The design and construction of the Internet communication mechanisms (the
Internet protocols) is a major technical achievement, enabling a program running anywhere to
address messages to programs anywhere else and abstracting over the myriad of technologies
mentioned above. The Internet is also a very large distributed system. It enables users,
wherever they are, to make use of services such as the World Wide Web, email and file
transfer. (Indeed, the Web is sometimes incorrectly equated with the Internet.) The set of
services is open-ended – it can be extended by the addition of server computers and new
types of service. The figure shows a collection of intranets – subnetworks operated by
companies and other organizations and typically protected by firewalls. The role of a
firewall is to protect an intranet by preventing
A firewall is implemented by filtering incoming and outgoing messages. Filtering might be done
by source or destination, or a firewall might allow only those messages related to email and web
access to pass into or out of the intranet that it protects. Internet Service Providers
(ISPs) are companies that provide broadband links and other types of connection to
individual users and small organizations, enabling them to access services anywhere in
the Internet as well as providing local services such as email and web hosting. The
intranets are linked together by backbones. A backbone is a network link with a high
transmission capacity, employing satellite connections, fibre optic cables and other high-
bandwidth circuits.
1.3.2 Mobile and ubiquitous computing Technological advances in device miniaturization
and wireless networking have led increasingly to the integration of small and portable
computing devices into distributed systems.
These devices include:
▪ Laptop computers.
▪ Handheld devices, including mobile phones, smart phones, GPS-enabled devices, pagers,
personal digital assistants (PDAs), video cameras and digital cameras. ▪ Wearable devices,
such as smart watches with functionality similar to a PDA.
▪ Devices embedded in appliances such as washing machines, hi-fi systems, cars and
refrigerators. The portability of many of these devices, together with their ability to connect
conveniently to networks in different places, makes mobile computing possible.
Mobile computing is the performance of computing tasks while the user is on the move, or
visiting places other than their usual environment. In mobile computing, users who are
away from their ‘home’ intranet (the intranet at work, or their residence) are still provided
with access to resources via the devices they carry with them.
They can continue to access the Internet; they can continue to access resources in their
home intranet; and there is increasing provision for users to utilize resources such as printers
or even sales points that are conveniently nearby as they move around. The latter is also known
as location-aware or context-aware computing.
Mobility introduces a number of challenges for distributed systems, including the need to deal
with variable connectivity and indeed disconnection, and the need to maintain operation in the
face of device mobility.
Ubiquitous computing is the harnessing of many small, cheap computational devices that are
present in users’ physical environments, including the home, office and even natural
settings. The term ‘ubiquitous’ is intended to suggest that small computing devices will
eventually become so pervasive in everyday objects that they are scarcely noticed. That
is, their computational behaviour will be transparently and intimately tied up with their physical
function. Ubiquitous and mobile computing overlap, since the mobile user can in principle
benefit from computers that are everywhere.
Figure 1.4 shows a user who is visiting a host organization. The figure shows the user’s home
intranet and the host intranet at the site that the user is visiting. Both intranets are
connected to the rest of the Internet. The user has access to three forms of wireless
connection. Their laptop has a means of connecting to the host’s wireless LAN. This
network provides coverage of a few hundred metres a floor of a building, say). It connects
to the rest of the host intranet via a gateway or access point. The user also has a mobile
(cellular) telephone, which is connected to the Internet. The phone gives access to the
Web and other Internet services, constrained only by what can be presented on its
small display, and may also provide location information via built-in GPS functionality.
Finally, the user carries a digital camera, which can communicate over a personal area wireless
network (with range up to about 10m) with a device such as a printer
Distributed multimedia systems
Another important trend is the requirement to support multimedia services in distributed
systems. Multimedia support can usefully be defined as the ability to support a range of media
types in an integrated manner. One can expect a distributed system to support the storage,
transmission and presentation of what are often referred to as discrete media types, such
as pictures or text messages.
A distributed multimedia system should be able to perform the same functions for
continuous media types such as audio and video; that is, it should be able to store
and locate audio or video files, to transmit them across the network (possibly in real
time as the streams emerge from a video camera), to support the presentation of the
media types to the user and optionally also to share the media types across a group of
users. Webcasting is an application of distributed multimedia technology. Webcasting is the
ability to broadcast continuous media, typically audio or video, over the Internet.
1.3.4 Distributed computing as a utility With the increasing maturity of distributed
systems infrastructure, a number of companies are promoting the view of distributed
resources as a commodity or utility, drawing the analogy between distributed resources
and other utilities such as water or electricity.
With this model, resources are provided by appropriate service suppliers and effectively
rented rather than owned by the end user. This model applies to both physical resources and
more logical services: