Module 1
Module 1
MODULE 1
• Distributed System
• Trends in Distributed Systems
• Focus on resource sharing
• Distributed System model
• Challenges
• Examples of Distributed Systems
• Case study
A distributed system, also known as distributed computing, is a system
with multiple components located on different machines that
communicate and coordinate actions in order to appear as a single
coherent system to the end-user.
• A distributed system is one in which the components located at networked
computers communicate and coordinate their actions only by passing
messages.
• A collection of independent computers that appears to its users as a single
coherent system.
• A distributed system organized as middleware.
• The middleware layer extends over multiple machines.
• Distributed system = independent processors + networking infrastructure.
• a network of workstations allocated to users
• a pool of processors in the machine room allocated Dynamically
• a single file system (all users access files with the same path name)
• user command executed in the best place (user workstation, a workstation
belonging to someone else, or on an unassigned processor in the machine
room)
Goals of Distributed System
Web search
• Over 10 billion web search per calendar month.
• Web search engine index the entire contents of www (web pages, multimedia
sources, books).
• Web consists over 63 billion pages and 1 trillion unique web address.
• Challenge : Analysing entire web content and carrying sophisticated processing
on entire database.
Examples
Financial trading
• Finance industry is also in need of distributed system for real time access and
automation of process.
• The amount of data being generated has caused a big data revolution.
• Companies are finding new ways to gather and analyze massive amounts of
data.
• Trillions of dollars are traded in market each day.
• Analyzing and trying to profit is a major concern.
• Drop in share price is notified and release of latest trends are notified is called
distributed event based systems.
Examples
Massively multiplayer online games (MMOGs)
• MMOGs offer an immersive experience where large number of users interact
through the Internet with a persistent virtual world.
Example: Sony’s EverQuest II, EVE Online from Finnish company CCP Games.
• The need for fast response times to preserve the user experience of the
game.
• The real-time propagation of events to the many players and maintaining a
consistent view of the shared world.
Applications
DMS should be able to store, locate of audio and video files and to transmit
them across the network (possibly in real time).
Benefits of DMS
• Access to live or pre-recorded television broadcasts.
• Access to film libraries offering video on demand services
• Access to music libraries.
• Skype , peer to peer alternative to IP telephony.
Web casting (DMS)
• Share hardware resources such as printers, data resources such as files, and
resources with more specific functionality such as search engines.
• Pattern of resource sharing vary widely in their scope and in how closely users
work together.
• Pattern of sharing and geographic distribution of users determines the
mechanism to coordinate user’s action.
• Service manages a collection of related resources and presents their functionality
to users and applications.
• Access to service is via the set of operations. e.g. File service.
• Client-server computing
Focus on Resource Sharing
Hardware resources that can be shared are CPU, Memory, Disk, Screen, Printer.
Software Resources- Web pages, files, object, database, video/audio.
Client Server computing
• Minicomputer model
• Workstation model
• Workstation-Server model
• Processor-Pool model
• Hybrid model
Minicomputer model
• The user does not need large amount of computing power all the time.
• In this model, processors are pooled together to be shared by the users as
needed.
• The pool of processors consists of a large number of microcomputers and
minicomputers attached to the network.
• Each processor has its own memory to load and run a system program or an
application program of the DCS.
• The model has better utilization of processing power and greater flexibility.
Example: Amoeba & Cambridge Distributed Computing Systems.
Fig: Processor-Pool model
Hybrid model
• Heterogeneity
• Openness
• Security
• Scalability
• Failure handling
• Concurrency
• Transparency
• Quality of service
CHALLENGES
Heterogeneity
• The Internet enables users to access services and run applications over a
heterogeneous collection of computers and networks. Heterogeneity (that is,
variety and difference) applies to all of the following:
• Hardware devices: computers, tablets, mobile phones, embedded devices,
etc.
• Operating System: MS Windows, Linux, Mac, Unix, etc.
• Network: Local network, the Internet, wireless network, satellite links, etc.
• Programming languages: Java, C/C++, Python, PHP, etc.
• Different roles of software developers, designers, system managers.
• Middleware: A software layer that provides a programming abstraction as well
as masking the heterogeneity.
• Heterogeneity and Mobile code: A program code that can be transferred from
one computer to another and run at the destination.
Openness
The following security challenges have not yet been fully met:
• Denial of service attack
• Security of mobile code
Scalability
A system is said to be scalable if it can handle the addition of users and resources
without suffering a noticeable loss of performance or increase in administrative
complexity.
Masking Failure:
• Some failures that have detected can be hidden or masked.
Two examples of hiding failures:
• Messages can be retransmitted when they fail to arrive.
• File data can be written to a pair of disks so that if one is corrupted the other may
still be correct.
Tolerating Failures:
• To detect and hide all of the failures in a large network is not possible at all time.
• Instead the clients as well as user can tolerate failures.
• Eg: Web browser- When a browser cannot contact the web server, it does not
make the user wait forever while it keeps on trying instead it informs user about
the problem (Try again later)
Redundancy:
• Services can be made to tolerate failures by the use of redundant components.
Concurrency
• Several clients will attempt to access a shared resource at the same time.
• For an object to be safe in a concurrent environment, its operations must be
synchronized in such a way that its data remains consistent.
• This can be achieved by standard techniques such as semaphores, which are
used in most operating systems.
Transparency
• 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.
• Distributed systems designers must hide the complexity of the systems as
much as they can. Some terms of transparency in distributed systems are:
• The need for fast response times to preserve the user experience of the
game.
• The real-time propagation of events to the many players and maintaining a
consistent view of the shared world.
Google Search Engine
• The World Wide Web [www.w3.org I, Berners-Lee 1991] is an evolving system for
publishing and accessing resources and services across the Internet.
• Through commonly available web browsers, users retrieve and view documents
of many types, listen to audio streams and view video streams, and interact with
an unlimited set of services.
• Web has document with links known as hyperlinks if we click on a link it move on
to next page.
This picture shows some web servers, and browsers making requests to them. It is an important
feature that users may locate and manage their own web servers anywhere on the Internet.
CASE STUDY: WWW
• HTML
• URL
• HTTP
Features of WWW
• HyperText Information System.
• Cross-Platform.
• Distributed.
• Open Standards and Open Source.
• Uses Web Browsers to provide a single interface for many services.
• Dynamic, Interactive and Evolving.
• “Web 2.0”
Features of WEB
WWW Architecture
• Identifiers and Character Set
• Uniform Resource Identifier (URI) is used to uniquely identify resources on
the web and UNICODE makes it possible to built web pages that can be read
and write in human languages.
• Syntax
• XML (Extensible Markup Language) helps to define common syntax in
semantic web.
• Data Interchange
• Resource Description Framework (RDF) framework helps in defining core
representation of data for web. RDF represents data about resource in graph
form.
• Taxonomies
• RDF Schema (RDFS) allows more standardized description of taxonomies and
other ontological constructs.
• Ontologies
• Web Ontology Language (OWL) offers more constructs over RDFS. It comes in following three versions:
• OWL Lite for taxonomies and simple constraints.
• OWL DL for full description logic support.
• OWL for more syntactic freedom of RDF
• Rules
• RIF-Rule interchange format
• SWRL-semantic web rule language
• RIF and SWRL offers rules beyond the constructs that are available from RDFs and OWL. Simple Protocol
and RDF Query Language (SPARQL) is SQL like language used for querying RDF data and OWL Ontologies.
• Proof
• All semantic and rules that are executed at layers below Proof and
their result will be used to prove deductions.
• Cryptography
• Cryptography means such as digital signature for verification of the
origin of sources is used.
• User Interface and Applications
• On the top of layer User interface and Applications layer is built for
user interaction.
Parts of URL
• Protocol-HTTP,HTTPS
• Host name/domain name: example.com
• Port name: HTTp:80,HTTPS:443
• Path:www.google.com/cloud
• Query: ??
• Parameters: q=computing
• Fragment: #history
CASE STUDY: WWW
HTML:
• The HyperText Markup Language (HTML), a language for specifying the contents
and layout of pages as they are displayed by web browsers.
• The HyperText Markup Language [www.w3.org II] is used to specify the text and
images that make up the contents of a web page, and to specify how they are laid
out and formatted for presentation to the user.
• A web page contains such structured items as headings, paragraphs, tables and
images. HTML is also used to specify links and which resources are associated
with them.
CASE STUDY: WWW
URL:
• Viewing a web page begins either by typing the URL of the page into a web
browser, or by following a hypertext link to that page or resource.
• URL is a specialization that defines the network location of a specific resource.
• Uniform Resource Locators (URLs), also known as Uniform Resource Identifiers
(URIs), which identify documents and other resources stored as part of the Web.
HTTP:
• GET method is appended onto the end of the action being requested. Get request
should not send large amount of information.
• HEAD method: is used to ask only for information about document not entire
document.
• POST method: transmits all form input information immediately after the
request.
CASE STUDY: WWW
Dynamic Pages:
Common Gateway Interface (CGI):
• Standard environment for web servers to interface with executable programs
installed on a server that generate web pages dynamically.
APPLET:
It is a small program can be placed on a web page and it will be executed by the
web browser which gives web pages dynamic content.
CASE STUDY: WWW
Web Services:
• Web services are open standard (XML, SOAP, HTTP etc.,) based web applications
that interact with other web applications for the purpose of exchanging data.
Features:
• Uses a standardized XML messaging system.
• Is available over the internet or private networks.
Components of Web services
• SOAP(Simple Object Access Protocol)
• UDDI(Universal Description, Discovery, Integration)
• WSDL(Web service Description Language)