Docstoc

Diffusion

Document Sample
Diffusion Powered By Docstoc
					   Directed Diffusion
        Phani Teja Kuruganti
Electrical and Computer Engineering
                  Overview
Sensor Networks – Sensing, Communication and
Computation
Directed Diffusion
   Data – centric behaviour
   Data communication
   PUSH and GEAR
Network Routing API - 9.0.1
Obtaining and Configuring Diffusion
      Directed Diffusion

Data dissemination and co-ordination paradigm
developed for scalable wireless sensor networks.
Data –centric approach
Application specific in-network processing to
support long lived sensor network support.
Interest and data propagation and aggregation are
determined by localized interactions.
Hop – by – Hop communication in sensor networks
      Communication of Data

Data generated by the node is named
by attribute – value pairs
A node requests data by sending
interests for named data.
Data matching the interest is drawn
down towards the source node.
     API usage walk through

        Includes and Definitions
 Initialize Network routing on acertain port
Create callbacks and incoming subscriptions

   Setup Subscriptions and Publications

               Sending data

       Receive data callback function
            Attributes

The data requests and responses are
composed of data attributes
Each piece of subscription is described
via a key-value-operator triplet
implemented with a class attribute
             Attribute Examples

NRSimpleAttributeFactory<char *>
  TargetAttr(NRAttribute::TARGET_KEY,
  NRAttribute::STRING_TYPE);

NRSimpleAttributeFactory<char *>MobileAgent(APP_KEY1,
  NRAttribute::STRING_TYPE);

NRSimpleAttributeFactory<int>MobileAgentsize(APP_KEY2,
  NRAttribute::INT32_TYPE);
                   Example of Publication

handle setupPublication(NR *dr, char *nextip)
{
  NRAttrVec attrs;
  attrs.push_back(NRClassAttr.make(NRAttribute::IS, NRAttribute::DATA_CLASS));
  attrs.push_back(LatitudeAttr.make(NRAttribute::IS, 60.00));
  attrs.push_back(LongitudeAttr.make(NRAttribute::IS, 54.00));
  attrs.push_back(TargetAttr.make(NRAttribute::IS, nextip));

    handle h = dr->publish(&attrs);
    ClearAttrs(&attrs);
    return h;
}
         Example of Subscription/interest
                  propagation

handle setupInterest(NR *dr,char *nextip)
{
  NRAttrVec attrs;

    attrs.push_back(NRClassAttr.make(NRAttribute::NE, NRAttribute::DATA_CLASS));
    attrs.push_back(NRScopeAttr.make(NRAttribute::IS,
       NRAttribute::NODE_LOCAL_SCOPE));
    attrs.push_back(TargetAttr.make(NRAttribute::EQ, nextip));
    attrs.push_back(LatitudeAttr.make(NRAttribute::IS, 60.00));
    attrs.push_back(LongitudeAttr.make(NRAttribute::IS, 54.00));

    handle h = dr->subscribe(&attrs, mr);
    ClearAttrs(&attrs);
    return h;
}
       Interest Mechanism
Subscription periodically sends interest
messages with attributes
Interest messages flood through the network
When matching data is encountered simple
gradient is established between publisher to
subscriber.
When send function is called a Data message
with the attributes is made and sent.
Exploratory-data message for low-cost and to
obtain reinforced - gradient
                    PUSH
The send message is cheap – reinforced gradient,
but periodic sending is expensive because of
exploratory messages.
Basic diffusion is well suited for cases with many
publishers and few subscribers.
If the situation is reversed ( like in mobile agent)
PUSH mechanism should be used.
Interest messages are kept local to the nodes.
Positive reinforcement message for reinforced
gradient.
Periodic exploratory data messages are flooded
through the network
Useful when many subscribers and less publishers
               GEAR

Geographic Energy aware routing protocol
Use geographic information
Make a closed region for subscriptions and
publications
Avoids flooding
Application of Diffusion to Mobile agents


   Agents follow a hop – by – hop pattern
   Carry limited data (usually result or
   processing data)
   Less traffic since no control messages
   Efficient for event driven applications
Comparision of average dissipated energy
  for diffusion flooding and multicast[1]
Comparision of Average Delay   [1]
Impact of Node Failures   [1]
Impact of Node Failures   [1]
Impact of Node Failures   [1]
Obtaining and configuring diffusion

 Diffusion is freely available for Linux and ns-
 2.1b at http://www.isi.edu/scadds/software/
 Latest version is 3.1.3
 Also available as TinyDiffusion for TinyOS
 Contains a configure script and a readme file
 to describe the flags to be used for configure.
 Can be configured for Intel machines or
 Sensoria nodes with wired or wireless
 network
             References
Directed Diffusion:A scalable and robust
communication paradigm for sensor networks,
Chalermak Intanagoniwat, Ramesh Govindan and
Deborah Estrin
Network routing application programmer’s Interface
and walk through 9.0.1 Fabio Silva, John Heidemann
and Ramesh Govindan

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:2
posted:12/15/2011
language:
pages:20