SlideShare a Scribd company logo
1 of 47
Distributed Computing
By Junaid Muzaffar
• A collection of independent computers that appears to its users as a single
coherent system.
• Examples:
• Distributed object-based systems (CORBA, DCOM)
Distributed file systems (NFS)
etc.
WHAT IS DISTRIBUTED SYSTEM AND DISTRIBUTED COMPUTING?
The process of computation was started from working on a single processor. This uni- processor computing can
be termed as centralized computing.
A distributed system is a collection of independent computers, interconnected via a network, capable of
collaborating on a task. Distributed computing is computing performed in a distributed system.
• Distributed computing is widely used due to advancements in machines and faster and cheaper networks. In
distributed systems, the entire network will be viewed as a computer. The multiple systems connected to the
network will appear as a single system to the user. Thus the distributed systems hide the complexity of the
underlying architecture to the user.
The definition of distributed systems deals with two aspects that:
• Deals with hardware: The machines linked in a distributed system are autonomous
• Deals with software: A distributed system gives an impression to the users that they are dealing with a single
system.
Centralized vs. Distributed Computing
mainframe computer
workstation
network host
network link
terminal
centralized computing
distributed computing
Features of Distributed Systems:
• Communication is hidden from users
• Applications interact in uniform and consistent way
• High degree of scalability
• A distributed system is functionally equivalent to the systems of which it is composed.
• Resource sharing is possible in distributed systems.
• Distributed systems act as fault tolerant systems
• Enhanced performance
The Weaknesses and Strengths of Distributed Computing
• Concurrency
• Distributed system function in a heterogeneous environment. So adaptability is a major issue.
• Latency
• Memory considerations: The distributed systems work on both local and shared memory.
• Synchronization issues
• Applications must need to adapt gracefully without affecting other parts of the systems in case of failures.
• Since they are widespread, security is a major issue
• Limits imposed on scalability
• They are less transparent.
• Knowledge about the dynamic network topology is a must
Differences between centralized and distributed systems
SOME EXAMPLES OF DISTRIBUTED SYSTEMS
• Web Search
• (class task study how web search work)
• Massively multiplayer online games
• Financial Trading
The distributed application architecture:
• Integrated applications
• Applications can share resources
• A single instance of functionality (service) can be reused.
• Common user interfaces
Why distributed computing?
• Economics: distributed systems allow the pooling of resources,
including CPU cycles, data storage, input/output devices, and
services.
• Reliability: a distributed system allow replication of resources and/or
services, thus reducing service outage due to failures.
• The Internet has become a universal platform for distributed
computing.
Goals of a Distributed System
to support heterogeneous computers and networks and to provide a single-
system view, a distributed system is often organized by means of a layer of
software called middleware that extends over multiple machines
a distributed system organized as middleware; note that the
middleware layer extends over multiple machines, and offers
each application the same interface
Goals of a distributed system:
 a distributed system should
 easily connect users with resources (printers, computers, storage
facilities, data, files, Web pages, ...)
 reasons: economics, to collaborate and exchange information
 be transparent: hide the fact that the resources and processes are
distributed across multiple computers
 be open
 be scalable
Transparency in a Distributed System
a distributed system that is able to present itself to users
and applications as if it were only a single computer system
is said to be transparent
different forms of transparency in a distributed system
Transparency Description
Access Hide differences in data representation
(endianness, file naming, ...) and how a resource
is accessed
Location Hide where a resource is physically located; where
is http://www.prenhall.com/index.html? (naming)
Migration Hide that a resource may move to another location
Relocation Hide that a resource may be moved to another location while in use; e.g.,
mobile users using their wireless laptops
Replication Hide that a resource is replicated
Concurrency Hide that a resource may be shared by several competitive users; a
resource must be left in a consistent state
Failure Hide the failure and recovery of a resource
But trying to achieve all distribution transparency may be impossible or may not be a good
idea
16
 Openness in a Distributed System
 a distributed system should be open
 we need well-defined interfaces
 interoperability
 components of different origin can communicate
 portability
 components work on different platforms
 another goal of an open distributed system is that it
should be flexible and extensible; easy to configure the
system out of different components; easy to add new
components, replace existing ones; easier said than done
 an Open Distributed System is a system that offers
services according to standard rules that describe the
syntax and semantics of those services; e.g., protocols in
networks
 standards - a necessity
 should allow competition in non-normative areas
17
 Scalability in Distributed Systems
 a distributed system should be scalable
 size: adding more users and resources to the system
 geographically: users and resources may be far apart
 administratively: should be easy to manage even if it
spans many administrative organizations
 but a scalable system may exhibit performance problems
 in distributed systems, such services are often specified
through interfaces often described using an Interface
Definition Language (IDL)
 specify only syntax: the names of the functions, types
of parameters, return values, possible exceptions, ...
 Semantics are given in an informal way by means of
natural languages
18
Concept Example
Centralized services
Single server for all users-mostly for security
reasons
Centralized data A single on-line telephone book
Centralized algorithms Doing routing based on complete information
examples of scalability limitations
 scalability problems
 Scaling Techniques
 how to solve scaling problems
 the problem is mainly performance, and arises as a result
of limitations in the capacity of servers and networks (for
geographical scalability)
 three possible solutions: hiding communication latencies,
distribution, and replication
19
a. Hide Communication Latencies
 try to avoid waiting for responses to remote service
requests
 let the requester do other useful job
 i.e., construct requesting applications that use only
asynchronous communication instead of synchronous
communication; when a reply arrives the application is
interrupted
 good for batch processing and parallel applications but
not for interactive applications
 for interactive applications, move part of the job to the
