SlideShare uma empresa Scribd logo
1 de 49
04/29/14 1
Communication
04/29/14 2
System Architecture & Communication
 System Architectures
 Processes
 Communication in a Distributed System
 Communication Abstractions
04/29/14 3
BUILDING A DISTRIBUTED SYSTEM
 Placing the hardware.
 Placing the software.
“Logical organization of components”
04/29/14 4
ARCHITECTURE
 Software Architecture of Distributed System:
 It deals with how software components are
organised and,
 how they work together, i.e., communicate with
each other.
 Typical software architectures include:
• layered,
• object-oriented,
• data-centred,
• and event-based
Software architectures
Contd…
System Architecture:
 placement of machines
 placement of software on machines
There is no single best architecture:
 The best architecture for a particular system depends on the
application requirements and the environment.
04/29/14 5
Architectural styles(1/4): Layered style
04/29/14 6
Observation: Layered style is used for client-server system.
Contd…
 Components at layer LN are allowed to call
components at underlying layers LN-1, but not
the other way around.
Database Layer
Data Management Layer
Applications Layer
User Interface Layer
Requests Results
Architectural styles (2/4): object based
04/29/14 8
Object
Object
Object
Object
Object
Method Calls
Basic idea: Organize into logically different components, and
subsequently distribute those components over the various
machines.
Observation: object-based style for distributed object systems.
 In essence, each object corresponds to what we have defined as
a component and
 these components are connected through a (remote) procedure
call mechanism.
component = object
connector = RPC or RMI
Architectural styles (3/4): data-centered
04/29/14 9
 Main purpose: data access and update
 Processes interact by reading and modifying data in
some shared repository (active or passive)
 Traditional database (passive): responds to requests
 Blackboard system (active): system updates clients when
information changes.
Architectural Styles (4/4): event-based
04/29/14 10
 Processes communicate through event
propagation
 ‘Publish/Subscribe’ systems
• Processes subscribed to events will receive them.
 Benefit is, components are loosely coupled;
 i.e. they don’t need to explicitly refer to each
other.
Contd…
04/29/14 11
Figure (a) The event-based architectural style
• Communication via event
propagation, in dist. Systems
communication often in
Publish/ Subscribe; e.g.,
register interest in market
info; get email updates
• Decouples sender &
receiver; asynchronous
communication
Event-based arch.
supports several
communication styles:
• Publish-subscribe
• Broadcast
• Point-to-point
Contd…
04/29/14 12
Figure (b) The shared data-space architectural style.
Data Centric Architecture; e.g., shared distributed file systems
or Web-based distributed systems
Combination of data-centered and event based architectures
Processes communicate asynchronously
04/29/14 13
CLIENT-SERVER
04/29/14 14
Client-Server from another perspective
A typical client-server application can be decomposed into three logical parts:
the interface part, the application logic part, and the data part.
Implementations of the client-server architecture vary with regards to how the
parts are separated over the client and server roles.
04/29/14 15
VERTICAL DISTRIBUTION (MULTI-TIER)
splitting up a server’s functionality over multiple computers
Three layers’ of functionality:
 User interface
 Processing/Application logic
 Data
 Splitting up the server functionality in this way is beneficial to a system’s scalability as well
as its flexibility.
 Scalability is improved because the processing load on each individual server is reduced,
and the whole system can therefore accommodate more users.
Logically different components on different machines
The vertical distribution, or multi-tier, architecture distributes the traditional server functionality
over multiple servers. A client request is sent to the first server.
04/29/14 16
Vertical Distribution from another perspective
04/29/14 17
HORIZONTAL DISTRIBUTION
replicating a server’s functionality over multiple computers
 In this case, each server machine contains a complete copy of all hosted
Web pages and client requests are passed on to the servers in a round
robin fashion.
 The horizontal distribution architecture is generally used to improve
scalability (by reducing the load on individual servers) and reliability (by
providing redundancy).
Logically equivalent components replicated on different machines
04/29/14 18
PEER TO PEER COMMUNICATION ARCHITECTURE
 All processes have client and server roles.
 With the potentially huge number of participating nodes in a peer to
peer network, it becomes practically impossible for a node to keep
track of all other nodes in the system and the information they offer.
04/29/14 19
OVERLAY NETWORKS
 How do peers keep track of all other peers?
 Overlay networks connect nodes in the P2P system
 Nodes in the overlay use their own addressing system for
storing and retrieving data in the system
 Nodes can route requests to locations that may not be
known by the requester.
 Overlay Network
1. Unstructured
2. Structured
04/29/14 20
UNSTRUCTURED OVERLAY
 Data stored at random nodes.
 Partial view: which means that a node partial view
consists of a random list of other nodes.
 Exchange partial views with neighbours to update.
04/29/14 21
STRUCTURED OVERLAY
 The choice of a node’s neighbours is determined according
to a specific structure.
 Nodes have identifier and range.
 Node is responsible for data that falls in its range.
 Search is routed to appropriate node.
Comparison
 Structured networks typically guarantee that if an
object is in the network it will be located in a
bounded amount of time.
 Unstructured networks offer no guarantees.
 For example, some will only forward search requests to a
specific number of hops
 Random graph approach means there may be loops
 Graph may become disconnected
04/29/14 23
HYBRID ARCHITECTURES
 Combination of architectures:
Examples:
 Super peer networks
 Edge-server systems
 Collaborative distributed systems
04/29/14 24
Superpeer Networks
 In this architecture a few superpeers form a peer to peer network, while the
regular peers are clients to a superpeer.
 Superpeers managing the index of the regular peers
 Act as servers to regular peer nodes, peers to other superpeers
 Improve scalability by controlling floods
04/29/14 25
Edge-Server Networks
 Servers are placed at the edge of the Internet
 Client nodes access the nearby edge servers instead of the original server
(which may be located far away).
 Mostly used for large-scale content distribution networks.
04/29/14 26
Collaborative Distributed Systems
 In collaborative distributed systems, peers typically support each other to
deliver content in a peer to peer like architecture, while they use a client
server architecture for the initial setup of the network.
 Nodes requesting to download a file from a server first contact the server to
get the location of a tracker.
 Tracker keeps track of active nodes that have chunks of file.
 Using information from the tracker, clients can download the file in chunks
from multiple sites in the network.
 Nodes must then offer downloaded chunks to other nodes and are registered
with the tracker, so that the other nodes can find them.
04/29/14 27
PROCESSES AND THREADS
 A process, in the simplest terms, is an executing program.
 One or more threads run in the context of the process.
 Sometimes threads are also referred to as lightweight
processes because they take up less operating system
resources than regular processes.
 A thread is the basic unit to which the operating system
allocates processor time. A thread can execute any part of
the process code, including parts currently being executed
by another thread.
PROCESSES AND THREADS
 Some systems provide only a process model, while others provide
only a thread model. More common are systems that provide both
threads and processes. In this case each process can contain
multiple threads, which means that the threads can only freely
access the memory of other threads in the same process.
 A server process in a distributed system typically receives many
requests for work from various clients, and it is important to
provide quick responses to those clients. In particular, a server
should not refuse to do work for one client because it is blocked
while doing work for another client. This is a typical result of
implementing a server as a single-threaded process.
 Alternatives to this are to implement the server using multiple
threads, one of which acts as a dispatcher, and the others acting as
workers.
04/29/14 28
04/29/14 29
STATEFUL VS STATELESS SERVERS
 Stateful:
 Keeps persistent information about clients
 Improved performance
 Expensive recovery
 Must track clients
 Stateless:
 Does not keep state of clients
 Soft state design: limited client state
 Can change own state without informing clients
 Increased communication
04/29/14 30
COMMUNICATION
In distributed system processes running on separate computers cannot
directly access each other’s memory.
 Two approaches to communication:
Shared memory-processes must have access to some form of shared
memory (i.e., they must be threads, they must be processes that can share
memory, or they must have access to a shared resource, such as a file)
In DSM the processes on separate computers all have access to the same
virtual address space. The memory pages that make up this address space
actually reside on separate computers.
Message passing- processes to communicate by sending each other messages
04/29/14 31
Shared Memory
 Shared Memory:
 There is no way to physically share memory
 Distributed Shared Memory
04/29/14 32
Message Passing
 Message Passing:
 Over the network
 Introduces higher chances of failure
 Heterogeneity introduces possible incompatibilities
04/29/14 33
DISTRIBUTED SHARED MEMORY (DSM)
04/29/14 34
COMMUNICATION MODES
 Data oriented vs control oriented communication
 Synchronous vs asynchronous communication
 Transient vs persistent communication
04/29/14 35
Data-Oriented vs Control-Oriented Communication
 Data-oriented communication
 Facilitates data exchange between threads
 Control-oriented communication
 Associates a transfer of control with every data transfer
 remote procedure call (RPC) & remote method invocation
(RMI)
 Observation:
 Hardware and OSes often provide data-oriented
communication
 Higher-level infrastructure often provides control-oriented
communication – middleware
04/29/14 36
Synchronous vs Asynchronous Communication
 Synchronous:
 Sender blocks until message received
• Often sender blocked until message is processed and a
reply received
 Sender and receiver must be active at the same time
 Client-Server generally uses synchronous communication
 Asynchronous:
 Sender continues execution after sending message (does not block waiting
for reply)
 Message may be queued if receiver not active
 Message may be processed later at receiver’s convenience
When is Synchronous suitable? Asynchronous?
04/29/14 37
Transient vs Persistent Communication
 Transient:
 Message discarded if cannot be delivered to receiver immediately
 a message will only be delivered if a receiver is active. If there is no
active receiver process (i.e., no one interested in or able to receive
messages) then an undeliverable message will simply be dropped.
 Example: HTTP request
 Persistent
 A message will be stored in the system until it can be delivered to the
intended recipient.
 Example: email
04/29/14 38
Possible combinations of synchronous/asynchronous and
transient/persistent communication
04/29/14 39
COMMUNICATION ABSTRACTIONS
 Number of communication abstractions that make writing distributed
applications easier.
Provided by higher level APIs:
 Remote Procedure Call (RPC)
 Remote Method Invocation (RMI)
 Message-Oriented Communication
 Group Communication
 Streams
04/29/14 40
REMOTE PR OCEDURE CALL (RPC)
 Idea: allows a computer program to cause a subroutine or procedure to
execute in another address space (commonly on another computer on a
shared network).
 Synchronous - based on blocking messages
 Message-passing details hidden from application
 Procedure call parameters used to transmit data
 Client calls local “stub” which does messaging and marshaling
