SlideShare a Scribd company logo
Prepared by:
Mugisha Robert, Maulik Patel
Introduction
Issues and challenges
Publish/subscribe paradigm
Message Passing
Point-to-point/Message Queuing
Shared spaces
Remote invocation
References
2
 Important characteristics that distinguish distributed applications from
conventional applications which run on a single machine:
 Inter-process communication.
 Event synchronization.
 Paradigm means “a pattern, example, or model.”
 In the study of any subject of great complexity, it is useful to identify the
basic patterns or models, and classify the detail according to these
models.
 This presentation aims to present a classification of the paradigms for
distributed applications over mobile environment.
3
Abstractions
 Arguably the most fundamental concept in computer science, abstraction is
the idea of detail hiding.
We often use abstraction when it is not necessary to know the exact details
of how something works or is represented, because we can still make use of
it in its simplified form. Getting involved with the detail often tends to
obscure what we are trying to understand, rather than illuminate it.
 In software engineering, abstraction is realized with the provision of tools or
facilities which allow software to be built without the developer having to be
cognizant of some of the underlying complexities.
4
 Widely varying modes of use
 The system components are subject to wide variations in workload (e.g.
some web pages have millions of hits a day and some may have no hits).
Some applications have special requirements for high communication
bandwidth and low latency (e.g multimedia apps).
 Wide range of system environments
 A distributed system must accommodate heterogeneous hardware,
operating systems, and networks.
 Internal problems
 Non-synchronized clocks, concurrency problems, many modes of
hardware and software failures involving the individual components of
the system.
 External threats
 Attacks on data integrity, ensuring confidentiality, denial of service. 5
 The publish/subscribe message model offers a powerful
abstraction for multicasting or group communication.
 The publish operation allows a process to multicast to a group of
processes,
 and the subscribe operation allows a process to listen for such
multicast.
 Each message is then associated with a specific topic or
event.
 Applications interested in the occurrence of a specific event may
subscribe to messages for that event.
 When the awaited event occurs, the process publishes a message
announcing the event or topic.
 The middleware message system distributes the message to all its
subscribers.
6
7
Decoupling
 Between providers and consumers
 Increase scalability
 No dependencies
 No coordination & synchronization
 Create highly dynamic, decentralized systems
Dimensions Of Decoupling
 Space
 Time
 Synchronization (flow)
8
 Space decoupling
No need to hold references or even know each other
9
 Time decoupling
No need to be available at the same time
10
 Synchronization decoupling
Control flow is not blocked by the interaction
11
 Message passing is the most fundamental paradigm for
distributed applications.
 A process sends a message representing a request.
 The message is delivered to a receiver, which processes the
request, and sends a message in response.
 In turn, the reply may trigger a further request, which leads to a
subsequent reply, and so forth.
12
Process A
Process B
a message
Message passing
13
 The basic operations required to support the basic message
passing paradigm are send, and receive.
 For connection-oriented communication, the operations connect
and disconnect are also required.
 With the abstraction provided by this model, the interconnected
processes perform input and output to each other, in a manner
similar to file I/O. The I/O operations encapsulate the detail of
network communication at the operating-system level.
14
 In this model, a message system forwards a message from the
sender to the receiver’s message queue.
 Unlike the basic message passing model, the middleware provides a
message depository, and allows the sending and the receiving to be
decoupled.
 Via the middleware, a sender deposits a message in the message queue of
the receiving process.
 A receiving process extracts the messages from its message queue, and
handles each one accordingly.
15
16
 Messages stored in FIFO queue.
 Producers append messages asynchronously
 Consumers dequeue them synchronously
 Coupled in sync (consumer side)
 Here the nodes share a global address space and
communicate by writing to a global space.
 A typical representative of this model is a bulletin board
where groups of people can share their ideas by posting
information at a common shared location.
17
 Producers insert data asynchronously
 Consumers read data synchronously
 Coupled in sync (consumer side)
18
 Tuple space model, processes communication by inserting
and removing tuples from a shared tuple space.
 Which act like a globally shared memory.
 Tuple communication decoupled in time because process
can insert and retract tuple independently.
 Interaction model provide time & space decoupling.