client to reduce communication; e.g. filling a form and
checking the entries
20
(a) a server checking the correctness of field entries
(b) a client doing the job
• e.g., checking the completeness of mandatory fields
• shipping code is now supported in Web applications using Java Applets and Javascript
21
b. Distribution
• e.g., DNS - Domain Name System (mlibsie@cs.aau.edu.et)
• divide the name space into nonoverlapping zones
• for details, see later in Chapter 5 - Naming
an example of dividing the DNS name space into zones
22
c. Replication
 replicate components across a distributed system to
increase availability and for load balancing, leading to
better performance
 decided by the owner of a resource
 caching (a special form of replication) also reduces
communication latency; decided by the user
 but, caching and replication may lead to consistency
problems (see Chapter 7 - Consistency and Replication)
23
Pitfalls when Developing Distributed Systems
False assumptions made by first time developers
 The network is reliable
 The network is secure
 The network is homogeneous
 The topology does not change
 Latency is zero
 Bandwidth is infinite
 Transport cost is zero
 There is one administrator
24
1.3 Types of Distributed Systems
 Three types: distributed computing systems, distributed
information systems, and distributed embedded systems
1. Distributed Computing Systems
 Used for high-performance computing tasks
 two types: cluster computing and grid computing
 Cluster Computing
 a collection of similar workstations or PCs
(homogeneous), closely connected by means of a
high-speed LAN
 each node runs the same operating system
 used for parallel programming in which a single
compute intensive program is run in parallel on
multiple machines
25
an example of a cluster computing system
26
 Grid Computing
 “Resource sharing and coordinated problem solving
in dynamic, multi-institutional virtual organizations”
(I. Foster)
 high degree of heterogeneity: no assumptions are
made concerning hardware, operating systems,
networks, administrative domains, security policies,
etc.
2. Distributed Information Systems
 problem: many networked applications with a problem of
interoperability
 at the lowest level: wrap a number of requests into a
single larger request and have it executed as a
distributed transaction
 how to let applications communicate directly with each
other, i.e., Enterprise Application Integration (EAI)
27
 Transaction Processing Systems
 Consider database applications
 special primitives are required to program transactions,
supplied either by the underlying distributed system or
by the language runtime system
 exact list of primitives depends on the type of application
Primitive Description
BEGIN_TRANSACTION Mark the start of a transaction
END_TRANSACTION
Terminate the transaction and try to
commit
ABORT_TRANSACTION
Kill the transaction and restore the old
values
READ
Read data from a file, a table, or
otherwise
WRITE
Write data to a file, a table, or
otherwise
28
 The Transaction Model
 the model for transactions comes from the world of
business
 a supplier and a retailer negotiate on
 price
 delivery date
 quality
 etc.
 until the deal is concluded they can continue
negotiating or one of them can terminate
 but once they have reached an agreement they are
bound by law to carry out their part of the deal
 transactions between processes is similar with this
scenario
29
 e.g., assume the following banking operation
 withdraw an amount x from account 1
 deposit the amount x to account 2
 what happens if there is a problem after the first activity
is carried out?
 group the two operations into one transaction; either
both are carried out or neither
 we need a way to roll back when a transaction is not
completed
30
(a) transaction to reserve three flights commits
(b) transaction aborts when third flight is unavailable
BEGIN_TRANSACTION
reserve WP  JFK;
reserve JFK  Nairobi;
reserve Nairobi  Malindi;
END_TRANSACTION
(a)
BEGIN_TRANSACTION
reserve WP  JFK;
reserve JFK  Nairobi;
reserve Nairobi  Malindi full 
ABORT_TRANSACTION
(b)
 e.g. reserving a seat from White Plains to Malindi through
JFK and Nairobi airports
31
 properties of transactions, often referred to as ACID
1. Atomic: to the outside world, the transaction happens
indivisibly; a transaction either happens completely or
not at all; intermediate states are not seen by other
processes
2. Consistent: the transaction does not violate system
invariants; e.g., in an internal transfer in a bank, the
amount of money in the bank must be the same as it
was before the transfer (the law of conservation of
money); this may be violated for a brief period of time,
but not seen to other processes
3. Isolated or Serializable: concurrent transactions do not
interfere with each other; if two or more transactions
are running at the same time, the final result must look
as though all transactions run sequentially in some
order
4. Durable: once a transaction commits, the changes are
permanent; see later in Chapter 8
32
 Classification of Transactions
 a transaction could be flat, nested or distributed
 Flat Transaction
 consists of a series of operations that satisfy the ACID
properties
 simple and widely used but with some limitations
 do not allow partial results to be committed or aborted
 i.e., atomicity is also partly a weakness
 in our airline reservation example, we may want to
accept the first two reservations and find an
alternative one for the last
 some transactions may take too much time
33
 Nested Transaction
 constructed from a number of subtransactions; it is
logically decomposed into a hierarchy of
subtransactions
 the top-level transaction forks off children that run in
parallel, on different machines; to gain performance or
for programming simplicity
 each may also execute one or more subtransactions
 permanence (durability) applies only to the top-level
transaction; commits by children should be undone
 Distributed Transaction
 a flat transaction that operates on data that are
distributed across multiple machines
 problem: separate algorithms are needed to handle the
locking of data and committing the entire transaction;
see later in Chapter 8 for distributed commit
34
(a) a nested transaction
(b) distributed transaction
35
 Enterprise Application Integration
 how to integrate applications independent from their
databases
 transaction systems rely on request/reply
 how can applications communicate with each other
middleware as a communication facilitator in enterprise application
integration
36
 there are different communication models
 RPC (Remote procedure Call)
 RMI (Remote Method Invocation)
 MOM (Message-Oriented Communication)
 see later in Chapter 4
3. Distributed Pervasive Systems
 the distributed systems discussed so far are
characterized by their stability; fixed nodes having high-
quality connection to a network
 there are also mobile and embedded computing devices
