Service Discovery in Personal Networks; Design, Implementation and Analysis

Total Page:16

File Type:pdf, Size:1020Kb

Service Discovery in Personal Networks; Design, Implementation and Analysis

Service Discovery in Personal Networks; design, implementation and analysis Majid Ghader, Rasmus L. Olsen, Venkatesha Prasad, Martin Jacobsson, Luis Sanchez, Jorge Lanza, Wassef Louati, Marc Girod Genet, Djamal Zeghlache, Rahim Tafazolli

 MAGNET project about secure and context aware service Abstract — In this paper we explain how a proposed Service discovery. Discovery System was designed, implemented and evaluated. The system is defined to be used in Personal Networks; a user centric II.SERVICE DISCOVERY SYSTEM SETUP network for the user’s personal devices, resources and services. Index Terms— Service Discovery, Service Platform, Context A. The SMN election procedure and maintenance Awareness, Personal Area Networks, Personal Networks MAGNET Service discovery architecture defines a I. INTRODUCTION structure based on five tiers, from the radio domain level to the network federation one 3. The first three levels follow a ERVICE discovery is one of the important steps for centralized approach relying on an entity called Service Sutilising Personal Networks. This is because personal networks are formed to benefit the user with variety of Management Node (SMN), which manages the service services, and they should somehow be discovered to be framework on a local basis. On the other hand, the two upper beneficial. The concept of personal networks is investigated in levels perform on a distributed basis, establishing a IST project MAGNET 1, and service and resource discovery relationship between the aforementioned central managers is one of the tasks carried out within this project. (SMNs’) on a peer-to-peer network. The responsibilities of the A personal network constructed by interconnection of SMN have been defined for the purpose of service discovery, several small networks personal to a user, e.g. belonging to the but the duties of this node could go beyond the service user. These small networks, called clusters, can exist in every discovery, to act as a management entity for service place where a user has some personal devices at. For example, provisioning. a home network of office equipments, entertainment devices Therefore, the selection and maintenance of the SMN and domestic appliances etc. can be a cluster of a bigger within a cluster is essential. The election could be based on personal network. Also a set of office devices, such as desktop multiple different features that potential SMNs, known as or laptop computers, printer, fax, etc. can form another cluster Service Assistant Node (SAN), have. However not all have the of personal network in the office. For discovering the same relevance for taking on SMN role and should be resources and services in a personal network, a proposal has weighted accordingly to a previously agreed scale. The same been offered, mostly implemented and tested within the cost function has to be used on every SAN and, for instance, it MAGNET project. The proposal is briefly explained in 2. includes a combination of values referring to battery status, This paper explains some specific stages of the discovery computing capabilities and network interfaces. Consequently, process and provides some of the results taken from the SMN will be the SAN with the higher weight. Providing a dynamic and easily reconfigurable process for the selection Manuscript received February 10, 2006. This work has been done within and maintenance should be considered a key aspect on the the project “My Adaptive Global NET; MAGNET”, running under the 6th framework program performed by Information Society Technologies (IST) service provisioning system setup. It is also important that under the contract no 507102. SMN role transfer between the new and former SMN could Majid Ghader (research fellow) and Rahim Tafazolli (professor) are from also be performed. The already implemented algorithm 4 the Centre for Communication Systems Research, University of Surrey, fulfils these requirements and follows a proactive approach, Guildford, GU2 7XH, UK (phone: +44(0)1483-689484; fax: +44(0)1483- 686011; e-mail: { M.Ghader, R.Tafazolli}@surrey.ac.uk). being the SMN node identity advertised periodically. Rasmus L. Olsen, is a research engineer at the Center for The main goal of the protocol designed is to automatically TeleInFrastruktur, Aalborg University, Niels Jernes vej 12, 9220 Aalborg, detect the SMN within a cluster and then react to possible Denmark (e-mail: [email protected]). Venkatesha Prasad and Martin Jacobsson are researchers at the Faculty of absence of such a node. The dynamic selection is based on the Electrical Engineering, Mathematics, and Computer Science (EEMCS) of exchange of the SANs' weight. The underlying idea of the Delft University of Technology, Mekelweg 4, 2628 CD Delft, The procedure is that every SAN considers itself as a SMN, until Netherlands (email: {Vprasad, [email protected]}). Luis Sanchez and Jorge Lanza are research engineers at the Network another one indicates the opposite (i.e. it receives a message Planning and Mobile Communications Lab, University of Cantabria, Dept. with a higher weight than the local one). Therefore, each SAN Ingeniería de Comunicaciones, Avda de los Castros s/n, 39005, Santander, applying for the SMN role needs to have updated information Spain (e-mail: {lsanchez, jlanza}@tlmat.unican.es). Wassef Louati (researcher), Marc Girod-Genet (associate professor) and about the capabilities of the rest of SANs in the cluster. Djamal Zeghlache (professor) are from the Wireless Networks and Whenever a SAN wants to become an SMN it will Multimedia Services Department, Institut National des Télécommunications, multicast/ broadcast its capabilities to the rest of potential 9 rue Charles Fourier 91011 Évry cedex, France (e-mail: {marc.girod_genet, djamal.zeghlache}@int-evry.fr). competitors. Flooding mechanisms are also enabled, making all SANs within the cluster receiving this advertisement 5. 1) Calculating Connectivity (C) Upon the reception of a response from a more powerful node, An ad hoc network can be considered as an undirected it quits the SMN state been assigned by default. On the graph G  (V , E) where V is the set of nodes and E is the set contrary, if no response is received, after a stabilization time of edges in the graph. The distance D  (V ,W ) between two the SAN will become SMN. The maintenance of SMNs is carried out by checking nodes v and w is the least number of edges on a path from v to th periodic messages they send. As the SMN weight may vary w, i.e., hops. The i neighbourhood of a node v is the set of and goes below a threshold level, it can quit the role. If some nodes Ni (v)  {w w V , w  v, D(v, w)  i}. The nodes of them get lost in a row, the discovery process is triggered, resulting on a new SAN taking the SMN role. This will lead to in the immediate neighbourhood (one hop), is N1(v) , which a soft handover in terms of SMN database information are the direct neighbours of v. We denote the total number of transfer, reducing network load within the cluster. In case a direct neighbours as with | N1(v) |and we call it the degree of SMN leaves the cluster, no such action could be run, and the the node. So we define connectivity as C, which is specified new one should gather all the service information from the by (2) neighbours again. K Ni (v) Once the SMN is active and controlling its own cluster, it 1 C(v)    j (2) will establish communication with the other SMNs in the PN. i1 i j It is then when the SMN is actually ready to fulfil service Where K is the kth neighbourhood;| N (v) |denotes the discovery request. Thanks to this SMN virtual network, i th service discovery is enabled within the whole PN and also number of nodes in the i neighbourhood; and  j indicates the when interaction with other PNs is required. As will be combination of mobility and transmission range of jth node in discussed, although the role of the SMN is restricted currently ith neighbourhood. However, we may only consider the to service discovery, its responsibilities will span over the transmission range of the node j since the mobility is complete service-cycle life. considered next. For example,  j can be a number B. SMN election based on Node Capacity calculations representing the power of the transmitter to indirectly indicate A simple method to select an SMN node is to check the transmission range say, Bluetooth device and an 802.11 Tx whether it satisfies the following criteria: have different  j s. 1) Highest probability to stay for longer time within the cluster in comparison to other nodes within the same “virtual 2) Calculating Mobility (M) cluster” (we say virtual since, cluster members can change Mobility M, is calculated taking into account the over time); and information belonging to the node vis-à-vis its neighbours, 2) Minimum distance from the respective members of the thus it presents relative mobility characteristics. We use the virtual cluster. metric proposed by Basu and Khan in 7. We repeat here their The first requirement tries to ensure that a highly mobile model for convenience and completeness. Using the ratio of node is not selected as an SMN. The second is to ensure that Ri Pr (the received signal power) between two successive by being located close to all other nodes an SMN can have a ‘Hello’ packets, estimation about the relative mobility uniform coverage over a specific area where it can serve the between the two nodes can be found. The relative mobility, nodes in that area effectively. This in turn ensures that in rel M ( j) , at a node i with respect to node j is found using 7 subsequent changes if any, the area covered or the nodes in i that area will not be impaired frequently. as: We use a parameter called Node Capacity (NC) extensively new R j Pr ji for finding an SMN. NC indicates the node’s suitability for the rel M i ( j)  10log10 old (3) management node role. The rules for calculating NC are R j Pr ji applied at all the personal nodes and it is described by the rel generalized formula as below: If M i ( j) is negative then the two nodes are moving away The Node Capacity, from each other, if it is positive then the nodes are moving towards each other. For a node i with all its one hop   1 *C  2 *M 3 * R (1) neighbours N1(i) M i is calculated using relative mobility The parameters, 1 ,  2 and  3 , depend on the weight rel factors and particular applications and they can be positive or metric M i ( j) , where j is a neighbour of i, negative in some cases. For example, can be negative, due rel N1 (i)  2 M i  var0{M i ( j)} j1 (4) to the negative impact of mobility. However it is better to keep A low value of M i indicates that node i is relatively less 1 , 2 , and 3 positive and summing to unity. The mobile with respect to its neighbours. Thus the parameter,  calculation of Connectivity (C), Mobility (M) and Available 2 Resources (R) is explained below. in equation (1), can have negative value so that node with less mobility should have a relatively higher node capacity to serve clients or servers and the SANs (or SMNs), the implemented as an SMN however, it is not mandatory. Since we are taking SMN only includes Universal Plug n Play (UPnP) and into account relative mobility here, it is easy to see that if a Bluetooth Service Discovery Protocol (SDP) modified whole cluster moves the SMN will not change. This is an modules. UPnP was considered for PN nodes (i.e. IP capable important aspect since we do not want to have frequent entities) while Bluetooth SDP was considered for non-IP PN changes in SMNs'. devices. 3) Calculating Available Recourses (R) The considered approach for carrying out the SMN service For available resources, R, we calculate it by taking into management functionality, as well as the large-scale service account available memory, battery power and CPU resources. discovery, relies on the implemented PN naming system (the Intentional Naming Subsystem -INS/Twine- flexible and We calculate available resources, Ri , for node i, by the scalable peer-to-peer system 648. An Intentional Name formula below: Resolver (INR), responsible for the local service Ri  (1 * Ai   2 * Pi ) * Ei (5) registration/deregistration in an associated name tree, acts as the SMN service repository. It is located and implemented The parameters, 1 and 2 , are decided by the particular within the SMN node. At the SMN large-scale (PN level) application, and A is the available memory. P indicates CPU service discovery operations are performed through the resources and Ei represents the amount of battery power left in INS/Twine framework on top of a Distributed Hash Table node i. (DHT)-based super-peer overlay network of INRs. The Now, using Equations (2), (4) and (5) in (1) can give a currently implemented SMN architecture and components are composite NC of a node in the cluster. The simple algorithm depicted in Fig. 1. Only UPnP related modules are shown in for the selection of a better equipped node as SMN is to this figure. exchange the NC during the initial phase of discovering the devices in the neighbourhood. This is a simple and distributed way of automatically selecting an SMN. In case there are two nodes trying to become an SMN the deadlock can be broken down by using their node ID. With this mechanism we have a node invoking SMN functionality which has higher computation capacity, higher memory and low mobility and which has maximum view of the network would get selected as an SMN. C. Context Awareness The support for context awareness needs interaction with various external systems, such as sensor networks and location retrieval systems (e.g. GPS). Based on the work done in the MAGNET project, the context management is heavily based on UPnP, where the Fig. 1 UPnP-INS/Twine based SMN internal architecture system discovers a specific class of UPnP service which offers and components context information. Optimising the interaction between the SMN and other PN components and external devices which The Modified UPnP Control Point (CP) and Device provides context information is currently one of the activities modules are mainly responsible for relaying, in the correct in the newly started project MAGNET Beyond, as well as other format, the service information and operations (discovery, perspectives such as ensuring consistent context information, registration, control,…) form the legacy and Enhanced UPnP decreasing the access time to data and so on. SD entities to the SMN SDAL (Service Discovery Adaptation sub-Layer) and vice versa. Their standard UPnP internal III. IMPLEMENTATION OF THE SERVICE DISCOVERY modules are thus enhanced with:  Service description converters for translating XML The considered MAGNET service discovery platform is descriptions (UPnP) to Intentional Name descriptions modular and all the SMN components communicate together (INS/Twine and SMN ) and vice versa through standardized interfaces and protocols 2. The current SMN implementation is only focused on the SDAI (Service  An RPC (Remote Procedure Call) client for Discovery Adaptation Interface) part and is integrated with the communicating service discovery and management proof-of-concept prototype demonstrator developed in information with SMN SDAL. Dedicated function and MAGNET 4. Thanks to the SMN flexible design and function calls are implemented within the SDAL for that implementation, any components can be easily added, purpose removed or replaced, and can also be distributed on any P- The SDAL relays, in the correct format, the messages PAN/Cluster entities if needed. received from the UPnP SD protocol (through the Modified For the Enhanced legacy protocol running between the UPnP CP and Device Modules), and the INS/Twine components (the SMN INR and its associated name tree), to of the calculated mean discovery time. the SMN upper layer components and vice versa. An RPC Fig. 2 shows the result from the services done locally on communication protocol with dedicated function calls for each the SMN. of the transactions between the SDAL, the INS/Twine INR 12 and the SMN upper layer modules is implemented in the SMN. As legacy SD protocol servers and their services need 10 to be accessed remotely (service discovery and provision, 8 presentation, etc.), their routable addresses must be included in ] s m [ their descriptions before registration in the SMN INR name 6 e m tree. To gain this knowledge, the SDAL includes an i T Application Layer NAT (Network Address Translation) 4 module (the ALNAT module in Fig. 1). 2

IV. EVALUATION OF THE SERVICE DISCOVERY PLATFORM 0 Norm SD 1 CASD 1 Norm SD 2 CASD 2 Norm SD 3 CASD 3 Following the design of the service discovery architecture described in previous chapter, a set of technological Fig. 2 Local SMN discovery time for 3 different services components has been implemented in order to complete the engineering process. Furthermore, the studies done in 3, supporting the design As we expect, the context aware service discovery do take decisions for the MAGNET service discovery framework, more time than normal discovery, however, the benefit of the have been extended. In this section they will be presented as user is being giving a more appropriate service, may in the end the results from a series of performance and behavioural tests be beneficial to the user. As this is done locally on the SMN, carried out in order to assess the correctness of the approach the result seen is more reflecting the processing power time followed within MAGNET, which included not only required by the SMN, rather than the communication time. analytical and simulation studies, but also whatever learnt Another test with the same three services were done using from the implementation of the designed service discovery the INS overlay network, for which the discovery time can be architecture over real platforms. seen in Fig. 3. Finally, the benefits of introducing context-based behaviour As shown in Fig. 3, also here a slight overhead in discovery on service discovery interactions will be also analyzed as one time exists when putting context awareness on top of service of the key optimization enhancements proposed. discovery. First, the added time seems to be rather fair, i.e. the highest difference we measured is in the area of 200ms. A. Context aware service discovery Second, again the benefit for the user finding an appropriate Service discovery taking into account context information is service, instead of just all services of one type may be very performed by the modules, Service Discovery Module (SDM), important, e.g. in case of location sensitive services such as Context Management Module (CMM) and Service Ranker printers. (SR) which are working on top of the SDAL. The idea behind context based service discovery is that during discovery, the 2450 SMN calculates a score value from predefined functions and a 2400 set of relevant context information. The basic equation is 2350 shown in Equation (6). 2300 N 2250 ] s m