04/29/14 41
REMOTE METHOD INVOCATION (RMI)
 The transition from Remote Procedure Call (RPC) to Remote Method
Invocation (RMI) is a transition from the server metaphor to the object
metaphor.
Why is this important?
 Using RPC: programmers must explicitly specify the server on which
they want to perform the call.
 Using RMI: programmers invoke methods on remote objects.
 More natural resource management and error handling
04/29/14 42
MESSAGE-ORIENTED COMMUNICATION:
MESSAGE-ORIENTED MIDDLEWARE (MOM)
 Message-oriented communication is provided by message-oriented middleware
(MOM).
Middleware support for message passing:-
 Asynchronous or Synchronous communication
 Persistent or Transient messages
 Various combinations of the above
What more does it provide than send()/receive()?
 Persistent communication (Message queues)
 Hides implementation details
 Marshaling (packing of function parameters into a message packet)
04/29/14 43
GROUP COMMUNICATION
 Sender performs a single send()
04/29/14 44
GROUP COMMUNICATION………..
 Two kinds of group communication:
 Broadcast (messgae sent to everyone)
 Multicast (message sent to specific group)
 Used for:
 Replication of services
 Replication of data
 Service discovery
 Issues:
 Reliability
 Ordering
 Example:
 IP multicast
04/29/14 45
STREAMS
 Support for Continuous Media
1. Between applications
2. Between devices
3. Data represented as single stream rather than discrete chunks
04/29/14 46
SUMMARY
 Architectures
 Client-server (and multi-tier)
 Peer to peer
 Hybrid architectures
 Processes in distributed systems
 Communication modes (data oriented vs control oriented,
synchronous vs asynchronous, transient vs persistent)
 Communication Aastractions
 RPC and RMI
 Message-oriented communication
 Group communication (multicast)
 Streams
04/29/14 47
Appendix:
Internet Group Management Protocol
• IP protocol can be involved in two types of communication: unicastingIP protocol can be involved in two types of communication: unicasting
and multicasting. Multicasting has many applications.and multicasting. Multicasting has many applications. For example,For example,
multiple stockbrokers can simultaneously be informed of changes in amultiple stockbrokers can simultaneously be informed of changes in a
stock price.stock price.
•IGMP is a protocol that manages group membership. The IGMPIGMP is a protocol that manages group membership. The IGMP
protocol gives the multicast routers information about the membershipprotocol gives the multicast routers information about the membership
status of hosts (routers) connected to the network. .status of hosts (routers) connected to the network. .
04/29/14 48
IGMP is a group management
protocol. It helps a multicast router
create and update a list of loyal
members related to each router
interface.
Note:Note:
04/29/14 49
IGMP message types

Mais conteúdo relacionado

Mais procurados

Processes and Processors in Distributed Systems
Processes and Processors in Distributed SystemsProcesses and Processors in Distributed Systems
Processes and Processors in Distributed SystemsDr Sandeep Kumar Poonia
 
Synchronization in distributed computing
Synchronization in distributed computingSynchronization in distributed computing
Synchronization in distributed computingSVijaylakshmi
 
Communication in Distributed Systems
Communication in Distributed SystemsCommunication in Distributed Systems
Communication in Distributed SystemsDilum Bandara
 
Group Communication (Distributed computing)
Group Communication (Distributed computing)Group Communication (Distributed computing)
Group Communication (Distributed computing)Sri Prasanna
 
Distributed Systems
Distributed SystemsDistributed Systems
Distributed SystemsRupsee
 
Agreement Protocols, distributed File Systems, Distributed Shared Memory
Agreement Protocols, distributed File Systems, Distributed Shared MemoryAgreement Protocols, distributed File Systems, Distributed Shared Memory
Agreement Protocols, distributed File Systems, Distributed Shared MemorySHIKHA GAUTAM
 
Inter-Process Communication in distributed systems
Inter-Process Communication in distributed systemsInter-Process Communication in distributed systems
Inter-Process Communication in distributed systemsAya Mahmoud
 
Multiprocessor structures
Multiprocessor structuresMultiprocessor structures
Multiprocessor structuresShareb Ismaeel
 
SLA Agreement, types and Life Cycle
SLA Agreement, types and Life Cycle SLA Agreement, types and Life Cycle
SLA Agreement, types and Life Cycle Dr Neelesh Jain
 
Optimistic concurrency control in Distributed Systems
Optimistic concurrency control in Distributed SystemsOptimistic concurrency control in Distributed Systems
Optimistic concurrency control in Distributed Systemsmridul mishra
 
Deadlock in Distributed Systems
Deadlock in Distributed SystemsDeadlock in Distributed Systems
Deadlock in Distributed SystemsPritom Saha Akash
 
System models in distributed system
System models in distributed systemSystem models in distributed system
System models in distributed systemishapadhy
 
2. Distributed Systems Hardware & Software concepts
2. Distributed Systems Hardware & Software concepts2. Distributed Systems Hardware & Software concepts
2. Distributed Systems Hardware & Software conceptsPrajakta Rane
 
Distributed shred memory architecture
Distributed shred memory architectureDistributed shred memory architecture
Distributed shred memory architectureMaulik Togadiya
 
Unit 3 cs6601 Distributed Systems
Unit 3 cs6601 Distributed SystemsUnit 3 cs6601 Distributed Systems
Unit 3 cs6601 Distributed SystemsNandakumar P
 