with wireless connections
37
 three requirements for pervasive applications
 embrace contextual changes: a device is aware that
its environment may change all the time
 encourage ad hoc composition: devices are used in
different ways by different users
 recognize sharing as the default: devices join a
system to access or provide information
 examples of pervasive systems
 Home Systems
 Electronic Health Care Systems
 Sensor Networks
 read pages 27 - 30
CHALLENGES IN DISTRIBUTED SYSTEMS
Heterogeneity
Heterogeneity
Heterogeneity means the diversity of the distributed systems in terms of hardware, software, platform, etc.
Modern distributed systems will likely to be operating with different:
• 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.
• Programing languages: Java, C/C++, Python, PHP, etc.
• Different roles of software developers, designers, system managers
• Middleware: 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. Eg: CORBA, RMI.
• Heterogeneity in mobile code: Mobile code is used to refer to program code that can be transferred from one
computer to another and run at the destination.
• Eg: Java applets.
Cont..
• Heterogeneity refers to the ability for the system to operate on a
variety of different hardware and software components. This is
achieved through the implementation of middle-ware in the software
layer.
• In a distributed system, heterogeneity is almost unavoidable, as
different components may require different implementation
technologies.
42
Heterogeneity
• Applies to all of the following:
• networks
• Internet protocols mask the differences between networks
• computer hardware
• e.g. data types such as integers can be represented differently
• operating systems
• e.g. the API to IP differs from one OS to another
• programming languages
• data structures (arrays, records) can be represented differently
• implementations by different developers
• they need agreed standards so as to be able to interwork
CDK Ch. 1.4
43
Middleware
• A software layer that
• masks the heterogeneity of systems
• provides a convenient programming abstraction
• provides protocols for providing general-purpose services
to more specific applications, eg.
• authentication protocols
• authorization protocols
• distributed commit protocols
• distributed locking protocols
• high-level communication protocols
• remote procedure calls (RPC)
• remote method invocation (RMI)
44
Middleware
• General structure of a distributed system as middleware.
1-22
45
Middleware and Openness
• In an open middleware-based distributed system, the protocols used by
each middleware layer should be the same, as well as the interfaces they
offer to applications.
1.23
TvS 1.25
46
Middleware programming models
• Remote Calls
• remote Procedure Calls (RPC)
• distributed objects and Remote Method Invocation (RMI)
• eg. Java RMI
• Common Object Request Broker Architecture (CORBA)
• cross-language RMI
• Other programming models
• remote event notification
• remote SQL access
• distributed transaction processing
CDK Ch 1
Challenges in Distributed systems

More Related Content

Similar to Distributed Systems.pptx

DISTRIBUTED SYSTEM.docx
DISTRIBUTED SYSTEM.docxDISTRIBUTED SYSTEM.docx
DISTRIBUTED SYSTEM.docxvinaypandey170
 
Chapter-1-IntroDistributeddffsfdfsdf-1.pptx
Chapter-1-IntroDistributeddffsfdfsdf-1.pptxChapter-1-IntroDistributeddffsfdfsdf-1.pptx
Chapter-1-IntroDistributeddffsfdfsdf-1.pptxmeharikiros2
 
Introduction to Distributed System
Introduction to Distributed SystemIntroduction to Distributed System
Introduction to Distributed SystemSunita Sahu
 
Lecture 1 distriubted computing
Lecture 1 distriubted computingLecture 1 distriubted computing
Lecture 1 distriubted computingARTHURDANIEL12
 
Lect 1 Distributed System.pptx
Lect 1 Distributed System.pptxLect 1 Distributed System.pptx
Lect 1 Distributed System.pptxPardonSamson
 
Distributed system Tanenbaum chapter 1,2,3,4 notes
Distributed system Tanenbaum chapter 1,2,3,4 notes Distributed system Tanenbaum chapter 1,2,3,4 notes
Distributed system Tanenbaum chapter 1,2,3,4 notes SAhammedShakil
 
20IT703_PDS_PPT_Unit_I.ppt
20IT703_PDS_PPT_Unit_I.ppt20IT703_PDS_PPT_Unit_I.ppt
20IT703_PDS_PPT_Unit_I.pptsuganthi66742
 
Chapter 1_NG_2020.ppt
Chapter 1_NG_2020.pptChapter 1_NG_2020.ppt
Chapter 1_NG_2020.pptMrVMNair
 
chapter 1- introduction to distributed system.ppt
chapter 1- introduction to distributed system.pptchapter 1- introduction to distributed system.ppt
chapter 1- introduction to distributed system.pptAschalewAyele2
 
distributed system chapter one introduction to distribued system.pdf
distributed system chapter one introduction to distribued system.pdfdistributed system chapter one introduction to distribued system.pdf
distributed system chapter one introduction to distribued system.pdflematadese670
 
Lect 2 Types of Distributed Systems.pptx
Lect 2 Types of Distributed Systems.pptxLect 2 Types of Distributed Systems.pptx
Lect 2 Types of Distributed Systems.pptxPardonSamson
 
433672084-distributed-vs-parallel-computing-ppt.ppt
433672084-distributed-vs-parallel-computing-ppt.ppt433672084-distributed-vs-parallel-computing-ppt.ppt
433672084-distributed-vs-parallel-computing-ppt.pptMattChristianAustria2
 
CSI-503 - 11.Distributed Operating System
CSI-503 - 11.Distributed Operating SystemCSI-503 - 11.Distributed Operating System
CSI-503 - 11.Distributed Operating Systemghayour abbas
 
Distributed computing
Distributed computingDistributed computing
Distributed computingshivli0769
 
Distributed Operating System.pptx
Distributed Operating System.pptxDistributed Operating System.pptx
Distributed Operating System.pptxharpreetkaur1129
 
