PRIME

An Interest-Driven Approach to
Integrated Unicast and Multicast
Routing in MANETs
Protocol for Routing in Interest-defined
Mesh Enclaves
PRIME
Rolando Menchaca-Mendez
J.J. Garcia-Luna-Aceves
280N Seminar: 4/28/2008 - Santa Cruz, CA
Presentation Outline
• Introduction
• The Protocol for Routing in Interest-defined
Mesh Enclaves (PRIME)
–
–
–
–
–
–
–
Mesh Activation and Deactivation
Mesh Establishment and Maintenance
Opportunistic Transmission of Mesh Announcements
Enclaves vs. Meshes
Packet Forwarding and Local Repairs
Core Election
Adaptive Strategies
• Performance Results
• Conclusions
Introduction
• MANET applications require point-to-point and many-tomany communication, and very few destinations are
such that a large percentage of the nodes in the network
have interest in them.
• These application requirements are in stark contrast with
the way in which today's MANET routing protocols
operate.
– They support either unicast routing or multicast routing
– Proactive and on-demand routing protocols for unicasting and
multicasting proposed to date are such that the network is
flooded frequently
• This is the case even when the protocols maintain routing
information on demand (e.g., AODV and ODMRP)
Introduction
• The main contribution of this work is to introduce
an integrated framework for routing in MANETs.
– The same control signaling is used to support unicast
and multicast routing,
– The distinction between on-demand and proactive
signaling for routing is eliminated and interest-driven
signaling is used instead.
• Interest-defined mesh enclaves are established
and maintained
– Such meshes are connected components of a
MANET over which control signaling and data packets
for unicast or multicast flows are disseminated.
PRIME: Mesh Activation and
Deactivation
• The first source that becomes active for a given
unicast or multicast destination sends its first data
packet piggybacked in a mesh-activation request (MR)
– A MR contains, among other fields, an horizon threshold and
the persistence of the interest
– Destinations, relays needed
between them, and interested
Data packet
Inactive
sources remain active for as
MR
MA
long as there are active sources
Deactivation
in the connected component of
Deactivation
timeout
timeout
MR
MR
the network.
Receiver
Multicast-MA with
larger id
Core
MA
MA
Active State
PRIME: Mesh Establishment and
Maintenance
• Once a destination becomes active, it starts advertising
its existence using mesh announcements (MA).
• A MA contains the following fields:
– Message type
– Destination address
– Core address
• unicast destination, core of a multicast group, a flag that indicates that
the MA is a partition confirmation request, or a neighbor request
–
–
–
–
Sequence number
Distance to the destination
Next hop
Membership code
• mesh member, receiver, both, or regular node; in the case of a unicast
flow, the membership code is used to indicate the scope of the
dissemination of a MA; namely, flood or restricted to the enclave
PRIME: Mesh Establishment and
Maintenance
Receiver Rg
forces its parent
to join the
multicast mesh
Rg uses the
transmission of
d’s MA as an
implicit ACK
e
a
d
Core
c
Rg
b
Node b selects
the core as its
parent or next
hop
Transmission of MA
f
Parent Pointer
PRIME: Mesh Establishment and
Maintenance
Mesh composed
of braided paths
z
y
3
q
p
1
x
4
2
2
3
Core
S
p'’
p'
Path node
MM1
R1
2
w
Multicast
Mesh
1
1
MM
Mesh member
R
Group receiver
A similar
structure would
be used to route
unicast packets
from s to the core
PRIME: Opportunistic Transmission
of MAs
Mesh Announcement Interval
Delay for regular
events
Delay for
urgent
events
time t’
time t’’
time
Event for
Transmission Event for
Transmission
group 1
group 3
of a bundle
of a bundle
Events for group 1
or other groups
Urgent event for group 1 or other groups or
unicast destinations
No bundle is
transmitted at
this time
PRIME:Enclaves vs. Meshes
Unicast source of
destination w
Boundary of the
multicast enclave
z
y
p
S
p'’
x
Core
p'
Path node
MM
R1
MM1
Mesh member
R
w
Boundary of the unicast
enclave of destination w
Group receiver
Boundary of the 1extended enclave
PRIME:Enclaves vs. Meshes
The frequency with
which multicast-MAs are
forwarded outside of the
enclave decreases
exponentially
MAs are not
forwarded
beyond a unicast
enclave
PRIME: Packet Forwarding
• Upon reception of a data packet, nodes first check for a
hit in their data packet cache
– If the (sender's address, seq. num.) pair is already in the cache,
the packet is silently dropped.
– Otherwise, the receiving node inserts the pair in its cache and
determines whether it has to relay the data packet or not, and
passes the packet to the upper layers if it is also a receiver for
the flow.
• The two rules used to decide when to relay a multicast
data packet are:
– First, if the node is part of the multicast mesh it broadcasts the
packet without further processing.
– Second, a node located outside of the multicast mesh relays a
data packet it receives from a neighbor if it was selected by that
neighbor as one of its next hops to the core.
• data packets travel along meshes consisting of braided paths, until
they reach either the first mesh member or the core
PRIME: Packet Forwarding
z
y
p
q
S
p'’
x
Core
p'
MM
R1
MM1
R
w
PRIME: Packet Forwarding and
Local Repairs
• Unicast data packets are also routed using meshes
composed of braided shortest paths from sources to
destinations
– Nodes forward a unicast data packet they receive if they were
selected as a next hop to the destination by the previous relay of
the data packet
• Nodes located outside of the multicast mesh of a group
employ the transmission of data packets by their next
hops as implicit ACKs.
• If a node fails to receive three consecutive implicit ACKs
from a neighbor, then it removes that node from the
neighborhood list and takes one of three actions to
locally repair the braided path to the core or unicast
destination.
PRIME: Packet Forwarding and
Local Repairs
• If after removing the neighbor from the neighborhood list,
the current node is left with no paths to the core, then it
broadcasts a neighbor request.
• Neighbor requests are replied by nodes with MAs that
advertise their latest routing information regarding a
given destination.
d
a
b
PRIME: Local Repairs
• If the distance to the destination of the current node
increases, then it broadcasts a new MA that informs
other nodes of its new state.
• This way, a new set of neighbors will be selected as this
node's next hops and previous upstream nodes may
select new nodes as their next hops to the destination.
b
d
a
c
e
PRIME: Local Repairs
• If the distance to the destination of the current node does
not increase, then it checks its neighborhood list for
other potential next hops to the destination.
– If at least one of these potential nodes exists, then a MA is
transmitted to inform the potential next hop that it has been
selected as next hop.
– If no potential nodes are found, no further action is taken.
b
e
d
a
c
PRIME: Core Election
• Core elections are held only if the MR contains a multicast address.
• Upon reception of a MR, a receiver first determines whether it has
received a MA from the core of the multicast group within the last
two MA-intervals.
– If the node has, no further action in this regard is needed.
– Otherwise, the receiver considers itself the core of the group and starts
transmitting MAs to its neighbors, stating itself as the core of the group.
– Nodes propagate MAs based on the best announcements they receive
from their neighbors.
• A MA with a higher core id is considered better than one with a lower core
id.
• Eventually, each connected component has only one core.
• A core election is also held if the network is partitioned.
– A node detects a partition if it does not receive a fresh MA from the core
for three consecutive MA-intervals and if it has received data packets
within the last four MA-intervals.
PRIME: Adaptive Strategies
• Nodes employ information collected at the
MAC layer to select the strategy that best
fits the nodes' perceived channel
conditions.
• We use the following three strategies to
take advantage of that information:
– Adjust the size of the mesh
– Adjust the mesh dynamics
– Adjust timers
Performance Results
• We present simulation results comparing PRIME against
ODMRP and PUMA for the case of multicast traffic, as
well as against AODV with ODMRP and OLSR with
ODMRP for the case of combined unicast and multicast
traffic.
• We use packet delivery ratio, generalized group delivery
ratio, end-to-end delay, and total overhead as our
performance metrics.
– The generalized group delivery ratio is an extension of the group
reliability metric, in which a packet is considered as delivered, if
and only if it is received by a given proportion of the receivers,
– This metric emphasizes the importance of group delivery by not
considering packets that are received by a small subset of the
group members.
Performance Results: Simulation
Environment
Total Nodes
100
Node Placement
Random
Data Source
MCBR
Simulation Time
150s
MAC Protocol
802.11
Pkts. sent per src.
1000
Simulation Area
1800x1800m
Channel Capacity
2000000 bps
Transmission Power
15 dbm
Mobility Model
Random Waypoint Pause Time
10s
Min-Max Vel.
1-10m/s
Mobility Model
Group Mobility
Grp. Pause Time
10s
Grp. Min-Max Vel.
1-10m/s
Node Pause Time
10s
Node Min-Max Vel.
1-10m/s
Increasing Number of Sources:
Random Waypoint
Random Waypoint: 100 nodes, 1 group of 20 nodes, 10 packets per second
1
PRIME
ODMRP
PUMA
0.9
0.8
Delivery Ratio
0.7
0.6
0.5
0.4
0.3
0.2
0.1
2
4
6
8
10
12
14
16
Number of Senders
18
20
22
24
Increasing Number of Sources:
Random Waypoint
Random Waypoint: 100 nodes, 1 group of 20 nodes, 10 packets per second
1
PRIME
ODMRP
PUMA
0.9
Group Delivery Ratio (80%)
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
2
4
6
8
10
12
14
16
18
Number of concurrent active sources
20
22
24
Increasing Number of Sources:
Random Waypoint
Group Mobility: 100 nodes, 1 group of 20 nodes, 10 packets per second
40
PRIME
ODMRP
PUMA
Average End-to-End Delay (Seconds)
35
30
25
20
15
10
5
0
2
4
6
8
10
12
14
16
Number of Senders
18
20
22
24
Increasing Number of Sources:
Random Waypoint
Group Mobility: 100 nodes, 1 group of 20 nodes, 10 packets per second
Total number of packets transmitted per node
5000
PRIME
ODMRP
PUMA
4500
4000
3500
3000
2500
2000
1500
1000
500
0
2
4
6
8
10
12
14
16
Number of senders
18
20
22
24
Increasing Number of Sources:
Group Mobility
Group Mobility: 100 nodes, 1 group of 20 nodes, 10 packets per second
1
PRIME
ODMRP
PUMA
0.9
0.8
Delivery Ratio
0.7
0.6
0.5
0.4
0.3
0.2
0.1
2
4
6
8
10
12
14
16
Number of Senders
18
20
22
24
Increasing Number of Sources:
Group Mobility
Group Mobility: 100 nodes, 1 group of 20 nodes, 10 packets per second
1
PRIME
ODMRP
PUMA
0.9
Group Delivery Ratio (80%)
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
2
4
6
8
10
12
14
16
Number of Senders
18
20
22
24
Increasing Number of Sources:
Group Mobility
Group Mobility: 100 nodes, 1 group of 20 nodes, 10 packets per second
45
PRIME
ODMRP
PUMA
Average End-to-End Delay (Seconds)
40
35
30
25
20
15
10
5
0
2
4
6
8
10
12
14
16
Number of Senders
18
20
22
24
Increasing Number of Sources:
Group Mobility
Group Mobility: 100 nodes, 1 group of 20 nodes, 10 packets per second
Total number of packets transmitted per node
5000
PRIME
ODMRP
PUMA
4500
4000
3500
3000
2500
2000
1500
1000
500
0
2
4
6
8
10
12
14
16
Number of senders
18
20
22
24
Increasing Number of Groups:
Group Areas of 600x600m
Group area 600x600m, groups of 15 nodes, 1 src per grp and 10 pkts per second
0.94
0.92
Delivery Ratio
0.9
0.88
0.86
PRIME
0.84
PRIME
ODMRP
0.82
1
1.5
2
2.5
3
3.5
4
4.5
Number of concurrent active groups
5
5.5
6
Increasing Number of Groups:
Group Areas of 600x600m
Group area 600x600m, groups of 15 nodes, 1 src per grp and 10 pkts per second
1
Group Delivery Ratio (80%)
0.95
0.9
0.85
0.8
PRIME
0.75
PRIME
ODMRP
0.7
1
1.5
2
2.5
3
3.5
4
4.5
Number of concurrent active groups
5
5.5
6
Average End-to-End Delay (Seconds)
Increasing Number of Groups:
Group Areas of 600x600m
Group area 600x600m, groups of 15 nodes, 1 src per grp and 10 pkts per second
0.035
PRIME
ODMRP
PUMA
0.03
0.025
0.02
0.015
0.01
0.005
1
1.5
2
2.5
3
3.5
4
4.5
Number of concurrent active groups
5
5.5
6
Average total number of packets transmitted per node
Increasing Number of Groups:
Group Areas of 600x600m
Group area 600x600m, groups of 15 nodes, 1 src per grp and 10 pkts per second
900
PRIME
800
ODMRP
PUMA
700
600
500
400
300
200
100
0
1
1.5
2
2.5
3
3.5
4
4.5
Number of concurrent active groups
5
5.5
6
3 Sources per Group, Group Areas
of 600x600m
Grp area 600x600m, grps of 15 nodes, 3 sources per grp and 10 pkts per second
0.95
PRIME
ODMRP
PUMA
0.9
Delivery Ratio
0.85
0.8
0.75
0.7
0.65
1
1.5
2
2.5
3
3.5
4
4.5
Number of concurrent active groups
5
5.5
6
3 Sources per Group, Group Areas
of 600x600m
Grp area 600x600m, grps of 15 nodes, 3 sources per grp and 10 pkts per second
1
PRIME
ODMRP
PUMA
Group Delivery Ratio (80%)
0.95
0.9
0.85
0.8
0.75
0.7
0.65
1
1.5
2
2.5
3
3.5
4
4.5
Number of concurrent active groups
5
5.5
6
Average End-to-End Delay (Seconds)
3 Sources per Group, Group Areas
of 600x600m
Grp area 600x600m, grps of 15 nodes, 3 sources per grp and 10 pkts per second
6
PRIME
ODMRP
PUMA
5
4
3
2
1
0
1
1.5
2
2.5
3
3.5
4
4.5
Number of concurrent active groups
5
5.5
6
Average total number of packets transmitted per node
3 Sources per Group, Group Areas
of 600x600m
Grp area 600x600m, grps of 15 nodes, 3 sources per grp and 10 pkts per second
3000
PRIME
ODMRP
PUMA
2500
2000
1500
1000
500
0
1
1.5
2
2.5
3
3.5
4
4.5
Number of concurrent active groups
5
5.5
6
1 Source per Group, Group Areas
of 900x900m
Delivery Ratio
Group area 900x900m, groups of 15 nodes, 1 src per grp and 10 pkts per second
0.95
PRIME
ODMRP
PUMA
0.9
0.85
0.8
0.75
0.7
1
1.5
2
2.5
3
3.5
4
4.5
Number of concurrent active groups
5
5.5
6
1 Source per Group, Group Areas
of 900x900m
Group area 900x900m, groups of 15 nodes, 1 src per grp and 10 pkts per second
1
PRIME
0.95
ODMRP
PUMA
Group Delivery Ratio (80%)
0.9
0.85
0.8
0.75
0.7
0.65
0.6
0.55
1
1.5
2
2.5
3
3.5
4
4.5
Number of concurrent active groups
5
5.5
6
Average End-to-End Delay (Seconds)
1 Source per Group, Group Areas
of 900x900m
Group area 900x900m, groups of 15 nodes, 1 src per grp and 10 pkts per second
0.5
PRIME
0.45
ODMRP
PUMA
0.4
0.35
0.3
PRIME's standard
deviation marker
0.25
0.2
0.15
0.1
0.05
0
1
1.5
2
2.5
3
3.5
4
4.5
Number of concurrent active groups
5
5.5
6
Average total number of packets transmitted per node
1 Source per Group, Group Areas
of 900x900m
Group area 900x900m, groups of 15 nodes, 1 src per grp and 10 pkts per second
1500
PRIME
ODMRP
PUMA
1000
500
0
1
1.5
2
2.5
3
3.5
4
4.5
Number of concurrent active groups
5
5.5
6
3 Sources per Group, Group Areas
of 900x900m
Grp area 900x900m, grps of 15 nodes, 3 sources per grp and 10 pkts per second
0.9
PRIME
ODMRP
PUMA
Delivery Ratio
0.8
0.7
0.6
0.5
0.4
1
1.5
2
2.5
3
3.5
4
4.5
Number of concurrent active groups
5
5.5
6
3 Sources per Group, Group Areas
of 900x900m
Group Delivery Ratio (80%)
Grp area 900x900m, grps of 15 nodes, 3 sources per grp and 10 pkts per second
1
PRIME
ODMRP
0.9
PUMA
0.8
0.7
0.6
0.5
0.4
0.3
0.2
1
1.5
2
2.5
3
3.5
4
4.5
Number of concurrent active groups
5
5.5
6
Average End-to-End Delay (Seconds)
3 Sources per Group, Group Areas
of 900x900m
Grp area 900x900m, grps of 15 nodes, 3 sources per grp and 10 pkts per second
35
PRIME
ODMRP
30
PUMA
25
20
15
10
5
0
1
1.5
2
2.5
3
3.5
4
4.5
Number of concurrent active groups
5
5.5
6
Average total number of packets transmitted per node
3 Sources per Group, Group Areas
of 900x900m
Grp area 900x900m, grps of 15 nodes, 3 sources per grp and 10 pkts per second
3500
PRIME
ODMRP
3000
PUMA
2500
2000
1500
1000
500
0
1
1.5
2
2.5
3
3.5
4
4.5
Number of concurrent active groups
5
5.5
6
Combined Multicast and Unicast
Traffic
Grp area 900x900m, grps of 15 nodes, 3 src per grp, 5 ucast flows
PRIME mcast
PRIME ucast
ODMRP with AODV
AODV with ODMRP
ODMRP with OLSR
OLSR with ODMRP
0.9
0.8
Delivery Ratio
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
1
1.5
2
2.5
3
3.5
4
4.5
Number of concurrent active groups
5
5.5
6
Combined Multicast and Unicast
Traffic
Grp area 900x900m, grps of 15 nodes, 3 src per grp, 5 ucast flows
1
PRIME
ODMRP with AODV
ODMRP with OLSR
0.9
Group Delivery Ratio (80%)
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
1
1.5
2
2.5
3
3.5
4
4.5
Number of concurrent active groups
5
5.5
6
Combined Multicast and Unicast
Traffic
Grp area 900x900m, grps of 15 nodes, 3 src per grp, 5 ucast flows
50
PRIME mcast
PRIME ucast
ODMRP with AODV
AODV with ODMRP
ODMRP with OLSR
OLSR with ODMRP
Average End-to-End Delay (Seconds)
45
40
35
30
25
20
15
10
5
0
1
1.5
2
2.5
3
3.5
4
4.5
Number of concurrent active groups
5
5.5
6
Combined Multicast and Unicast
Traffic
Ctrl and Total Overhead (Avg. Num. of Pkts Tx. per Node)
Grp area 900x900m, grps of 15 nodes, 3 src per grp, 5 ucast flows
6000
PRIME: TO
PRIME: CO
ODMRP and AODV: TO
ODMRP and AODV: CO
ODMRP and OLSR: TO
ODMRP and OLSR: CO
5000
4000
3000
2000
1000
0
1
1.5
2
2.5
3
3.5
4
4.5
Number of concurrent active groups
5
5.5
6
Conclusions
•
•
•
•
We have shown by example that it is possible and perhaps desirable to
support the dissemination of information for end user applications using a
single routing protocol, and that interest-driven routing should be adopted
for MANETs
PRIME redefines how signaling is done for routing in MANETs by integrating
unicast and multicast routing using interest-driven establishment of meshes
and enclaves.
PRIME establishes meshes (connected components of a MANET) that are
activated and deactivated by the presence or absence of data traffic.
Enclaves confine most of the dissemination of control packets to those that
actually need the information.
– This property has a positive impact over the scalability of the protocol,
particularly in medium to large networks in which the members of the same
multicast group tend to be close by.
•
The results of a series of simulation experiments illustrate that PRIME
attains higher delivery ratios than ODMRP and PUMA for multicast traffic,
and higher delivery ratios than AODV and OLSR for unicast traffic. At the
same time, PRIME induces much less communication overhead and attains
lower delays than the other routing protocols.