Title: Paper Mobile Service Discovery Protocol MSDP for Mobile AdHoc Networks
1Paper - Mobile Service Discovery Protocol (MSDP)
for Mobile Ad-Hoc Networks
Liang, Jui-Chi Chen, Jyh-Cheng Zhang,
Tao Autonomous Decentralized Systems, 2007.
ISADS '07. Eighth International Symposium
on 21-23 March 2007 Page(s)352 - 362 Digital
Object Identifier 10.1109/ISADS.2007.50
2007. 07. 04 Keon-il Jeong
2 Contents
1. Introduction 2. Related works 3. The Mobile
Service Discovery Protocol 4.Simulation
Results 5.Conlustion
3Introduction
- MANET
- The networks are dynamically changing
- Has several common characteristics with p2p
network - Unstable links
- Deploying p2p networks directly in MANETs will
induce heavy message overhead - MSDP has
- Low message overhead
- Message overhead has greater influence on the
overall performance - Scalability and robustness
- The number of nodes in a MANET can change
dynamically - MANET should have stable performance and be
scalable and robust
4Related Works
- ORION p2p file sharing protocol
- Search file by broadcasting message
- Group-based Service Discovery(GSD)
- Uses DARPA Agent Markup Language(DAML) to
describe service information - On-Demand Multicast Routing Protocol(ODMRP)
- Reduce the service query overheads
- Multi-layered Cluster structure
- Service discovery messages are delivered using
clustered structure - Allia Alliance-based Service Discovery protocol
- According to some rules, dynamic groups can be
formed - Konark
- Is programmed to run on cell phones
- MSDP
- Group nodes in a MANET into clusters and use DHT
5The Mobile Service Discovery Protocol
1. Dynamic Cluster Formation
- Every node
- Has a 128-bit integer as the unique
identifier(UID) - Apply the SHA1 to nodes IP address or MAC
address - Has three states - Unknown, Member, or Head
- The radius of the cluster is CSIZE hops from the
cluster Head - Has a countdown timer whose maximum value is
TIMER_MAX sec - Broadcasts a Hello Message(HM) every
HELLO_INTERVAL sec - With time-to-live field set to one
- HM contains the UID and state of the sender
- HM contains the neighbor information and the
cluster information including nodes within CSIZE
hops and cluster heads within (2 X CSIZE 1) hops
6The Mobile Service Discovery Protocol
1. Dynamic Cluster Formation
- Sending rate of the HM can be changed
- Upon hearing a HM, a node handles incoming HMs
- Store the UID and state of each node the HM
carries in its Neighbor Table
7The Mobile Service Discovery Protocol
1. Dynamic Cluster Formation
- A node executes alogorithms2 when its countdown
timer expires
8The Mobile Service Discovery Protocol
1. Dynamic Cluster Formation
- The cluster formation process
- Assume that all nodes are initially in Unknown
state (a) - They exchange HMs and learn the existence of
their neighbors - The timers of the nodes with local minimal UIDs
will expire first - Then make these nodes changes their states to
Head (b) - When the Unknown nodes receive HMs from the Head
nodes - Then they change their states to Member (c)
- A node does not have local minimal UID nor is it
under coverage of any Head nodes (Node 6) - After the timer of this node expires, it becomes
Head node (d) - Finally, all nodes are either in Head or Member
state and clusters are formed
9The Mobile Service Discovery Protocol
1. Dynamic Cluster Formation
10The Mobile Service Discovery Protocol
2. Service Discovery and Caching
- Use SHA1
- Input service information or description
- Output an integer key
- Use Consistent Hashing
- Map the integer to one of the keys in the UID key
space - Keys in the UID key space are sorted in
increasing order and form a circular linked-list - If the size of the key space is n, takes an
integer i as input and finds the nearest key k - K is the smallest key that is no less than (i mod
n) - If (i mod n) is greater than the largest key in
the key space, then k is the smallest key in the
key space
11The Mobile Service Discovery Protocol
2. Service Discovery and Caching
- When a user want to find a specific service
- Packs service description along with the 128-bit
ID used to represent the description in a Service
Request packet - And sends the packet to the Head he belongs to
- When a Head receives the Service Request
- It uses consistent hashing to map the ID to one
of its Member nodes - And relays the Service Request
- When the Member node receives the Service Request
- It checks its own service database
- If found, it sends back a Service Reply
containing the service information - Otherwise, it sends back a Service Reply with no
service information - If the user receives a Service Reply that
indicates no service - With the help of the local cluster head broadcast
a Service Request to all Head nodes - Head nodes query all the Member nodes they have
12The Mobile Service Discovery Protocol
2. Service Discovery and Caching
- If the user receives a Service Reply that
indicates no service (Cont.) - Eventually, the user will receive a Service Reply
- After assuring the availability of the service,
the user sends out a Service Publish packet to
his cluster head - The head uses consistent hashing to map the
service information to a Member node and relays
the packet to that Member - The Member receives the Service Publish
- Then caches the service information in its
database - Later when other users in the cluster wish to
access the same service, their requests can be
fulfilled locally - Caching service information can reduce the
message overhead occurs during service discovery
process
13The Mobile Service Discovery Protocol
2. Service Discovery and Caching
- In the MSDP, the service information items are
cached in soft states - When a service information has not been accessed
for EXPIRE_PERIOD seconds - It will be removed from the cache database
- Two advantages of using soft state to store
service information - First, service providers do not have to
periodically update their service - Less network resources are consumed
- Second, frequently used services will stay and
services that are not in popular demands will be
removed quickly - This leads to more efficient use of node storage
space
14Simulation Results
- Implemented the MSDP and the Chord in ns2
- Three metrics
- Message overhead
- Is the total number of packets generated
- Reply-to-Query Ratio (RQR)
- The probability that a user correctly receives a
service reply of a service request he sends - Cache-to-Reply Ratio (CRR)
- The probability that a service reply sent by a
user is received from a local cache
15Simulation results
- The simulation results under static scenario
16Simulation results
- The simulation results under different mobile
moving speed - From pedestrian speed(5 m/s) to vehicular
speed(20m/s) - The degradation of the RQR of the MSDP is mainly
due to the underlying physical layer limitation - The degradation of the RQR of the Chord is due to
the physical layer limitation and the large
amount of message overhead (a)
17Simulation results
18Simulation results
- The simulation results under different mobile
moving speed with slow moving service providers
(Figure 4) - The service provider is less than 2 m/s while the
speed of the ordinary mobiles ranges from 5 m/s
to 20 m/s - The simulation results under different mobile
moving speed with fast moving service providers
(Figure 5) - The moving speed of service providers ranges from
5 m/s to 20 m/s while the speed of ordinary users
is less than 2 m/s - The number of service providers is fixed at 20
- The MSDP can efficiently maintain the stability
of clusters and provide good quality of service
in terms of RQR - The RQR of the Chord protocol is unfavorable due
to the large amount of message overhead
19Simulation results
20Simulation results
21Conclusion
- The MSDP
- Combines dynamic cluster formation and
distributed hash tables - Can efficiently organize the MANET to provide
service information caching - has steady performance in terms of service
information discovery and caching - is able to minimize the network resources
consumption - In the future
- Extend out work to cross-layer design that
combines network routing protocol with service
discovery protocol - Extend our MSDP to work under other environment
and on different hardware technologies