Wei Gao

31
MobiQuitous 2007 Towards Scalable and Robust Service Discovery in Ubiquitous Computing Environments via Multi-hop Clustering Wei Gao

description

Towards Scalable and Robust Service Discovery in Ubiquitous Computing Environments via Multi-hop Clustering. Wei Gao. Service discovery. Users search for their desired network services Examples of network services: remote printers, scanners, data sources, and webpages…… - PowerPoint PPT Presentation

Transcript of Wei Gao

Page 1: Wei Gao

MobiQuitous 2007

Towards Scalable and Robust Service Discovery in Ubiquitous Computing Environments via Multi-hop Clustering

Wei Gao

Page 2: Wei Gao

Service discovery

Users search for their desired network services Examples of network services: remote printers,

scanners, data sources, and webpages…… Service discovery in ubiquitous computing

environments needs to be: Scalable to search for matching services quickly

and efficiently Robust against unpredictable network topology

changes

Page 3: Wei Gao

Service discovery

Components of a service discovery system: Service requesters Service providers Service repositories

A service discovery process include: Dissemination of service discovery messages Matchmaking between the services requested

and provided

Service Requester

Service Repository

Service Provider

Access

RequestAnn

ounc

e Reply

Page 4: Wei Gao

Our focus

Service discovery: partial match Services provided rarely match the requests

perfectly An acceptable deviation between the services

provided and requested is used in matchmaking The searching scope is fixed: Global

An efficient network architecture is needed Ensures that every service request finds all the

matching services on the network

Page 5: Wei Gao

Current solutions

Solutions with fixed Internet infrastructure Jini, UPnP Not suitable for mobile environments

Global DHT-based p2p network Too expensive and instable in dynamic

network topology Partial match cannot be handled

Cluster-based approaches Clusters are constructed with low stability and

flexibility

Page 6: Wei Gao

Cluster-based Architecture for Service Discovery (CASD) For scalability

The network is organized as multi-hop clusters based on the Neighborhood Benchmark (NB) scores of mobile nodes

A virtual backbone is used for disseminating service discovery messages

Page 7: Wei Gao

Cluster-based Architecture for Service Discovery (CASD) For robustness

Each cluster is constructed to be an extended local Content-Addressable Network (CAN) storing service indices

Controllable redundancy of service indices on multiple service repositories in each cluster

Page 8: Wei Gao

The overall picture

Service discovery message

Multi-hop cluster

(Local CAN)

Virtual backbone

Announcement: store service

indices

Request: local matchmaking

A hybrid push-pull approach

Page 9: Wei Gao

Distinguished features

Reduce the communication overhead of service discovery

Achieve robust service discovery in cases of bounded numbers of node failures

A service request is guaranteed to find all the matching services in the network

Page 10: Wei Gao

Neighborhood Benchmark (NB)

The NB score of a node Ni indicates the qualification of this node to be the clusterhead di : the neighbor degree of Ni

LFi : the number of link failures Ni encountered in unit time

NB-based clustering ensures the efficiency and stability of the clusters constructed

di: the connectivity of Ni’s neighborhoodLFi: the link stability of

Ni’s neighborhood

Page 11: Wei Gao

Multi-hop clustering

1. Network initialization Initialization by hello beaconing NB scores of mobile nodes are calculated and

disseminated 2. Autonomous clusterhead selection

The node with the highest NB score in the R-hop neighborhood is selected to be the clusterhead

Page 12: Wei Gao

Multi-hop clustering

3. Handshake with clusterheads Possible inconsistency during the

clusterhead selection and handshake process is solved

All the clusters are connected ones

Page 13: Wei Gao

Construction of local CANs

Constructed along with the handshake process

Clusterheads allocate spaces for the cluster members Node join: the largest

zone is split Node leave: the

smallest neighbor zone takes over

Area deviation among different zones is minimized

N1

N9N8N7

N5N4

N16

N15N14N13N12

N11

N20N19N18N17

N2N2

N6

N10

N3

Page 14: Wei Gao

Service discovery

Service discovery messages are disseminated among different clusters via the virtual backbone

Local CANs store service indices with controllable redundancy Every node is a service repository Every service discovery message is forwarded

to multiple destinations in a local CAN