19
 An in-based interaction: implement one-to-n semantics(only
one consumer reads given tuple)
 Read based interaction: implement one-to-n message
delivery(a given tuple can be read by all consumer)
20
 There are three operation perform in tuple space
 Out() :- To export a tuple into tuple space
 in() :- To import a tuple from tuple space
 Read():-To read a tuple from tuple space(without removing)
 Tuple space has originally integrated at the language level
in Linda. The original Linda model is
 Sun microsystem’s java spaces(1999)
 IBM Tspaces(2001)
21
 As applications grew increasingly complex, it became desirable
to have a paradigm which allows distributed applications to be
programmed in a manner similar to conventional applications
which run on a single processor.
 The Remote Procedure Call (RPC) model provides such an
abstraction. Using this model, inter-process communications
proceed as procedure, or function, calls, which are familiar to
application program.
22
 A remote procedure call involves two independent processes,
which may reside on separate machines.
 A process, A, wishing to make a request to another
process, B, issues a procedure call to B, passing with the call
a list of argument values.
 As in the case of local procedure calls, a remote procedure
call triggers a predefined action in a procedure provided by
process B.
 At the completion of the procedure, process B returns a
value to process A.
23
24
 Marshalling is the packing of procedure parameters into a
message packet
 The RPC stubs call type-specific procedures to marshal (or
unmarshal ) the parameters to a call
 The client stub marshals the parameters into a message
 The server stub unmarshals parameters from the message and uses
them to call the server procedure
 On Return
 The server stub marshals the return parameters
 The client stub unmarshals return parameters and returns them to the
client program
25
 Binding is the process of connecting the client to the server
 The server, when it starts up, exports its interface
 Identifies itself to a network name server
 Tells RPC runtime it’s alive and ready to accept calls
 The client, before issuing any calls, imports the server
 RPC runtime uses the name server to find the location of a
server and establish a connection
 The import and export operations are explicit in the server
and client programs
26
 Priya Venkitakrishnan, Sharan Raman, Smita Hegde & Sreekanth
Narasimhan, “Message Passing in Mobile Environments,” Project
Paper for Advanced Operating Systems Course, Spring 2002.
 P.Th. Eugster, P.A. Felber, R. Guerraoui, A.-M. Kermarrec, ‘The
Many Faces of Publish/Subscribe’, Microsoft Research Limited.
 Eiko Y oneki, ‘Mobile Applications with a Middleware System in
Publish-Subscribe Paradigm.’
27
 George Coulouris, Jean Dollimore, Tim Kindberg, “Distributed
Systems Concepts and Design”, Addison Wesley Publishers
Limited, Third Edition.
 Deepak G, Dr. Pradeep B S,“Challenging Issues and Limitations
of Mobile Computing”, IJCTA | JAN-FEB 2012.
 Yongqiang Huang, Hector Garcia-Molina, "Publish/Subscribe in
a Mobile Environment."
28
Designing Application over mobile environment

More Related Content

PPT
934 Ch1 Networks
PPT
Stij5014 distributed systems
PPT
Rmdtn ppt
DOCX
Delay Tolerant Network
PPTX
Routing in Delay Tolerant Networks
PPT
Chapter 5 slides
PDF
Updatable Queue Protocol Based On TCP For Virtual Reality Environment
934 Ch1 Networks
Stij5014 distributed systems
Rmdtn ppt
Delay Tolerant Network
Routing in Delay Tolerant Networks
Chapter 5 slides
Updatable Queue Protocol Based On TCP For Virtual Reality Environment

What's hot (20)

