© nCode 2000 Title of Presentation goes here - go to Master Slide to edit - Slide 1 Reliable...
-
date post
20-Dec-2015 -
Category
Documents
-
view
214 -
download
0
Transcript of © nCode 2000 Title of Presentation goes here - go to Master Slide to edit - Slide 1 Reliable...
© nCode 2000 Title of Presentation goes here - go to Master Slide to edit - Slide 1
Reliable Communication for Highly Mobile Agents
ECE 7995: Term PaperNovember 20, 2001
Gowri V Pai, Graduate Student Computer Engineering Department
Wayne State University
Reliable Communication for a Highly Mobile Agent
Authors Authors
Amy L Murphy
Gian Pietro Picco
Reliable Communication for a Highly Mobile Agent
IntroductionIntroduction
• Mobile Agent
Program that can migrate from machine to machine in a heterogeneous network
Reliable Communication for a Highly Mobile Agent
Topic of DiscussionTopic of Discussion
• Current Message Delivery Approaches
• Proposed Algorithm
• Application
• Interactive Close
Reliable Communication for a Highly Mobile Agent
Need for Reliable CommunicationNeed for Reliable Communication
• Asynchronous nature of message passing
• Asynchronous nature of agent migration
• Prevent any data loss
Reliable Communication for a Highly Mobile Agent
Current Message Delivery ApproachesCurrent Message Delivery Approaches
• Spanning Tree Broadcasting
Spanning tree broadcasting
Concept
Message broadcast using spanning tree of network nodes
Limitation
Message delivery fails when the agent and the message cross in the channel
Reliable Communication for a Highly Mobile Agent
Current Message Delivery ApproachesCurrent Message Delivery Approaches
• Forwarding
Forwarding
Concept
Home agent maintains a pointer to the mobile agent
Upon migration, mobile agent informs the home agent
Limitation
Message delivery fails when sent between migration and update, agent moved before message reached the destination
Retransmission not fool proof
Excessive communication
Reliable Communication for a Highly Mobile Agent
Enabling Reliable CommunicationEnabling Reliable Communication
• Filling in the gaps
Spanning tree broadcasting
Store Message
at nodes until
delivery is complete
Limitation
This guarantees delivery, but nodes will have to store messages for arbitrary lengths of time
Message is continually forwarded to new location, agent runs away and message never catches up
Reliable Communication for a Highly Mobile Agent
Proposed SolutionProposed Solution
• Phase I (Exactly once delivery) Network of nodes and channels is known in advance
Only one message is present in the system at a time
• Phase II (At least once delivery) Phase I results extended to concurrent multiple message
delivery
Reliable Communication for a Highly Mobile Agent
Proposed SolutionProposed Solution
• Model– Nodes represent servers willing to host agents
– Edges represent directional FIFO channels along which agents
can migrate and messages passed
– A path exists between every pair of nodes
– A channel does not necessarily exist between every pair of
nodes
– Mobile agent server tracks hosting agent
– Every agent has a globally unique identifier – direct message
Reliable Communication for a Highly Mobile Agent
Delivery in a Static Network GraphDelivery in a Static Network Graph
• Single Message Delivery
– Algorithm uses ideas from Snapshot Algorithm [Chandy et al ]
– Goal is to record the local state of the nodes and channels in
order to construct a consistent global state
– Initially all channels are “Open”
– A “Flushed” state of the channel implies all agents on that
channel ahead of the message have been forced out
– When all incoming channels of a node are “Flushed”, the
message copy at that node is deleted
Reliable Communication for a Highly Mobile Agent
Delivery in a Static Network GraphDelivery in a Static Network Graph
• Single Message Delivery
Network partitioned into three regions
Finished Processing
Processing
Not Yet Processing
Reliable Communication for a Highly Mobile Agent
Delivery in a Static Network GraphDelivery in a Static Network Graph
• Multiple Message Delivery
– Need for Concurrent flow of multiple messages
• To allow a source to transmit a burst of messages with out
waiting for the delivery of the first one to complete
• To allow multiple sources to transmit at the same time
– Message tagged with the identifier of the host that sent it
– A sequence number and “Buffering” state to address the case of
a message burst coming from a single source
– A vector of states and buffers is maintained to address
concurrent copies of message delivery by multiple sources.
Reliable Communication for a Highly Mobile Agent
Delivery in a Dynamic Network GraphDelivery in a Dynamic Network Graph
• Limitations of Static Message Delivery
– Necessitates knowing the network of neighbours
– Insensitive to which nodes have been active
• Objectives of Dynamic Message Delivery
– Flush channels and trap agents in regions of the network where
the message will propagate
– To allow network graph used for the delivery process to grow
dynamically as the agents migrate
Reliable Communication for a Highly Mobile Agent
Delivery in a Dynamic Network GraphDelivery in a Dynamic Network Graph
• Illustration - Destination ahead of source
- X is the sender of all messages (only active node)
- X sends burst of messages 1.. 4 to Y (X, Y active)
- X sends a second burst of messages 5..8
- Before message 5 arrives at Y, if an agent is sent from Y to Z, it is put on hold
- Only after messages 5..8 are received, these messages are delivered to the detained agent without broadcasting them to the neighboring nodes (X, Y, and Z active)
Reliable Communication for a Highly Mobile Agent
Delivery in a Dynamic Network GraphDelivery in a Dynamic Network Graph
• Illustration - Source ahead of Destination
- X is the sender of all messages (only active node)
- X sends burst of messages 1.. 4 to Y (X, Y active)
- X sends a second burst of messages 5..8
- Before message 5 arrives at Y, if an agent is sent from Z to Y, activation of channel (Z, Y) is delayed
- Only after message 8 is processed at Y, channel (Z,Y) is activated
Reliable Communication for a Highly Mobile Agent
Delivery in a Dynamic Network GraphDelivery in a Dynamic Network Graph
• Channel States
Closed Channels are not active in message delivery
Open Channel is waiting to participate in a message delivery
Flushed Current message being delivered has arrived on this channel
Buffering (j) Source is ahead of the destination Messages are buffered until j is processed
Holding (j) Destination is ahead of the sourceAgents are held until j arrives.
Reliable Communication for a Highly Mobile Agent
Delivery in a Dynamic Network GraphDelivery in a Dynamic Network Graph
• Multiple Message Sources
– Nodes can deliver n messages concurrently, at most one for
each node
Multiple instances of single message source algorithm
superimposed on the network
A vector of size n represents the state of incoming channel
Channel state associated with the node where the message
originated is used to process each message
All links are bi-directional to enable any node to originate a
message
Reliable Communication for a Highly Mobile Agent
Analysis of the Proposed MechanismAnalysis of the Proposed Mechanism
• Implementation Issues
– FIFO property must be maintained for every message and agent
travelling through the channel
– The mechanism assumes that the runtime support maintains
some state about the network graph and the messages being
exchanged
• Applicability
– Generates considerable overall traffic (compared to a forwarding
scheme)
Reliable Communication for a Highly Mobile Agent
Analysis of the Proposed MechanismAnalysis of the Proposed Mechanism
Tradeoffs
Guaranteed Delivery
Multicast Capable
Delivery Overhead
Knowledge Maintained
Forwarding No No One indirection
Agent location
Broadcast No Yes(no guarantees)
One msg / spanning tree edge
Spanning tree
Static Snapshot
Yes Yes One msg / edge
Neighbors(known in advance)
Dynamic Snapshot
Yes Yes One msg / traversed
edge
Neighbors(discovered)
Reliable Communication for a Highly Mobile Agent
ConclusionsConclusions
• Mobility makes message delivery inherently difficult
• Limitations of available techniques
– Do not guarantee message delivery
– Constrain movement or connectivity of mobile agents
• Proposed solution
– Uses distributed snapshot concept
– Complements available techniques
– Trades reliability for bandwidth consumption