Page 15: Wei Gao

Multiple forwarding destinations for service announcements Redundancy degree dr in a local CAN

The proportion of the forwarding destinations to the total number of nodes in the clusters

Bounded by the radius R1 of a circle in the virtual coordinate space:

, where

Page 16: Wei Gao

Multiple forwarding destinations for service announcements Every service

announcement falls into a zone in the virtual coordinate space

All the nodes whose virtual zone overlaps with the circle With the radius R1

N1

N10

N9N7

N5N4

N16

N15N14N13

N11

N20N19N18N17

S

N2 N3

N6 N8

N12

Page 17: Wei Gao

Multiple forwarding destinations for service requests A service request is forwarded to all the

nodes that possibly contains the matching services

R2: The acceptable deviation range in service matchmaking

A forwarding process consists of two steps

Page 18: Wei Gao

Multiple forwarding destinations for service requests 1. All the nodes

within the acceptable deviation range Radius R2

2. For each recipient in the 1st step, to its redundancy range Radius R1

N1

N10

N16

N15N14

N11

N20N19N18N17

S

N2 N3 N4

N7 N8N6

N12

N9

N5

N13

Page 19: Wei Gao

Simulation settings

The performance of CASD is compared with service discovery in flat network architecture Service discovery functionality is implemented

on ad-hoc routing protocols: AODV and DSR Every node periodically announces a service

and requests for another service Different variations of CASD

Local CANs are used: CASD-1 Without local CANs: CASD-2

Page 20: Wei Gao

Simulation results

Successful ratio in different mobility settings

Page 21: Wei Gao

Simulation results

Overhead in different mobility settings

Page 22: Wei Gao

Simulation results

Scalability: overhead in different network scales

Page 23: Wei Gao

Simulation results

Robustness: successful ratio in cases of node failures

Page 24: Wei Gao

Effects of different cluster radius

Multi-hop clusters achieves higher performance

Multi-hop clusters are also more expensive to construct

Cluster radius should be chosen appropriately according to application requirements and network conditions

Page 25: Wei Gao

Conclusions

Scalable and robust service discovery cannot be achieved in flat network architecture

A service discovery architecture based on multi-hop clustering is presented

Communication overhead of service discovery is reduced

A service request is ensured to find all the matching services in cases of bounded numbers of node failures

Page 26: Wei Gao

Future work

Theoretical analysis on the communication overhead of service discovery in our approach

Comparison with other service discovery approaches based on clustering and “remote contacts”

Page 27: Wei Gao

Thank you!

Questions?

Page 28: Wei Gao

Content-Addressable Network (CAN)

DHT-based p2p network A multi-dimensional

Cartesian coordinate space

Each node is allocated a rectangular zone

Data items are mapped to virtual points in the space

N1

N10

N9N8N7

N6

N5N4N3N2

N16

N15N14N13N12

N11

N20N19N18N17

Back

Page 29: Wei Gao

Network initialization

Network initialization by hello beaconing Hello beacons: {IPi, NBSi, Head_IPi, HEAD_NBSi, hopi}

Interval of hello beaconing: TH

The NB scores of mobile nodes are calculated di is updated on each node by discovering its 1-hop

neighborhood If a neighbor record has not been updated for long

than 2TH, a link failure is counted

LFi is updated iteratively in each round of hello beaconing:

Back

Page 30: Wei Gao

Autonomous clusterhead selection

Mobile nodes exchange their selected clusterheads with their neighbors via hello beaconing

Clusterhead selection consists of R consecutive rounds In every round, a node puts the clusterheads of itself

and its 1-hop neighbors into a selection pool The one in the pool with the highest NB score is

selected Hello beaconing ensures that in the kth round, the

selected clusterhead are with the highest NB score in the k-hop neighborhood

Back

Page 31: Wei Gao

Solving the possible inconsistency

An example of constructing 2-hop clusters 1. N4 selects N3 N7 is notified about N3 2. N4 hears N6 from N5

N4 transfers to N6 N7 does not know that! N7 select N3

A disconnected cluster Solution: nodes only forwards

the handshake messages if they have the same clusterhead

N5

N7

N1 N3

N2

N8N6

N4

105

107

8247

65

58

31

115

N1087

N9

24

Back