Docstoc

ppt format - EPFL école Polytechnique Fédérale de Lausanne

Document Sample
ppt format - EPFL école Polytechnique Fédérale de Lausanne Powered By Docstoc
					        Virtual Mobile Nodes
      for Mobile Ad Hoc Networks


Shlomi Dolev      Nancy Lynch     Seth Gilbert
Elad Schiller   Alex Shvartsman   Jennifer Welch
                 Challenges
                       Mobile nodes travel wherever they
Unpredictable motion   want to go.

                       Mobile nodes fail, go to sleep, and
Unreliable nodes       get turned off.
                       Mobile nodes can only send
Locality               messages to nearby nodes.
                       Global coordination is expensive.
                       Mobile nodes have small amounts
Limited computation
                       of memory and small processors.
power                  Big computation takes a long time.
                       Battery life is limited. When the
Limited energy         battery is empty, the node fails.
              Opportunities
                       It is possible to maintain highly
                       synchronized clocks, using a
Time synchronization   combination of GPS, clock synch
                       algorithms, and other techniques.
                       Mobile nodes move in a
Geography/Location     geographic world, and often have
                       access to their current location.
                       Wireless broadcast is a powerful
                       primitive. It allows a node to
Broadcast              reach all nearby nodes, and
                       ensure that they all receive the
                       same messages.
 System Model & Assumptions
Mobile Nodes
 – highly dynamic
   • travel on a continuous path in 2D plane
   • travel at a bounded speed ≤ vmax
   • join and leave the system
   • crash
 – have unique identifiers
 System Model & Assumptions
Geographic Information
 – each mobile node has a “GPS”
   • exact location information
   • exact time information
 System Model & Assumptions
Communication
 – local broadcast capability
   • message arrives at every node within
     distance ≤ R
   • message arrives in time ≤ d
 – strong assumption (???)
   • choose R small enough
   • use backoff protocol to ensure d
           Related Work
Compulsory Protocols
 – require (some) mobile nodes to move in
  a certain way
   • HPSTT (1999): leader election
   • CNS (2001): routing
   • LR (2000): routing
 – Much simpler protocols!
How to guarantee desired movement?
       Useful Techniques
Agent Algorithms
 – process jumps from one physical node to
  another
 – not fault-tolerant
Geographic Algorithms
 – GeoCast (Navas & Imielinski, „97)
 – Routing on Curve (Nath & Nicolescu, „03)
 – GeoQuorums (DGLSW, DISC ‟03)
      Compulsory Protocols
                   Agents
               Geography
  +            Replication


Virtual Mobile Nodes
Virtual Mobile Nodes
Virtual Mobile Nodes
      (VMNs)
       Virtual Mobile Nodes
Predictable
  – travel on a predefined path
       Virtual Mobile Nodes
Predictable
  – travel on a predefined path
       Virtual Mobile Nodes
Predictable
  – travel on a predefined path
       Virtual Mobile Nodes
Predictable
  – travel on a predefined path
       Virtual Mobile Nodes
Predictable
  – travel on a predefined path
       Virtual Mobile Nodes
Predictable
  – travel on a predefined path
  – VMN “program” is
    • local state
    • code
    • fixed path of travel
        Virtual Mobile Nodes
Predictable
  – travel on a predefined path


Reliable
  – no failures*
        Virtual Mobile Nodes
Predictable
  – travel on a predefined path


Reliable
  – no failures*
        Virtual Mobile Nodes
Predictable
  – travel on a predefined path


Reliable
  – no failures*
       Virtual Mobile Nodes
Predictable
  – travel on a predefined path


Reliable
  – no failures
  – recovery
       Virtual Mobile Nodes
Predictable
  – travel on a predefined path


Reliable
  – no failures
  – recovery
       Virtual Mobile Nodes
Predictable
  – travel on a predefined path


Reliable
  – no failures
  – recovery
       Virtual Mobile Nodes
Predictable
  – travel on a predefined path


Reliable
  – no failures
  – recovery
      Virtual Mobile Nodes
