28
A Multi-protocol Framework for Ad-hoc Service Discovery Carlos Flores, Gordon Blair, Paul Grace {c.florescortes, gordon, gracep}@comp.lancs.ac.uk 28th November 2006 MPAC 2006

A Multi-protocol Framework for Ad-hoc Service Discovery Carlos Flores, Gordon Blair, Paul Grace {c.florescortes, gordon, gracep}@comp.lancs.ac.uk 28th

  • View
    214

  • Download
    0

Embed Size (px)

Citation preview

A Multi-protocol Framework for Ad-hoc Service Discovery

Carlos Flores, Gordon Blair, Paul Grace {c.florescortes, gordon, gracep}@comp.lancs.ac.uk

28th November 2006

MPAC 2006

Agenda

1. Motivation

2. Research Goal

3. Ad-hoc Service Discovery Protocols Architecture

4. Ad-hoc Service Discovery Framework

5. Future Work

6. Conclusions

Highly Heterogeneous Mobile Environments

WEATHER

TRAFFIC

TOURISM

Taxi (GSD)Taxi (SSD)Weather (ALLIA)Traffic (GSD)Tourism (SLP-B)

Middleware platforms should have the following requirements:

• Discover services irrespectively of the discovery platform used.

• Discover services in diverse mobile scenarios and environmental conditions.

• Provide efficient mechanisms to interact with different SDPs simultaneously (i.e. configurability, dynamic re-configurability)

• Discover services featuring low performance overhead in terms of resource usage of the device, and network bandwidth consumption.

Middleware platforms should have the following requirements:

• Discover services irrespectively of the discovery platform used.

• Discover services in diverse mobile scenarios and environmental conditions.

• Provide efficient mechanisms to interact with different SDPs simultaneously (i.e. configurability, dynamic re-configurability)

• Discover services featuring low performance overhead in terms of resource usage of the device, and network bandwidth consumption.

Research Goal

Development of a configurable and dynamically reconfigurable multi-personality discovery middleware for operation in both nomadic and MANET style operation.

Common Interaction PatternAd-hoc Service Discovery Protocols.

A component framework approach for the development of a configurable and dynamically reconfigurable multi-personality discovery middleware.

Research Goal Ad-hoc SDPs Architecture Ad-hoc SD Framework Future work Conclusions

Ad-Hoc SDPs Architecture

AgentsUser Agent

Performs service discovery on behalf of the clients.Service Agent

Represents and advertise services.Directory Agent

Collects service advertisements and matches incoming requests against collected service descriptions.

ArchitectureDirectory-based (Centralized)Directory-less (Distributed)

Research Goal Ad-hoc SDPs Architecture Ad-hoc SD Framework Future work Conclusions

Ad-Hoc SDPs ArchitectureDirectory-based Architecture Interaction Pattern

UASA

UASA

DA

UA

UASA

UA

UA

UASA

UASA

UASA

DA

UASA

SA

1.- DAs advertise its presence (multicast)2.- SAs register their services (unicast)3.- DAs manage service advertisement4.- UAs request a service (unicast)5.- DAs match requested service description6.- DAs send service reply (unicast)

Research Goal Ad-hoc SDPs Architecture Ad-hoc SD Framework Future work Conclusions

Ad-Hoc SDPs ArchitectureDirectory-less Architecture, Interaction Pattern

UASA

UASA

DA

UA

UASA

UA

UA

UASA

UASA

UASA

DA

UASA

SA

1.- SAs advertise their services (multicast)2.- DAs store service advertisements3.- UAs perform local service request4.- UAs send service requests (multicast)5.- DAs match requested service description6.- DAs send service reply (unicast)

DA

DA

DA

DA

DA

DA

DA

S1S2…

CACHE

Research Goal Ad-hoc SDPs Architecture Ad-hoc SD Framework Future work Conclusions

x

Ad-Hoc SDPs ArchitectureAgents Tasks

Advertise its presence

Manages service advertisements

Service description matching

Multicast

Unicast

DA

Advertise its services

Multicast

Unicast

SA

Send service requests

Local

Multicast

Unicast

xxx

x

x

x

x

xxx

xx

x

xx

x

xx

TASK Directory-based Directory-less

Generates service replies x x

Listen service replies x x

UA

Research Goal Ad-hoc SDPs Architecture Ad-hoc SD Framework Future work Conclusions

Ad-hoc Service Discovery FrameworkComponent Framework Architecture

Policy

Network

Reply

Cache

Advertiser

Request

Policy Cache Advertiser

Manages policies. Manages cache entries. Add. Replace. Update. Remove.

Stores local service descriptions in cache.

Generates service advertisements.

Manages protocol control messages.

Stores service advertisements and protocol messages in cache.

(Confiurability)

Research Goal Ad-hoc SDPs Architecture Ad-hoc SD Framework Future work Conclusions

Ad-hoc Service Discovery FrameworkComponent Framework Architecture

Policy

Network

Reply

Cache

Advertiser

Request

Request Reply Network

Generates service requests.

Processes incoming requests (matching).

Forwards service requests.

Sends service replies Notifies applications of

received replies

IP Unicast routing. IP Multicast routing. Bordercast routing Ad-hoc routing

Research Goal Ad-hoc SDPs Architecture Ad-hoc SD Framework Future work Conclusions

Ad-hoc Service Discovery FrameworkService Agent Configuration

Advertise its services

Multicast

Unicast

SA

x

x

xx

TASK Directory-based Directory-less

Policy

Network

Cache

Advertiser

(Re-configurability)

Research Goal Ad-hoc SDPs Architecture Ad-hoc SD Framework Future work Conclusions

Ad-hoc Service Discovery FrameworkUser Agent Configuration

Send service requests

Local

Multicast

Unicast

x

xxx

x

xx

Listen service replies x x

UA

TASK Directory-based Directory-less

Policy

Network

Reply

Cache

Request

(Re-configurability)

Research Goal Ad-hoc SDPs Architecture Ad-hoc SD Framework Future work Conclusions

Service Discovery FrameworkDirectory Agent Configuration

Policy

Network

Reply

Cache

Advertiser

Request

x

Advertise its presence

Manages service advertisements

Service description matching

Multicast

Unicast

DA

xxx

x

xx

x

TASK Directory-based Directory-less

Generates service replies x x

Research Goal Ad-hoc SDPs Architecture Ad-hoc SD Framework Future work Conclusions

Ad-hoc Service Discovery FrameworkMulti-protocol Support

UASA

UASA

DA

UA

UASA

UA

UA

UASA

UASA

UASA

DA

UASA

SA

UAUA

UAUA

UAUA

UAUA

UAUA

UAUA

UAUA

UAUA

UAUA

UAUA

Research Goal Ad-hoc SDPs Architecture Ad-hoc SD Framework Future work Conclusions

Ad-hoc Service Discovery FrameworkImplementation

PROTOCOLS Group Service Discovery (GSD)

A novel group-based service discovery protocol for manets Dipanjan Chakraborty, Anupam Joshi, Yelena Yesha, Tim Finin University of Maryland, Baltimore County

Scalable Service Discovery (SSD) Scalable service discovery for MANET Francoise Sailhan, Valérie Issarny INRIA-Rocquencourt, France

Alliance Based Service Discovery (ALLIA) Allia: Alliance-based service discovery for ad-hoc environments Olga Ratsimor, Dipanjan Chakraborty, Anupam Joshi, Timothy Finin Univeristy of Maryland, Baltimore County

SLP-Based Service Discovery (SLP-B) SLP-based service management for dynamic ad-hoc networks Stefan Penz Aachen University, Germany

UNDERLYING COMPONENT TECHNOLOGY OpenCOM

It is a lightweight, reflective component model Maintains a system graph of components currently in use in order to support introspection of a platform’s structure.

Research Goal Ad-hoc SDPs Architecture Ad-hoc SD Framework Future work Conclusions

Ad-hoc Service Discovery FrameworkImplementation

Policy

Network

Reply

Cache

Advertiser

Request

Advertisement

Request

Reply

Cache

Policy

Network

Once

Once

Individual

Individual

Individual

Once

Stores local service descriptions in cache.

Generates service advertisements.

Manages protocol control messages.

Stores service advertisements and protocol messages in cache.

•Heterogeneous service description languages

•Heterogeneous messages types and structure•Directory presence advertisements•Directory election advertisements (SSD)

Advertisement

Research Goal Ad-hoc SDPs Architecture Ad-hoc SD Framework Future work Conclusions

Ad-hoc Service Discovery FrameworkImplementation

Policy

Network

Reply

Cache

Advertiser

Request

Advertisement

Request

Reply

Cache

Policy

Network

Once

Once

Individual

Individual

Individual

Once

Request

•Service description matching•Heterogeneous service descriptions

•Matching algorithms•GSD

•Services are matched based on service groups•SSD

•Services are also matched against others directories’ summaries

Generates service requests.

Processes incoming requests (matching).

Forwards service requests.

Research Goal Ad-hoc SDPs Architecture Ad-hoc SD Framework Future work Conclusions

Ad-hoc Service Discovery FrameworkImplementation

Policy

Network

Reply

Cache

Advertiser

Request

Advertisement

Request

Reply

Cache

Policy

Network

Once

Once

Individual

Individual

Individual

Once

•Execution of additional process•Hit-rate statistics of successful service requests•Use of a reverse-route table to forward replies

Reply

Sends service replies Notifies applications of

received replies

Research Goal Ad-hoc SDPs Architecture Ad-hoc SD Framework Future work Conclusions

Ad-hoc Service Discovery FrameworkEvaluation - Configurability

Policy

Network

SLPB-Reply

Cache

SLPB-Advertiser

SLP-BRequest

ALLIA-ReplySSD-Reply

GSD-Reply

ALLIA-RequestSSD-Request

GSD-Request

ALLIA-AdvertiserSSD-Advertiser

GSD-Advertiser

Simplified configuration Same component types Same connection bindings Same configuration

algorithm

Research Goal Ad-hoc SDPs Architecture Ad-hoc SD Framework Future work Conclusions

Ad-hoc Service Discovery FrameworkEvaluation - Configurability

FRAMEWORK CONFIGURATION

<Configuration> <Framework>ServiceDiscovery</Framework> <Components> <Component> <ComponentName>Advertiser</ComponentName>

<Connections> <Connection> <Name>Advertiser_Network</Name> <Sink>Network</Sink> <Interface>Network.INetwork</Interface> </Connection> <Connection> <Name>Advertiser_Cache</Name> <Sink>Cache</Sink> <Interface>Cache.ICAche</Interface> </Connection> </Connections> </Component> ….

Policy

Network

ReplyCache

Advertiser

Request

Research Goal Ad-hoc SDPs Architecture Ad-hoc SD Framework Future work Conclusions

Ad-hoc Service Discovery FrameworkEvaluation - Configurability

AGENT CONFIGURATION

<Configuration> <Framework>ServiceAgent</Framework> <Components> <Component> <ComponentName>Advertiser</ComponentName>

<Connections> <Connection> <Name>Advertiser_Network</Name> <Sink>Network</Sink> <Interface>Network.INetwork</Interface> </Connection> <Connection> <Name>Advertiser_Cache</Name> <Sink>Cache</Sink> <Interface>Cache.ICAche</Interface> </Connection> </Connections> </Component> ….

Policy

Network

Cache

Advertiser

Research Goal Ad-hoc SDPs Architecture Ad-hoc SD Framework Future work Conclusions

Ad-hoc Service Discovery FrameworkEvaluation - Configurability

PROTOCOL CONFIGURATION

<Configuration> <Name>GSD</Name> <Components> <Component> <ComponentName>Advertiser</ComponentName> <ComponentType>GSD.Advertiser</ComponentType> </Component>

<Component> <ComponentName>Request</ComponentName> <ComponentType>GSD.Request</ComponentType> </Component>

<Component> <ComponentName>Cache</ComponentName> <ComponentType>Commons.Cache</ComponentType> </Component> ….

Policy

Network

Cache

GSDRequest

GSDReply

GSDAdvertiser

Research Goal Ad-hoc SDPs Architecture Ad-hoc SD Framework Future work Conclusions

Ad-hoc Service Discovery FrameworkEvaluation – Re-configurability

UA SADA

SLP-BSSDGSDALLIA

Protocol

X

X X

X

XUA SA

DA

SLP-BSSDGSDALLIA

Protocol

X

X X

X

Configuration A

Configuration B

UA FrameworkDescription

SA FrameworkDescription

SLP-B Protocol Description

SSD Protocol Description

GSD Protocol Description

GSD Protocol Description

Configurator.load(UA, SLP-B)Configurator.unload(SA, GSD)Configurator.load(UA, ALLIA)

Simple re-configuration algorithms

Well known configuration pattern

Research Goal Ad-hoc SDPs Architecture Ad-hoc SD Framework Future work Conclusions

Ad-hoc Service Discovery FrameworkEvaluation – Component re-use

Policy

Network

SLPB-Reply

Cache

SLPB-Advertiser

SLP-BRequest

ALLIA-ReplySSD-Reply

GSD-Reply

ALLIA-RequestSSD-Request

GSD-Request

ALLIA-AdvertiserSSD-Advertiser

GSD-Advertiser

Simplifies development effort and time

Reduces resource usage

Enhances configurability

Research Goal Ad-hoc SDPs Architecture Ad-hoc SD Framework Future work Conclusions

Ad-hoc Service Discovery FrameworkEvaluation – Framework overhead

ALLIA SSD GSD SLP-B

66.96

SIZE(KB)Framework

SIZE(KB)Side by side

Size of framework personalities

70.46

64.26

89.26

129.16

172.56

209.76

137.42

201.68

290.94

X

X

X

X

X

X

X

X

X

X

X

X

X

Framework Side by side

Research Goal Ad-hoc SDPs Architecture Ad-hoc SD Framework Future work Conclusions

Future work Fine-grained architecture

Service description heterogeneity Interaction heterogeneity (Set of message types) Directory maintenance

Matching algorithm A

Lookup

Policy

Network

Reply

Cache

Advertisement

Request

Parser A

Parser B

Matching algorithm B

Matching algorithm C

SDP Interoperability Monitor component Consider service discovery protocols from

different network styles e.g. fixed, sensor, overlay etc.

Research Goal Ad-hoc SDPs Architecture Ad-hoc SD Framework Future work Conclusions

Conclusions Ad-hoc Service Discovery Protocols

SSD, GSD, ALLIA, SLP-B Common functionality.

Ad-hoc Service Discovery Framework Evaluation with the implementation of 4 existing ad-hoc service discovery

protocols Benefits:

Common component architecture Component re-use Minimize resource usage for multiple concurrent protocols Simplify development Code re-use

Future work Fine-grained architecture Evaluate our framework with discovery protocols from different network styles Development of a middleware to provide service discovery interoperability across

different network styles

Research Goal Ad-hoc SDPs Architecture Ad-hoc SD Framework Future work Conclusions

?Carlos Flores, Gordon Blair, Paul Grace

{c.florescortes, gordon, gracep}@comp.lancs.ac.uk