PDF
Multicasting in DTN Networks
PPTX
Intro to DTN and routing classification
PDF
Multicasting in Delay Tolerant Networks: Implementation and Performance Analysis
PPTX
Communication in Distributed Systems
PPTX
ROUTING STRATEGIES IN DTN
PPT
Peer to Peer services and File systems
PPT
Distributed System-Multicast & Indirect communication
PPTX
Performance analysis of Delay-Tolerant Routing Protocols in Intermittently Co...
PDF
Delay tolerant network routing protocol a comprehensive survey with hybrid...
PPT
Communications is distributed systems
PDF
Energy efficient cluster-based service discovery in wireless sensor networks
DOCX
Basic features of distributed system
PPTX
Unit 3 cs6601 Distributed Systems
PPTX
Routing protocol for delay tolerant network a survey and comparison
PPTX
Delay telerant network
PDF
Delay Tolerant Network - Journal
DOCX
WLAN IP and Frame
PPT
Chapter 3 slides
PPT
Chapter 3 a
Multicasting in DTN Networks
Intro to DTN and routing classification
Multicasting in Delay Tolerant Networks: Implementation and Performance Analysis
Communication in Distributed Systems
ROUTING STRATEGIES IN DTN
Peer to Peer services and File systems
Distributed System-Multicast & Indirect communication
Performance analysis of Delay-Tolerant Routing Protocols in Intermittently Co...
Delay tolerant network routing protocol a comprehensive survey with hybrid...
Communications is distributed systems
Energy efficient cluster-based service discovery in wireless sensor networks
Basic features of distributed system
Unit 3 cs6601 Distributed Systems
Routing protocol for delay tolerant network a survey and comparison
Delay telerant network
Delay Tolerant Network - Journal
WLAN IP and Frame
Chapter 3 slides
Chapter 3 a
Ad

Viewers also liked (8)

PDF
V Model
PPT
fundamenatals of cellular enginering
PDF
Mobile ip group_3
PPTX
i Image
PPT
Gsm system and radio frequency
PPTX
Mobile Transpot Layer
PPTX
wireless cellular network
PPT
Wap ppt
V Model
fundamenatals of cellular enginering
Mobile ip group_3
i Image
Gsm system and radio frequency
Mobile Transpot Layer
wireless cellular network
Wap ppt
Ad

Similar to Designing Application over mobile environment (20)

PDF
Inter-Process Communication in distributed systems
PPT
1. Overview of Distributed Systems
PDF
Ultra-scalable Architectures for Telecommunications and Web 2.0 Services
PPTX
Message Passing, Remote Procedure Calls and Distributed Shared Memory as Com...
PPTX
Chapter 2- distributed system Communication.pptx
PPT
DS-Chapter DDEFR2-Communication_105220.ppt
PPTX
CHP-4.pptx
PPTX
COMPLEXITY CHAPTER 4 LECTURE FOR FOURTH YEAR .pptx
PDF
3 f6 9_distributed_systems
PPT
Chapter 2B-Communication.ppt
PPT
distcomp.ppt
PPT
distcomp.ppt
PPT
distcomp.ppt
PPTX
Message and Stream Oriented Communication
PPT
Parallel systemhhzgzhzbzhhzhzhuzhzhzhhzhzh
PPTX
DS PPT NEW FOR DATA SCCIENCE FROM CSE DEPT CMR
PPTX
UNIT I DIS.pptx
PDF
LECTURE 3,4 &5Communication.pdfDistributed systems for computer students both...
PDF
LECTURE 3,4 &5Communication.pdf distributed systems continued
PPT
Chapter 4 communication2
 
Inter-Process Communication in distributed systems
1. Overview of Distributed Systems
Ultra-scalable Architectures for Telecommunications and Web 2.0 Services
Message Passing, Remote Procedure Calls and Distributed Shared Memory as Com...
Chapter 2- distributed system Communication.pptx
DS-Chapter DDEFR2-Communication_105220.ppt
CHP-4.pptx
COMPLEXITY CHAPTER 4 LECTURE FOR FOURTH YEAR .pptx
3 f6 9_distributed_systems
Chapter 2B-Communication.ppt
distcomp.ppt
distcomp.ppt
distcomp.ppt
Message and Stream Oriented Communication
Parallel systemhhzgzhzbzhhzhzhuzhzhzhhzhzh
DS PPT NEW FOR DATA SCCIENCE FROM CSE DEPT CMR
UNIT I DIS.pptx
LECTURE 3,4 &5Communication.pdfDistributed systems for computer students both...
LECTURE 3,4 &5Communication.pdf distributed systems continued
Chapter 4 communication2
 

Recently uploaded (20)