Communication
 – all “nearby” nodes
   • distance ≤ Rvirt
      Virtual Mobile Nodes
Communication
 – all “nearby” nodes
   • distance ≤ Rvirt
 – clients (real nodes)
      Virtual Mobile Nodes
Communication
 – all “nearby” nodes
   • distance ≤ Rvirt
 – clients (real nodes)
 – other VMNs
      Virtual Mobile Nodes
Communication
 – all “nearby” nodes
   • distance ≤ Rvirt
 – clients (real nodes)
 – other VMNs
 – may repeat, reorder
   messages
       Applications for VMNs
• Routing messages
  – Simple: single VMN traverses network
  – More VMNs: adapt idea of [CNS‟01]
  – Latency & space usage scale with number of
    VMNs and region size, not number of nodes
• Collecting & processing sensor data
  – Aggregate data as it is collected
• Group communication
         Applications for VMNs
•   Monitoring zebras
•   Tracking zebras
•   Collecting information on zebra behavior
•   Studying zebra migrations
•   Photographing zebras in the wild
VMN Implementation

(A High Level Overview)
  Simple VMN Implementation
• VMN is an Agent
  Simple VMN Implementation
• VMN is an Agent
  Simple VMN Implementation
• VMN is an Agent
  Simple VMN Implementation
• VMN is an Agent
  Simple VMN Implementation
• VMN is an Agent
  Simple VMN Implementation
• VMN is an Agent
• Not fault-tolerant!
Mobile Point Emulator
Mobile Point Emulator
       Mobile Point Emulator
• Replicate data at every mobile node within
  radius RMP of the VMN.




                                     RMP
       Mobile Point Emulator
• Replicate data at every mobile node within
  radius RMP of the VMN.
  – Use replicated state
    machine approach



                                     RMP
       Mobile Point Emulator
• Replicate data at every mobile node within
  radius RMP of the VMN.
       Mobile Point Emulator
• Replicate data at every mobile node within
  radius RMP of the VMN.
       Mobile Point Emulator
• Replicate data at every mobile node within
  radius RMP of the VMN.
        What can the VMN do?
1. VMN receives a message from a client
    •   E.g., a sensor sends a message to a VMN
        saying, “The temperature is 40 degrees.”
2. VMN sends a message to a client
    •   E.g., a VMN sends a message to a sensor
        saying, “What is the average temperature?”
3. VMN does a step of computation
    •   E.g., a VMN adds two temperature readings
        together.
    VMN receives a message
1. Client sends message to VMN




                                 VMN


 Client
    VMN receives a message
1. Client sends message to VMN



      The temperature
       is 40 degrees.            VMN


 Client
    VMN receives a message
1. Client sends message to VMN
2. Some node receives the message



                                    VMN


 Client
    VMN receives a message
1. Client sends message to VMN
2. Some node receives the message
3. Message resent to all The temperature
                             is 40 degrees.


                                              VMN


 Client
    VMN receives a message
1. Client sends message to VMN
2. Some node receives the message
3. Message resent to all

                                    VMN


 Client
      VMN receives a message
1.   Client sends new message to VMN
2.   Some node receives the message
3.   Message resent to all
4.   VMN processes
     new message                       VMN


 Client
               VMN Actions
1. Action is initiated
  •   Some node decides that the VMN should
      receive a message, send a message, or
      perform a step of computation.
2. Proposal is sent to all other nodes
  •   All nodes know that the action is proposed.
3. Each node performs the action.
  •   All nodes therefore perform the same action.
Joining and Leaving a VMN
   Joining and Leaving a VMN
Leaving is easy!
   Joining and Leaving a VMN
Leaving is easy!
   Joining and Leaving a VMN
Leaving is easy!
   Joining and Leaving a VMN
Leaving is easy!
Failures are easy.
   Joining and Leaving a VMN
Joining:
   Joining and Leaving a VMN
Joining:
   Joining and Leaving a VMN
Joining:
   Joining and Leaving a VMN
Joining:
1. Send join request

           Can I join?
   Joining and Leaving a VMN