Mais procurados (20)

Processes and Processors in Distributed Systems
Processes and Processors in Distributed SystemsProcesses and Processors in Distributed Systems
Processes and Processors in Distributed Systems
 
Synchronization in distributed computing
Synchronization in distributed computingSynchronization in distributed computing
Synchronization in distributed computing
 
Communication in Distributed Systems
Communication in Distributed SystemsCommunication in Distributed Systems
Communication in Distributed Systems
 
Process Management-Process Migration
Process Management-Process MigrationProcess Management-Process Migration
Process Management-Process Migration
 
Naming in Distributed System
Naming in Distributed SystemNaming in Distributed System
Naming in Distributed System
 
Group Communication (Distributed computing)
Group Communication (Distributed computing)Group Communication (Distributed computing)
Group Communication (Distributed computing)
 
Distributed Systems
Distributed SystemsDistributed Systems
Distributed Systems
 
Distributed deadlock
Distributed deadlockDistributed deadlock
Distributed deadlock
 
Agreement Protocols, distributed File Systems, Distributed Shared Memory
Agreement Protocols, distributed File Systems, Distributed Shared MemoryAgreement Protocols, distributed File Systems, Distributed Shared Memory
Agreement Protocols, distributed File Systems, Distributed Shared Memory
 
Inter-Process Communication in distributed systems
Inter-Process Communication in distributed systemsInter-Process Communication in distributed systems
Inter-Process Communication in distributed systems
 
Multiprocessor structures
Multiprocessor structuresMultiprocessor structures
Multiprocessor structures
 
SLA Agreement, types and Life Cycle
SLA Agreement, types and Life Cycle SLA Agreement, types and Life Cycle
SLA Agreement, types and Life Cycle
 
Distributed Coordination-Based Systems
Distributed Coordination-Based SystemsDistributed Coordination-Based Systems
Distributed Coordination-Based Systems
 
Optimistic concurrency control in Distributed Systems
Optimistic concurrency control in Distributed SystemsOptimistic concurrency control in Distributed Systems
Optimistic concurrency control in Distributed Systems
 
Deadlock in Distributed Systems
Deadlock in Distributed SystemsDeadlock in Distributed Systems
Deadlock in Distributed Systems
 
System models in distributed system
System models in distributed systemSystem models in distributed system
System models in distributed system
 
2. Distributed Systems Hardware & Software concepts
2. Distributed Systems Hardware & Software concepts2. Distributed Systems Hardware & Software concepts
2. Distributed Systems Hardware & Software concepts
 
Distributed shred memory architecture
Distributed shred memory architectureDistributed shred memory architecture
Distributed shred memory architecture
 
Unit 3 cs6601 Distributed Systems
Unit 3 cs6601 Distributed SystemsUnit 3 cs6601 Distributed Systems
Unit 3 cs6601 Distributed Systems
 
Distributed Mutual exclusion algorithms
Distributed Mutual exclusion algorithmsDistributed Mutual exclusion algorithms
Distributed Mutual exclusion algorithms
 

Destaque

Unit 1 architecture of distributed systems
Unit 1 architecture of distributed systemsUnit 1 architecture of distributed systems
Unit 1 architecture of distributed systemskaran2190
 
Communication And Synchronization In Distributed Systems
Communication And Synchronization In Distributed SystemsCommunication And Synchronization In Distributed Systems
Communication And Synchronization In Distributed Systemsguest61205606
 
remote procedure calls
  remote procedure calls  remote procedure calls
remote procedure callsAshish Kumar
 
Clock Synchronization in Distributed Systems
Clock Synchronization in Distributed SystemsClock Synchronization in Distributed Systems
Clock Synchronization in Distributed SystemsZbigniew Jerzak
 
Group communication
Group communicationGroup communication
Group communicationvivek733
 
Fault tolerance in distributed systems
Fault tolerance in distributed systemsFault tolerance in distributed systems
Fault tolerance in distributed systemssumitjain2013
 
Clock Synchronization (Distributed computing)
Clock Synchronization (Distributed computing)Clock Synchronization (Distributed computing)
Clock Synchronization (Distributed computing)Sri Prasanna
 
Distributed computing
Distributed computingDistributed computing
Distributed computingDeepak John
 
Synchronization Pradeep K Sinha
Synchronization Pradeep K SinhaSynchronization Pradeep K Sinha
Synchronization Pradeep K SinhaJawwad Rafiq
 
Dsm (Distributed computing)
Dsm (Distributed computing)Dsm (Distributed computing)
Dsm (Distributed computing)Sri Prasanna
 
Logical Clocks (Distributed computing)
Logical Clocks (Distributed computing)Logical Clocks (Distributed computing)
Logical Clocks (Distributed computing)Sri Prasanna
 
Distributed shared memory shyam soni
Distributed shared memory shyam soniDistributed shared memory shyam soni
Distributed shared memory shyam soniShyam Soni
 
Inter process communication
Inter process communicationInter process communication
Inter process communicationRJ Mehul Gadhiya
 
Importance of group communication
Importance of group communication                Importance of group communication
Importance of group communication kathan patel
 
Distributed Shared Memory Systems
Distributed Shared Memory SystemsDistributed Shared Memory Systems
Distributed Shared Memory SystemsArush Nagpal
 