Distributed System Unit 1 Notes by Dr. Nilam Choudhary, SKIT Jaipur
Distributed System Unit 1 Notes by Dr. Nilam Choudhary, SKIT JaipurDistributed System Unit 1 Notes by Dr. Nilam Choudhary, SKIT Jaipur
Distributed System Unit 1 Notes by Dr. Nilam Choudhary, SKIT JaipurDrNilam Choudhary
 
Overview of Distributed Systems
Overview of Distributed SystemsOverview of Distributed Systems
Overview of Distributed Systemsvampugani
 

Similar to Distributed Systems.pptx (20)

DISTRIBUTED SYSTEM.docx
DISTRIBUTED SYSTEM.docxDISTRIBUTED SYSTEM.docx
DISTRIBUTED SYSTEM.docx
 
Chapter-1-IntroDistributeddffsfdfsdf-1.pptx
Chapter-1-IntroDistributeddffsfdfsdf-1.pptxChapter-1-IntroDistributeddffsfdfsdf-1.pptx
Chapter-1-IntroDistributeddffsfdfsdf-1.pptx
 
Introduction to Distributed System
Introduction to Distributed SystemIntroduction to Distributed System
Introduction to Distributed System
 
Lecture 1 distriubted computing
Lecture 1 distriubted computingLecture 1 distriubted computing
Lecture 1 distriubted computing
 
Lect 1 Distributed System.pptx
Lect 1 Distributed System.pptxLect 1 Distributed System.pptx
Lect 1 Distributed System.pptx
 
Distributed system Tanenbaum chapter 1,2,3,4 notes
Distributed system Tanenbaum chapter 1,2,3,4 notes Distributed system Tanenbaum chapter 1,2,3,4 notes
Distributed system Tanenbaum chapter 1,2,3,4 notes
 
istributed system
istributed systemistributed system
istributed system
 
20IT703_PDS_PPT_Unit_I.ppt
20IT703_PDS_PPT_Unit_I.ppt20IT703_PDS_PPT_Unit_I.ppt
20IT703_PDS_PPT_Unit_I.ppt
 
Chapter 1_NG_2020.ppt
Chapter 1_NG_2020.pptChapter 1_NG_2020.ppt
Chapter 1_NG_2020.ppt
 
chapter 1- introduction to distributed system.ppt
chapter 1- introduction to distributed system.pptchapter 1- introduction to distributed system.ppt
chapter 1- introduction to distributed system.ppt
 
distributed system chapter one introduction to distribued system.pdf
distributed system chapter one introduction to distribued system.pdfdistributed system chapter one introduction to distribued system.pdf
distributed system chapter one introduction to distribued system.pdf
 
Lect 2 Types of Distributed Systems.pptx
Lect 2 Types of Distributed Systems.pptxLect 2 Types of Distributed Systems.pptx
Lect 2 Types of Distributed Systems.pptx
 
433672084-distributed-vs-parallel-computing-ppt.ppt
433672084-distributed-vs-parallel-computing-ppt.ppt433672084-distributed-vs-parallel-computing-ppt.ppt
433672084-distributed-vs-parallel-computing-ppt.ppt
 
CSI-503 - 11.Distributed Operating System
CSI-503 - 11.Distributed Operating SystemCSI-503 - 11.Distributed Operating System
CSI-503 - 11.Distributed Operating System
 
Distributed computing
Distributed computingDistributed computing
Distributed computing
 
Distributed Operating System.pptx
Distributed Operating System.pptxDistributed Operating System.pptx
Distributed Operating System.pptx
 
Distributed System Unit 1 Notes by Dr. Nilam Choudhary, SKIT Jaipur
Distributed System Unit 1 Notes by Dr. Nilam Choudhary, SKIT JaipurDistributed System Unit 1 Notes by Dr. Nilam Choudhary, SKIT Jaipur
Distributed System Unit 1 Notes by Dr. Nilam Choudhary, SKIT Jaipur
 
Overview of Distributed Systems
Overview of Distributed SystemsOverview of Distributed Systems
Overview of Distributed Systems
 
Distributed computing
Distributed computingDistributed computing
Distributed computing
 
distributed system original.pdf
distributed system original.pdfdistributed system original.pdf
distributed system original.pdf
 

More from salutiontechnology

Ch1 Cryptography network security slides.pptx
Ch1 Cryptography network security slides.pptxCh1 Cryptography network security slides.pptx
Ch1 Cryptography network security slides.pptxsalutiontechnology
 
Lecture 1 database system notes full.pptx
Lecture 1 database system notes full.pptxLecture 1 database system notes full.pptx
Lecture 1 database system notes full.pptxsalutiontechnology
 
databasesystemsconollyslide1-151102101031-lva1-app6892.pptx
databasesystemsconollyslide1-151102101031-lva1-app6892.pptxdatabasesystemsconollyslide1-151102101031-lva1-app6892.pptx
databasesystemsconollyslide1-151102101031-lva1-app6892.pptxsalutiontechnology
 
Intrusion detection system and intrusion prevention system
Intrusion detection system and intrusion prevention systemIntrusion detection system and intrusion prevention system
Intrusion detection system and intrusion prevention systemsalutiontechnology
 
smart grid, traditional power grids.pptx
smart grid, traditional power grids.pptxsmart grid, traditional power grids.pptx
smart grid, traditional power grids.pptxsalutiontechnology
 
Information security software security presentation.pptx
Information security software security presentation.pptxInformation security software security presentation.pptx
Information security software security presentation.pptxsalutiontechnology
 
Key Management, key management three tools ,
Key Management, key management three tools ,Key Management, key management three tools ,
Key Management, key management three tools ,salutiontechnology
 
imageenhancementtechniques-140316011049-phpapp01 (1).pptx
imageenhancementtechniques-140316011049-phpapp01 (1).pptximageenhancementtechniques-140316011049-phpapp01 (1).pptx
imageenhancementtechniques-140316011049-phpapp01 (1).pptxsalutiontechnology
 
