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 isalso 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
unauthorized messages from leaving or entering.
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.
The implementation of the Internet
and the services that it supports has entailed the development of practical solutions to many distributed system issues (including
most of those defined in Section 1.5). We shall highlight
those solutions
throughout the book, pointing out their scope and
their limitations where
appropriate.
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 (see the discussion
on mobility transparency
in Section 1.5.7).
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.
The presence of computers everywhere only becomes useful when they can
communicate with one another. For example, it may be convenient for users to control their washing machine or their entertainment system from their phone or a ‘universal
remote control’ device in the home. Equally, the washing machine could notify
the user via
a smart badge or phone
when the washing is done.
Ubiquitous
and mobile computing overlap, since
the mobile user can in principle benefit from computers that are everywhere. But they are distinct, in general. Ubiquitous
computing could benefit users while they remain in a single environment such as the home or a hospital. Similarly, mobile computing has advantages even if it involves only
conventional, discrete computers
and devices such as laptops and
printers.
A
fewhundred 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.
1.3.3 Distributed multimedia systems
The crucial characteristic of continuous media types is that they include a temporal dimension, and indeed,
the integrity of the media type is fundamentally
dependent on preserving real-time relationships between
elements of a media type. For example, in a video presentation it is necessary to preserve
a given throughput in terms
of frames per second and, for
real-time streams, a given maximum
delay or latency for the delivery of frames (this is one example of quality of service, discussed in more detail
in Section 1.5.8).
The benefits
of distributed multimedia
computing are considerable in that a wide range of new (multimedia) services and applications can be provided on the desktop,
including access to live or pre-recorded television broadcasts,
access to film libraries offering video-on-demand services, access to music libraries, the provision of audio and video conferencing facilities and integrated telephony features including IP telephony
or related technologies such as Skype, a peer-to-peer alternative to IP telephony (the
distributed system infrastructure underpinning Skype is discussed in Section 4.5.2). Note that this technology
is revolutionary in challenging manufacturers to rethink many consumer devices. For example, what is the core home entertainment device of the future – the computer,
the television, or the games console?
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 (for example, the Live8 concert in 2005 attracted around 170,000 simultaneous users
at its peak).
Distributed multimedia applications such as webcasting place
considerable demands on the
underlying distributed infrastructure in terms of:
- providing support for an (extensible) range of encoding and encryption formats, such as the MPEG series of standards (including for example the popular MP3 standard otherwise known as MPEG-1, Audio Layer 3) and HDTV;
- providing a range of mechanisms to ensure that the desired quality of service can be met;
- providing associated resource management strategies, including appropriate scheduling policies to support the desired quality of service;
- providing adaptation strategies to deal with the inevitable situation in open systems where quality of service cannot be met or sustained.
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 thanowned bythe end user.
This model applies to both physical resources and
more logical services:
1. Physical resources such as storage and processing can be made available to networked computers, removing the need to own such
resources on their own. At
one
end of the spectrum, a user may opt for a remote storage facility for file storage requirements (for example, for multimedia data such as photographs,
music or video) and/or for backups. Similarly, this approach would enable a user to rent one or more computational nodes, either to meet their basic computing
needs or indeed to perform distributed computation. At the other end of the
spectrum, users can access sophisticated data centres (networked facilities
offering access to repositories of often large volumes of data to users or
organizations) or indeed computational infrastructure using the sort of services now provided by companies such as Amazon and Google.
2. Software services (as defined in Section 1.4) can also be made available across the global Internet using this approach. Indeed, many companies now offer a comprehensive range of services for effective rental, including services such as email and distributed calendars. Google, for example, bundles a range of business
services under the banner Google Apps . This development is enabled by agreed standards for software services, for example as provided by web
services
Most clusters consist of commodity PCs running a standard (sometimes
cut-down) version of an operating system such as Linux, interconnected by a local area network. Companies such as HP, Sun and IBM offer blade solutions. Blade servers are minimal
computational elements containing for example processing and (main
memory) storage capabilities. A blade system consists of a potentially large number of blade servers
contained within a blade enclosure. Other elements such as power, cooling, persistent storage (disks), networking and displays, are provided either by the enclosure or through virtualized solutions (discussed in Chapter 7). Through this solution, individual blade servers can
be much smaller and also cheaper
to produce than commodity
PCs.
The overall goal of cluster computers is to provide a range of cloud services, including high-performance computing
capabilities, mass storage (for example through
data centres), and richer application services such as web search (Google, for example relies on a massive cluster computer architecture to implement its search engine and
other services, as discussed
in Chapter
21).
Grid computing (as discussed in Chapter 9, Section
9.7.2) can also be viewed
as a form of cloud computing. The
terms are largely synonymous
and at times ill-defined, but
Grid computing
can generally be viewed as a precursor to the more general paradigm
of cloud computing with
a bias towards support for
scientific applications.
No comments:
Post a Comment