PDF
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
PPTX
Foundation to blockchain - A guide to Blockchain Tech
PDF
Model Code of Practice - Construction Work - 21102022 .pdf
PPTX
additive manufacturing of ss316l using mig welding
PPTX
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
PPT
CRASH COURSE IN ALTERNATIVE PLUMBING CLASS
PDF
Well-logging-methods_new................
PPTX
Lecture Notes Electrical Wiring System Components
PPTX
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
PDF
PPT on Performance Review to get promotions
PDF
Enhancing Cyber Defense Against Zero-Day Attacks using Ensemble Neural Networks
PPTX
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
PDF
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
PDF
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
PDF
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
PDF
Automation-in-Manufacturing-Chapter-Introduction.pdf
PPTX
CH1 Production IntroductoryConcepts.pptx
PPTX
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
PPTX
bas. eng. economics group 4 presentation 1.pptx
PDF
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
Foundation to blockchain - A guide to Blockchain Tech
Model Code of Practice - Construction Work - 21102022 .pdf
additive manufacturing of ss316l using mig welding
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
CRASH COURSE IN ALTERNATIVE PLUMBING CLASS
Well-logging-methods_new................
Lecture Notes Electrical Wiring System Components
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
PPT on Performance Review to get promotions
Enhancing Cyber Defense Against Zero-Day Attacks using Ensemble Neural Networks
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
Automation-in-Manufacturing-Chapter-Introduction.pdf
CH1 Production IntroductoryConcepts.pptx
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
bas. eng. economics group 4 presentation 1.pptx
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...