Distributed File System
Distributed File SystemDistributed File System
Distributed File SystemNtu
 

Destaque (19)

Unit 1 architecture of distributed systems
Unit 1 architecture of distributed systemsUnit 1 architecture of distributed systems
Unit 1 architecture of distributed systems
 
Communication And Synchronization In Distributed Systems
Communication And Synchronization In Distributed SystemsCommunication And Synchronization In Distributed Systems
Communication And Synchronization In Distributed Systems
 
remote procedure calls
  remote procedure calls  remote procedure calls
remote procedure calls
 
Clock Synchronization in Distributed Systems
Clock Synchronization in Distributed SystemsClock Synchronization in Distributed Systems
Clock Synchronization in Distributed Systems
 
Group communication
Group communicationGroup communication
Group communication
 
Group communication powerpoint
Group communication powerpointGroup communication powerpoint
Group communication powerpoint
 
Fault tolerance in distributed systems
Fault tolerance in distributed systemsFault tolerance in distributed systems
Fault tolerance in distributed systems
 
Clock Synchronization (Distributed computing)
Clock Synchronization (Distributed computing)Clock Synchronization (Distributed computing)
Clock Synchronization (Distributed computing)
 
Distributed computing
Distributed computingDistributed computing
Distributed computing
 
Synchronization Pradeep K Sinha
Synchronization Pradeep K SinhaSynchronization Pradeep K Sinha
Synchronization Pradeep K Sinha
 
Dsm (Distributed computing)
Dsm (Distributed computing)Dsm (Distributed computing)
Dsm (Distributed computing)
 
Logical Clocks (Distributed computing)
Logical Clocks (Distributed computing)Logical Clocks (Distributed computing)
Logical Clocks (Distributed computing)
 
Distributed shared memory shyam soni
Distributed shared memory shyam soniDistributed shared memory shyam soni
Distributed shared memory shyam soni
 
Inter process communication
Inter process communicationInter process communication
Inter process communication
 
Importance of group communication
Importance of group communication                Importance of group communication
Importance of group communication
 
6.Distributed Operating Systems
6.Distributed Operating Systems6.Distributed Operating Systems
6.Distributed Operating Systems
 
Distributed Operating System_4
Distributed Operating System_4Distributed Operating System_4
Distributed Operating System_4
 
Distributed Shared Memory Systems
Distributed Shared Memory SystemsDistributed Shared Memory Systems
Distributed Shared Memory Systems
 
Distributed File System
Distributed File SystemDistributed File System
Distributed File System
 

Semelhante a Communications is distributed systems

Chapter 2- Architecture os distributed system.ppt
Chapter 2- Architecture os distributed system.pptChapter 2- Architecture os distributed system.ppt
Chapter 2- Architecture os distributed system.pptAschalewAyele2
 
Distributed Computing Report
Distributed Computing ReportDistributed Computing Report
Distributed Computing ReportIIT Kharagpur
 
Network archetecture
Network archetectureNetwork archetecture
Network archetectureshah fahad
 
Chapter 3-Process in distributed system.ppt
Chapter 3-Process in distributed system.pptChapter 3-Process in distributed system.ppt
Chapter 3-Process in distributed system.pptAschalewAyele2
 
Chapter 2-Architectures2.ppt
Chapter 2-Architectures2.pptChapter 2-Architectures2.ppt
Chapter 2-Architectures2.pptMeymunaMohammed1
 
Chapter 2-Architectures23.ppt
Chapter 2-Architectures23.pptChapter 2-Architectures23.ppt
Chapter 2-Architectures23.pptMeymunaMohammed1
 
- Introduction - Distributed - System -
- Introduction - Distributed - System  -- Introduction - Distributed - System  -
- Introduction - Distributed - System -ssuser7c150a
 
Chapter-1-IntroDistributeddffsfdfsdf-1.pptx
Chapter-1-IntroDistributeddffsfdfsdf-1.pptxChapter-1-IntroDistributeddffsfdfsdf-1.pptx
Chapter-1-IntroDistributeddffsfdfsdf-1.pptxmeharikiros2
 
lec3_10.ppt
lec3_10.pptlec3_10.ppt
lec3_10.pptImXaib
 
Please identify hardware device(s) (peripherals) and describe how a NO.docx
Please identify hardware device(s) (peripherals) and describe how a NO.docxPlease identify hardware device(s) (peripherals) and describe how a NO.docx
Please identify hardware device(s) (peripherals) and describe how a NO.docxrtodd19
 
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
 
Chapter 1-Introduction.ppt
Chapter 1-Introduction.pptChapter 1-Introduction.ppt
Chapter 1-Introduction.pptbalewayalew
 

Semelhante a Communications is distributed systems (20)

Chapter 2- Architecture os distributed system.ppt
Chapter 2- Architecture os distributed system.pptChapter 2- Architecture os distributed system.ppt
Chapter 2- Architecture os distributed system.ppt
 
Distributed Computing Report
Distributed Computing ReportDistributed Computing Report
Distributed Computing Report
 
unit 4-1.pptx
unit 4-1.pptxunit 4-1.pptx
unit 4-1.pptx
 
Network archetecture
Network archetectureNetwork archetecture
Network archetecture
 
Distributed Systems.pptx
Distributed Systems.pptxDistributed Systems.pptx
Distributed Systems.pptx
 