w f (x, x ) [ 2200  n n ref e

n1 m 2150 (6) i

score  T N 2100  wn 2050 n1 2000

Here x is a particular context value, xref is the desired value, 1950 f is a predefined function that maps the difference into a single Norm SD 1 CASD 1 Norm SD 2 CASD 2 Norm SD 3 CASD 3 score, w is a weight of the particular output value. There may be not only one context to base a score value, hence the Fig. 3 Discovery time for global service discovery summation. Finally the score is normalised by its individual weight. B. Modelling the components In MAGNET we performed a preliminary test, which Some of the components of the service discovery system included a local and global search for three different services: are modelled in simulation environments. Here we have Three different services, requiring different context selected one of the cases as a sample to explain. In this information in its ranking process where used. All presented experiment, ssdp:all message of the UPnP SSDP 9 has been times are based on 100 test runs and includes a 95% interval examined. The protocol has been modelled in NS-2 10 using the agents. The metrics selected are discovery time and all the available services increases when the number of nodes payload 11. exceeds 5 but the payload almost varies linearly with In the first run, the discovery time is measured, and the increment of nodes. impact of increasing the number of nodes on discovery time is The work will be carried on in the continuation of the investigated. The discovery time is the entire time for project in IST MAGNET Beyond, with personal and federated discovering all the services provided by all the devices by service provisioning and also enabling external service sending ssdp:all messages to all nodes and receiving the architectures. replies from all of them. Fig. 4 depicts the results taken from this experiment. ACKNOWLEDGEMENT The authors are grateful of all the partners involved in MAGNET and MAGNET-Beyond projects, especially work- packages 2 and 4 for their fruitful discussions and collaborations.

ABOUT MAGNET MAGNET - My personal Adaptive Global NET - is a worldwide R&D project within Mobile & Wireless Communication beyond 3G. MAGNET will introduce new technologies, systems, and applications that are at the same time user-centric and secure. MAGNET will develop user- centric business model concepts for secure Personal Networks Fig. 4 Discovery time for search-ssdp:all in multi-network, multi-device, and multi-user environments. In the second run, we examined the traffic (payload) The MAGNET consortium contains 37 partners from 17 generated by the ssdp:all and its replies, increasing by countries, combining highly acknowledged Industrial Partners, increments made on the number of nodes. The results are Universities, and Research Centres. FP6-IST-IP-507102. shown in Fig. 5. Please visit: http://www.ist-magnet.org/

REFERENCES [1] MAGNET, http://www.ist-magnet.org/ [2] Ghader M, Olsen R L, Genet M G, Tafazolli R, “Service Management System for Personal Networks”, 2005 IST summit, June 2005, Dresden, Germany [3] MAGNET Report D2.2.1, “Resource and Service Discovery PN Solutions”, December 2004 [4] MAGNET Report D2.5.2, L. Sanchez et al., “Definition of full PAN/PN Network Terminal Prototyping System”, December 2005 [5] MAGNET Report D2.3.2, “Ad-hoc self organising and routing architecture (NETWORK layer)”, December 2005 Fig. 5 Payload for search ssdp:all [6] M. Balazinska, H. Balakrishnan, and D. Karger, “INS/Twine: A scalable peer-to-peer architecture for intentional resource discovery,” In Proceedings of the V. CONCLUSION First International Conference on Pervasive Computing, In this paper, we briefly explained some of the work carried pages 195–210, Zurich, Switzerland, August 2002. out in MAGNET project, on service discovery platform. The Springer-Verlag. algorithms proposed for the discovery system setup, [7] P. Basu, N. Khan, and T. D. C. Little, "A Mobility Based implementation of the discovery system and finally some Metric for Clustering in Mobile Ad Hoc Networks," in results taken from evaluations made on the performance of the Proc. of IEEE ICDCS 2001 Workshop on Wireless individual parts of the discovery system. The implemented Networks and Mobile Computing, Pages: 413-418, components were integrated within the entire PN system as a Phoenix, AZ, April 2001. proof of concept. Besides that, the results taken from [8] Wassef Louati, Marc Girod-Genet and Djamal Zeghlache, modelling and simulations showed that the context awareness "Implementation of UPnP and INS/Twine interworking adds an overhead to the service discovery process, however it for scalable wide-area service discovery", WPMC 2005, directly benefits the end user for making decision on using the Denmark, 2005 most suitable services. On the other hand, the results taken [9] Simple Service Discovery Protocol/1.0, tech, Rep- from modelling the UPnP, showed that the discovery time for Microsoft 1999, http://www.upnp.org/download/draft_cai_ssdp_v1_03.txt/ [10] The Network Simulator-2, http://www.isi.edu/nsnam/ns/ [11] M Amani, MSc thesis, “Evaluation of the UPnP Service Discovery Protocol in Wireless Personal Network Environments”, University of Surrey, August 2005

Recommended publications