Big data analytics with R tool.pptx
Big data analytics with R tool.pptxBig data analytics with R tool.pptx
Big data analytics with R tool.pptxsalutiontechnology
 
Group 2 Handling and Processing of big data.pptx
Group 2 Handling and Processing of big data.pptxGroup 2 Handling and Processing of big data.pptx
Group 2 Handling and Processing of big data.pptxsalutiontechnology
 

More from salutiontechnology (14)

Ch1 Cryptography network security slides.pptx
Ch1 Cryptography network security slides.pptxCh1 Cryptography network security slides.pptx
Ch1 Cryptography network security slides.pptx
 
Lecture 1 database system notes full.pptx
Lecture 1 database system notes full.pptxLecture 1 database system notes full.pptx
Lecture 1 database system notes full.pptx
 
databasesystemsconollyslide1-151102101031-lva1-app6892.pptx
databasesystemsconollyslide1-151102101031-lva1-app6892.pptxdatabasesystemsconollyslide1-151102101031-lva1-app6892.pptx
databasesystemsconollyslide1-151102101031-lva1-app6892.pptx
 
Intrusion detection system and intrusion prevention system
Intrusion detection system and intrusion prevention systemIntrusion detection system and intrusion prevention system
Intrusion detection system and intrusion prevention system
 
smart grid, traditional power grids.pptx
smart grid, traditional power grids.pptxsmart grid, traditional power grids.pptx
smart grid, traditional power grids.pptx
 
Information security software security presentation.pptx
Information security software security presentation.pptxInformation security software security presentation.pptx
Information security software security presentation.pptx
 
Key Management, key management three tools ,
Key Management, key management three tools ,Key Management, key management three tools ,
Key Management, key management three tools ,
 
Lec2.pptx
Lec2.pptxLec2.pptx
Lec2.pptx
 
3.pptx
3.pptx3.pptx
3.pptx
 
new.pptx
new.pptxnew.pptx
new.pptx
 
imageenhancementtechniques-140316011049-phpapp01 (1).pptx
imageenhancementtechniques-140316011049-phpapp01 (1).pptximageenhancementtechniques-140316011049-phpapp01 (1).pptx
imageenhancementtechniques-140316011049-phpapp01 (1).pptx
 
aip.pptx
aip.pptxaip.pptx
aip.pptx
 
Big data analytics with R tool.pptx
Big data analytics with R tool.pptxBig data analytics with R tool.pptx
Big data analytics with R tool.pptx
 
Group 2 Handling and Processing of big data.pptx
Group 2 Handling and Processing of big data.pptxGroup 2 Handling and Processing of big data.pptx
Group 2 Handling and Processing of big data.pptx
 

Recently uploaded

RA-11058_IRR-COMPRESS Do 198 series of 1998
RA-11058_IRR-COMPRESS Do 198 series of 1998RA-11058_IRR-COMPRESS Do 198 series of 1998
RA-11058_IRR-COMPRESS Do 198 series of 1998YohFuh
 
Predictive Analysis - Using Insight-informed Data to Determine Factors Drivin...
Predictive Analysis - Using Insight-informed Data to Determine Factors Drivin...Predictive Analysis - Using Insight-informed Data to Determine Factors Drivin...
Predictive Analysis - Using Insight-informed Data to Determine Factors Drivin...ThinkInnovation
 
04242024_CCC TUG_Joins and Relationships
04242024_CCC TUG_Joins and Relationships04242024_CCC TUG_Joins and Relationships
04242024_CCC TUG_Joins and Relationshipsccctableauusergroup
 
Schema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfSchema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfLars Albertsson
 
办理学位证纽约大学毕业证(NYU毕业证书)原版一比一
办理学位证纽约大学毕业证(NYU毕业证书)原版一比一办理学位证纽约大学毕业证(NYU毕业证书)原版一比一
办理学位证纽约大学毕业证(NYU毕业证书)原版一比一fhwihughh
 
Industrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdfIndustrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdfLars Albertsson
 
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdf
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdfKantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdf
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdfSocial Samosa
 
{Pooja: 9892124323 } Call Girl in Mumbai | Jas Kaur Rate 4500 Free Hotel Del...
{Pooja:  9892124323 } Call Girl in Mumbai | Jas Kaur Rate 4500 Free Hotel Del...{Pooja:  9892124323 } Call Girl in Mumbai | Jas Kaur Rate 4500 Free Hotel Del...
{Pooja: 9892124323 } Call Girl in Mumbai | Jas Kaur Rate 4500 Free Hotel Del...Pooja Nehwal
 
Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...
Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...
Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...Sapana Sha
 
INTERNSHIP ON PURBASHA COMPOSITE TEX LTD
INTERNSHIP ON PURBASHA COMPOSITE TEX LTDINTERNSHIP ON PURBASHA COMPOSITE TEX LTD
INTERNSHIP ON PURBASHA COMPOSITE TEX LTDRafezzaman
 
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改atducpo
 
Beautiful Sapna Vip Call Girls Hauz Khas 9711199012 Call /Whatsapps
Beautiful Sapna Vip  Call Girls Hauz Khas 9711199012 Call /WhatsappsBeautiful Sapna Vip  Call Girls Hauz Khas 9711199012 Call /Whatsapps
Beautiful Sapna Vip Call Girls Hauz Khas 9711199012 Call /Whatsappssapnasaifi408
 
Customer Service Analytics - Make Sense of All Your Data.pptx
Customer Service Analytics - Make Sense of All Your Data.pptxCustomer Service Analytics - Make Sense of All Your Data.pptx
Customer Service Analytics - Make Sense of All Your Data.pptxEmmanuel Dauda
 
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Serviceranjana rawat
 
DBA Basics: Getting Started with Performance Tuning.pdf
DBA Basics: Getting Started with Performance Tuning.pdfDBA Basics: Getting Started with Performance Tuning.pdf
DBA Basics: Getting Started with Performance Tuning.pdfJohn Sterrett
 
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...Suhani Kapoor
 
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...Suhani Kapoor
 
dokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.ppt
dokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.pptdokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.ppt
dokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.pptSonatrach
 
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130Suhani Kapoor
 

Recently uploaded (20)

RA-11058_IRR-COMPRESS Do 198 series of 1998
RA-11058_IRR-COMPRESS Do 198 series of 1998RA-11058_IRR-COMPRESS Do 198 series of 1998
RA-11058_IRR-COMPRESS Do 198 series of 1998
 
Predictive Analysis - Using Insight-informed Data to Determine Factors Drivin...
Predictive Analysis - Using Insight-informed Data to Determine Factors Drivin...Predictive Analysis - Using Insight-informed Data to Determine Factors Drivin...
Predictive Analysis - Using Insight-informed Data to Determine Factors Drivin...
 
04242024_CCC TUG_Joins and Relationships
04242024_CCC TUG_Joins and Relationships04242024_CCC TUG_Joins and Relationships
04242024_CCC TUG_Joins and Relationships
 
Schema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfSchema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdf
 
办理学位证纽约大学毕业证(NYU毕业证书)原版一比一
办理学位证纽约大学毕业证(NYU毕业证书)原版一比一办理学位证纽约大学毕业证(NYU毕业证书)原版一比一
办理学位证纽约大学毕业证(NYU毕业证书)原版一比一
 
Industrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdfIndustrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdf
 
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdf
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdfKantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdf
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdf
 
{Pooja: 9892124323 } Call Girl in Mumbai | Jas Kaur Rate 4500 Free Hotel Del...
{Pooja:  9892124323 } Call Girl in Mumbai | Jas Kaur Rate 4500 Free Hotel Del...{Pooja:  9892124323 } Call Girl in Mumbai | Jas Kaur Rate 4500 Free Hotel Del...
{Pooja: 9892124323 } Call Girl in Mumbai | Jas Kaur Rate 4500 Free Hotel Del...
 
Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...
Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...
Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...
 
INTERNSHIP ON PURBASHA COMPOSITE TEX LTD
INTERNSHIP ON PURBASHA COMPOSITE TEX LTDINTERNSHIP ON PURBASHA COMPOSITE TEX LTD
INTERNSHIP ON PURBASHA COMPOSITE TEX LTD
 
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
 
Beautiful Sapna Vip Call Girls Hauz Khas 9711199012 Call /Whatsapps
Beautiful Sapna Vip  Call Girls Hauz Khas 9711199012 Call /WhatsappsBeautiful Sapna Vip  Call Girls Hauz Khas 9711199012 Call /Whatsapps
Beautiful Sapna Vip Call Girls Hauz Khas 9711199012 Call /Whatsapps
 
Customer Service Analytics - Make Sense of All Your Data.pptx
Customer Service Analytics - Make Sense of All Your Data.pptxCustomer Service Analytics - Make Sense of All Your Data.pptx
Customer Service Analytics - Make Sense of All Your Data.pptx
 
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
 
DBA Basics: Getting Started with Performance Tuning.pdf
DBA Basics: Getting Started with Performance Tuning.pdfDBA Basics: Getting Started with Performance Tuning.pdf
DBA Basics: Getting Started with Performance Tuning.pdf
 
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...
 
꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...
꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...
꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...
 
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...
 
dokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.ppt
dokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.pptdokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.ppt
dokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.ppt
 
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
 

Distributed Systems.pptx

  • 2. • A collection of independent computers that appears to its users as a single coherent system. • Examples: • Distributed object-based systems (CORBA, DCOM) Distributed file systems (NFS) etc.
  • 3. WHAT IS DISTRIBUTED SYSTEM AND DISTRIBUTED COMPUTING? The process of computation was started from working on a single processor. This uni- processor computing can be termed as centralized computing. A distributed system is a collection of independent computers, interconnected via a network, capable of collaborating on a task. Distributed computing is computing performed in a distributed system. • Distributed computing is widely used due to advancements in machines and faster and cheaper networks. In distributed systems, the entire network will be viewed as a computer. The multiple systems connected to the network will appear as a single system to the user. Thus the distributed systems hide the complexity of the underlying architecture to the user.
  • 4. The definition of distributed systems deals with two aspects that: • Deals with hardware: The machines linked in a distributed system are autonomous • Deals with software: A distributed system gives an impression to the users that they are dealing with a single system.
  • 5. Centralized vs. Distributed Computing mainframe computer workstation network host network link terminal centralized computing distributed computing
  • 6. Features of Distributed Systems: • Communication is hidden from users • Applications interact in uniform and consistent way • High degree of scalability • A distributed system is functionally equivalent to the systems of which it is composed. • Resource sharing is possible in distributed systems. • Distributed systems act as fault tolerant systems • Enhanced performance
  • 7. The Weaknesses and Strengths of Distributed Computing • Concurrency • Distributed system function in a heterogeneous environment. So adaptability is a major issue. • Latency • Memory considerations: The distributed systems work on both local and shared memory. • Synchronization issues • Applications must need to adapt gracefully without affecting other parts of the systems in case of failures. • Since they are widespread, security is a major issue • Limits imposed on scalability • They are less transparent. • Knowledge about the dynamic network topology is a must
  • 8. Differences between centralized and distributed systems
  • 9. SOME EXAMPLES OF DISTRIBUTED SYSTEMS • Web Search • (class task study how web search work) • Massively multiplayer online games • Financial Trading
  • 10. The distributed application architecture: • Integrated applications • Applications can share resources • A single instance of functionality (service) can be reused. • Common user interfaces
  • 11. Why distributed computing? • Economics: distributed systems allow the pooling of resources, including CPU cycles, data storage, input/output devices, and services. • Reliability: a distributed system allow replication of resources and/or services, thus reducing service outage due to failures. • The Internet has become a universal platform for distributed computing.
  • 12. Goals of a Distributed System to support heterogeneous computers and networks and to provide a single- system view, a distributed system is often organized by means of a layer of software called middleware that extends over multiple machines a distributed system organized as middleware; note that the middleware layer extends over multiple machines, and offers each application the same interface
  • 13. Goals of a distributed system:  a distributed system should  easily connect users with resources (printers, computers, storage facilities, data, files, Web pages, ...)  reasons: economics, to collaborate and exchange information  be transparent: hide the fact that the resources and processes are distributed across multiple computers  be open  be scalable
  • 14. Transparency in a Distributed System a distributed system that is able to present itself to users and applications as if it were only a single computer system is said to be transparent
  • 15. different forms of transparency in a distributed system Transparency Description Access Hide differences in data representation (endianness, file naming, ...) and how a resource is accessed Location Hide where a resource is physically located; where is http://www.prenhall.com/index.html? (naming) Migration Hide that a resource may move to another location Relocation Hide that a resource may be moved to another location while in use; e.g., mobile users using their wireless laptops Replication Hide that a resource is replicated Concurrency Hide that a resource may be shared by several competitive users; a resource must be left in a consistent state Failure Hide the failure and recovery of a resource But trying to achieve all distribution transparency may be impossible or may not be a good idea
  • 16. 16  Openness in a Distributed System  a distributed system should be open  we need well-defined interfaces  interoperability  components of different origin can communicate  portability  components work on different platforms  another goal of an open distributed system is that it should be flexible and extensible; easy to configure the system out of different components; easy to add new components, replace existing ones; easier said than done  an Open Distributed System is a system that offers services according to standard rules that describe the syntax and semantics of those services; e.g., protocols in networks  standards - a necessity  should allow competition in non-normative areas
  • 17. 17  Scalability in Distributed Systems  a distributed system should be scalable  size: adding more users and resources to the system  geographically: users and resources may be far apart  administratively: should be easy to manage even if it spans many administrative organizations  but a scalable system may exhibit performance problems  in distributed systems, such services are often specified through interfaces often described using an Interface Definition Language (IDL)  specify only syntax: the names of the functions, types of parameters, return values, possible exceptions, ...  Semantics are given in an informal way by means of natural languages
  • 18. 18 Concept Example Centralized services Single server for all users-mostly for security reasons Centralized data A single on-line telephone book Centralized algorithms Doing routing based on complete information examples of scalability limitations  scalability problems  Scaling Techniques  how to solve scaling problems  the problem is mainly performance, and arises as a result of limitations in the capacity of servers and networks (for geographical scalability)  three possible solutions: hiding communication latencies, distribution, and replication
  • 19. 19 a. Hide Communication Latencies  try to avoid waiting for responses to remote service requests  let the requester do other useful job  i.e., construct requesting applications that use only asynchronous communication instead of synchronous communication; when a reply arrives the application is interrupted  good for batch processing and parallel applications but not for interactive applications  for interactive applications, move part of the job to the client to reduce communication; e.g. filling a form and checking the entries
  • 20. 20 (a) a server checking the correctness of field entries (b) a client doing the job • e.g., checking the completeness of mandatory fields • shipping code is now supported in Web applications using Java Applets and Javascript
  • 21. 21 b. Distribution • e.g., DNS - Domain Name System (mlibsie@cs.aau.edu.et) • divide the name space into nonoverlapping zones • for details, see later in Chapter 5 - Naming an example of dividing the DNS name space into zones
  • 22. 22 c. Replication  replicate components across a distributed system to increase availability and for load balancing, leading to better performance  decided by the owner of a resource  caching (a special form of replication) also reduces communication latency; decided by the user  but, caching and replication may lead to consistency problems (see Chapter 7 - Consistency and Replication)
  • 23. 23 Pitfalls when Developing Distributed Systems False assumptions made by first time developers  The network is reliable  The network is secure  The network is homogeneous  The topology does not change  Latency is zero  Bandwidth is infinite  Transport cost is zero  There is one administrator
  • 24. 24 1.3 Types of Distributed Systems  Three types: distributed computing systems, distributed information systems, and distributed embedded systems 1. Distributed Computing Systems  Used for high-performance computing tasks  two types: cluster computing and grid computing  Cluster Computing  a collection of similar workstations or PCs (homogeneous), closely connected by means of a high-speed LAN  each node runs the same operating system  used for parallel programming in which a single compute intensive program is run in parallel on multiple machines
  • 25. 25 an example of a cluster computing system
  • 26. 26  Grid Computing  “Resource sharing and coordinated problem solving in dynamic, multi-institutional virtual organizations” (I. Foster)  high degree of heterogeneity: no assumptions are made concerning hardware, operating systems, networks, administrative domains, security policies, etc. 2. Distributed Information Systems  problem: many networked applications with a problem of interoperability  at the lowest level: wrap a number of requests into a single larger request and have it executed as a distributed transaction  how to let applications communicate directly with each other, i.e., Enterprise Application Integration (EAI)
  • 27. 27  Transaction Processing Systems  Consider database applications  special primitives are required to program transactions, supplied either by the underlying distributed system or by the language runtime system  exact list of primitives depends on the type of application Primitive Description BEGIN_TRANSACTION Mark the start of a transaction END_TRANSACTION Terminate the transaction and try to commit ABORT_TRANSACTION Kill the transaction and restore the old values READ Read data from a file, a table, or otherwise WRITE Write data to a file, a table, or otherwise
  • 28. 28  The Transaction Model  the model for transactions comes from the world of business  a supplier and a retailer negotiate on  price  delivery date  quality  etc.  until the deal is concluded they can continue negotiating or one of them can terminate  but once they have reached an agreement they are bound by law to carry out their part of the deal  transactions between processes is similar with this scenario
  • 29. 29  e.g., assume the following banking operation  withdraw an amount x from account 1  deposit the amount x to account 2  what happens if there is a problem after the first activity is carried out?  group the two operations into one transaction; either both are carried out or neither  we need a way to roll back when a transaction is not completed
  • 30. 30 (a) transaction to reserve three flights commits (b) transaction aborts when third flight is unavailable BEGIN_TRANSACTION reserve WP  JFK; reserve JFK  Nairobi; reserve Nairobi  Malindi; END_TRANSACTION (a) BEGIN_TRANSACTION reserve WP  JFK; reserve JFK  Nairobi; reserve Nairobi  Malindi full  ABORT_TRANSACTION (b)  e.g. reserving a seat from White Plains to Malindi through JFK and Nairobi airports
  • 31. 31  properties of transactions, often referred to as ACID 1. Atomic: to the outside world, the transaction happens indivisibly; a transaction either happens completely or not at all; intermediate states are not seen by other processes 2. Consistent: the transaction does not violate system invariants; e.g., in an internal transfer in a bank, the amount of money in the bank must be the same as it was before the transfer (the law of conservation of money); this may be violated for a brief period of time, but not seen to other processes 3. Isolated or Serializable: concurrent transactions do not interfere with each other; if two or more transactions are running at the same time, the final result must look as though all transactions run sequentially in some order 4. Durable: once a transaction commits, the changes are permanent; see later in Chapter 8
  • 32. 32  Classification of Transactions  a transaction could be flat, nested or distributed  Flat Transaction  consists of a series of operations that satisfy the ACID properties  simple and widely used but with some limitations  do not allow partial results to be committed or aborted  i.e., atomicity is also partly a weakness  in our airline reservation example, we may want to accept the first two reservations and find an alternative one for the last  some transactions may take too much time
  • 33. 33  Nested Transaction  constructed from a number of subtransactions; it is logically decomposed into a hierarchy of subtransactions  the top-level transaction forks off children that run in parallel, on different machines; to gain performance or for programming simplicity  each may also execute one or more subtransactions  permanence (durability) applies only to the top-level transaction; commits by children should be undone  Distributed Transaction  a flat transaction that operates on data that are distributed across multiple machines  problem: separate algorithms are needed to handle the locking of data and committing the entire transaction; see later in Chapter 8 for distributed commit
  • 34. 34 (a) a nested transaction (b) distributed transaction
  • 35. 35  Enterprise Application Integration  how to integrate applications independent from their databases  transaction systems rely on request/reply  how can applications communicate with each other middleware as a communication facilitator in enterprise application integration
  • 36. 36  there are different communication models  RPC (Remote procedure Call)  RMI (Remote Method Invocation)  MOM (Message-Oriented Communication)  see later in Chapter 4 3. Distributed Pervasive Systems  the distributed systems discussed so far are characterized by their stability; fixed nodes having high- quality connection to a network  there are also mobile and embedded computing devices with wireless connections
  • 37. 37  three requirements for pervasive applications  embrace contextual changes: a device is aware that its environment may change all the time  encourage ad hoc composition: devices are used in different ways by different users  recognize sharing as the default: devices join a system to access or provide information  examples of pervasive systems  Home Systems  Electronic Health Care Systems  Sensor Networks  read pages 27 - 30
  • 38.
  • 39. CHALLENGES IN DISTRIBUTED SYSTEMS Heterogeneity
  • 40. Heterogeneity Heterogeneity means the diversity of the distributed systems in terms of hardware, software, platform, etc. Modern distributed systems will likely to be operating with different: • 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. • Programing languages: Java, C/C++, Python, PHP, etc. • Different roles of software developers, designers, system managers • Middleware: 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. Eg: CORBA, RMI. • Heterogeneity in mobile code: Mobile code is used to refer to program code that can be transferred from one computer to another and run at the destination. • Eg: Java applets.
  • 41. Cont.. • Heterogeneity refers to the ability for the system to operate on a variety of different hardware and software components. This is achieved through the implementation of middle-ware in the software layer. • In a distributed system, heterogeneity is almost unavoidable, as different components may require different implementation technologies.
  • 42. 42 Heterogeneity • Applies to all of the following: • networks • Internet protocols mask the differences between networks • computer hardware • e.g. data types such as integers can be represented differently • operating systems • e.g. the API to IP differs from one OS to another • programming languages • data structures (arrays, records) can be represented differently • implementations by different developers • they need agreed standards so as to be able to interwork CDK Ch. 1.4
  • 43. 43 Middleware • A software layer that • masks the heterogeneity of systems • provides a convenient programming abstraction • provides protocols for providing general-purpose services to more specific applications, eg. • authentication protocols • authorization protocols • distributed commit protocols • distributed locking protocols • high-level communication protocols • remote procedure calls (RPC) • remote method invocation (RMI)
  • 44. 44 Middleware • General structure of a distributed system as middleware. 1-22
  • 45. 45 Middleware and Openness • In an open middleware-based distributed system, the protocols used by each middleware layer should be the same, as well as the interfaces they offer to applications. 1.23 TvS 1.25
  • 46. 46 Middleware programming models • Remote Calls • remote Procedure Calls (RPC) • distributed objects and Remote Method Invocation (RMI) • eg. Java RMI • Common Object Request Broker Architecture (CORBA) • cross-language RMI • Other programming models • remote event notification • remote SQL access • distributed transaction processing CDK Ch 1