Chapter 3-Process in distributed system.ppt
Chapter 3-Process in distributed system.pptChapter 3-Process in distributed system.ppt
Chapter 3-Process in distributed system.ppt
 
Chapter 2-Architectures2.ppt
Chapter 2-Architectures2.pptChapter 2-Architectures2.ppt
Chapter 2-Architectures2.ppt
 
Chapter 2-Architectures23.ppt
Chapter 2-Architectures23.pptChapter 2-Architectures23.ppt
Chapter 2-Architectures23.ppt
 
- Introduction - Distributed - System -
- Introduction - Distributed - System  -- Introduction - Distributed - System  -
- Introduction - Distributed - System -
 
Chapter-1-IntroDistributeddffsfdfsdf-1.pptx
Chapter-1-IntroDistributeddffsfdfsdf-1.pptxChapter-1-IntroDistributeddffsfdfsdf-1.pptx
Chapter-1-IntroDistributeddffsfdfsdf-1.pptx
 
SOFTWARE COMPUTING
SOFTWARE COMPUTINGSOFTWARE COMPUTING
SOFTWARE COMPUTING
 
Distributed architecture (SAD)
Distributed architecture (SAD)Distributed architecture (SAD)
Distributed architecture (SAD)
 
lec3_10.ppt
lec3_10.pptlec3_10.ppt
lec3_10.ppt
 
Ch12
Ch12Ch12
Ch12
 
Chapter One.ppt
Chapter One.pptChapter One.ppt
Chapter One.ppt
 
Please identify hardware device(s) (peripherals) and describe how a NO.docx
Please identify hardware device(s) (peripherals) and describe how a NO.docxPlease identify hardware device(s) (peripherals) and describe how a NO.docx
Please identify hardware device(s) (peripherals) and describe how a NO.docx
 
CSS 12 - Q1 - Lesson 3.pptx
CSS 12 - Q1 - Lesson 3.pptxCSS 12 - Q1 - Lesson 3.pptx
CSS 12 - Q1 - Lesson 3.pptx
 
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
 
04 Client Server Computing
04 Client Server Computing04 Client Server Computing
04 Client Server Computing
 
Chapter 1-Introduction.ppt
Chapter 1-Introduction.pptChapter 1-Introduction.ppt
Chapter 1-Introduction.ppt
 

Último

The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...ranjana rawat
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxupamatechverse
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...roncy bisnoi
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxpranjaldaimarysona
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingrknatarajan
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingrakeshbaidya232001
 
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur EscortsRussian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Bookingdharasingh5698
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdfKamal Acharya
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfKamal Acharya
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordAsst.prof M.Gokilavani
 
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxBSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxfenichawla
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Dr.Costas Sachpazis
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...ranjana rawat
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...Call Girls in Nagpur High Profile
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performancesivaprakash250
 
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...Call Girls in Nagpur High Profile
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations120cr0395
 

Último (20)

The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptx
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptx
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writing
 
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur EscortsRussian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdf
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
 
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxBSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINEDJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
 
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations
 