Joining:
1. Send join request
2. Listen for updates
   Joining and Leaving a VMN
Joining:
1. Send join request
2. Listen for updates

                        Do step 723
   Joining and Leaving a VMN
Joining:
1. Send join request
2. Listen for updates
   Joining and Leaving a VMN
Joining:                You can join.
1. Send join request     Here is the
                        current state.
2. Listen for updates
3. Node sends join
   response
   Joining and Leaving a VMN
Joining:
1. Send join request
2. Listen for updates
3. Node sends join
   response
4. Become active
      Failure and Recovery
• If VMN moves to an empty region…
      Failure and Recovery
• If VMN moves to an empty region…
      Failure and Recovery
• If VMN moves to an empty region…
      Failure and Recovery
• If VMN moves to an empty region…
       Failure and Recovery
• If VMN moves to an empty region, then
  the VMN fails.
      Failure and Recovery
• If VMN moves to an occupied region…
      Failure and Recovery
• If VMN moves to an occupied region…
      Failure and Recovery
• If VMN moves to an occupied region…
1. Try to join


                     Can I join?
      Failure and Recovery
• If VMN moves to an occupied region…
1. Try to join.
2. No response…
                      Hello?!?
        Failure and Recovery
•    If VMN moves to an occupied region…
1.   Try to join.
2.   No response…
3.   Reset                Reset
        Failure and Recovery
•    If VMN moves to an occupied region…
1.   Try to join.
2.   No response…
3.   Reset
Maintaining Consistency
       Maintaining Consistency



The temperature
 is 40 degrees.




  Client
       Maintaining Consistency
                          The temperature
                           is 50 degrees.




The temperature
 is 40 degrees.




  Client
       Message Total Ordering
Nodes process messages in the same order
  1.   Message has unique timestamp.
  2.   Broadcast message.
  3.   Delay message until > d time passes.
  4.   Deliver messages in timestamp ordering.
       Message Total Ordering
Nodes process messages in the same order
  1.   Message has unique timestamp.
  2.   Broadcast message.
  3.   Delay message until > d time passes.
  4.   Deliver messages in timestamp ordering.


Assume R > 2Rvirt + dvmax.
       Message Total Ordering
Nodes process messages in the same order
  1.   Message has unique timestamp.
  2.   Broadcast message.
  3.   Delay message until > d time passes.
  4.   Deliver messages in timestamp ordering.


Assume R > 2Rvirt + dvmax.
• If a node in a MP sends a message, all
   other active nodes in MP receive it.
            Proof Sketch
• Uses timed I/O automata model.
• For each execution E of the simulating
  system, show there exists a corresponding
  execution E’ of the virtual system.
• Proof is by induction on the sequence of
  actions in E.
 E’

                      “forward simulation relation”

 E
              Discussion
• It is hard to develop algorithms for
  mobile ad hoc networks.
                  Discussion
• It is hard to develop algorithms for
  mobile ad hoc networks.
• Virtual Mobile Nodes
  – Predictable
  – Reliable
                  Discussion
• It is hard to develop algorithms for
  mobile ad hoc networks.
• Virtual Mobile Nodes
  – Predictable
  – Reliable
• We develop an algorithm to
  implement virtual mobile nodes.
            Drawbacks
• Reliable and timely communication
  service
            Drawbacks
• Reliable and timely communication
  service
• Trusted environment
             Drawbacks
• Reliable and timely communication
  service
• Trusted environment
• Replication is potentially expensive in
  terms of communication and power.
          Open Questions
• Optimization and Implementation
    • Minimize messages when membership stable
    • Other experimental and practical issues
          Open Questions
• Optimization and Implementation
    • Minimize messages when membership stable
    • Other experimental and practical issues
• Tolerate unreliable and untimely
  communication
          Open Questions
• Optimization and Implementation
    • Minimize messages when membership stable
    • Other experimental / practical issues
• Tolerate unreliable and untimely
  communication
• More dynamic VMNs
  – Determine route on-the-fly
  – Generate new VMNs dynamically
The End

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:11
posted:3/28/2011
language:English
pages:104