Multicast Service Discovery Profiles for Deployment within Dynamic Edge Networks
Macker, Dean, Taylor, Harrison
zeroconf smf mdns dns-sd service discovery slp manet edge networks indi
@inproceedings{macker:milcom-2010,
title={Multicast Service Discovery Profiles for
Deployment within Dynamic Edge Networks},
author={Joseph Macker and Justin Dean and
Ian Taylor and Andrew Harrison},
booktitle={Proceedings of the Military
Communications Conference ({MILCOM})},
month={October},
year={2010}
"Survivable group-oriented applications and enterprise services at the tactical edge ... require more flexible approach to services discovery"
Variety of routing and forwarding schemes for MANETs exist, starting to be some maturity in deployments
- Still needs work on service discovery and other upper layer services
Goal is decentralized and mobility/disruption tolerant architectures
- Including connections to fixed infrastructure
- Applications: Tactical edge military, medical emergency, disaster response
- Tactical military collaborative apps: Chat, VoIP, C2/orders, alarms, reports
- Tactical military data services: Weather, video, sensors, maps, intelligence, historical data, logistical support
- Networks: Highly robust, autonomous MANET, hybrid with cellular or satellite, etc
Two scenarios modeled and tested:
- Command & control: One provider, many consumers
- Experiments argue that proactive approach is more robust
- Group SA: Many providers, consumers
- Experiments argue that reactive approach has better response times
- Opportunistic caching has similar performance to best of both, far less overhead
In general, single solution is not appropriate
- Must adapt to supply & demand, topology, etc
Extends SLP, mDNS by offering multiple modes (reactive, proactive, opportunistic), fine grained parameters for tuning and adaptation
Uses standard IP, assumes multicast forwarding in multihop setting
- Decoupled from underlying technologies
- SMF
Adopts SLP core roles:
- User agent
- Service agent
- Directory agent
Primary parameters define the fault tolerance behavior:
- Timeouts (exponentially increasing)
- Required results (number of successful connects the user requires)
- Maximum retries (number of times to retry each request)
Reactive mode
- User broadcasts service request query, repeating on exponential backoff
- Providers respond with advertisement
- Directory agent may respond, brokering for others (e.g., on connected network)
- Include previous responders list in repeat queries so they don't repeat response
- Will attempt to connect to multiple providers if desired
Proactive mode
- Service and directory agents periodically broadcast advertisements
- Users locally cache those adverts
- Examine local cache when app asks for service
- Faster repeats improves response to dynamics at cost of overhead
Opportunistic mode
- Users listen to responses to other users' queries, locally caching those responses
- When local app makes request, local cache is consulted and used if found
- If not found, request is broadcast
- Service and directory agents reply with multicast rather than unicast request
Experiments
- 50 mobile nodes
- Scenario 1: 1 provider, 25 consumers (C2 app)
- Scenario 2: 25 providers, 1 consumer (SA app)
- Too many providers to be challenging?
- Done in ns2 using AgentJ
- Discovery queries generated at random intervals by Poisson distribution
Defines normalized measure of network connectivity by taking snapshot of network at regular intervals, computed by
$N_c = \Sigma_{t=1}^T (\Sigma_{n=1}^N |C_n|/N^2) / T
- $|C_n|$ is order of connected component containing node n
- T is number of samples in the scenario
- N is number of nodes
- $N_c$ of 1 means fully connected at all times
Future work
- Underlying reliable protocols
- More heterogenous query scenarios
Of note:
- SSDP: Simple Service Discovery Protocol (Microsoft, part of UPnP)
- WS-Notify