Designing Application over mobile environment

  • 2. Introduction Issues and challenges Publish/subscribe paradigm Message Passing Point-to-point/Message Queuing Shared spaces Remote invocation References 2
  • 3.  Important characteristics that distinguish distributed applications from conventional applications which run on a single machine:  Inter-process communication.  Event synchronization.  Paradigm means “a pattern, example, or model.”  In the study of any subject of great complexity, it is useful to identify the basic patterns or models, and classify the detail according to these models.  This presentation aims to present a classification of the paradigms for distributed applications over mobile environment. 3
  • 4. Abstractions  Arguably the most fundamental concept in computer science, abstraction is the idea of detail hiding. We often use abstraction when it is not necessary to know the exact details of how something works or is represented, because we can still make use of it in its simplified form. Getting involved with the detail often tends to obscure what we are trying to understand, rather than illuminate it.  In software engineering, abstraction is realized with the provision of tools or facilities which allow software to be built without the developer having to be cognizant of some of the underlying complexities. 4
  • 5.  Widely varying modes of use  The system components are subject to wide variations in workload (e.g. some web pages have millions of hits a day and some may have no hits). Some applications have special requirements for high communication bandwidth and low latency (e.g multimedia apps).  Wide range of system environments  A distributed system must accommodate heterogeneous hardware, operating systems, and networks.  Internal problems  Non-synchronized clocks, concurrency problems, many modes of hardware and software failures involving the individual components of the system.  External threats  Attacks on data integrity, ensuring confidentiality, denial of service. 5
  • 6.  The publish/subscribe message model offers a powerful abstraction for multicasting or group communication.  The publish operation allows a process to multicast to a group of processes,  and the subscribe operation allows a process to listen for such multicast.  Each message is then associated with a specific topic or event.  Applications interested in the occurrence of a specific event may subscribe to messages for that event.  When the awaited event occurs, the process publishes a message announcing the event or topic.  The middleware message system distributes the message to all its subscribers. 6
  • 7. 7
  • 8. Decoupling  Between providers and consumers  Increase scalability  No dependencies  No coordination & synchronization  Create highly dynamic, decentralized systems Dimensions Of Decoupling  Space  Time  Synchronization (flow) 8
  • 9.  Space decoupling No need to hold references or even know each other 9
  • 10.  Time decoupling No need to be available at the same time 10
  • 11.  Synchronization decoupling Control flow is not blocked by the interaction 11
  • 12.  Message passing is the most fundamental paradigm for distributed applications.  A process sends a message representing a request.  The message is delivered to a receiver, which processes the request, and sends a message in response.  In turn, the reply may trigger a further request, which leads to a subsequent reply, and so forth. 12
  • 13. Process A Process B a message Message passing 13
  • 14.  The basic operations required to support the basic message passing paradigm are send, and receive.  For connection-oriented communication, the operations connect and disconnect are also required.  With the abstraction provided by this model, the interconnected processes perform input and output to each other, in a manner similar to file I/O. The I/O operations encapsulate the detail of network communication at the operating-system level. 14
  • 15.  In this model, a message system forwards a message from the sender to the receiver’s message queue.  Unlike the basic message passing model, the middleware provides a message depository, and allows the sending and the receiving to be decoupled.  Via the middleware, a sender deposits a message in the message queue of the receiving process.  A receiving process extracts the messages from its message queue, and handles each one accordingly. 15
  • 16. 16  Messages stored in FIFO queue.  Producers append messages asynchronously  Consumers dequeue them synchronously  Coupled in sync (consumer side)
  • 17.  Here the nodes share a global address space and communicate by writing to a global space.  A typical representative of this model is a bulletin board where groups of people can share their ideas by posting information at a common shared location. 17
  • 18.  Producers insert data asynchronously  Consumers read data synchronously  Coupled in sync (consumer side) 18
  • 19.  Tuple space model, processes communication by inserting and removing tuples from a shared tuple space.  Which act like a globally shared memory.  Tuple communication decoupled in time because process can insert and retract tuple independently.  Interaction model provide time & space decoupling. 19
  • 20.  An in-based interaction: implement one-to-n semantics(only one consumer reads given tuple)  Read based interaction: implement one-to-n message delivery(a given tuple can be read by all consumer) 20
  • 21.  There are three operation perform in tuple space  Out() :- To export a tuple into tuple space  in() :- To import a tuple from tuple space  Read():-To read a tuple from tuple space(without removing)  Tuple space has originally integrated at the language level in Linda. The original Linda model is  Sun microsystem’s java spaces(1999)  IBM Tspaces(2001) 21
  • 22.  As applications grew increasingly complex, it became desirable to have a paradigm which allows distributed applications to be programmed in a manner similar to conventional applications which run on a single processor.  The Remote Procedure Call (RPC) model provides such an abstraction. Using this model, inter-process communications proceed as procedure, or function, calls, which are familiar to application program. 22
  • 23.  A remote procedure call involves two independent processes, which may reside on separate machines.  A process, A, wishing to make a request to another process, B, issues a procedure call to B, passing with the call a list of argument values.  As in the case of local procedure calls, a remote procedure call triggers a predefined action in a procedure provided by process B.  At the completion of the procedure, process B returns a value to process A. 23
  • 24. 24
  • 25.  Marshalling is the packing of procedure parameters into a message packet  The RPC stubs call type-specific procedures to marshal (or unmarshal ) the parameters to a call  The client stub marshals the parameters into a message  The server stub unmarshals parameters from the message and uses them to call the server procedure  On Return  The server stub marshals the return parameters  The client stub unmarshals return parameters and returns them to the client program 25
  • 26.  Binding is the process of connecting the client to the server  The server, when it starts up, exports its interface  Identifies itself to a network name server  Tells RPC runtime it’s alive and ready to accept calls  The client, before issuing any calls, imports the server  RPC runtime uses the name server to find the location of a server and establish a connection  The import and export operations are explicit in the server and client programs 26
  • 27.  Priya Venkitakrishnan, Sharan Raman, Smita Hegde & Sreekanth Narasimhan, “Message Passing in Mobile Environments,” Project Paper for Advanced Operating Systems Course, Spring 2002.  P.Th. Eugster, P.A. Felber, R. Guerraoui, A.-M. Kermarrec, ‘The Many Faces of Publish/Subscribe’, Microsoft Research Limited.  Eiko Y oneki, ‘Mobile Applications with a Middleware System in Publish-Subscribe Paradigm.’ 27
  • 28.  George Coulouris, Jean Dollimore, Tim Kindberg, “Distributed Systems Concepts and Design”, Addison Wesley Publishers Limited, Third Edition.  Deepak G, Dr. Pradeep B S,“Challenging Issues and Limitations of Mobile Computing”, IJCTA | JAN-FEB 2012.  Yongqiang Huang, Hector Garcia-Molina, "Publish/Subscribe in a Mobile Environment." 28