Communications is distributed systems

  • 2. 04/29/14 2 System Architecture & Communication  System Architectures  Processes  Communication in a Distributed System  Communication Abstractions
  • 3. 04/29/14 3 BUILDING A DISTRIBUTED SYSTEM  Placing the hardware.  Placing the software. “Logical organization of components”
  • 4. 04/29/14 4 ARCHITECTURE  Software Architecture of Distributed System:  It deals with how software components are organised and,  how they work together, i.e., communicate with each other.  Typical software architectures include: • layered, • object-oriented, • data-centred, • and event-based Software architectures
  • 5. Contd… System Architecture:  placement of machines  placement of software on machines There is no single best architecture:  The best architecture for a particular system depends on the application requirements and the environment. 04/29/14 5
  • 6. Architectural styles(1/4): Layered style 04/29/14 6 Observation: Layered style is used for client-server system.
  • 7. Contd…  Components at layer LN are allowed to call components at underlying layers LN-1, but not the other way around. Database Layer Data Management Layer Applications Layer User Interface Layer Requests Results
  • 8. Architectural styles (2/4): object based 04/29/14 8 Object Object Object Object Object Method Calls Basic idea: Organize into logically different components, and subsequently distribute those components over the various machines. Observation: object-based style for distributed object systems.  In essence, each object corresponds to what we have defined as a component and  these components are connected through a (remote) procedure call mechanism. component = object connector = RPC or RMI
  • 9. Architectural styles (3/4): data-centered 04/29/14 9  Main purpose: data access and update  Processes interact by reading and modifying data in some shared repository (active or passive)  Traditional database (passive): responds to requests  Blackboard system (active): system updates clients when information changes.
  • 10. Architectural Styles (4/4): event-based 04/29/14 10  Processes communicate through event propagation  ‘Publish/Subscribe’ systems • Processes subscribed to events will receive them.  Benefit is, components are loosely coupled;  i.e. they don’t need to explicitly refer to each other.
  • 11. Contd… 04/29/14 11 Figure (a) The event-based architectural style • Communication via event propagation, in dist. Systems communication often in Publish/ Subscribe; e.g., register interest in market info; get email updates • Decouples sender & receiver; asynchronous communication Event-based arch. supports several communication styles: • Publish-subscribe • Broadcast • Point-to-point
  • 12. Contd… 04/29/14 12 Figure (b) The shared data-space architectural style. Data Centric Architecture; e.g., shared distributed file systems or Web-based distributed systems Combination of data-centered and event based architectures Processes communicate asynchronously
  • 14. 04/29/14 14 Client-Server from another perspective A typical client-server application can be decomposed into three logical parts: the interface part, the application logic part, and the data part. Implementations of the client-server architecture vary with regards to how the parts are separated over the client and server roles.
  • 15. 04/29/14 15 VERTICAL DISTRIBUTION (MULTI-TIER) splitting up a server’s functionality over multiple computers Three layers’ of functionality:  User interface  Processing/Application logic  Data  Splitting up the server functionality in this way is beneficial to a system’s scalability as well as its flexibility.  Scalability is improved because the processing load on each individual server is reduced, and the whole system can therefore accommodate more users. Logically different components on different machines The vertical distribution, or multi-tier, architecture distributes the traditional server functionality over multiple servers. A client request is sent to the first server.
  • 16. 04/29/14 16 Vertical Distribution from another perspective
  • 17. 04/29/14 17 HORIZONTAL DISTRIBUTION replicating a server’s functionality over multiple computers  In this case, each server machine contains a complete copy of all hosted Web pages and client requests are passed on to the servers in a round robin fashion.  The horizontal distribution architecture is generally used to improve scalability (by reducing the load on individual servers) and reliability (by providing redundancy). Logically equivalent components replicated on different machines
  • 18. 04/29/14 18 PEER TO PEER COMMUNICATION ARCHITECTURE  All processes have client and server roles.  With the potentially huge number of participating nodes in a peer to peer network, it becomes practically impossible for a node to keep track of all other nodes in the system and the information they offer.
  • 19. 04/29/14 19 OVERLAY NETWORKS  How do peers keep track of all other peers?  Overlay networks connect nodes in the P2P system  Nodes in the overlay use their own addressing system for storing and retrieving data in the system  Nodes can route requests to locations that may not be known by the requester.  Overlay Network 1. Unstructured 2. Structured
  • 20. 04/29/14 20 UNSTRUCTURED OVERLAY  Data stored at random nodes.  Partial view: which means that a node partial view consists of a random list of other nodes.  Exchange partial views with neighbours to update.
  • 21. 04/29/14 21 STRUCTURED OVERLAY  The choice of a node’s neighbours is determined according to a specific structure.  Nodes have identifier and range.  Node is responsible for data that falls in its range.  Search is routed to appropriate node.
  • 22. Comparison  Structured networks typically guarantee that if an object is in the network it will be located in a bounded amount of time.  Unstructured networks offer no guarantees.  For example, some will only forward search requests to a specific number of hops  Random graph approach means there may be loops  Graph may become disconnected
  • 23. 04/29/14 23 HYBRID ARCHITECTURES  Combination of architectures: Examples:  Super peer networks  Edge-server systems  Collaborative distributed systems
  • 24. 04/29/14 24 Superpeer Networks  In this architecture a few superpeers form a peer to peer network, while the regular peers are clients to a superpeer.  Superpeers managing the index of the regular peers  Act as servers to regular peer nodes, peers to other superpeers  Improve scalability by controlling floods
  • 25. 04/29/14 25 Edge-Server Networks  Servers are placed at the edge of the Internet  Client nodes access the nearby edge servers instead of the original server (which may be located far away).  Mostly used for large-scale content distribution networks.
  • 26. 04/29/14 26 Collaborative Distributed Systems  In collaborative distributed systems, peers typically support each other to deliver content in a peer to peer like architecture, while they use a client server architecture for the initial setup of the network.  Nodes requesting to download a file from a server first contact the server to get the location of a tracker.  Tracker keeps track of active nodes that have chunks of file.  Using information from the tracker, clients can download the file in chunks from multiple sites in the network.  Nodes must then offer downloaded chunks to other nodes and are registered with the tracker, so that the other nodes can find them.
  • 27. 04/29/14 27 PROCESSES AND THREADS  A process, in the simplest terms, is an executing program.  One or more threads run in the context of the process.  Sometimes threads are also referred to as lightweight processes because they take up less operating system resources than regular processes.  A thread is the basic unit to which the operating system allocates processor time. A thread can execute any part of the process code, including parts currently being executed by another thread.
  • 28. PROCESSES AND THREADS  Some systems provide only a process model, while others provide only a thread model. More common are systems that provide both threads and processes. In this case each process can contain multiple threads, which means that the threads can only freely access the memory of other threads in the same process.  A server process in a distributed system typically receives many requests for work from various clients, and it is important to provide quick responses to those clients. In particular, a server should not refuse to do work for one client because it is blocked while doing work for another client. This is a typical result of implementing a server as a single-threaded process.  Alternatives to this are to implement the server using multiple threads, one of which acts as a dispatcher, and the others acting as workers. 04/29/14 28
  • 29. 04/29/14 29 STATEFUL VS STATELESS SERVERS  Stateful:  Keeps persistent information about clients  Improved performance  Expensive recovery  Must track clients  Stateless:  Does not keep state of clients  Soft state design: limited client state  Can change own state without informing clients  Increased communication
  • 30. 04/29/14 30 COMMUNICATION In distributed system processes running on separate computers cannot directly access each other’s memory.  Two approaches to communication: Shared memory-processes must have access to some form of shared memory (i.e., they must be threads, they must be processes that can share memory, or they must have access to a shared resource, such as a file) In DSM the processes on separate computers all have access to the same virtual address space. The memory pages that make up this address space actually reside on separate computers. Message passing- processes to communicate by sending each other messages
  • 31. 04/29/14 31 Shared Memory  Shared Memory:  There is no way to physically share memory  Distributed Shared Memory
  • 32. 04/29/14 32 Message Passing  Message Passing:  Over the network  Introduces higher chances of failure  Heterogeneity introduces possible incompatibilities
  • 34. 04/29/14 34 COMMUNICATION MODES  Data oriented vs control oriented communication  Synchronous vs asynchronous communication  Transient vs persistent communication
  • 35. 04/29/14 35 Data-Oriented vs Control-Oriented Communication  Data-oriented communication  Facilitates data exchange between threads  Control-oriented communication  Associates a transfer of control with every data transfer  remote procedure call (RPC) & remote method invocation (RMI)  Observation:  Hardware and OSes often provide data-oriented communication  Higher-level infrastructure often provides control-oriented communication – middleware
  • 36. 04/29/14 36 Synchronous vs Asynchronous Communication  Synchronous:  Sender blocks until message received • Often sender blocked until message is processed and a reply received  Sender and receiver must be active at the same time  Client-Server generally uses synchronous communication  Asynchronous:  Sender continues execution after sending message (does not block waiting for reply)  Message may be queued if receiver not active  Message may be processed later at receiver’s convenience When is Synchronous suitable? Asynchronous?
  • 37. 04/29/14 37 Transient vs Persistent Communication  Transient:  Message discarded if cannot be delivered to receiver immediately  a message will only be delivered if a receiver is active. If there is no active receiver process (i.e., no one interested in or able to receive messages) then an undeliverable message will simply be dropped.  Example: HTTP request  Persistent  A message will be stored in the system until it can be delivered to the intended recipient.  Example: email
  • 38. 04/29/14 38 Possible combinations of synchronous/asynchronous and transient/persistent communication
  • 39. 04/29/14 39 COMMUNICATION ABSTRACTIONS  Number of communication abstractions that make writing distributed applications easier. Provided by higher level APIs:  Remote Procedure Call (RPC)  Remote Method Invocation (RMI)  Message-Oriented Communication  Group Communication  Streams
  • 40. 04/29/14 40 REMOTE PR OCEDURE CALL (RPC)  Idea: allows a computer program to cause a subroutine or procedure to execute in another address space (commonly on another computer on a shared network).  Synchronous - based on blocking messages  Message-passing details hidden from application  Procedure call parameters used to transmit data  Client calls local “stub” which does messaging and marshaling
  • 41. 04/29/14 41 REMOTE METHOD INVOCATION (RMI)  The transition from Remote Procedure Call (RPC) to Remote Method Invocation (RMI) is a transition from the server metaphor to the object metaphor. Why is this important?  Using RPC: programmers must explicitly specify the server on which they want to perform the call.  Using RMI: programmers invoke methods on remote objects.  More natural resource management and error handling
  • 42. 04/29/14 42 MESSAGE-ORIENTED COMMUNICATION: MESSAGE-ORIENTED MIDDLEWARE (MOM)  Message-oriented communication is provided by message-oriented middleware (MOM). Middleware support for message passing:-  Asynchronous or Synchronous communication  Persistent or Transient messages  Various combinations of the above What more does it provide than send()/receive()?  Persistent communication (Message queues)  Hides implementation details  Marshaling (packing of function parameters into a message packet)
  • 43. 04/29/14 43 GROUP COMMUNICATION  Sender performs a single send()
  • 44. 04/29/14 44 GROUP COMMUNICATION………..  Two kinds of group communication:  Broadcast (messgae sent to everyone)  Multicast (message sent to specific group)  Used for:  Replication of services  Replication of data  Service discovery  Issues:  Reliability  Ordering  Example:  IP multicast
  • 45. 04/29/14 45 STREAMS  Support for Continuous Media 1. Between applications 2. Between devices 3. Data represented as single stream rather than discrete chunks
  • 46. 04/29/14 46 SUMMARY  Architectures  Client-server (and multi-tier)  Peer to peer  Hybrid architectures  Processes in distributed systems  Communication modes (data oriented vs control oriented, synchronous vs asynchronous, transient vs persistent)  Communication Aastractions  RPC and RMI  Message-oriented communication  Group communication (multicast)  Streams
  • 47. 04/29/14 47 Appendix: Internet Group Management Protocol • IP protocol can be involved in two types of communication: unicastingIP protocol can be involved in two types of communication: unicasting and multicasting. Multicasting has many applications.and multicasting. Multicasting has many applications. For example,For example, multiple stockbrokers can simultaneously be informed of changes in amultiple stockbrokers can simultaneously be informed of changes in a stock price.stock price. •IGMP is a protocol that manages group membership. The IGMPIGMP is a protocol that manages group membership. The IGMP protocol gives the multicast routers information about the membershipprotocol gives the multicast routers information about the membership status of hosts (routers) connected to the network. .status of hosts (routers) connected to the network. .
  • 48. 04/29/14 48 IGMP is a group management protocol. It helps a multicast router create and update a list of loyal members related to each router interface. Note:Note: