Docstoc

UbiCC Journal - USN Special Issue

Document Sample
UbiCC Journal - USN Special Issue Powered By Docstoc
					UBICC Journal
Ubiquitous Computing and Communication Journal 2007 Volume 2 . 2007-10-21 . ISSN 1992-8424

Special Issue on

Ubiquitous Sensor Networks

UBICC Publishers © 2007 Ubiquitous Computing and Communication Journal

Edited by Usman Tariq.

Special Co-Editor Dr. Shafique Ahmad Chaudhry

Ubiquitous Computing and Communication Journal
Book: 2007 Volume 2 Publishing Date: 2007-10-21 Proceedings ISSN 1992-8424
This work is subjected to copyright. All rights are reserved whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, re-use of illusions, recitation, broadcasting, reproduction on microfilms or in any other way, and storage in data banks. Duplication of this publication of parts thereof is permitted only under the provision of the copyright law 1965, in its current version, and permission of use must always be obtained from UBICC Publishers. Violations are liable to prosecution under the copy right law.

UBICC Journal is a part of UBICC Publishers www.ubicc.org

© UBICC Journal Printed in South Korea

Typesetting: Camera-ready by author, data conversation by UBICC Publishing Services, South Korea

UBICC Publishers

Table of Contents
Papers
55 Real-time creation of web content about physical objects and events using sensor network Takeshi Okadome, Yasue Kishino, Takuya Maekawa, Kouji Kamei, Yutaka Yanagisawa, Yasushi Sakurai .................................................................... 1

56 Privacy in communication among pervasive objects: methodologies for securing the exchange of sensible information Pier Luca Montessoro, Davide Pierattoni, Sandro Di Giusto .................................. 8

57 Minimizing energy consumption within wireless sensors networks Fady Shebli, Iyad Dayoub, Jean-Michel Rouvaen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

58 BIOANS: BIO-Inspired Ambient Intelligent Protocol for wireless sensor networks Michael Breza, Richard Anthony, Julie A McCann . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

59 Some notes and proposals on the use of IP-Based approaches in wireless sensor networks Tiago Camilo, Jorge Sá Silva, Fernando Boavida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

Real-Time Creation of Web Content about Physical Objects and Events using Sensor Network
Takeshi Okadome, Yasue Kishino, Takuya Maekawa, Koji Kamei, Yutaka Yanagisawa, and Yasushi Sakurai NTT Laboratories, Japan houmi@idea.brl.ntt.co.jp

ABSTRACT Many of the objects and events in the world around us have not been converted into verbal information such as words or other types of content. Project s-room aims to construct a system that enables us to extract object properties and status information and to create Web content about physical objects and events by utilizing sensor nodes attached to various objects. This paper introduces the concept, basic technologies, and applications developed by s-room research. Keywords: Content, Web, Sensor Network

1

INTRODUCTION

In today's information society, a vast amount of information is available including video, the Web, and mobile content. However, many of the objects and events in the world around us have not been converted into verbal information such as words or other types of content. Now, a unique concept is being applied to objects and events that previously could not be presented as data capable of perusal by generating information on objects and events and, in addition, creating content through verbalization. This is the concept of the s-room project. This paper presents the s-room approach, its basic technologies, and applications that have been developed during sroom research. Most services provided by ubiquitous computing are context aware, for example they monitor environments to prevent crimes and disasters or they notify us of an item that we have left behind. These are characterized as direct services to the real-world. In contrast, s-room provides web content about physical objects and events or open APIs which everyone can access. This strategy may lead us to many applications that are quite different from that of context-aware services. 2 APPROACH

As the s-room, we constructed a system for comprehending events, object properties and status information by utilizing sensor nodes attached to various objects. The premise and fundamental technology of the s-room involves monitoring objects and events in sensor networked environments via sensor nodes to obtain an understanding of them. That is, (1) we observe physical phenomena that emerge when an event related to physical objects

occurs, (2) we convert the observed sensor data into words that denote the event, and (3) we create Web content about the event using the event occurrence time. Finding a way to convert data obtained via this fundamental technology efficiently and effectively into words and content in a format that people can easily understand and use is at the core of s-room research. Project s-room assumes a world in which physical objects have general-purpose sensor nodes equipped with a) sensors such as an accelerometer, a thermometer, a hygrometer, or an illuminometer, which are expected to become smaller and cheaper; b) a processor and memory for computation; c) a wireless communication module that transmits sensor data to data servers through a network. To accomplishing this goal, we must satisfy the following requirements: 1. We must specify the relationship between sensor data and linguistic symbols and translate sensor data into linguistic symbols using that relationship. This is a kind of a symbol grounding problem and its inverse, namely sensor fusion problem. 2. We must design and construct real-world knowledge as collective intelligence. 3. Using linguistic symbols translated from sensor data and real-world knowledge, we infer the properties of physical objects such as their type, role, or relationship with other objects. We also infer the status of physical objects at an arbitrary time. 4. We design APIs that deal with collected sensor data as Web content and construct a variety of applications. In addition to the above, we deal with signal processing including noise elimination and with

UbiCC Journal, Volume 2, October 2007

1

stream sensor data mining for the real-time verbalization of sensor data. We can record the times of sensor data production although they will have errors caused by such delays such as the input fetch time of a device driver in an operating system. We use verbalized sensor data together with their recorded times to create content about events in the real world. 3 BASIC TECHNOLOGIES

where g is the gravitational vector and λ (t) is the physical object position at time t. The sensor node that the s-room project developed is equipped with a triaxial accelerometer, a triaxial magnetic field sensor that enables us to determine direction, a thermometer, and an illuminometer. It also has an embedded CPU and a wireless communication module (Fig.1). We can directly detect 40 of the 160 event using the sensor node.

Project s-room has already developed knowledge representation and several basic technologies. They are introduced here. 1. Event representation for sensor data grounding, 2. Tag and Think, and 3. NeighborSense. Event representation for sensor data grounding Event representation [1] is a middle language between sensor reading values and NL–phrase descriptions. It consists of (1) event descriptors each of which has its own physical quantity expression that reflects an interpretation of an event and (2) composition rules. Using WordNet, we collect “observable” event concepts in the following way. First, we set twelve words as seeds. Nine of these words relate to “movements” such as “move,” “reach,” and “pass.” The other three words, “increase,” “decrease,” and “remain,” describe changes in physical scalar quantities such as temperature and light intensity. Starting from the seed words, we traverse synonym links in WordNet and choose “observable” synonyms. For each word, WordNet generally contains two or more sets of synonyms; synonyms in a set have identical meanings and those in different sets have different meanings. We assume that synonyms that have the same meaning denote an identical event concept. We tag the concept with connected words that make up a phrase that describes the meaning written in WordNet. Therefore, we deal with them as they denote the concept and label it with a phrase-like word. For example, the event concept “drop to a lower place” is represented by the event descriptor
drop-to-lower-place with which the words “drop,” “drop down,” and “sink” are associated.

3.1

Figure 1: A sensor node developed by the s-room project. The node is equipped with a triaxial accelerometer, a triaxial direction sensor, a themometer, and an illuminometer. It also has a CPU and a wireless communication module.

We obtained a set comprising a total of 185 event concepts and 348 words associated with the concepts. Furthermore, we assume that, to each observable event concept, it is possible to assign a mathematical expression including variables and physical constants that denote physical quantities such as position and temperature. For example, we assign

dλ (t ) d 2 λ (t ) ⋅g >0∧ = g(t 1 ≤ t ≤ t 2 ) dt dt 2
to the event descriptor drop-to-lower-place,

Tag and Think The system framework, Tag and Think, enables us to introduce ubiquitous environments easily and simply by attaching sensor nodes to physical objects without any information about the objects [2]. In the framework, we developed a method that uses realworld knowledge constructed from a person’s general knowledge to infer types of physical indoor objects and their states automatically from sensor data produced by the sensor nodes. The method infers the type and state changes of an object by detecting ‘the ways in which the object is used’ and by comparing them with the object models. We divide object types into three categories according to their characteristics. C1: Such object types as toothbrushes and shoes that are moved repetitively. C2: Such object types as doors and chairs whose characteristics are represented by a combination of characteristic sensor outputs. C3: Such object types as tables and rulers that have no characteristic motion or whose characteristic phenomena cannot be detected by generic sensors. We build the models of C2 objects based on a person’s basic knowledge and infer object types in C2 using that knowledge. In Tag and Think, after collecting sensor data from a general-purpose sensor node that has been attached to a physical object for a certain period of time, the method determines the presumed model of the object type from prepared models that matches the sensor data.

3.2

UbiCC Journal, Volume 2, October 2007

2

Figure 2: The finite state automaton for the class "door" that represents the states and state transitions of instances in the class.

method assigns primitive event groups to activity segments in the data and obtains a sequence of event groups. Fig. 3 shows an example of a sequence of primitive event groups assigned to activity segments. By comparing an event group sequence obtained from sensor data with those generated by object-type state transition diagrams, the method calculates the likelihood of the sequences and outputs an object type whose diagram has the largest likelihood as an inference result. It uses the Viterbi algorithm that enables us to find quickly the most likely state sequence from an observed sequence. The results of evaluation experiments show that the method correctly infers the types of about 90% of the objects and about 80% of the states for those objects whose types are correctly inferred. The method correctly infers such C2 object types as doors and chairs which have characteristic phenomena detected by generic sensors. It, however, fails to infer such C3 object types as a table which have no characteristic phenomena. NeighborSense A general sensor node is equipped with such sensors as an accelerometer or an illuminometer that can detect the motion of the object to which the general sensor is attached or the illumination around it. However, they cannot determine the relationship between the object and other objects. NeighborSense [3] is a system that permits us to detect the physical contact relationship between objects. An implementation of neighborSense that we have developed is a thin plate with an induction coil formed in concentric circles (Fig. 4). Two neighborSense plates detect whether or not they are in contact with by employing extremely short distance communication using electromagnetic induction. We have developed plane- and cube-type neighborSense prototypes (Fig. 5). 3.3

The prepared model for an object type is represented by a state transition diagram. One example is the diagram for the class “door” has ‘Opened’ and ‘Closed’ states where these states transit to each other. Each transition is associated with its own primitive event groups. The transition ‘Open’ in the diagram for the class “door,” for example, is associated with a group of three primitive events that can be detected by a sensor node attached to the door when the transition (‘Open’) occurs. Fig. 2 shows the state transition model for the “door” class. It also shows two sequences of primitive event groups that the model generates. On the other hand, by analyzing sensor data, the

Figure 3: An example of a sequence of event groups constructed from sensor data.

UbiCC Journal, Volume 2, October 2007

3

Figure 4: The cube-type neighborSense.

Figure 5: A schematic representation of neighborSense. The black box represents a wireless communication module.
The event representation described in section 3.1 cannot represent events denoted by such verbs as “put” or “hide” because the events cannot be directly detected by such sensors as an accelerometer. NeighborSense enables us to deal with many of the events. For example, “put” is expressed as the state change from an off-state to an on-state.

4

APPLICATIONS Project s-room has developed several applications using the knowledge representation and the basic technologies described in section 3. This section describes three of them. They are 1. EventGo!: a real-world event search system, 2. Object-participation-type Weblog, and 3. EventCapture. 4.1

Real-world event search system Assuming an environment in which a sensor network always collects data produced by sensors attached to physical objects, the event search system returns information about an event that matches an intuitive interpretation of a set of NL words in a query [4]. To demonstrate this system, we construct a sensor-networked office environment in which physical objects are equipped with sensor nodes. Using a simple Google-like interface, users input queries in a word set that may contain a preposition and/or an adverb such as “drop,” “what hide,” “book move:horizontally,” or “who drop vase

on:2006.12.31.” The system translates each query into a description by the event representation for sensor data grounding described in section 3.1. Then it searches for a sensor data segment that satisfies the description. The system shows the event occurrence time, place, or related objects as a reply to the query. In addition, it answers for example, by displaying a video image recorded with video cameras. The system can ‘exactly’ search 40 event concepts (event descriptors) that can be directly detected by the sensors on the sensor node. Incidentally, a total of 101 verbs such as “move” and “increase” are associated with the 40 event concepts. To expand the vocabulary that we can deal with, we focus on a word subcategorization approach that defines a lexical usage for a word that tells us how other words or phrases are related to it. We first collect verbs related to twenty four object classes in offices such as staplers, chairs, trash cans, and pens, from textual corpora (1.4 Gbytes of data from the New York Times). We then select verbs that are not associated with any event descriptors. For example, the verbs ``use'' and ``sit'' are extracted verbs related to ``chair.'' We collect a total of 1,732 extracted verbs by subcategorization. Then we try to connect each of the extracted verbs to one of the 101 verbs associated with event descriptors that the present system can directly detect without a location detector. That is, for each extracted verb related to an object class, we use WordNet to search for its highest-frequency synonym, which is one of the 101 associated verbs, and connect it to the synonym. For example, we connect the associated word “turn'' to the extracted verb “open'' related to “door.'' This method enables us to connect 743 verbs to their synonyms (associated verbs) among the 1,732 extracted verbs. Fig. 6 shows the event search processing flow. To evaluate the event search system, we conducted an experiment in a sensor networked office environment and assessed the precision and recall. The experiment consisted of five sessions. For each session, we prepared a list of twenty pairs consisting of a noun and a verb randomly selected from the nouns that denote the eight objects and the 844 associated and extracted verbs. In each session, we first initiated twenty events corresponding to the twenty noun-verb pairs. We then input the twenty noun-verb pairs as a query and searched for the events using the system. Table 1 shows the precision and recall for each session. b1 0.70 0.97 b2 0.75 0.96 b3 0.55 0.91 b4 0.75 0.97 b5 0.65 0.95

precision recall

Table 1: Precision and recall for each session.

UbiCC Journal, Volume 2, October 2007

4

The results of the experiments show that the average precision value is about 0.68 and the recall value about 0.95. The high recall scores indicate that the system can successfully find data segments that correspond to observable events. In contrast, the precision reflects the limitation of the resolving power of different word meanings introduced by the vocabulary expanding techniques. Search failures are classified into the following types: (1) the system fails to find data segments that match physical quantity expressions and (2) it does not have an associated or extracted verb for a query. Examples of the former type of failur are (a) searching for ``knock door'' because the vibration that occurred when knocking on the door did not result is a ``move'' that connects with ``knock'' and detecting an event corresponding to ``cup raise'' because the subject had input the query before the outer temperature of the cup had begun to increase. This is because the thermometer on the sensor node attached to the outside of the cup detects the outer temperature of the cup. Therefore, we must delay the sensor response by about 20 or 30 seconds after pouring hot water into the cup. The latter is exemplified by a case where a subject rolled up a book (paperback) and she submitted the query ``roll

book,'' but the system does not have the verb ``roll.'' 4.2 Object-participation-type weblog As an application of Tag and Think, we have developed an object-participation-type weblog, where indoor objects with sensor nodes post weblog entries and comments about what happened to them in a sensor networked environment [5]. We implemented a sensor network system in an office. To enable people to continue working, we included desks, chairs, and bookshelves and installed many kinds of objects such as PCs. We installed four video cameras on the ceiling to record the room. We attached sensor nodes to various items of furniture including doors, chairs, tables, cups, an alarm clock, books, locker doors, a drawer, and resealable pouches of tea leaves. The indoor objects are personified and post weblog entries and comments about what has happened to them. They post entries (1) periodically or (2) when events occur. We can classify these events into three types: (2-a) weblog posting by users, (2-b) weblog posting by other objects, and (2-c) the occurrence of specific events experienced by the objects themselves. We prepared a total of 34 kinds of services (postings). Some representative examples are:

Figure 6: The event search processing flow.

UbiCC Journal, Volume 2, October 2007

5

Door - If a door is shut loudly many times at midnight, the door issues cautions. (2-c)

Resealable pouch of tea leaves - When a user posts an entry about a lost pouch, the pouch infers its location and posts it. (2-b) Fig. 7 shows a weblog entry that denotes the dropping of a cup. It includes an animation GIF which was recorded when the cup was dropped. We detect the fact that the cup was dropped by finding an acceleration data segment where the values of its three axes are approximately zero. Fig. 7 also shows a weblog entry posted by a user that denotes a lost tea pouch and a comment posted by the pouch. The comment includes the estimated location of the pouch and an animation GIF that was recorded when the pouch was last moved before the entry was posted. We infer objects in lockers and drawers by using luminance co-occurrence. When a locker is opened, luminance around the objects in the locker increases. EventCapture EventCapture [6] is a real-time application that searches for, monitors, and visualizes events. It also has a simple event prediction function. By using neighborSense, eventCapture can detect such events as those represented by the verb “put,” which eventGo! is unable to detect accurately. It monitors events in real-time and displays 3D movies of these events. EventCapture enables us to predict future events probabilistically just after an event has occurred. This is accomplished by using saved sensor data. Fig. 8 shows a snapshot of a 3D movie produced by eventCapture. We will be able to construct a broadcast movie site, similar to YouTube, where physical objects equipped with sensor nodes post the movies of events related to the objects by using the 3D movie generation function of eventCapture. RELATED WORK Many systems and applications that provide context-aware services detect situations and contexts from sensor data and change their behavior based on a model of the environment constructed using sensor data. That is, they obtain information about the realworld and directly provide services in the real world (for example, [7],[8], [9]). 5 4.3

Figure 7: Object-participation-type weblog.
- If the times when a door are used is different from usual, the door cautions the user. (2-c) Chair - When a user posts an entry about his/her tiredness, a chair posts the total amount of times during which the user sat on it as a comment to the entry. (2-a) - A chair posts the total amount of times during nervous shaking of the user's leg every week. (1) Cup - If a cup is dropped, the cup asks with concern whether or not it is broken (2-a) Locker and drawer - A locker and a drawer infer what objects are in them and post object lists every week. (1).

UbiCC Journal, Volume 2, October 2007

6

Figure 8: A snapshot of a 3D movie generated by eventCaputure.
On the other hand, some recent studies have focused on user-understandable representations of information on the real-world. For example, [10] proposed a system that allows people to search for and locate physical objects as and when they need them. On the assumption that all physical objects can be tagged with small devices that possess certain limited processing and communication capabilities, the system provides location information in NL sentences that offer references to identifiable landmarks rather than precise coordinates such as “my notebook is on my desk'' or “the keys are on the dining room table.'' [11] focused on WiFi location detection technology that estimates a device’s location based on received WiFi beacon signals. It constructs a continuous location logging system, or a “selflogging” system, using this technology. The system records WiFi information every few minutes and later converts this information to location logs. [11] also described such applications as displaying a user’s moving trajectories on a map and automatically generating a skeleton for weblog sentences based on the self-logging system. CONCLUDING REMARKS This paper described the concept, basic technologies, and applications developed for project s-room. The aim of project s-room is to construct a system that enables us to extract object properties and 6 status information and to create web content about physical objects and events utilizing sensor nodes attached to various objects. Our own future research directions include extending and refining our basic technologies and developing new web application. We will also define open API specifications for developers as regards the use of collected sensor data. We are convinced that ubiquitous computing techniques should be used as pre-processors for creating web content about physical objects and events in the real world, which will change both our life-styles and our businesses. ACKNOWLEDGMENTS We would like to thank Dr. Naonori Ueda, the executive manager of the Innovative Communication Laboratory, NTT Communication Science Laboratories for encouraging our work. We are also grateful for valuable discussions with the members of the Ambient Semantics Research group at NTT Communication Science Laboratories and with the members of the s-room team. REFERENCES [1] Okadome, T. (2006). Event representation for sensor data grounding. International Journal of Computer Science and Network Security, 6, 10, 187193. [2] Maekawa, T., T. Hattori, Y. Yanagisawa, T.

UbiCC Journal, Volume 2, October 2007

7

Privacy in communication among pervasive objects: methodologies for securing the exchange of sensible information
Pier Luca Montessoro, Davide Pierattoni, Sandro Di Giusto University of Udine, Department of Electrical, Management and Mechanical Engineering I-33100 Via delle Scienze 208, Udine, Italy {montessoro, pierattoni, sandro.digiusto}@uniud.it

ABSTRACT This paper discusses the main issues regarding the reliability and the efficacy of standard cryptographic techniques applied to pervasive computing. First of all, we describe a set of scenarios, where social interactions are supported by smallsized pervasive devices. These are expected to manage and exchange personal and sensible information with context-specific requirements. We present a general methodology that helps identifying the most suitable model for securing data storage, processing and communication. Three protocols and systems are formally described and compared in this framework, in respect of model’s complexity and security capabilities. Keywords: pervasive computing, cryptography, privacy, social interactions.

1

INTRODUCTION

Trying to foresee how pervasive devices will share and exchange information with each other, there are important social influences that must be taken into account. Pervasive computers will often deal with personal information: what perception of safety do users expect from such applications? What are the requirements that pervasive systems [1] should guarantee in terms of confidentiality, data protection and privacy? Historically, RFIDs have been the early devices presenting pervasive functionalities [2]. The spreading of this technology has some consequences in terms of security and privacy protection, which is the most common objection moved by its detractors [3]. However, such applications also raise significant privacy concerns in the minds of people, whether the concerns are grounded in reality or not. For example, individuals do not wish to have their movements available to everyone. Finding a solution to those concerns is of considerable importance if pervasive environments are to be widely used. Nevertheless, there are various techniques that may enforce the security of such distributed applications, without affecting their flexibility. A fascinating paradigm is the delocalization of security agents, together with secure communication protocols. 2 THE CONTEXT

information, and thus could benefit from the proposed methodologies [4]. By the way, these scenarios are not the only considerable ones, but let us treat them as examples. In the following sections, a Pervasive Object (PO) indicates a user-owned device, which performs some computation, has a local storage capability and may communicate wireless with other devices. For example, a PO will be a small-sized personal object, like a pendant, a key chain or a bangle, with limited processing power. Our prototype of Pervasive Object is shown in Figure 1: this is a tiny board with 8-bit microcontroller and IEEE 802.15.4-compliant wireless interface.

Figure 1: the prototype of small-sized pervasive device, with 8-bit microcontroller and IEEE 802.15.4-compliant wireless interface Moreover, the Certification Authority (CA) represents an active entity or agent, either on a single node or distributed on a pool of servers, which is delegated to manage the security and to protect the privacy of the information exchanged among POs.

For a better comprehension of the main objectives of this work, it is useful to describe three application scenarios that would deal with sensible

UbiCC Journal, Volume 2, October 2007

8

The fundamental assumption in this model of privacy management is that a user authorizes the divulgation of his/her personal data to another user only if the counterpart: • is trusted • is also divulgating his/her own data. In general, both aspects are managed and guaranteed by the CA. Some applications could rely on personal data that are divulgated in a one-way communication; in such cases, the CA assures the identity and the authorizations of the persons to whom the collected information gets revealed. Application scenarios In our world, the use of communication technologies like phone, fax and email has become commonplace. Despite this fact, most human interactions still occur when people meet face-toface. Frequently we exploit such meetings cooperating with other people and pursuing and advancing our own goals. For example, we purchase items from a salesperson, organize schedules with co-workers, or make travel arrangements with friends at home. 2.1.1 Car pooling The car pooling principle is to optimize the utilization of the means of transport by the ride sharing among people who usually cover the same route [5]. Current car pooling management services are powered by centralized database systems and rely on Web-based interfaces to interact with users. This has some limitations: first, the scalability and the overall efficacy of a centralized system get lower when the number of users increases. Secondly, the user-driven approach in interfacing users to the management system is still tricky and few practical, since users spend time inserting their own data and verifying correspondences, if any. Last but not least, suspicion and mistrust are not so easy to defeat. The basic idea for Pervasive Car Pooling is that those people who cover every day the same route at nearly the same time, have a good chance to meet close together sometimes. This kind of neighborhood is often ineffective because people do not exchange information about their daily trip, and most of the time they do not communicate at all (think about an elevator, a canteen or a reception hall of a large enterprise). But a pervasive agent can automatically exchange the daily trip information and help discovering the possible affinities in an imperceptible and anonymous fashion. Integrated in some little and portable thing – a trinket or a bracelet, for instance – POs are equipped with a short-range wireless communicator. POs can disseminate the average daily route covered and shareable by their owners: that is, the datatrip. At the same time, each PO collects from peer devices the 2.1

same information disseminated by neighboring people. Pervasive car pooling is also easy-to-use: once data to be shared by a user’s pendant has been set up, the user has nothing else to take care of. Setup can be performed both in an automated and manual fashion: in the former case, the datatrip can be evicted and refined automatically by the PO entity, collecting localization events from GPS or WiFi access points or special radio tags “on the road”, and thus discovering the daily path. Alternatively, a user is also allowed to specify his/her preferred, “handmade” datatrip to be shared among the service users, without requiring any additional infrastructure. This silent information exchange produces in background a collection of messages inside each user’s PO that are ready to be analyzed for affinity. Controlled disclosure and privacy of exchanged information are guaranteed to the service subscribers by one or more trusted entities, named Certification Authorities. The problem of mistrust is solved by the fact that all the users that join the service are identified and recognized by a trusted corporate body, which owns and manages the CA and assigns POs to registered users. As will be better described in the following chapters, communication among POs is anonymous, since data packets are encrypted according to a multi-layer enveloping scheme. In particular, each exchanged datatrip is signed and encrypted by the originating PO and may be decrypted only by the referring CA. Communication with the CA happens from time to time and is necessary for the decryption of collected datatrips and their analysis, thanks to a trusted entity. Data transfer between a PO and the CA relies on a secure communication; for instance, it can be performed during battery recharge, through the PO’s docking station connected to a networked PC. CA searches for full or partial affinities, and performs the notification to those pairs or groups of subscribers, who matched the affinity criteria, In order to benefit of the trustworthy intermediation offered by the CA, the definitive arrangement of the groups of ride sharers should be done at the right time. For this reason, instead of sending back to the user a real-time notification that a match is found and what are the names of the candidates, the CA starts an off-line procedure of agreement. This way CA acts like a trusted agent and alerts via e-mail and/or SMS the involved subscribers to the opportunity of sharing the ride with someone else. Only after receiving the acceptance from all the concerned parties, CA discloses the minimal set of contact information to let people get in touch. Each CA may also take part in a federation of trusted CAs that aggregates a large number of subscribers from different associated service providers. A safe procedure is also required for

UbiCC Journal, Volume 2, October 2007

9

managing groups when affine subscribers belong to distinct CAs in the federation. Even if the number of members of a pervasive car pooling service increases, PO’s short-range wireless communication confines the exchange of datatrips to those users, who find themselves in physical proximity at least one time. Let us observe that this condition acts like a constraint for reducing the space of events to be inspected for finding the local optimum solution for the affinity search problem. 2.1.2 Search for affinities A further scenario, which generalizes somehow the previous one, involves the search for personal affinity among people. This could be the engine of various applications: for entertainment purposes, let us think of a discotheque or a club. But affinity might be discovered between a person’s lifestyle and the books of a library. Each user stores in his/her own pendant a set of personal information – a personal profile with hobbies, preferences, lifestyle, and so on – that are freely divulgated by this personal device. The other users’ POs will receive the information spread by each neighboring PO; if a PO is in coverage of a CA (for instance, a WiFi Access Point) it sends to the CA its own personal information together with the harvested one. Being that information is encrypted, only the CA can decode PO-harvested data. If the CA reveals significant affinities between two users, it sends a match found message to the PO of each corresponding user; even if match found messages were broadcasted, encryption allowed messages to be decoded only by the destination POs. At this point, a matching user may decide to reveal his/her identity, informing the CA that he/she wants to meet his/her fellow. After receiving the authorization from both users, the CA informs them about the personal similarity and their respective contact information. This scenario is not brand new [6][7][8], and some implementations of search for affinity have already been produced. Nevertheless, most existing systems do not deal enough with privacy and anonymity problems; further, they are based on preexistent communication systems – like Bluetooth – whose security is inadequate for supporting this model of information exchange. Let us observe that the information security level required in this scenario is lower than in the previous one. In fact, any personal and behavioral information is voluntarily selected by a user that decides to share something with the others; further, certain data are typically less critical from the point of view of the personal safety in comparison to the information on a user’s own moves. On the other side, this scenario is more lightweight and suitable for entertainment applications.

2.1.3 Health and control Much development work is ongoing addressing technologies and their application in the health domain [9], in order to achieve solutions that are non-invasive to everyday life and work. But by property of its confidentiality, the information exchanged by pervasive objects in this scenario must be kept under strict control. Let us think about a network of wireless sensors that notice the pressure or the cardiac pulsation of a patient, or an accelerometer that monitors the mobility of a senior citizen in a nursing home. These POs must periodically communicate their readings to the CA – i.e., a centralized monitoring system – or even simply to another neighboring PO – for instance, the PO of a nurse or a physician, the PO embedded in medical equipment, and so on. It is expected that such information won’t be transmitted in clear and therefore the system must guarantee the safety of communication. Moreover, it is necessary to certify the identity of the receiver that will decode the personal information. In this scenario, many would be the advantages of a lightweight but robust system, in which PO sensors broadcast their own encrypted and digitally signed information. Each PO should also converse with other POs through the intermediation of an authentication agent in the CA, which is the only entity allowed to decrypt data sent from a PO. General requirements Starting from these examples, some fundamental requirements clearly emerge in the field of the communications among small pervasive devices. Communication mode. In most cases connectionoriented protocols are too complex, since the amount of information to be exchanged is very small, it is spread in a short range transmission and it is not required to certainly reach a given destination. RF and wireless technology. Protocols like Bluetooth, ZigBee, WiFi provide functionalities like peer pairing and connection control, requiring therefore large power consumption and sensitive loss of anonymity and safety. In the proposed scenarios instead a more simple RF communication is supposed: this could be based still on the physical layer of IEEE 802.15.4 but with ad-hoc layer-2 protocol implementation, giving just synchronization and collision detection. Anonymity. It is often necessary to keep the anonymity of communication among pervasive devices, while features like authentication and intermediation (proxying) are delegated to a certified and trusted management entity. Authentication. At the same time, the system is required to guarantee the sender’s authenticity when a pervasive object receives the information. This is achieved through authentication performed by the CA, which is based on symmetric or asymmetric 2.2

UbiCC Journal, Volume 2, October 2007

10

cryptography, or both. The most effective example in this case is surely the health care scenario, where the control entity must not trust data received from those POs, whose authenticity is not guaranteed. Latency. Some applications do not need real time communication and/or immediate responsiveness, being more focused to the intrinsic relevance of the content, rather than to the necessity of immediately know the results of the elaboration. When dealing with car pooling, the advantage of instantaneously identifying affine users and putting them into contact when they are still on the road is really less important than keeping high their sense of safety and anonymity. Time constraints instead are a little more critical for health care and entertainment purposes; anyhow, the system will not exceed a maximum latency, which could be a few minutes for affinity searches in entertainment applications, and a few seconds in health care and monitoring services. Computation and complexity. From the user’s point of view, everything should look as simple as possible. In fact, a citizen interested in the Pervasive Car Pooling service reaches the car pooling agency, signs a service acceptance agreement, and takes his/her own PO. Each Pervasive Object may be provided with a helper device, named User Interface: in the current vision, the UI is a docking station for the PO that gets connected with a Personal Computer – for instance, through the USB interface – plus dedicated software. UI recharges PO’s internal battery. Nevertheless, UI’s software assists the user during the PO setup, with wizards for creating, modifying and storing his/her encrypted information on the PO. The reason of such a UI in the model is not just to make things easier for the user: it also acts like a calculation helper for the PO. In fact, the UI could perform all the cryptographic features needed to encrypt user’s information. This makes POs compatible with low-power, low-cost technological constraints. 3 THE PROPOSED TECHNOLOGY

related to the applications and scenarios presented in the previous section. How the system works The main scope of the system is to put the security management outside the POs; this is possible by means of a third party, the CA entity. At stratum 1 the system requires POs to communicate with each other in unacknowledged mode, sending the information they are allowed to distribute and eventually receiving information from other nodes. At this level, nodes are stores of collected information but they have no capability of decoding and interpreting its content. We define at stratum 1 two communication phases: harvesting and dissemination. The former regards data collection, the latter regards data distribution among peer entities. Figure 2 shows how harvesting and dissemination are performed by neighbor POs in the pervasive car pooling scenario. 3.1

Figure 2: pervasive objects and stratum-1 harvesting and dissemination phases. How CA agents intervene in decoding and managing information depends on the reference scenario. For instance, in Pervasive Car Pooling each PO sends to the CA agent the whole set of collected (harvested) messages; this stratum-2 exchange takes place with no time constraints, i.e., every time a communication channel is made available between the PO and the CA. On the other hand, low latency in health care applications requires the infrastructure to provide a diffuse and fast stratum-2 communication between POs and CA entities. Let us think of a large deployment of devices very similar to WiFi Access Points, whose scope were not just giving a mere connectivity towards POs, but providing them a network of trusted computation resources that works for them. The trusted resource deciphers, certifies and elaborates information collected by each PO in the system, and also sends back results and/or alerts, if needed.

To solve the problems previously described, we realized a model with two strata of communication: on the first stratum, Pervasive Objects – or nodes – are peers that may communicate with each other in unacknowledged mode, and without the possibility of decoding messages (then, without real interaction). On the second stratum, single POs converse with the certification entities (CAs) furnishing them the necessary functionalities of decoding and authentication, in order to access the information contents exchanged at stratum 1. The system is thus based on a peer-to-peer, unidirectional infrastructure at stratum 1, and on a trusted hierarchy with bidirectional communication at stratum 2 [10][11]. The overall advantages of this model are undoubtedly notable, even if strictly

UbiCC Journal, Volume 2, October 2007

11

The protocol stack The heart of our system is a protocol stack for a multi-layered, secure communication among POs. Packets at each layer are transmitted and received in a completely anonymous and illegible form for those devices that are not expressly recognized and authorized in the trusted system [12]. The stack embeds double-key asymmetrical cryptography – e. g. ECC or RSA – and relies on digital signature techniques – e.g. ECC, RSA or DSA. Furthermore, cryptography [13] [14] and data hashing are applied in the system for data storage and management. The main concept is thus forging anonymous, secure and authenticable packets. To achieve this, a three-layer model is required, as shown in Figure 3.
SIGN

3.2

of the concrete information shared by the pervasive application. This is achieved by a hash algorithm that summarizes the message; hash data is then digitally signed with a signing algorithm ( S ) by means of the private key ( PRK PO ) of the sender PO:

SIGN = S ( INF3 , DATAClear ) PRK

PO

(1)

The signature ( SIGN ) is then appended to the payload, which is made of clear application data ( DATAClear ) and application protocol information ( INF3 ); together with a layer-3 header H 3 , this becomes the layer-3 message:

DATA3 = H 3 , SIGN , INF3 , DATAClear

(2)

H3

MESSAGE

Stack:
Sign

Layer 3 Layer 2 Layer 1

H2

PAYLOAD2

Encrypt

Routing
H1
PAYLOAD1

Figure 3: Protocol stack for trusted multi-layer communication. A basic condition is that each PO in the system has its own pair of asymmetric keys (a public key PUK PO and a private key PRK PO ) that are

Moreover, H 3 contains the unique ID of the object, that is, the label that allows the decoding agent to recognize the sender and to get its public key from the CA’s database. Layer 2 – “Encrypt”. This layer provides encryption and decryption features, making layer-3 packet contents completely anonymous and illegible. A symmetric cryptography – based on algorithms like AES, 3DES, Blowfish, … – is thus performed on the whole layer-3 message, encrypting it ( SC ) with a temporary session key SK SESSION PO which is

KEY

random generated. The same key is then encrypted with an asymmetric algorithm ( AC ) using the CA agent’s public key PUK CA and appended to the SC-

regularly provided by the trust management authority (ideally, who governs the application: for instance, the administrator of the car pooling service). PUK PO is then saved in the management

encrypted layer-3 message. Layer-2 packet is thus:
DATA2 = H 2 , AC SK SESSION … , SC DATA3

authority’s database and also stored in the CA agent that will provide services to the particular PO by decoding its packets. PRK PO is kept inside the PO

(

PO SK SESSION

( )

PO PUK

)

CA

,…
(3)

PO

or, alternatively, in a external software that could be used to program PO’s functions (for instance, a software bundled with the UI device for managing and configuring the PO from a Personal Computer). Similarly, each CA agent must obtain from the trust management authority its own pair of asymmetric keys (a public PUK CA and a private

one PRK CA ). PUK CA is public domain, and will

be stored in each PO that will refer to that particular CA; PRK CA is kept inside the agent device.

After these premises, the meaning of the various levels in the stack is briefly explained as follows.

Layer 3 – “Sign”. At this layer, each PO entity deals with the authentication of its own message, i.e.

where PO introduces some protocol information in the layer-2 header H 2 . Layer 1 – “Routing”. This layer provides routing information to be used by intermediate agents. This is necessary for complex systems, where decoding agents may also act as intermediate entities, when they receive packets from POs that refer to another agent in a federation of CAs. This layer enforces scalability and flexibility of pervasive systems, supporting large numbers of POs and CA agents, and allowing hierarchical organization of services and trust management authorities (see Section 5). In this approach, the anonymity of the original sender is conserved by upper-layer protocols. In order to route packets among CAs, if needed, layer 1 appends some clear – i.e., unencrypted and unsigned – information H1 to the layer-2 message:

UbiCC Journal, Volume 2, October 2007

12

DATA1 = H1 , INF1 , DATA2

(4)

where H1 represents the layer-1 protocol header and carries routing information. Moreover, INF1 is an optional field which is suitable for applications that could benefit from sharing part of the personal information in clear form – i.e., unencrypted and unsigned.
4 APPLYING THE METHODOLOGY

Figure 4 shows the structure of generic information packets and summarizes the encryption and decryption phases performed respectively by the PO (or the UI helper, if the PO had no computation power enough) and the CA.

particular, this version allows cryptographic and stratum-2 functions to be performed on external helper devices, instead of directly on POs. This is the case of a Personal Computer having a PO docking station with communication interface. A data packet to be disseminated by the PO is encrypted once in a time by the software on the PC, according to the multi-layer protocol scheme (see previous Section). Then the packet is stored in PO’s memory. On the other hand, packets collected from the PO are downloaded to the PC via the UI for further stratum-2 communication with the CA, each time PO’s battery is recharged. From the CA perspective, when receiving a collection of packets from a given PO, it must perform a preliminary check, decoding H1 header and reading the ID CA . If this value doesn’t match its

own ID, CA could route the involved packets to the legitimate agent in a CA federation (see Section 5). Otherwise, it performs the following operations: 1. First of all, CA decrypts the second part of the message by using its own PRK CA .

2.

Then it decodes information stored in H1

and identifies the PO by the ID PO field.

3.

Having the ID PO , it interrogates its own
PO

user database and gets the related PUK
Figure 4: Encryption and decryption steps in pervasive, multi-layer trusted communication flows.

. The

In order to satisfy both security and computation requirements of a large variety of applications, the proposed methodology provides three different versions of multi-layered, secure communication among pervasive objects: Robust, Flexible and Light.
4.1 Robust version Robust version was designed with Pervasive Car Pooling in mind but it is also suitable for all those scenarios, where POs are not able to communicate frequently with a CA. In this case, assuring the highest security and privacy level is always more important than satisfying latency constraints. Let us note that sent packets are always anonymous and authenticable. Communication between POs is unidirectional and offline, performing stratum-1 harvesting and dissemination phases. Stratum-2 communication is then represented by a secure communication between the PO and the CA; the endpoint of the stratum-2 communication may be the PO itself or an external helper device. In fact, the Robust version is suited for systems with soft speed requirements, allowing minimizing PO’s computational and hardware requirements. In

public key of the PO is used by the CA to check the layer-3 signature. 4. If also this step yields positive result, the CA elaborates received data – for instance, finding affinities, recording health details, and so on according to the application requirements.
4.2 Flexible version If we think on a search for affinity scenario or on a sensor-based health care system, it is necessary POs to communicate frequently and rapidly with a CA. This version is hence more lightweight and requires less computation on a PO, performing also a faster communication with the CA. To obtain this, the Flexible version introduces a preliminary phase, named discovery: in this phase, every PO and CA that are meeting each other for the first time must perform a mutual authentication procedure. To ensure the maximum flexibility, we have defined three protocol flavors for the discovery phase. 4.2.1 Mutual authentication This is the most complicated flavor, but it gives the highest level of security and anonymity. This protocol requires that every CALOCAL entity has an active network link to communicate with the global reference server CARIF . Then:

1.

After a pervasive object POX receives a

UbiCC Journal, Volume 2, October 2007

13

Hello packet from CALOCAL (from which it also discovers ID CA

CARIF then starts the second authentication phase,

and the related public key

where

it

checks

LOCAL

ID CA

and

LOCAL

PUK CA

LOCAL

PUK CA

), it generates two random values:

LOCAL

IDTMP

POX

and SK DISCOVERY

POX

.

coherency. If also this step gives a positive result, the CALOCAL - POX pair is now certified. 6.
POX :
AuthAckPO = H AuthAckPO , IDTMP

CARIF generates a first reply packet for

2. POX generates an AuthReq packet (Authentication Request) to the local CA entity:

AuthReq = H Clear , AC SK DISCOVERY

(

POX

)

CARIF PUK

,
, SK SESSION
CARIF

POX

, SC ID PO ,
X

(

⊗ SK DISCOVERY

, Message CA

RIF

)

POX SK DISCOVERY

(9)

, SC SIGN PO , ID PO , IDTMP
X

(

POX

,

(5)

, ID CA

, PUK
CALOCAL

LOCAL

 X   SK DISCOVERY

PO

where some important values are stored, like ID PO , a new random symmetric key
X

SK SESSION

CARIF

and an optional Message for POX .

where in particular SIGN PO is obtained from:
SIGN PO = S ID PO , IDTMP
X

, PUK CA

LOCAL

( )

POX

, ID CA

,
(6)

LOCAL

POX PRK

This packet is sent to CALOCAL , which broadcasts it to the reachable POs. 7. When POX receives the AuthAck PO packet, it simply realizes to be the right receiver by reading the IDTMP PO clear field: this is possible
X

that is a typical digital signature. This packet is then broadcasted. 3. When CALOCAL receives the packet, it decodes the H Clear field and forwards the packet to

because this field is not encrypted and its value matches the original copy of the random variable. POX then uses its own SK DISCOVERY PO to decrypt
X

all the rest of the message. This way, POX also learns that CALOCAL is a certified local server for the requested application. From now on, POX can directly communicate with CALOCAL only by using
IDTMP
POX

CARIF receives the packet and decodes H Clear field, realizing that it has to validate the CALOCAL - POX pair. It decrypts the second field of
⊗ the message, SK DISCOVERY , using his own private

CARIF 4.

as identifier and SK SESSION

CARIF

as

symmetric key for encryption. 8. CARIF generates also a reply packet for CALOCAL :
AuthAckCA = H AuthAckCA , CA IDTMP

key PRK CA

:

RIF

(

POX

,
(10)

⊗ SK DISCOVERY = AD SK DISCOVERY

(

)

CARIF

PRK

(7)

, SK DISCOVERY

CARIF PUK

)

CALOCAL

and with the obtained SK DISCOVERY decrypts all the rest of the message:
⊗ AuthReqDATA = SD AuthReqDATA

(

)

POX SK DISCOVERY

confirming that POX is a trusted and registered object for the requested application. In this message CARIF also informs CALOCAL about the details of the connection with POX , that are IDTMP
POX

(8)

and

CARIF searches in its own user database the POX registration data. If a match is found, CARIF checks the integrity of the message, performing the sign-check on SIGN PO with the PUK
POX

5.

SK SESSION

CARIF

.

9. From now on, POX and CALOCAL can simply communicate each other using only symmetric cryptography with SK SESSION CA .
RIF

obtained from a query in the user database.

4.2.2 One-way explicit authentication This protocol flavor was studied

for

UbiCC Journal, Volume 2, October 2007

14

environments and applications where it might be difficult to set up a permanently active network link among CAs. Perhaps, a side effect of relaxing this constraint is that it becomes impossible to obtain a mutual form of authentication, since CALOCAL cannot own the entire user database. For this reason, only one way-authentication is performed: in particular, only CALOCAL is authenticated by POX . The basic idea of this protocol is to define a specific role, CALOCAL − PROX , which consist of a small device with a very short-range wireless communication capability (about few centimeters, like in the case of proximity sensors) and could be located in a specific position, for instance, at the checkpoint entrance of a building. This protocol flavor works as follows: 1. When the user gets into the range of the CALOCAL − PROX , his/her POX receives a Hello packet from it. In this advertisement, each POX discovers ID CA
LOCAL

4.2.3 One-way implicit authentication The last protocol flavor is suitable for scenarios where security and anonymity requirements aren’t so pressing, preferring instead a lightweight and faster infrastructure. In this case, the basic idea is to share the same, among “universal” key pair PUK CA - PRK CA
UNIV

UNIV

all the CALOCAL authorities belonging to the same service. Nevertheless, every POX stores in its local memory the PUK CA

. To enforce security, the

UNIV

system could perform a key update procedure with a periodic generation and distribution of a new key pair, reducing the risk of corrupted or stolen keys. This approach may be described as follows: 1. When POX enters in a service area, it receives a Hello packet from the nearest CALOCAL , from which it discovers the ID CA

value that

LOCAL

and PUK CA

. AuthReq packet

LOCAL

POX generates 2. (Authentication Request):

an

identifies the local CA. 2. POX generates an AuthReq packet in the following manner:
AuthReq = H Clear , CA SK DISCOVERY

AuthReq = H Clear , AC SKTMP , SC IDTMP

(

POX

)

CALOCAL PUK

,
POX SKTMP

(

POX

(

POX

, ID PO , Message CA
X

LOCAL

)

(11)

, SC IDTMP

(

POX

, ID PO , Message PO
X

X

)

PUK POX SK DISCOVERY

)

CAUNIV

,

(12)

and sends it to CALOCAL − PROX . In this packet,

This step is similar to the explicit authentication. 3. When CALOCAL receives the packet, it decrypts the packet using the PRK CA

POX inserts two new random values: IDTMP and SKTMP
POX

POX

shared

UNIV

. Furthermore, it appends an optional

Message field to CALOCAL − PROX containing piggybacked information, if needed, according to the application requirements. 3. When CALOCAL _ PROX receives the AuthReq packet, it
POX

among CAs, and stores the extracted details about POX in its local user database. 4. The CALOCAL generates an AuthAck (Authentication Acknowledgement) and broadcasts it to POs with the following content:
AuthAck PO = H AuthAckPO , IDTMP , SK SESSION
CALOCAL

reads

H Clear

header

and

obtains

POX

, SC ID PO

(

X

SKTMP

by decrypting the second field through
LOCAL

, Message CA

LOCAL

)

POX SK DISCOVERY

(13)

its own PRK CA

. After that, CALOCAL _ PROX

stores the extracted details about POX in the user database, which is shared with all CALOCAL entities in the local system. In particular, stored information are IDTMP PO , SKTMP PO , ID PO and Message .
X

POX receives the packet from CALOCAL 5. and, from now on, it will communicate with CALOCAL using symmetric cryptography with the
couple of values: SK SESSION
CALOCAL

and IDTMP

X

X

PO X

.

4. As last operation performed during the discovery phase, CALOCAL _ PROX informs the user (but not necessarily through the POX ) about the completion of the discovery phase, for example with a text on a display, a green light on the turnstile or an acoustic signal.

4.3 Light version Light version aims at the minimization of the overall communication and protocol overhead; at the same time, it increases the computational performance and reduces the latency of the system. The basic idea is to simplify the discovery phase of the Flexible protocol version by removing the

UbiCC Journal, Volume 2, October 2007

15

authentication procedure. This means that POX is not really able to authenticate a CA that sends him a Hello packet; nevertheless, it can perform anyway a secure and virtually anonymous data exchange with the CA. Basically, the Light version starts from the usual Hello packet from the CALOCAL , which advertises its

ID CA keys of previously known, certified CAs in the federation. If not, the agent sends a request to the CAMANAGER asking if the ID CA belongs to a valid

PUK CA

LOCAL

. When POX receives this packet, it
X

generates a new packet with ID PO , and two new

federate, and requesting the contact data (like network address, hostname, digital certificate, …) of the federate CA. If the CAMANAGER answers positively, the local agent is able to contact the federate CA corresponding to the ID CA through a

random values: SKTMP

POX

and IDTMP

PO X

. This

information is then encrypted with PUK CA

and

secure network connection – for instance, a SSLencrypted TCP connection. The local agent requests the federate ID CA to send information for remote

LOCAL

broadcasted. When CALOCAL receives the message, it decodes and decrypts it with its own PRK CA
LOCAL

and then stores the extracted details about POX in its local user database. From now on, CALOCAL and POX can communicate using symmetric cryptography with the values IDTMP PO and SKTMP PO .
X

decoding. After confirm, local CA performs CArouting phase by sending the PO-generated information on the secure channel to the counterpart ID CA , which decodes data following the model

described in previous section. After processing, ID CA may send back the results to the local agent, if

X

This model is suitable for those applications, whose constraints in terms of mutual trust between provider and consumer are not so critical, like in the case of “rough” systems, such as search for affinity in a discotheque or for other entertainment purposes.
5 COMPLEX SCENARIOS

needed by the application. In particular cases, it could be necessary to enforce security and robustness of this scheme, so that information about POs would not be exchanged among federate CAs. In the car pooling scenario, for privacy reasons the federate ID CA could send back

to the local CA agent just the result of its elaboration, but never inform it about the personal information of the user referring to the served ID PO . To achieve

As previously described, Robust and Flexible variants require PO authentication; nevertheless, there exist some scenarios where the decoding agent for a given PO could be not unique. In the pervasive car pooling, for instance, a single server acting as decoding agent for a huge number of POs would become unmanageable. On the other hand, for vulnerability reasons it would be unsafe to replicate and thus to share the same private key PRK CA

this, status information or timestamps could be added in clear as part of the layer-1 protocol, to be managed during CA-routing phase. This would help local CAs tracking requests regarding foreign POs, and also taking countermeasures in case of communication failure, latency exceeded or timeout.
6 PERFORMANCE OF THE SYSTEM

among the CA agents in a pool. A suitable solution is a distributed approach, with a protocol for managing agents and secure information exchange in a federation of Certification Authorities. Current implementation is based on level-1 information in H1 header: this identifies the decoding agent — i.e., the CA — that sends the message or is expected to be the receiver by the sending PO. When a CA agent receives a packet, it checks the CA identifier ( ID CA ) in H1 . If the ID CA

in the packet doesn’t correspond with its own ID CA ,

the CA engages the CA-discovery and CA-routing phases. First, CA-discovery requires the local CA agent to verify if the packet’s ID CA is in a local cache of the

To analyze more in detail the proposed system, we report some quantitative considerations regarding the trade off between security and overall performance. As evicted before, the proposed methodology and all its protocol variants are very generic and can be applied on many different scenarios. This fact makes difficult to define an overall performance indicator, since it varies from application to application. Nevertheless, we try to address an evaluation of the overall performance in the very particular scenario of pervasive car pooling. We can assume that a reasonable data packet dimension is about few hundreds of bytes: depending on the server federation complexity and the datatrip profiling and coding system, application-level data could reasonably vary between 200 and 500 byte. Considering the smallest data size, multi-layer trusted communication adds the following protocol

UbiCC Journal, Volume 2, October 2007

16

information: • Level 3: in addition to application-level payload, we have to consider the SIGN field (32 bytes using standard SHA-256 digital signature), the INF field with 6 bytes (since it contains also the PO’s ID) and the HDR field of 2 bytes. Level-3 packet amounts to 240 bytes. • Level 2: the entire level-3 packet is encrypted using AES-128, obtaining a level-2 payload of 240 bytes; we have also the KEY field of about 32 bytes (using ECC-256) and an HDR of 2 bytes. Level-2 packet is thus of 274 bytes. • Level 1: the payload is the entire level-2 packet; level 1 adds also an INF field of about 8 bytes and an HDR of about 2 bytes. The final packet amounts to 284 bytes. This rough analysis provides a reasonable accuracy when considering the network overhead, i.e. the overhead introduced by the security- and trustoriented communication. The additional cost in terms of packet dimension is of about 42% in the worst case. This is quite inexpensive if we consider that we are using a medium-high security-level (a 128 bit

strong equivalent security [15]). Smaller dimensions of INF and HDR protocol fields are also possible in other application scenarios, reducing network overhead to lower values but maintaining the same security level.
7 CONCLUSIONS

The focus of this work is to present a set of scenarios where small-sized pervasive entities are expected to manage and exchange personal and sensible information. Three main approaches with some flexible variants for securing data storage, processing and communication are thus formally described and compared, in respect of model’s complexity and security expectations. Table 1 summarizes the main features and requirements of each version of the proposed methodology:

Robust

Active network Yes, but not link permanently Authenticates POs Yes Authenticates Yes CALOCAL Requires a No discovery phase Uses signatures Yes during data session User anonymity Total level Security level Total Notes It requires more computational resources than others (suitable for pervasive objects with a PC or PDA as helper devices)

Mutual authentication Yes

Version Flexible Explicit authentication No

Light

Implicit authentication No

No

Yes Yes

No Yes, by proximity

Yes

Yes

No Yes, by universal keys Yes

No No

Yes

Features

No

No

No

No

Almost total

Almost total

Almost total

Almost total

Total Requires still a permanently active network link for CALOCAL

Good Less transparent to the user, until the completion of the discovery phase

Fair The overall security level is strictly related to the security of the CA devices (because keys are universal)

Partial It cannot offer strong authentication techniques (potentially exposed to aliasing attacks)

Table 1: Comparison among the different versions of the methodology

The affinity search methodology described here is part of an italian patent [16] and a pending application of international patent [17].
ACKNOWLEDGMENTS Authors wish to thank Dr. Gianpietro Tecchiolli from Exadron - a subsidiary of Eurotech S.p.A., Amaro (UD), Italy - for his contribution in stimulating and supporting this research activity and for the development of the prototype. REFERENCES 1. Davies, N.; Gellersen, H.-W.: Beyond

prototypes: challenges in deploying ubiquitous systems. Pervasive Computing, IEEE Volume 1, Issue 1, Jan.-March 2002 Page(s):26 – 35 2. Riekki, J., Salminen, T., Alakärppä, I.: Requesting Pervasive Services by Touching RFID Tags, IEEE Pervasive Computing, vol. 5, no. 1, pp. 40-46, Jan-Mar, 2006. 3. Rieback, M.R., Crispo, B., Tanenbaum, A.S.: The Evolution of RFID Security, IEEE Pervasive Computing, vol. 5, no. 1, pp. 62-69, JanMar, 2006. 4. Estrin, D., Culler, D., Pister, K., Sukhatme, G.: Connecting the Physical World with Pervasive

UbiCC Journal, Volume 2, October 2007

17

Networks, IEEE Pervasive Computing, vol. 1, no. 1, pp. 59-69, Jan-Mar, 2002. 5. Montessoro, P.L., Pierattoni, D., Di Giusto, S.: Designing a Pervasive Architecture for Car Pooling Services, Proceedings of the International Joint Conferences on Computer, Information, and Systems Sciences, and Engineering. CISSE 2005. 6. Teng, C.-M., Chu, H.-H., Hsu, J. Y.-j.: Making Use Of Serendipity: A New Direction For Pervasive Computing From A Sociological View. Department of CSIE, National Taiwan University. 7. Beresford, A.R., Stajano, F.: Location Privacy in Pervasive Computing, IEEE Pervasive Computing, vol. 02, no. 1, pp. 46-55, Jan-Mar, 2003. 8. Bessler, S., Jorns, O.: A Privacy Enhanced Service Architecture for Mobile Users, percomw, pp. 125-129, Third IEEE International Conference on Pervasive Computing and Communications Workshops (PERCOMW'05), 2005. 9. Drugge, M., Hallberg, J., Parnes, P., Synnes, K.: Wearable Systems in Nursing Home Care: Prototyping Experience, IEEE Pervasive Computing, vol. 5, no. 1, pp. 86-91, Jan-Mar, 2006. 10. Shih, E., Bahl, P., Sinclair, M.J.: Wake on wireless: an event driven energy saving strategy for battery operated devices. In Proceedings of the

eighth annual international conference on Mobile computing and networking, pages 160--171. ACM Press, 2002. 11. Colon Osorio, F.C., Agu, E., McKay, K.: Tradeoffs Between Energy and Security in Wireless Networks. 12. Anderson, R., Needham, R.: Robustness principles for public key protocols. Cambridge University Computer Laboratory 13. Kakkar, P., Gunter, C.A., Cryptographic Reflection, Department of Computer and Information Science University of Pennsylvania 14. Network Associates, Inc.: Introduction to Cryptography 15. Barker et al.: NIST Special Publication 80057, Recommendation for Key Management, January 2003, Revised on March 2007. 16. Montessoro, P.L., Pierattoni, D., Di Giusto, S.: Metodo per l’individuazione di affinità fra soggetti e relativo apparato, Italian Patent Application UD2005A000209 17. Montessoro, P.L., Pierattoni, D., Di Giusto, S.: Method to search for affinities between subjects and relative apparatus, International Patent Application WO2007065931

UbiCC Journal, Volume 2, October 2007

18

Minimizing energy consumption within wireless sensors networks
F. Shebli, I. Dayoub and J.M. Rouvaen University of Valenciennes (IEMN, UMR CNRS 8520) Le Mont Houy,BP311, 59313-Valenciennes Cedex, France

ABSTRACT The use of sensor networks should keep developing, mainly in such fields as scientific, logistic, military or healthcare applications. However, sensor size represents a significant limitation mainly in terms of energy autonomy and therefore of life period, for the batteries have to be too tiny. This is the reason why intensive research is being conducted nowadays on how to control sensor energy consumption within a network, taking communications into account as a priority. For this purpose we propose a method to calculate energy consumption within linear wireless sensor networks, according to the data flow rate, the number of nodes and the distance between them. Furthermore, we have succeeded in reducing energy consumption within linear sensor networks made up with nodes featuring differing data flow rates. Keywords: Wireless sensors networks, Clustering, Energy consummation, Routing..

1

INTRODUCTION

Wireless sensor networks are a novel technology emerging from embedded system, sensor technology and wireless networks. The rapid deployment, selforganization and fault tolerance characteristics of wireless sensor networks make them a very promising sensing technique for military, environmental and health applications [1]. However finite, generally irreplaceable power sources in sensor node limit lifetime of the whole system. Some researches have proven that sensor node expends maximum energy in data communication [2]. A sensor network is a distributed system made up with a large number of small sensors, equipments, low power transmitters-receivers, without a central processing unit. One of the major problems in these networks consists in reducing energy consumption to a minimum in such a way as to maximize a network life time [3]. Recent advances in the IC technology make it possible to produce micro-sensing devices that are equipped with processing, memory and wireless communication capabilities. In Wireless Sensor Networks, WSNs, nodes are untethered and unattended. They are distributed across an area of interest and communicate among themselves in multiple hops, building an ad-hoc network. Nodes have limited and non-replenishable energy resources. There are special nodes named sink (or gateway) nodes, that are responsible for processing and storing the information collected by the network [4].The battery is an essential component in data acquisition. In general, it is

neither replaceable nor rechargeable. It may be partially fed by energy generating units such as photo-voltaic cells. As it is small, it provides a limited quantity of energy of the order of 1 to 2J by node (acquisition). Thus, it limits the sensor life time and influences the overall network working process. Energy is a factor of outmost importance in WSNs. To increase network lifetime, energy must be saved in every hardware and software solution composing the network architecture. According to the radio model proposed in [5], data communication is responsible for the greatest weight in the energy budget when compared with data sensing and processing. Therefore, it is desirable to use shortrange instead of long-range communication between sensor nodes because of the transmission power required. In most WSN scenarios, events can be sensed by many source nodes near the phenomenon of interest and far away from the sink nodes. Then, the use of short-range communication leads obligatorily to data packets being forwarded through intermediate nodes along a multi-hop path [2]. This article develops a model for the multi-hop communication in a linear array of nodes. Energy consumption in the various multi-hops scenarios has been analyzed and optimized. This study uses a detailed model for the energy consumed by the radio link of each node and analyzes two topologies: the first one with equidistant nodes hop and the other one with optimal spaces between the last nodes. The article is organized as follows.

UbiCC Journal, Volume 2, October 2007

19

Figure 1: Energy consumption model for communications.
A model of basic energy consumption and communication topology is presented in section 2. The analysis of multi hops is performed in section 3 for different routing models and the optimal transmission range is analyzed in section 4. In section 5 the results based on the previous analyses are presented. MAC protocols are discussed in section 6 and finally the conclusion is presented in section 7.
2 ENERGY MODEL AND COMMUNICATION TOPOLOGY

transmission, eamp amplification, k the message length, d the transmitter/receiver distance and α a factor describing attenuation. To receive a message of k bits, the receiver then consumes:

Elinear (i ) = [(2 * i − 1)(eelec + ieamp d i ]
2.2

α

(1)

Energy model A sensor uses its energy in order to carry out three main functions: acquisition, communication and data processing. 1. Acquisition: the energy consumed to carry out the acquisition is generally negligible. Nevertheless, it varies in considerable proportions depending on the type of monitoring being carried out. 2. Communication: It consumes more energy than any other task. It covers the communications in terms of emission and reception. Figure 1 presents a transmission system model and the rules applied to controlled energy consumption [6]. 3) Data processing: The energy consumed for the calculation operation is very low as compared with the communication energy. The energy needed to transmit 1 KB over a 100m distance is approximately equivalent to the energy necessary to carry out 3 million instructions at a speed of 100 million instructions per second (MIPS). This level might be much dependent on the circuitry installed in the nodes and the features requested.

2.1

Communication topology We adopt a simple linear topology to discuss communication mode, as shown in figure 2 in order to simplify the analysis. At the left of the Figure 2, there are n sensor nodes arranged at intervals of r. The base station is on the right end. Using single hop mode, each node directly communicates with the base station; by contrast, each node communicates with the closest neighbor in multi-hop mode, nodes route data destined ultimately to the base station through intermediate nodes.

Figure 2: Multi-jump linear model featuring equal distances between the nodes. ENERGY CONSUMPTION IN THE MULTIHOP SENSOR NETWORKS Using equations (1) and (2), the energy consumed during data transmission from the source towards the destination going through intermediate nodes aligned in a row is written as: 3

Elinear (i ) = [(2 * i − 1)(eelec + ieamp d i ]
where Eelec represents energy consumed in

α

(1)

n  Elinear = k ∑ 2 * eelec + eamp (d i )α   i =1 

[

]

(3)

UbiCC Journal, Volume 2, October 2007

20

Elinear is minimum when all the di are equal to D/n, when the number of hops is at its optimal value:

Example 1: A sensor network made up with 20 nodes, of which 20 nodes simultaneously detect an event, applying equation (6) leads to NPack =n-i+1 Example 2: A sensor network made up with 20 nodes, of which 15 nodes simultaneously detect an event and 5 simultaneously detect five events, applying equation ([6) leads to NPack =n-i+2. 3.2 Total energy cost for the system From the average number of transmitted packets, the average energy consumed within the linear sensor network may be computed as:

nopt

 2 * eelec  α  D   = => d char =    eamp (α − 1)   d char   

1

(4)

The optimal number of hops depends on the propagation loss coefficient α and the transmitter and receiver parameters [9,1]. By replacing dchar in statement Elinear, we obtain the following relation:

 2 * nopt * eelec *α  opt Elinear = m  − eRC  α −1  

(5)

Elinear− bit = −neRC +

In the linear sensor network, two possibilities arise for the probability of event occurrence: 1. First case: uniform number of data flow rate constant among the nodes. If each node detects the same number of events (that is the necessity to convey information towards the destination), then we can suppose that each node receives an event simultaneously. This means this node should take (n1) information packets originating from nodes upstream, in addition to the transmission of its proper packet [7], [8]. 2. Second case: data flow rate variable between nodes. If each node does not detect the same number of events, the average number of packets transmitted within the linear sensor network has to be calculated. 3.1 Packets relayed If xi stands for the number of events detected by a given node, the number of packets relayed by this node is given by: 4

∑[(e
n i =1

TC

+ eRC + eTA (di )α * NPack

)

] (9)

OPTIMAL TRANSMISSION RANGE Bhardwaj et a1. [10] have shown that energy consumption within the multi-hop networks can be reduced by adjusting the distances between the n nodes which transmit the signal. But, if each node of the linear chain transmits data, this will be impossible. The distribution of the distances di between the nodes can be analyzed in order to minimize the energy consumption in this particular case. For all the nodes involved in the transmission scenario, the total energy consumption is presented in equation (8). Elinear will now constraint D = following formula:

∑

be n
d

i=1

minimized using the , equivalent to the i

Pi = n − i + xiα

n  n  L = eTA ∑ N pack (d i ) α − λ  ∑ d i − D  (10) i =1  i =1 

[

]

(6) where λ is the Lagrange's multiplier. Equating the partial derivates of L with respect to the di to zero, it follows that:

Let us assume the existence of an underlying supervision protocol, in charge of building and updating the routing tables for nodes. Then the mean number of events seen by each node is:

ne = [ ∑ xi ] / n
i =1

n

∂L = eTA .α .N pack ( d i ) α −1 − λ = 0 ∂d i
1

(11)

(7)

The average number of transmitted packets NPack at node i may be estimated as:

  λ  di =   e .α.N  pack   TA
Using the condition

α −1

(12)

N Pack = n − i + neα

(8)

D = ∑ d i the value of λ can
i =1

n

where n is the number of nodes within the linear sensor network and i the node under consideration.

be obtained from equation (12). Thus, for α = 2 the values for di are found to be:

UbiCC Journal, Volume 2, October 2007

21

di =

D

 n   ∑ (1 i ) N pack  i =1 

(13)

The cases where the di are equidistant or not are again considered here. Using equation (14), the results for optimal distances between nodes given in table I are obtained. Table 1: OPTIMAL DISTANCES BETWEEN NODES.

Figure 3: Linear and non linear sensor networks. In [8, 12, 13], the energy consumption per packet sent consumed at node i for linear arrays of equally spaced nodes discussed is computed. In our approach the energy consumption per packet sent consumed at node i for linear arrays with unequal data flow rate ca be calculated by the following equation:

Elinear (i) = [(2 * N pack − 1). eelec + N pack . eamp . d i ]
SIMULATIONS AND RESULTS A sensor network made up from 30 nodes distributed over a 1000 m distance is simulated here, with parameters eelec = 50 nJ/bit, eamp = 100 pJ/bit/m2, α=2,using MatlabTM. Let us notice that this implies a 33.33 m distance between nodes in the equidistant case.
x 10
-6
α

(14)

5

Total energy consumption -- equidistant nodes
Npack=(n-i+1)->Total energy = 86.5mJ

7
6
5

Npack=(n-i+2)->Total energy =92.55mJ
Npack=(n-i+3)->Total energy = 98.25mJ Npack=(n-i+4)->Total energy = 103.95mJ
Npack=(n-i+5)->Total energy = 109.65mJ

E n ergy (m J )

4
3
2
1
0

0

5

20 15 10 Number of nodes

25

30

Figure 4: Energy consumed with transmission distances.

Fig. 4 presents the energy by each node in a sensor network with equidistant nodes, is obtained using

UbiCC Journal, Volume 2, October 2007

22

equation (14) and with all di fixed to 33.33 m, for, respectively, uniform or non-uniform mean numbers of events detected by each node. It is worthwhile noting that the total energy consumption when each node doesn't detect the same number of events (variable flow rates) is slightly higher than that in the uniform number of events bottom curve case. Fig. 5 presents the amount of energy consumed by each individual node within a sensor network featuring optimal distances shown in table I between the nodes, obtained from equation (14), for uniform or non-uniform number of detected events. It must be noticed that the total energy consumption within the network has been reduced by 38% when Npack=(n-i+1), 26% when Npack=(n-i+2), 21% when Npack=(n-i+3), 17% when Npack=(n-i+4) and 15% when Npack=(n-i+5) following the approach proposed in section IV

smaller for optimally spaced nodes than for equally spaced ones. 6 DISCUSSION ON MAC PROTOCOLS Shelby et Al [10, 11] described the impact of MAC protocols on the energy model used in this paper, namely Nonpersitent CSMA , S-MAC [9] and NanoMAC. Fig. and Fig7 presents Transmission and Receive energy consumption model for nanoMAC. Nonpersitent CSMA [10, 11, 6, 12] is a well known, relatively well performing MAC protocol in almost any scenario. It gives the worst-case energy consumption that any sensor MAC protocol should outperform. S-MAC is the current sensor MAC benchmark protocol which is used to highlight some of the faults of traditionally designed sensor MAC protocols.

7
6
5
E n er g y (m J)

x 10

-6

Total energy consumption - optimally spaced nodes

Npack=(n-i+1) ->Total energy = 70.31mJ

Npack=(n-i+2) ->Total energy = 81.03mJ

Npack=(n-i+3) ->Total energy = 91.58mJ

Npack=(n-i+4) ->Total energy = 99.8mJ
Npack=(n-i+1) ->Total energy = 107.64mJ

4
3
2
Figure 6: Transmission energy consumption model for

1 0
distances.

nanoMAC.

10
Hop number

20

30

Figure 5: Energy consumed with optimal transmission Comparing figures 4 and 5,it is evident that the nodes far from the sink consume significantly less energy for optimally spaced nodes than for equally spaced nodes. This is in fact due to their smaller separation. The consumed energy tends to decrease with hop number in figure 5 in figure 4, thanks to a lower number of packets to be transmitted. However the distance between nodes is an increasing function of hop number, which tends to increase the energy consumption. So it is surprising that, starting at the some hop number, the consumed energy sharply increases and this for few last nodes. However the overall energy consumption tends to be

They compared these to nanoMAC, a protocol designed to operate in a sensor networking environment. They have analytically investigated a cross layer energy consumption model with realistic radio transceiver characteristics, three MAC protocols and a linear network model suitable for many sensor network protocols in steady state. Based on this analysis, they have discovered many interesting results that relate to single hops vs. Multihop communications and MAC protocol features. 1) When a realistic radio model is applied for a sensor network, they discovered that, assuming feasible transmission distances, single-hop communications can be more efficient than multihop in the energy perspective. 2) A well designed sensor MAC protocol has a behavior similar to the ideal MAC protocol, but the

UbiCC Journal, Volume 2, October 2007

23

energy consumption is two orders of magnitude higher. 3) There are some inherent flaws in adapting existing ad hoc MAC protocols to sensor networks. Idle listening and overhearing avoidance are important factors as already discussed in other publications, such as [14, 11], but also any listening that is not absolutely necessary, like listening for the RTS in SMAC, decreases the energy performance of a sensor MAC.

Figure 7: Receive energy consumption model for
nanoMAC.

CONCLUSION In this work, it has been shown that the total energy consumption in a linear sensor network may be reduced (by 15% to 38%) using optimal spacing between nodes. The model used suggests that the transmitter can dynamically adjust its transmission power, in such a way that the requested signal to noise ratio may be warranted at the receiver. This work will be pursuited by studying the scenarios which determine the transmission power and finding the efficient data coding and modulation techniques for practical applications of wireless sensor network (WSNs). Our analytical results will also be compared with the results of physical measurements. The influence of different routing models and protocols for sensor networks on energy consumption will also be considered. Moreover an extension to 2D array of sensors is also planned 8 REFERENCES

7

[1] F.Akyildiz I F, Su W and Sankarsubramaniam Y 2002 Wireless sensor networks: a survey Computer Networks 38 393-422 [2] C.-Y. Chong and S. Kumar,"Sensor networks: Evolution, opportunities, and challenges", Proc.

IEEE, Vol. 91, No. 8, pp.1247-1256, 2003. [3] Hill, M. Horton, R. Kling and L. Krishnamurthy,"The Platforms Enabling Wireless Sensor Networks", Communications of the ACM, Vol. 47, No. 6, 2004. [4] Teixeira, I., de Rezende, J. F., and Pedroza, A.C.P. - "Wireless Sensor Network: Improving the Network Energy Consumption", in XXI Simpõsio Brasileiro de Telecomunicações SBT'2004, Belém, Brazil, September 2004. [5] W.R.Heinzelman, A. Chandrakasan, and H. Balakrishnan, "Energy efficient communication protocol for wireless microsensor networks", Proceedings of the 33rd IEEE Hawaii International Conference on System Sciences (HICSS), pp. 1-10, Jan. 2000. [6] W. Li. and C. G. Cassandras, "Sensor Networks and Cooperative Control", European Journal of Control, Vol. 11, No. 4-5, pp. 436-463, 2005. [7] H. Karvonen, Z. Shelby, and C.A. PomalazaR´aez, "Coding for Energy Efficient Wireless Embedded Networks" ,Proceedings of the International Workshop on Wireless Ad Hoc Networks, May 31 - June 3, 2004, Oulu, Finland. [8] J. Haapola, Z. Shelby, C.A. Pomalaza-R´aez, and P. Mahonen,"Multihop Medium Access Control for WSNs: An Energy Analysis Model", EURASIP Journal of Wireless Communications and Networking, Vol. 2005, No. 4, pp. 523-540, September 2005. [9] Q Gao, K J Blow, D J Holding, I Marshall, and X H Peng,"Radio Range Adjustment for Energy Efficient WirelessSensor Networks", Ad-Hoc Networks, Vol. 4, No. 1, pp. 75-82, 2006. [10] M. Bhardwaj, A. Chandrakasan, and T. Garnett, Upper bounds on the lifetime of sensor networks, Proceedings of the IEEE ICC, pp. 785-790, 2001. [11] W. Ye, J. Heidemann, and D. Estrin, "Medium access control with coordinated adaptive sleeping for wireless sensor networks", IEEE/ACM Transactions on Networking, vol. 12, pp. 493-506, June 2004. [12] J. Haapola, Low-power wireless measurement system for physics sensors, Master Thesis, Department of Physical Sciences, University of Oulu, Oulu, Finland, 2002, unpublished, available online on http://www.ee.oulu.fi/jhaapola/. [13] J. Haapola, Z. Shelby, C. Pomalaza-R´aez, and P. M'ah'onen, Cross-layer energy analysis of multihop wireless sensor networks, in Proc. 2nd European Workshop on Wireless Sensor Networks (EWSN 05), pp. 3344, Istanbul, Turkey, January February 2005. [14] L. Kleinrock and F. A. Tobagi, Packet switching in radio channels: Part ICarrier sense multipleaccess modes and their throughput-delay characteristics, IEEE Trans. Commun., vol. 23, no. 12, pp. 1400? 1416-1975.

UbiCC Journal, Volume 2, October 2007

24

BIOANS: BIO-INSPIRED AMBIENT INTELLIGENCE PROTOCOL FOR WIRELESS SENSOR NETWORKS
Michael Breza#, Richard Anthony*, Julie A. McCann# # Department of Computing, Imperial College *Department of Computer Science, University of Greenwich, London, UK {mjb04,jamm}@doc.ic.ac.uk, R.J.Anthony@gre.ac.uk ABSTRACT This paper describes the BioANS (Bio-inspired Autonomic Networked Services) protocol that uses a novel utility-based service selection mechanism to drive autonomicity in sensor networks. Due to the increase in complexity of sensor network applications, self-configuration abilities, in terms of service discovery and automatic negotiation, have become core requirements. Further, as such systems are highly dynamic due to mobility and/or unreliability; runtime self-optimisation and self-healing is required. However the mechanism to implement this must be lightweight due to the sensor nodes being low in resources, and scalable as some applications can require thousands of nodes. BioANS incorporates some characteristics of natural emergent systems and these contribute to its overall stability whilst it remains simple and efficient. We show that not only does the BioANS protocol implement autonomicity in allowing a dynamic network of sensors to continue to function under demanding circumstances, but that the overheads incurred are reasonable. Moreover, state-flapping between requester and provider, message loss and randomness are not only tolerated but utilised to advantage in the new protocol. Keywords: service-selection, autonomic, emergence, wireless sensor network. 1 Introduction demands automatically [19]. Therefore introducing autonomicity, the ability to self-manage, to sensor networking is key to the achievement of calm computing. An example low scale application could be medical monitoring in the home where the user patient is unable to carry out technical support therefore it is imperative that systems fully selfmanage. The other application extreme is environment monitoring e.g. building ambience or movement sensing of glaciers, which can involve potentially 10,000's of sensor nodes. These nodes must self-configure, self-optimise to maintain application performance and battery life while the glacier is moving and self-heal or degrade gracefully as some nodes will inevitably die. To achieve application-level self-management in sensor networks we have developed a decentralized, lightweight, scalable yet powerful protocol called ANS. ANS (Autonomic Networked Services) executes on each of the sensor nodes. We assume a degree of redundancy whereby a given node can have many functions e.g. a video sensor might be relaying patient location as its primary function, but also may be capable of analysing the gait of the patient should that be required. Likewise, a sensor node may be used as a gatherer of environmental information at one moment, and then in the next

A highly efficient distributed protocol to drive autonomicity in sensor network is described. The protocol has been specifically designed to limit the amount of communication that actually occurs during the negotiation of service provision in largescale self-configuring systems with limited resources (communication bandwidth and battery power). In particular, this paper is concerned with applications which gather context and/or environmental information from wireless sensor networks (WSN). Applications in this domain have some common requirements which include: robustness, the ability to reconfigure dynamically; scalable deployment platforms; stability despite configuration change; efficiency in the use of systems resources, especially in relation to the number of messages transmitted as scale increases; and low communication latency because the applications can have a real-time aspect. 2 The road to Ambient Computing In Weiser's vision of ubiquitous or calm computing, technology would be integrated or embedded into our environment, and would be able to adapt to changes in that environment and its user's

UbiCC Journal, Volume 2, October 2007

25

moment serve as a relay for a node that cannot afford to communicate its data due to dwindling power reserves. This redundancy is key to the function of ANS and based on the well-established principle that sensing is cheap while communication is expensive. Sensed environmental characteristics such as location, gait, temperature etc. are termed context services. We use the term Quality of Context (QoC) to indicate the extent to which the sensed data meets application-specific requirements such as resolution, precision, and sample rate (note that QoC is differentiated from QoS in that the latter is concerned with the extent to which service is provided, such as reliability in the provision of sensor data, whereas the former is concerned with the characteristics of the data itself). If an application requires a location service it will initiate a request identifying a level of QoC required (e.g. degree of precision or accuracy of reading as a percentage), and thus accept service from the best-suited device. When a given device is no longer providing the appropriate context quality the application running ANS uses the functionality of ANS to automatically reconfigure to another context provider that is closest to the appropriate QoC. This self-optimisation can find a new context or service, not available when the initial provider was selected. The ANS node, using a given context, is kept aware of that quality/accuracy though the use of a periodic message, piggy-backed on top of requested sensor data, which describes a given device's current quality of context. When the QoC becomes beyond the range suited to the requester it issues a re-tender request. Alternatively, a re-tender message can be issued periodically. Here, the re-tender is broadcast to the network and the sensors that match the context supply their QoC and a binding is made between the requester and that node's service thus ensuring system self-optimisation. Through this simple mechanism the ANS allows us to build self-configuring, self-optimising, and selfrepairing applications for sensor networks and other service oriented systems that require autonomicity. The ANS protocol by its very nature exhibits engineered emergence and its evolution is bioinspired, therefore we describe what we mean by this in section three. Quality is described in terms of quality of context (QoC) rather than Quality of Service, therefore Context and Context awareness is described in section four. Section five covers autonomicity and section six deals with emergence aspects of the protocol. Section seven describes the experiments carried out and their respective assumptions. The detailed experimental results are presented in sections eight, nine and ten while related work is discussed in section eleven and then we conclude. 3 Emergence concepts for sensor networks Emergence describes higher-level states, patterns or

other behaviours that arise in systems of numerous lower-level components that have local autonomy to interact with their neighbours. The individual components are typically quite simple and operate with only a local view of the system and yet there are many examples in nature where highly optimized global behaviour results [9]. The higher-level behaviour cannot be predicted by examining the individual components or their behaviour in isolation. The science of emergence is described in [12] [6] [10]. The term 'engineered emergence' describes the purposeful design of interaction protocols so that a predictable, desired outcome is achieved at a higher level (i.e. emerges, at the level of systems or applications), although at lower levels the specific behaviour of individual components at any moment cannot be predicted. Typically a small set of rules operate on limited amounts of locally available (cached) state information concerning the node’s execution context and its local environment. See for example [4]. Emergence is employed in ANS to achieve simultaneously scalable and robust negotiation in sensor network applications. The negotiation protocol needs to be stable and predictable in terms of its higher-level behaviour (i.e. a suitable context provider needs to be located within a reasonable time-frame), although the low-level behaviour (such as the actual interactions with and between sensor nodes, and the ordering of events such as message transmission) has elements of randomness and can thus not be precisely predicted. Engineered emergence is a general approach to building systems that benefit from these characteristics (scale, robustness and stability, but that do not require precise knowledge of lower-level activity or configuration. Sensor networks, which contain numerous sensors each having different QoC characteristics (different locations, different accuracy, different levels of battery life remaining etc.), but fundamentally serving as redundant spares for one another, are a highly suitable domain in which applications can take advantage of engineered emergence. Traditional design of distributed applications focuses on strict protocols, message acknowledgments and event ordering. Each message and event is considered important and randomness is generally undesirable imposing sequenced or synchronised behaviour which is generally deterministic. Such a design paradigm can lead to inefficiency, for example through large numbers of transmitted messages and additional communication latency, especially when some of these messages do not directly contribute to correct application behaviour at higher levels [5]. Natural biological systems however are fundamentally non-deterministic and there are many examples of large-scale systems that are stable and

UbiCC Journal, Volume 2, October 2007

26

robust at a global level; the most commonly cited examples being drawn from cellular systems and insect colonies. Though initially the ANS was not designed with emergence in mind, it has become evident that it exhibits and can exploit further emergent properties. ANS requires that a small number of appropriate quality bids are elicited from sensor nodes (service providers) in potentially very large systems. In this application domain it is important to minimise the total amount of communication, the latency of service negotiation, and also to preserve the battery power at each sensor node. The delayed-bid mechanism (described in detail later) purposely introduces randomness into the basic ANS protocol to spread, in time, the high number of bids sent as responses to a QoC request in large systems. The randomness makes the system nondeterministic as exactly which time a particular sensor node will send its reply, or the order in which replies are received; and thus the actual choice of context provider, is not predictable. Yet this nondeterminism can be shown to enhance stability and efficiency, whilst simultaneously reducing resource usage. Results presented in sections nine and ten demonstrate that these benefits are achieved without adversely affecting robustness or latency of service negotiation. Context Awareness The perception of context and its quality drives the autonomic behaviour of the ANS. Traditionally context is defined broadly as the circumstances or situations in which a computing task takes place [17]. One of the most common contexts is the location of the user or objects of interest. For example, location can be obtained using a variety of alternative sensor types including ultrasonic badges, RFID tags [11]. The quality of the location information acquired by different sensors will be different. For instance, ultrasonic badges can determine location with a precision of up to 3 cm, while RF lateration is limited to 1-3 m precision. This difference is quantitatively application-specific. The application determines the semantics of perceived quality and how this matches with its requirements. We can define properties, which we call 'quality of context' (QoC) attributes, which characterise the quality of the context data received. It is very important to differentiate between QoC, and Quality of Service (QoS). QoS is concerned with the sensor’s ability to provide service (i.e. to sense some aspect of the environment and transmit its data). We assume the sensor nodes can provide sufficient QoS (i.e. they function to their specification). QoC is concerned with the quality of the sensed data itself. QoC is essential to the ANS for choosing the best-suited service among those available when delivering a specific type of context to an application. 4

While different types of contexts will have QoC attributes specific to them, there are certain attributes that will be common to most contexts. Based on [8], we identify the following common attributes: Precision, Probability of correctness, Resolution, Upto-datedness (age of information when it arrives at the sink) and Refresh rate (rate of generation of samples). In ANS context providers need to specify QoC attributes for the context information they deliver. These attributes may vary over time and therefore must be updated regularly. 5 Ambient Intelligence Using Quality of Context Services and quality of context attributes are what drive the ambient intelligence in the ANS. The aim is to provide the following abilities, based on [13]: • Self-configuration. Applications tender for the services they require automatically. • Self-healing. Should a service fail then an application merely has to repeat the tendering procedure to find a new service to replace the one that has gone out of use. • Self-optimisation. Regular re-tendering keeps the network configuration optimal and allows applications to take advantage of new devices joining the network.
Request tender SelfConfigure High QoC select Low QoC Sensor 1 Sensor 2

Re-tender Periodic Retender High QoC select Re-tender SelfOptimise select ReLow QoC select broken Low QoC High QoC Low QoC

Self-Heal

Figure 1. Message diagram of the ANS protocol.

UbiCC Journal, Volume 2, October 2007

27

5.1 Tendering and Utility Functions The ANS uses constructs called 'services' to tie QoC information together with the sensors or actuators that it relates to. A service is a named list of 'commands' and 'events'. Figure 1 is a message diagram showing how the basic protocol is implemented in terms of numbers and types of messages. A process called 'tendering' is used to select a service to use. When an application wishes to use a service it must broadcast a 'request' command containing the name of the service (such as ‘temperature’) and its preferences for the QoC attributes. Any devices within range which support the service will use a 'utility function' to calculate how closely they are able to match the requested QoC attributes. Regardless of the number of QoC attributes the result of the utility function will be a single signed integer called 'closeness'. The closeness value is sent back to the requesting device so that it may choose the best device to use. Regular 'retendering' ensures that applications are always using the most appropriate device and so take advantage of any new devices joining the network. When a service is defined, the QoC attributes that apply to it are translated and scaled if necessary so that they are all of the same order of magnitude from the perspective of a given application [15]. Essentially the utility function treats the available and requested QoC attributes on a device as two points in an n-dimensional space and returns the distance from the requested point to the available point. The application requesting the service will choose the device with the lowest positive closeness since that device will be at least as good as the application wants. If no positive closenesses’ are returned then the least negative closeness will be chosen since, while it will not be optimal, it will be the least bad. By not choosing the highest value, applications do not use sensors that are more accurate than they really need. This leaves those sensors more available for use by applications that do need their higher quality, thus aiming to produce a more optimal network configuration. This can also reduce communication overheads by not causing excessively precise information (more data than is necessary) to be transmitted. ANS as an Emergent System This paper is primarily concerned with selection of context provider(s) based on the quality of information that can they offer. This is determined by a utility function which expresses the application's preferences amongst characteristics such as accuracy and up-to-datedness. Externally deterministic behaviour is required in the sense that applications must be served with context information of the appropriate quality. It is not important that the 6

lower-level behaviour be deterministic; for example it does not matter which sensor provides the information at any moment, or how the sensor(s) are selected, so long as some suitable sensor does provide the appropriate QoC. This relaxation provides an opportunity to take advantage of cheaper (less communication intensive, less synchronous and self-regulating) non-deterministic communication strategies inspired by biological systems such as insect colonies. Many natural systems have evolved simple and efficient interaction techniques that have contributed to the success of those systems. These techniques typically have common characteristics such as employing randomness (such as in timing mechanisms) and attributing low-value to individual events, actors and messages (the protocols are robust with respect to the loss of some messages, or if some events go unobserved or are unordered).. There are a number of issues that pertain to selfadaptive protocols caused by the dynamicity of emergent intelligence and moreover there are a number of bio-inspired improvements that can be made to the basic ANS protocol as presented in figure 1. These are discussed below. 6.1 Variable QoC and State Flapping Many adaptive systems, e.g. networks, have the potential to exhibit state-flapping behaviour. Stateflapping is typically indicative of configuration problems (i.e. thresholds set too low) or issues with the dynamism in the environment either caused by the environment itself or by the devices operating therein. ANS is no different in that it aims periodically to self-optimise and if it continuously switches between services there may be destabilisation potential. One extreme situation particular to the nature of the ANS is where the selection of a service in-turn changes that service’s QoS value. This we call variable QoC. For example we have two nodes; node A: a fast powerful node delivering an (application defined) QoC of 100 which can serve many requesters, and node B: a slow node that can only service a single requester at time advertising a QoC of 60. The request may be for a Data Aggregation context, requiring the processing of data on the sensor node before sending it back to the requester node. Two requesters wish to have aggregated data at QoC of 90 and will both select node A, who will then apportion its resource between them and give them an actual QoC of 50 each. At the next re-tender, one requester will see a better QoC at node B and switch to that node. This will cause the QoC at A to return to 100. During the following retender the requester will see that node A can provide a higher QoC again and return to that. Potentially this requester will flap between node A and B continuously. This is an example of a potential problem with the self-management nature of ANS

UbiCC Journal, Volume 2, October 2007

28

protocol as it scales beyond a large number of sensors which could destabilise the whole system. 6.2 The Delayed-Bids mechanism The delayed-bid mechanism [2] introduces a random timing component into the ANS protocol. This breaks the symmetry of behaviour at sensor nodes, spreading out in time the responses to QoC requests. On receiving a QoC request, the sensor nodes locally compute their suitability based on the requested utility function. This is important because the sensors may serve several applications simultaneously. For example, one application may rank precision above resolution and another application may consider resolution to be more significant. Once the node has determined its QoC it transmits a reply (bid) to the requester. The use of a broadcast request is efficient with respect to the simplicity of the protocol and the total number of messages, but introduces a synchronisation point (the receipt of a request implicitly invokes a certain response at each node). In large systems, near-simultaneous replymessage generation behaviour presents a problem as the communication channel is temporarily congested. This may possibly deny communication service to another, maybe higher-priority, application. In addition, typically only one or a small number of sensors are required to provide information to a particular application, so much of the communication, the battery power consumed at sensor nodes, and the processing of replies at the requester, is wasted. The delayed bids mechanism directly reduces the bottleneck network congestion problem through the injection of a random delay (locally determined at each sensor) which spreads out the replies. It also provides an opportunity for significant reduction of the number of messages. This is because the response messages are dispersed in time and the requester node can process some messages (e.g. the bid from sensor ‘A’ in figure 2) before others have been sent. Once sufficient responses with the appropriate QoC parameters have been received a Stop-Bids message is sent (e.g. in figure 2, after the bid from sensor ‘B’ is received). This has the effect of cancelling all unsent responses at sensor nodes (e.g. in figure 2, the bid from sensor ‘D’ is cancelled). Some unwanted messages may already be in transmission (e.g. in figure 2, the bid from sensor ‘C’), but if the system is tuned appropriately, the large majority of unnecessary messages can be avoided. A further optimisation can be applied if sensor nodes can eavesdrop on the replies of their neighbours. When transmissions are temporally dispersed there is the opportunity for some nodes to analyse their own operating context before deciding whether to place a bid; i.e. is it a poor quality sensor with better quality neighbours, or perhaps it can offer the best QoC? In this way, if it 'hears' a relatively

high quality response from a neighbouring node it need not transmit its own reply.
RTX ARX AD BRX BD CRX CD DRX DD CTX RRX
‘Stop’ message too late to prevent bid transmission

ATX RRX
QoC not acceptable

BTX RRX RTX ‘Stop’
QoC acceptable

DRX ‘Stop’ DTX (cancelled)
‘Stop’ message prevents bid transmission Time

Key: R A,B,C,D RTX RRX RTX ‘Stop’ A …DRX A …DTX A …DRX ‘Stop’ A …DD

Requester Sensor nodes capable of providing the requested service Requester sends (re)tender request Requester receives bid reply from a sensor Requester sends Stop-Bids message Sensor receives (re)tender request Sensor sends QoC bid Sensor receives Stop-Bids message Bounded local random hold-off delay before sending QoC bid

Figure 2. Delaying and cancelling bids.

Engineered emergence applications share many of the beneficial characteristics of the natural systems which inspire them. In the delayed-bids enhanced ANS mechanism all messages are deemed to have low-value, and the protocol tolerates the loss of any individual message: if a request receives no replies (within the maximum random time delay for replies) the request message is deemed lost and is repeated; if individual sensor nodes do not receive the request message they simply do not participate in the bidding, this aspect of reliability is actually more beneficial as the scale grows, as it can be actually helpful if the pool of respondents can be diluted in such a free and randomised way. Likewise individual response messages are of low value. If the Stop-Bids message is lost the protocol still functions correctly, it just looses efficiency as the reply-quenching savings are lost. 6.3 Communication Complexity Let n represent the total number of sensor nodes in communication range of the requestor, and m represent the number of messages transmitted in a retender. All calculations assume a single service requester and no message loss. In large systems the Stop-Bids message reduces responses in a way which can only be treated probabilistically, as it depends on: the specific tuning of the application (e.g. how many responses are required); the tuning of the protocol (e.g. the range of random timeout values); the number of sensors in range of a particular requester at a given time, capable of providing the required service; and the actual random timeouts chosen at each sensor. Let the number of responses cancelled by the Stop-Bids message be c, where:

UbiCC Journal, Volume 2, October 2007

29

0≤c≤n–1

(where n ≥ 1)

(1)

(1) states that in the best case all bar one response will be cancelled (this requires that the responses are suitably spread out in time), and that in the worst case (the Stop-Bids message comes too late) no messages are cancelled. m = 1 + 1 + (n – c) and thus 3≤m≤2+n (2) calculates the total number of messages required for a single re-tender, taking account of (1), plus the actual re-tender and Stop-Bids messages. The overall communication complexity depends on the frequency of re-tenders (f), which is application specific. Let the number of messages generated per second be M: 3f ≤ M ≤ (2 + n) f (3) (2)

(3) scales up the result from (2), taking into account the frequency at which re-tenders occur. Significantly, (3) shows that the communication complexity is linear in n in the worst case, and thus the protocol will scale well, with predictable worstcase degradation in terms of communication costs. As an example, in a system in which a requestor has 100 in-range sensor nodes to choose from, and in which a re-tender message is generated every 10 seconds (f = 0.1), the mean number of messages generated per second by the BioANS protocol would be between 0.3 (best case) and 10.2 (worst case) depending on actual tuning. Modelling the ANS to examine bio-inspired optimisations. Taking the discussions above into account we wish to examine initially how ANS scales to large numbers of sensors, how well it copes with extreme state-flapping and how we can use bio-inspired techniques to improve the overheads and ultimately the performance of the protocol. The ANS protocol has already been implemented on sensor networks for two applications; patient monitoring in the home, and building usage monitoring. However the numbers of nodes have yet to exceed 5. To further understand ANS under scaling conditions we modelled it as a discrete event simulation, using observed performance parameters obtained from our physical prototype. Our primary aim is to examine the trade off between protocol overhead and performance. Packets sent to the sensor for readings and packets with sensor data are counted as work packets. We 7

consider all communication that is not concerned with performing work as overhead. We define performance as the ability of a requester to receive its desired QoC, and the percentage of overall run time the requester receives that QoC. The experimental results presented in the paper are built up in a number of stages, evaluating the algorithm's performance as the various stages of operation are incrementally added and tuned. The metrics have been chosen to highlight the cost of autonomicity. The first set of experiments (reported in section 8) assume that every sensor node can hear all requests and all can service the request. This is an extreme condition in that all devices are in the service pool and active, simulating an environmental monitoring situation with high powered radio or multi-hop functionality. This allows us to determine whether state-flapping will destabilize the system, and to what extent overhead impacts negatively on performance under these extreme conditions. The second set of experiments (reported in section 9) includes reducing the scope of the radio transmission and thus reception radius, thus limiting the number of sensors that can hear a given requester. This change adds a realistic set of constraints that the system will face in deployment in low-radio or building environmental settings. The third set of experiments (reported in section 10) stress test an optimised variant of ANS, which we name BioANS. 7.1 Assumptions The duty-cycle between re-tenders is an important consideration in ANS; a large duty-cycle between re-tenders lowers protocol overhead at a cost of resilience to sensor failure. In these simulations the duty-cycle is set at an interval of 10 queries (i.e. 10 data requests between re-tender requests). Variable QoC arises in services where the sensor’s ability to deliver its information degrades with each additional concurrent requester. As each requestor binds to that service it reduces the QoC by 33%. A node does not advertise any QoC values that are below 1. To faithfully simulate the dynamic nature of the sensor network, sensor failure and replacement is built into the experiments. The sensor failures are exponentially distributed with a mean of one failure every 5000 time units 1 , and a failure triggers a replacement of one or more new sensors with a replacement time lag exponentially distributed with a mean of 10000 time units. When the sensors are replaced, the number of new sensors is geometrically distributed with a mean sensor node count of 1.6.
1

One time unit in the simulation model approximates one second of wall-clock time.

UbiCC Journal, Volume 2, October 2007

30

When a sensor used by a requester fails, the requester immediately (as soon as it notices the failure) starts the re-tendering process. The QoC of the new sensor is completely random, and it has a ten percent chance of having a variable QoC. The advertised QoC of the sensors is assumed to be correct 2 . All sensors serve data that is of interest to all of the requesters, but different requesters want different QoC. Each requester requires only one sensor at a time. The time between packet arrivals is affected by the random back-off algorithm used by the radio link layer BNET [1] that ANS was built on. The arrival of responses from requests (non-random arrivals) were normally distributed with the means and standard deviations taken from the packet traces in [14]. Packet loss, collision and traffic management problems were not modelled, because we assume this to be handled by BNET. Three metrics were measured in these experiments: 1. The average percentage of time in the simulation run that the requesters got the level of QoC requested; measured in the QoC intervals { ≥ 80%, between 60 and 80%, ≥ 0%, no sensor}. 2. The average ratio of work related packets sent and received by the requesters. This is the inverse of the protocol’s overhead. 3. Negotiation time, which is defined as the time from when the request packet is sent out to the send time of the select-sensor packet. The simulations were run for 10,100,000 time units, with measurements taken at equilibrium, i.e. after a settling time of 100,000 time units. Results are generated as an average over all requesters, each over ten runs. The results are presented as three sets of experiments. The first set does not restrict radio communication range (i.e. sensor locations, and thus the distances between them are ignored). Here we first look at the affects of state flapping on the basic ANS. The basic ANS is then compared with two variants modified to increase the efficiency (i.e. the ratio of work packets). The second set of experiments takes account of sensor location and restricts radio reception distance. It compares the optimizations of ANS and adds the delayed-bids mechanism. The third set of experiments test the effect of different sensor node densities and failure rates on the performance of fully optimised BioANS. The setup and results of each of these experiments are discussed in the sections below.

Experiment Set 1: ANS with high-powered radio These experiments set out to determine whether scaling the ANS beyond 5 sensor nodes adversely affects performance. Further we examine whether or not the state flapping observed in [15] affects the ratio of work packets to overall network traffic (communication overhead), and for what percentage of time the requested QoC is received. State-flapping is only observed when sensors can have a variable QoC and are serving more than one requester, as described in section 6.1. The assumption is that as a higher percentage of the sensors in the network have a variable QoC, there will be more state-flapping among the requesters, and that this will adversely affect performance. 8.1 Effects of increasing network size This experiment looked at how ANS scaled with respect to the numbers of packets sent and received and the amount of time QoC was met. The number of sensors was increased from 100 through to 10,000. The number of requesters is also scaled, and is always 10% of the number of sensors. The proportion of sensors with variable QoC was fixed at 10%. Sensor failure and replacement rates were fixed to one in every 5000 (failure) and 10,000 (new sensor) time units respectively.

8

Figure 3. Ratio of work packets to overall packets.

2

That is, the number delivered is trustworthy. We do not consider an incorrect QoC value due to malicious intentions or due to the sensor’s inability to correctly determine its QoC. This subject has been tackled in our previous work [20].

Figure 3 shows the effects of increasing the network size on the ratio of work packets to overall packets sent and received by a requester. We see that only 100 sensors and 10 requesters gave us an average of 15% work packets sent and received per requester (i.e. 85% overhead is observed). Those ratios deteriorate further becoming 2% by 1000 sensors and 1% by 2500 sensors (98% and 99% overheads respectively). However, more positively, at all system sizes the ANS provided the desired QoC to the requesters at a minimum of 94% of the time (not shown). Thus ANS can scale in terms of service provision but this is at a cost. This cost is the number of overhead messages which do not impact

UbiCC Journal, Volume 2, October 2007

31

on the speed performance of the system but are very important because for every message we send/receive we consume battery power, therefore shortening the life of the nodes in the system. 8.2 Effects of state-flapping This experiment was run with 10 requesters and a pool of 100 sensors. The percentage of sensors with variable QoC was adjusted to test the potential effects of state flapping on the number of packets sent and received by an individual requester and the amount of time the QoC requirement is met. The range varied from 0% to 90% in 10% increments. We observed that as the potential for stateflapping increases, the number of work packets to overall packets stays fairly constant at about 15% (i.e. 85% overhead as before). Figure 4 shows the average time that requesters received their desired QoC decreased as the percentage of sensors with variable QoC increased as one would expect. However, the majority are getting no less than 80% of their desired QoC. The proportion of time for 79% to 60% QoC increases, but the time requesters get 59% and below is always very low.

8.3 Optimising ANS to reduce Traffic Overheads The experiments were conducted in three progressive stages, seeking to improve the communication overhead of ANS. In each case the work packet ratio, and average time from request being sent until the requester receives the last sensor reply was measured. In the first experiment, we ran the basic ANS in systems of between 100 to 1000 sensor nodes. Second, the basic ANS was modified by limiting the amount of time the requestor waits for sensor responses (a timeout of 2 time units was used). This had the effect of reducing the number of responding sensors that were heard. In the third experiment ANS was optimised by examining each sensor response as it was received (this variant is called first sufficient). If the requester received a sensor response packet with the requested QoC or greater, then the requester sent a select message (which acts as a stop-bid message), and started using the sensor. All sensors unnamed in the select message cease to send responses. If no sufficient sensors are received in 2 time units, then the requester chooses the best from all the responses already received using the basic ANS selection mechanism. A select message is then sent, and the requester begins to use the selected sensor. 8.3.1 Basic ANS First the original ANS is tested with sensor populations of 100 to 1000 sensor nodes in 100 node increments. The requester population is always 10% of the number of sensors. As in the experiments in sections 8.1 and 8.2, the ratio of work packets to total sent and received packets is very small, ranging from 15% at 100 sensors, to 2 percent at 1000 sensors (which concurs with our original experiments in 8.1, see figure 3). As expected, the time a requester waits for all the responses in the basic ANS increases linearly with the number of sensors in the network. This is because the underlying random back-off algorithm in BNet mostly prevents packet collision, and because all sensors have the service that is requested by the requester. The ranges observed ranged from an average of 7.2 time units for 100 sensors, to 72 time units for 1000 sensors. 8.3.2 Basic ANS with a time-out A time out is added to the re-tender process. Once a request is broadcast, the requester waits for a period of time, then chooses from the responses received, and the select packet it broadcasts acts as the stop-bids message to the unnamed sensors (and a select to the named sensor). The length of time that a requester waits for responses was a constant 2 time units. This has the effect of limiting the number of heard responses to typically 28 sensors (or less, if fewer sensors are available). The mean per-requester

Figure 4: Average time requesters received desired QoC in the presence of state flapping.

These two results show that the adaptation mechanism in ANS provides resilience to stateflapping, without changing the overhead therefore not destabilising the system. There is an associated degradation of QoC received by the requesters as would be expected, but it is not that severe. Therefore, ANS is certainly adaptive in maintaining a quality of context, but with a very high network traffic overhead. The next set of experiments aims to reduce the unnecessary communication. The first optimisation uses a Stopbid heuristic. Here we introduce and exploit a random delay before which the sensor node sends its QoC replies. This provides an opportunity for the requester, once it has a suitable response from one or more sensors, to effectively cancel outstanding replies, potentially cutting out a large fraction of the total reply messages. When a sensor receives a Stopbid message it stops waiting and aborts its reply.

UbiCC Journal, Volume 2, October 2007

32

percentage of work packets (as a fraction of total packets sent and received) was observed to be consistently 34% for all network sizes. This improves over the basic ANS which at best could deliver 15% work-packet ratio (see figure 5). The average amount of time the requester received their requested QoC was always above 98%. 8.3.3 First Sufficient ANS The final experiment of this section optimized ANS further by adding the immediate processing of the responses. The first sufficient response received where the sensor met or exceeded the requester's QoC needs is selected. The ‘select’ message acts as a stop-bids signal to any sensors that have not yet sent their reply (bid). We call this version 'First Sufficient' or FS. This gave us more information as to how many sensors were needed, on average, to satisfy the QoC requirements of the requesters. The results show that the average number of responding sensors before a suitable one was found ranged between 1.70 for 100 sensors (with a standard deviation of 1.10) and decreasing to 1.55 for 1000 sensors (standard deviation of 0.83). For each request the number of sensors needed was recorded. In all cases the most frequent (first mode) number of sensors needed was 1, and the second (second mode) most frequent was 2. The largest recorded number of sensors responding before a suitable one was found was 39.

Figure 6. Average negotiation time. (Note: basic ANS increases linearly off of the graph)

Figure 5. Ratio of work packets to all packets sent and received.

In summary, figure 5 shows us how the ratio of work related packets to all packets sent and received by a requester improves with the various optimisations. By reviewing the response as it is received, we managed to get 75% of all packets sent and received to be work related, thus reducing the overhead of ANS to 25% of the packets sent. This is achieved while providing the requesters with their required QoC 99% of the time. Figure 6 shows the reduction in average negotiation time after a requester has made a request. The time needed for the basic ANS increases linearly right off of the graph. This illustrates the significance of the ANS with timeout, and the First Sufficient ANS optimisations. An interesting result of the random back-off communication scheme ANS is built upon is that, in the basic ANS, if the current sensor is still the best sensor, then no change of sensor is made. In ANS with timeouts and optimized ANS, if the current sensor does not have time to respond before another suitable sensor responds, then a change of sensor will occur. In the data we observed an average of 95% of the re-tenders resulting in sensor changes. A simple extension of the protocol, setting delay to 0, resolves this by ensuring that previously used sensor replies immediately. This helps reduce the number of unnecessary sensor changes that occur. As state flapping has not had a significant impact on performance we did not wish to examine this further. 9 Experiment Set 2: Optimizing ANS with Bounded Radio Reception Location information is now added to the model constraining the number of sensors that can respond to a (re)-tender request. This represents less extreme, more realistic conditions, simulating a smaller number of nodes able to respond to a request due to communication range limitations or restrictions imposed by building artefacts such as thick metal based walls or furniture. A 2-dimensional finegrained grid of cells is used to describe the area of deployment. The density of sensor nodes in this grid

UbiCC Journal, Volume 2, October 2007

33

is measured as the ‘density factor’ 3 . One or more nodes can reside in a given cell. Consequently, given a constant sensor population, the size of the grid determines the population density of the nodes. For a given node population, a larger grid will have a lower density than a smaller grid. In each experiment (i.e. change in grid size) the nodes are distributed across the grid with a uniform random distribution. Figure 7 illustrates a typical sensor node distribution with density factor of 0.4 (for clarity, the lines in the diagram are drawn at a distance of 10 cells apart). On average this density factor equates to 5 sensor nodes being in communication range of a requester node.

determined by whether they can provide at least 60% of the QoC asked for. If not, the sensor remains silent, therefore further reducing protocol overhead. The experiments are run in sensor node populations of 100 through 1000 nodes, with a density factor of 5. The results are discussed below and summarized in figures 8, 9, 10 and 11.

Figure 8. Average percentage of time requesters got QoC.

Figure 7. A random sensor node distribution with a density factor of 0.4. Sensor and requestor nodes are represented by the symbols 'S' and 'R' respectively.

The simulation is initialised such that at the beginning each requester can hear at least one sensor. Failures and the constrained number of sensors available can leave a requester in a state with no sensors available. Once again the goal is to reduce the communication overhead of ANS. The work packet ratio, average number of sensors responding per request, and average time from request being sent until the requester receives the last sensor reply are measured. The experiments compare the performance of four variants of the protocol. The first three of these are the same as used in the section 8 experiments (basic ANS, basic ANS with a 2 time unit time-out, and FS ANS). The fourth variant ‘FS with delayed-bid’ employs a delayed-bid mechanism (at sensor nodes) as described in section 6.2, in addition to the FS behaviour (which operates at the requestor node). This new variation is further optimised by allowing sensor nodes to choose if they are going to respond to a re-tender request. This is The term 'density factor' is defined as the mean number of sensor nodes within a 100 cell area of the grid; i.e. a density factor of 1 implies that there is an average of one sensor node per 100 grid cells. Each type of node has a wireless range (radius) of 20 cells, with the assumption that there is no interference to limit range. Thus its communication range covers 400π ≈ 1257 cells.
3

Figure 9. Average percentage of time requesters had no sensor.

Figure 10. Ratio of work packets to overall packets.

UbiCC Journal, Volume 2, October 2007

34

9.3 First Sufficient ANS with location FS ANS shows the same trend as the other versions of ANS of increasing the average time its requesters get their QoC (figure 8), and reducing average time requesters are without sensors (figure 9) as the sensor population increases. Figure 10 shows that the work packet ratio is similar to the previous section 8 experiments, again significantly better than the basic ANS with or without time-outs. The first sufficient algorithm incurs similar communication overheads regardless of whether or not the transmissions are bounded by location; see figures 5 and 10. The results in figure 11 show very low re-tender times.
Figure 11. Average re-tender time.

9.1 Basic ANS with location Figure 8 shows that the basic ANS with restricted communication range consistently provides its requesters with their requested QoC for the highest percentage of time. However, figure 9 reveals periods when requesters were receiving no sensor. All of the variants of ANS showed a similar trend of better average time with the desired QoC and lower average time without a sensor, when the number of sensors increased. Intuitively this is what one would expect given that a requestor has more chance of picking up a service at the required QoC if there are more of them available to it. For basic ANS the percentage of work-packets sent (see figure 10) has increased to 29% for 100 sensors, and 22% for 1000 sensors (i.e. overhead drops from 75% to 71% and from 98% to 78% respectively, compared to the results in section 8). The time taken for a re-tender (shown in figure 11) now starts at an average of 3.3 time units for 100 sensors, and only rises to 4.8 time units for 1000 sensors. Clearly, adding the constraint of location to the model improves the ANS overheads, nevertheless, performance can be improved further. 9.2 Basic ANS with Time-Out and Location By ignoring bids that arrive after a period of 2 time units, we see the same pattern of results as in the first set of experiments; section 8.3.2. With the location communication restriction added, the timeout enhancement gives the lowest average percentage of time requesters get their requested QoC (figure 8). In figure 9 ANS with timeout gives the lowest average percentage of time with a requester getting no sensor. The percentage of work packets in figure 10 is improved to 38% regardless of the number of sensors. The average negotiation time is confirmed to be 2 time units (see figure 10). This is a direct consequence of stopping waiting for bids after 2 units of elapsed time.

9.4 First Sufficient ANS with Delayed-bids and location The technique of delaying sensor bids improved the performance of ANS with regard to our metrics. The average proportion of time which the requesters got their QoC showed the same trend as the other versions of ANS, as did the average time without a sensor (figures 8 and 9). The work packet ratio (figure 10) shows further improvement of about 34% over FS ANS, and shorter re-tender times than FS ANS, see figure 11. Whilst all versions of the protocol are capable of delivering high QoC for high proportions of time, the delayed-bids variant delivers this performance with lower communication overheads and latency. The experiments in this section confirm the scalability of ANS. As expected all of the versions of ANS perform generally better when the sensor density is increased. 10 Experiment Set 3: BioANS under Demanding Conditions The optimised variant of ANS, i.e. with the first sufficient optimisation operating at the requester, and the two optimisations at the sensor nodes (i.e. the delayed bid and the sensor determination of whether to provide a bid) is referred to as BioANS in the remainder of the paper. The name reflects the biological systems inspiration for the enhancements to ANS. The experiments reported in section 9 showed little affect on the QoC. This is because the density for each location range remained high. The experiments reported in this section examine how the density of nodes within a given range affects the QoC, the goal being to establish the break-off point between a density that provides sufficient choice of sensor for a requestor and a density that begins to impact on how the protocol deteriorates. We then select the extreme conditions of a low node density and introduce varying levels of sensor failure to examine how BioANS operates under demanding conditions.

UbiCC Journal, Volume 2, October 2007

35

Figure 12. Relationship between density factor and the average percentage of time requesters got QoC.

Figure 14. Ratio of work packets to total packets.

10.1 BioANS and varying Node Density Given a communication range of 20 cells, the density of the sensors in the deployment area will affect the performance of the protocol. Figure 12 shows the average QoC received by 50 requesters in a network of 500 sensors. The average time that requesters got their desired QoC is almost 100% until the density factor falls below 1. At that point the average time that QoC is received falls away. At density factor 0.4 the requesters are only getting their QoC an average of 85% of the time. At a density factor of 0.2 that figure has dropped to 72% and to 64% at a density factor of 0.1. 10.2 BioANS performance at a Low Fixed Node Density Given the results in section 10.1 above, we decided to test the performance of BioANS as it scales in network size. The density factor was set to 0.4 to examine the performance at the critical density where it begins to deteriorate. The results are summarised in figures 13, 14 and 15.
Figure 15. Average re-tender time as network size increases with fixed sensor node density.

These experiments show that BioANS scales to at least systems of 1000 sensors and 100 requesters (the maximum population tested in this experiment). Figure 13 shows that the average time that the desired level of QoC received is almost the same for all network sizes. The average time requesters had no sensor fluctuated a little, but remained consistently below 1% most of the time. The percentage of work packet traffic to total traffic, is constantly high however, see figure 14. Latency, represented here as average time a re-tender took to complete, is also low, and consistent among all of the populations tested, see figure 15. The fundamental reason for such consistent results is that the sensor density was constant. However the requestors are randomly located and can ‘interfere’ with each other when they use nodes with variable QoC. Thus the important result is that the effect of such interference changes negligibly as scale increases. 10.3 BioANS performance with failures To test the robustness of BioANS, we run experiments where the failure and recovery rates of sensor nodes are varied. We also watch the degradation of the network as all of the nodes fail

Figure 13. Average percentage of time requesters got QoC as network size increases with fixed density.

UbiCC Journal, Volume 2, October 2007

36

without replacement, and as the network recovers from a state of no sensors, to a full population of sensors. All of the previous experiments are run with a failure rate of one sensor node failure every 5000 time units distributed exponentially. The recovery rate is half that, with new nodes being added every 10000 time units, but added in batches (one or more) using a geometric distribution with a mean of 1.6. The previous experiment shows that the network is stable as the size increases. In this experiment, we increase the failure rate across a range from one in every 5000 time units to one in every 10 time units. The recovery rate is always half the failure rate. The population of the network is always 1000 sensors and 100 requesters, and the density factor is fixed at 0.4 The results are summarised in figures 16, and 17.

rates are exponentially distributed with a rate of one every 5000 time units. The results (figure 17) show that BioANS degrades and recovers gracefully.

Figure 17. Average percentage QoC as network resumes.

The collective results of the above experiment set show that the bio-inspired optimisations have dramatically reduced the communication overheads and negotiation time, whilst retaining the high robustness, stability and flexibility of the protocol and the high levels of QoC provided to requesters. The optimised protocol is very resilient to highly dynamic network conditions.
Figure 16. Average percentage of time requesters had QoC in relation to mean time between failures.

Figure 16 shows that the average percentage of time that the desired QoC remains consistently high as the failure rate increases. Only at extremely high failure rates a performance drop is noticed (of course, as failure rate in this experiment was double the recovery rate, the extent of the performance drop would worsen over time). Similar behaviour is observed for the percentage of time a requester has no sensor, the ratio of work packets to overall packets (inverse of the overhead), and the average time for a re-tender to complete. The ‘immunity’ of BioANS to high sensor node failure rates stems largely from its adaptive re-tender method. The final experiment looks at how average received QoC degrades as the sensors fail without replacement until the system is completely depleted of sensors 4 . The experiments were run with a density factor of 0.4, varying the sensor node population over the range 0 to 1000. The failure and recovery
4

The reverse experiment was also run, i.e. starting from a system of no sensors and incrementally adding them. The results were symmetrical (due once again to the robust adaptive re-tendering used in BioANS), so a single graph is sufficient to show both results – the system can operate continuously along the curve depending on the sensor population.

11 Related Work Utility based service selection is gaining interest in the Autonomic Computing community. Some of the current work on this assumes that the utility of services are per application and not shared between applications. The work that allows the sharing of contextual information however, assumes that bulky middleware will buffer this information and drive the self-management of the system therein. Rajkumar et al. [16] propose a resource allocation model for QoS management within a single system. Resources include CPU utilisation, memory consumption, network bandwidth and latency. Each application delivers to the system the minimum resource requirements it has plus a utility function that returns the increase in performance given additional resources. The system then allocates resources to each application such that the total system utility is maximised. The Context Toolkit [18] is a framework aimed at facilitating the development and deployment of context-aware applications. It was one of the first projects in this area and is often considered a reference framework which has inspired this work as well as many other projects. The Context Toolkit abstracts context services, e.g. a location service, from the sensors that acquire the necessary data to deliver the service. Thus, applications abstract from the sensors that provide the raw data necessary for

UbiCC Journal, Volume 2, October 2007

37

determining context, and access context data through a network API. Further, the Context Toolkit allows sharing of context data through a distributed infrastructure and collection of storage data to create a history. However, unlike our work this middleware infrastructure is quite bulky thus not suitable for sensor applications where the infrastructure is deployed on the actual sensor nodes. Moreover, it does not provide any autonomicity in terms of allowing applications that enter the distributed environment to discover available services: the location of context services (IP address and port number) has to be known in advance. Also, there is no mechanism that allows context services to adapt and react to failure or degradation of the underlying sensor infrastructure, e.g. by switching to an alternative means of acquiring the same type of context. Cohen et al. have proposed iQueue [7], a datacomposition framework for pervasive data. iQueue allows applications to create data composers, specify a composer's data sources using functional data specification, and specify a composer's computation. Similar to our Requester, the iQueue run-time system selects data sources satisfying the data specifications, dynamically reselects data sources as appropriate. The goal is very similar to ours, although our approach somewhat different and again their middleware has not been designed in a lightweight fashion. They use a mechanism similar to our periodic re-tender request, in that a data source issues advertisements periodically, but also whenever properties of the data source, e.g. quality of information, change. It would appear that they use Boolean predicates over the values of the properties of the data source. Instead, we present a mathematical model based on application's wishes that evaluates each applications quantitative satisfaction with regard to any particular data source. The aforementioned centralised solutions are not suitable for sensor networks as many of the nodes are too small to carry this burden and it introduces a central point of failure to the system. Therefore we aimed to carry out the same functionality in a more lightweight and decentralised way, hence our bioinspired approach. The inspiration for the methods to optimise ANS is stylistically bio-inspired. In [3] an emergent leader election algorithm is given whose communication style is based on the mechanics of pheromone based communication. Pheromone communication is oneway communication without acknowledgment and is implemented as a local broadcast, with no guarantee of delivery. The emergent leader election algorithm uses the inherent non-determinism of unreliable communication to make a very efficient algorithm for large scale distributed systems. A key bioinspired aspect of the design is to ascribe low-value to individual messages and nodes, i.e. the algorithm

is designed to operate correctly at the global level despite high levels of message loss and node failure. A cluster management scheme presented in [5] incorporates the non-determinism of un-reliable communication in a mechanism to recruit idle nodes for distributed computation. Because of the similarity between the style of communication used in these works, and the type of communication we are restricted to in sensor nets, the optimized ANS is heavily inspired by these algorithms. The vast majority of WSN self-adaptation work has concentrated on the scalable and robust routing of packets from a source to a sink in a WSN whereas ANS is an application-level protocol. 12 Conclusions The autonomic protocol, ANS, describes all services provided by the WSN as contexts and the quality (QoC) of which this context can be delivered. Applications are then composed of sets of calls to the context providers which provide the most appropriate QoC. This paper therefore seeks to measure the trade-off between performance in terms of speed and quality of delivery against the overheads that the addition of an autonomic protocol adds to a highly distributed, resource scarce wireless sensor network application. To this end we took measurements obtained from a smaller scale WSN running ANS and applied them to a simulation model to observe how the protocol would operate under extreme conditions such as failure or very large numbers of nodes, which further allowed us to carry out partial validation of results. Our results show that extreme scaling and stateflapping do not significantly affect the Quality of Context delivered to the application. However, the overheads incurred in achieving this in ANS were quite significant. This issue was addressed through a series of progressive innovations and the performance was evaluated at each step. Firstly a time-out was used to reduce the requester wait time; and bids received within the time window were considered at the end of this period. Then a mechanism of examining each bid as it arrives and accepting the first sufficient bid was introduced, still operating within the timeout period. If no sufficient bid was received the ‘best’ bid was used. The ‘select’ message was also used as a ‘stop-bids’ signal which cancels any unsent bids at other sensors. Finally a delayed-bid mechanism was added so that sensors do not all respond immediately causing a communication bottleneck. Spreading out the responses from sensors in this way makes the combination of first sufficient and stop-bid more effective, as a greater proportion of unwanted messages are typically cancelled. We call the highly optimised variant of the protocol BioANS. The delayed bid mechanism has scope for yet further improvement, by arranging that the time-delay is

UbiCC Journal, Volume 2, October 2007

38

shorter for nodes offering better QoC. We leave this specific optimisation for further work. The innovations increase the non-deterministic, emergent, characteristics of the protocol. In combination the enhancements have a powerful effect on performance: in BioANS the negotiation time was significantly reduced (thus enhancing responsiveness) and the number of messages was reduced (communication overheads were dramatically cut from 85% down to 25%, thus greatly enhancing efficiency and scalability). The strengths of the original more-deterministic ANS protocol were preserved; i.e. the high levels of QoC received by requesters, and the high probability of getting a sensor (thus BioANS retains high correctness and reliability). BioANS was tested over a wide range of sensor node densities. Lower density gives less choice of service-provider sensors. Even at low sensor densities the typical received QoC remained high whilst overheads lessened considerably. This result further confirms that the adaptivity of BioANS is both effective and highly efficient. Finally, an investigation into the effects of node failure demonstrated the robustness of BioANS’ adaptive behaviour. In conclusion the experiments demonstrate that the bio-inspired optimisations of the basic ANS provide a stable, highly scalable and robust protocol that has general applicability to a wide range of applications in sensor networks and similar resource constrained domains. 13 References [1] Ans over bnet. http://www.doc.ic.ac.uk/ asher/ubi/ans/bnet.html. [2] R. Anthony. Emergence: A paradigm for robust and scalable distributed applications. 1st Intl. Conf. Autonomic Computing (ICAC), IEEE, New York, pp. 132-139, (2004). [3] R. Anthony. An autonomic election algorithm based on emergence in natural systems. Integrated computer-aided engineering, 13(1): pp. 3-22, (2006). [4] R. Anthony. Emergent graph colouring. Engineering Emergence for Autonomic Systems (EEAS), First Annual International Workshop, at the third International Conference on Autonomic Computing (ICAC), Dublin, Ireland, pp. 4-13, (June 2006). [5] R. Anthony. Engineering emergence for cluster configuration. Journal of Systemics, Cybernetics and Informatics, 4(3), (2006). [6] J. Casti. Complexification: Explaining a Paradoxical World Through the Science of Surprise. Abacus, London, (1994). [7] N. H. Cohen, A. Purakayastha, L. Wong, and

D. L.Yeh. iqueue: A pervasive data composition framework. In Proceedings of the Third International Conference on Mobile Data Management (MDM), pp. 146-153. (2002). URL http://www.research.ibm.com/sync-msg/MDM2002.pdf. [8] K. Dey, G. D. Abowd, and D. Salber. A conceptual framework and a toolkit for supporting the rapid prototyping of contextaware applications. Human-Computer Interaction, 16: pp. 97-166, (2001). [9] M. Gell-Mann. The Quark and the Jaguar: Adventures in the Simple and the Complex. Abacus, London, (1994). [10] R. Genet. The Chimpanzees who would be Ants: A Unified Scientific Story of Humanity. Nova Science Publishers Inc, New York, (1997). [11] J. Hightower and G. Borriello. Location systems for ubiquitous computing. IEEE Computer, 34(8): pp. 57-66, (2001). [12] S. Johnson. Emergence: The connected lives of Ants, Brains, Cities and Software. Penguin Press, London, (2001). [13] J. Kephart and D. Chess. The vision of autonomic computing. Computer, IEEE Computer Society, 36(1): pp. 41-51, (2003). [14] J. McCann and A. Hoskins. Proof of concept adaptivity and performance benchmark results. Technical report, Imperial College, London, May (2006). [15] J. McCann, M. Huebscher, and A. Hoskins. Context as autonomic intelligence in a ubiquitous computing environment. International Journal of Internet Protocol Technology (IJIPT) special edition on Autonomic Computing, (2006). [16] R. Rajkumar, J. L. C. Lee, and D. Siewiorek. A resource allocation model for qos management. Proc. 18th IEEE Real-Time Systems Symposium (RTSS '97), page 298. IEEE Computer Society. ISBN 0-8186-8268-X. (1997). [17] M. Roman, C. Hess, R. Cerqueira, A. Ranganathan, R. Campbell, and K. Nahrstedt. A middleware infrastructure for active spaces. IEEE Pervasive Computing, 1(4), pp. 74-83, (2002). [18] D. Salber, A. K. Dey, and G. D. Abowd. The context toolkit: aiding the development of context-enabled applications. Proc. SIGCHI conf. on Human factors in computing systems, pp. 434-441. ACM Press. (1999). [19] M. Weiser. The computer for the 21st century. Scientific American, 265(3): pp. 94-104, September (1991). [20] M C. Huebscher, J A. McCann, A Learning Model for Trustworthiness of Context-awareness Services, Proceedings of the 3rd International Conference on Pervasive Computing and Communications Workshops (PerSec), (2005).

UbiCC Journal, Volume 2, October 2007

39

SOME NOTES AND PROPOSALS ON THE USE OF IP-BASED APPROACHES IN WIRELESS SENSOR NETWORKS
Tiago Camilo, Jorge Sá Silva, Fernando Boavida Department of Informatics Engineering, University of Coimbra, Coimbra, Portugal tandre@dei.uc.pt ABSTRACT Wireless Sensor Networks (WSNs) are gaining visibility and importance in a variety of fields and will certainly be part of our day-to-day lives in the near future. This trend is, in effect, putting WSNs under the research community spotlight. The feverish activity around WSNs has led to some myths and misconceptions over the last years that, in some way, have blocked the way forward. This paper addresses some of these myths and discusses a model for Wireless Mesh Sensor Networks that go beyond them, showing that it is time to look at WSNs under a different light. The paradigms that support the proposed model have a direct impact on the addressing scheme, mobility support and route optimisation. These have been put to the test both by simulation and prototyping, showing that they constitute solid ground on which future Wireless Mesh Sensor Networks can be built. Keywords: wireless sensor networks, IP, ant colony optimization, anycast. nodes; being self-healing, since sensor nodes cooperate in order to automatically re-route their signals to the out-of-network node, thus ensuring a more reliable communication path; supporting multihop routing, since data can be forwarded through multiple nodes before it reaches a sink-node. The overall performance of a sensor node is affected by the features of its components: battery, memory, processor, sensors, receiver/transmitter. Hill et al. [7], grouped sensor nodes into four classes, depending on their physical size, radio bandwidth and memory size (Table 1).
Table 1: Sensor nodes classes [7]

1

INTRODUCTION

Composed of a potentially high number of very small devices, Wireless Sensor Networks (WSNs) are one of the most promising technologies for the 21st century. Emerging WSNs make use of recent advances in electronic sensors, communication technologies and computation algorithms. WSNs have unique characteristics, mainly due to their component devices, called sensor nodes. These nodes are typically small size devices with communication and monitoring capabilities, as well as limited resources, namely in terms of memory, energy and processing power. A node in a WSN consists of a sensor or an actuator that is connected to a bidirectional radio transceiver. In contrast to sensor nodes, sink nodes (special WSN nodes that act as central nodes which gather/distribute information) have fewer restrictions, allowing them to store relatively large amounts of information and perform highly demanding processing and routing tasks. These devices are responsible for managing the communication between a sensor network and its respective base station (wireless or wired). Wireless Mesh Sensor Networks (WMSNs) aggregate several types of sensor nodes under a single working network, thus giving access to the data, information and/or services of each component WSN platform. In a typical mesh network each sensor node can communicate with more than one node, enabling better overall connectivity than in traditional star topologies. WMSNs are characterized by: offering a combination (mesh) of several types of

Sensor Type Specialized sensing platform Generic sensing platform Highbandwidth sensing Gateway

Size mm3 1-10 cm3 1-10 cm3 >10 cm3

Radio Bandwidth <50 Kbps <100 Kbps ~500 Kbps >500 Kbps

Memory Flash RAM 0,1 Mb 0,5 Mb 10 Mb 32 Mb <4 Kb <10 Kb <128 Kb <512 Kb

Sensors like Spec (http://www.jlhlabs.com/jhill_cs/), which are characterized by being extremely small, belong to the first class, the specialized sensing platform. This

UbiCC Journal, Volume 2, October 2007

40

class covers sensor nodes that only perform monitoring and send their sensor data directly to the sink-node. Mote [9] devices are bigger and can perform forwarding tasks. Such devices belong to the generic sensing platform class. High-bandwidth sensing nodes have more resources than the nodes belonging to the previous classes. However, the size of the device also increases, mainly due to the power supply. An example of an instance of such sensor class is the iMote [9] sensor node. iMote nodes have video, audio and air-monitoring capabilities. Lastly, the gateway class aggregates nodes that can execute all the above mentioned tasks and, additionally, support the interaction between the sensor network and the infrastructured network, being strategically placed between them. The devices from this class (e.g., Stargate, http://platformx.sourceforge.net) typically have several interfaces and make use of a more powerful energy source. Security, traffic control, military strategy, industrial control, healthcare and habitat monitoring are examples of possible applications of WSNs and WMSNs. This wide range of applications requires that WMSN protocols are adaptable to their deployment environment. This paper proposes a WMSN architectural model, named IPSense, which supports such adaptation requirements, namely by using flexible addressing, enhanced mobility and energy-efficient routing. IPSense also demonstrates that some of the myths associated with wireless sensor networks – namely, that the use of multiple addressing schemes, the use of IP and the use of complex routing protocols have high cost – do not hold. The following section identifies and discusses some of the WSN myths, their implications and possible ways to circumvent them. Section 3 presents the IPSense model, describing its key paradigms, features and approaches. These were put to the test by simulation and prototyping, and the results of that evaluation are presented in Section 4. Section 5 presents some conclusions and guidelines for further work. 2 MYTHS IN NETWORKS WIRELESS SENSOR

This section discusses some of the myths normally associated with wireless sensor networks. These are common misconceptions that, in general, limit the current use of this type of networks. The section analyses each issue from several angles, identifying real problems and possible ways forward. 2.1 WSNs Should Be Data-Centric Three main communication paradigms can be used in sensor networks: data-centric, locationcentric and node-centric [12]. WSNs are applicationspecific and, in general, use a data-centric

communication paradigm, contrary to the nodecentric approach followed by most networks, including ad hoc networks and the Internet. The node-centric approach is regarded as unsuitable to WSNs, as it generally relies in complex signalling/routing protocols. In the following, each communication paradigm is explained. The data-centric communication paradigm is built on the data gathered by the sensor. In this case the observer is not interested in knowing which particular sensor replies to a specific query. Instead, the most important thing is to get the answer to the query. Therefore in protocols such as DirectedDiffusion [8], the user only needs to specify a certain condition when querying the network. The returned data can be provided by one or more sensor nodes, or even be an aggregation of sensor data gathered by a group of sensors. Data-centric communication provides the ability to specify various parameters, such as rate of publication, rate of subscription, validity of the data and many other. In short, with this communication paradigm routing is based on the data provided by a sensor, not on the identity or location of the sensor. The location-centric communication approach uses the location of sensor nodes as a primary means for addressing and routing (e.g. CODE [13]). The cooperation between devices in a given area, performing local aggregation, takes a special role in this kind of communication. This paradigm is extremely dependent on positioning systems, such as the Global Positioning System (GPS), which may not always be feasible since it requires high amounts of energy. In addition, this type of communication approach may lead to increased cost and may be restricted to outdoor use. The most important advantage of this approach is related to the absence of routing tables in the network. Each node forwards packets based on the destination location. Such characteristic is very helpful in mobile scenarios, since mechanisms such as route discovery and routing updates are not required, decreasing the energy spent on control messages. However each sensor node has to know the correct location of intermediate and destination nodes. Lastly, in node-centric communication sensor nodes are labelled with unique identifications, such as IP addresses, which are used to populate the routing tables and to perform packet forwarding. This communication paradigm is the “traditional” communication method nowadays used in the Internet, throughout wired and wireless networks. Due to its characteristics, it is possible to perform hierarchical addressing, creating simpler routing schemes. However this approach is the less used in WSNs/WMSNs environments since it can lead to considerable amount of control traffic, which will dramatically reduce the network lifetime. Nevertheless, it has the advantage of enabling global

UbiCC Journal, Volume 2, October 2007

41

connectivity and the support of well know IP-based protocols. Each of the presented communication paradigms has advantages and drawbacks and, contrary to common belief, they all can be applied to WMSNs. It is up to the WMSN developer to choose the best approach that fulfils the application requirements. It is important to note that hybrid solutions can also be applied, where the conjunction of two or more communication models can lead to specific benefits. 2.2 IP Is To Complex To WSNs The main motivation for using IP in WMSNs is global connectivity. Such use would greatly increase the potential for interaction between sensors and observers, allowing the latter to access the gathered data from virtually anywhere, in what is normally known as a 4G scenario. Nevertheless, IP was not designed for energy-restricted, low-memory and low-processing-power devices, which has led to the belief that IP is too complex for WSNs/WMSNs. In spite of this, an increasing number of researchers are looking into the use of IP in sensor networks due to the potential that it represents. There exist several differences between IP-based networks and the current WSN/WMSN models. On one hand, the broad applicability of WMSNs has led to architectural models that are application-specific. On the other hand, WMSNs are, by nature, datacentric systems, where sensor data is the key for the routing mechanism. This is not the case in an IPbased network, where devices/applications are reached through the use of IP addresses, which are application-independent. In IP-based networks the communication is typically performed on a one-to-one basis, with the possibility to support one-to-many interactions in the case of multicast. On the other hand, in WSN/WMSN communication is usually of the many-to-one or one-to-many types, since sensor nodes usually transmit to a single point, the sinknode which, in turn, queries sensor nodes. Such behaviour considerably reduces the amount of data transmitted over the network. In IP-based networks, bandwidth is the most important obstacle/restriction, due to the amounts of data transferred between elements (video, sound, etc). In WMSNs the amount of data transferred between devices is typically small. Moreover, there can be relatively long periods of time with no data exchanges. WMSNs are very peculiar regarding the development phase. Contrasting with most networks, the nodes location is very important, and in some cases it has a direct impact on the network lifetime. Typically, WMSNs need to be self-configured and unattended due to the fact that access to sensor nodes is not always possible, contrary to IP-based networks where administrators know the nodes physical

location and frequently access them. The most common approach to integrate WMSNs with IP-based networks is to incorporate a proxy between the two networks (e.g. [15]). This element acts as a protocol translator, allowing internetwork communication. The proxy needs to understand the protocols of the networks it interconnects: the IP stack and the protocol stack used within the WMSN (Fig. 1). Strategically placed, the WMSN/IP proxy acts as a database (normally through software), collecting and storing the monitored data provided by the sensors nodes.

Figure 1: Proxy WMSN/IP architecture This architecture provides access to the collected data through the use of standard TCP/IP protocols, without losing the capability to create applicationspecific protocols for the WMSN. However, the proxy architecture is based on a single, centralized access point, leading to problems in terms of reliability, scalability and mobility support. The main problems that are commonly pointed out when direct support of IP in WMSNs is concerned are the following: lack of available addresses, lack of configuration management, and energy efficiency due to heavy processing required by the IP stack [3]. Nowadays, solutions for each of these problems exist, namely the use of NAT mechanisms, the use of the Dynamic Host Configuration Protocol and the use of efficient, thin IP stacks. Computational limitations and low memory resources are commonly pointed as limitations to a full support of the IP stack in WSNs [2]. However the work performed in [5] with the µIP TCP/IP, proves the feasibility of such integration. Developed to be executed in 8-bit micro-controllers, this stack allows nodes to directly communicate with full-IP devices, as illustrated in Fig. 2.

Figure 2: IP-based WMSN By endowing sensor nodes with IP addresses, they will be able to benefit from the main capabilities

UbiCC Journal, Volume 2, October 2007

42

of this protocol. In this model de communication between mobile devices and mobile nodes is completely transparent. Neither tunnel mechanisms nor intermediate devices are required to perform the protocol translation. Sensor nodes are accessible from any other IP-capable device, such as a PDA. Although IP seems to be a viable protocol for micro-controllers, the IP header is too large when compared with the typical size of data packets exchanged between sensor nodes. The overhead can reach up to 90% [6]. However it is possible to use compression mechanisms to reduce the total message size [10]. 2.3 IPv6 Is Even More Complex And Can Hardly Be Used In WSNs When developing a WMSN, it is important to have scalability in mind. WSN/WMSN networks with up to 1000 sensor devices will be quite common in the future. With these numbers, it is unfeasible to use public IPv4 addresses on each device, which is why NAT mechanisms may be a solution. However, such solution also has drawbacks in terms of end-toend transparency, security, performance and processing time. Using IPv6 in WMSNs would allow us to overcome some of the IPv4 limitations and would open a whole new range of possibilities. The large address space available with IPv6 would allow us to assign public addresses to all sensor nodes, eliminating the need for NAT. Communication between sensor nodes and external devices would be done without intermediate nodes, protocol translation or proxies. In contrast with IPv4, the IPv6 header is designed to keep the overhead to a minimum, by shipping unused fields to extension headers. One important property in WMSNs is the lack of network management. After the deployment of sensor nodes, it becomes unfeasible (in most scenarios) to perform administrative operations, such as to choose the best configuration (e.g. routing) for each node. Therefore it is important to use autoconfiguration mechanisms such as the Neighbour Discovery Protocol and other auto-configuration facilities natively found in IPv6. Finally IPv6 provides a new type of address, the anycast address. The use of anycast addressing is normally associated with fault tolerance mechanisms, where the same service is provided by more than one device, all using the same IP address. A packet destined to an anycast address is delivered to the “best” interface, from all those using the same anycast address. In spite of the general belief that IPv6 is too complex for WMSNs, part of the IPv6 features can be easily ported to this type of networks at reduced cost, boosting the usefulness of IP in WMSNs. Mobility support and auto-configuration are just two examples of IPv6 features that can be extremely

useful in WMSNs. 3 THE IPSENSE MODEL

This section presents a model – which, for ease of reference we will call IPSense – for WMSNs that uses and explores paradigms that are contrary to the myths and misconceptions presented in the previous sections. Specifically, IPSense has the following features:  Global connectivity, through the use of IPenabled nodes;  Support for all the addressing paradigms mentioned in the previous section;  Mobility support and Auto-configuration;  Optimised routing;  Reduced protocol overhead;  Energy-efficiency. The following sections detail the IPSense model. 3.1 Sensor Router And Mobility Support IPSense explores sensor node aggregation in clusters, through the use of Sensor Routers (SRs), in order to manage the communication between the cluster members and the access point, located in the wired/wireless network (Fig. 3). Sensor Routers are gateways between wireless sensor networks and the outside world comprising a whole range of heterogeneous networks (Fig. 4). SRs are special devices that have more powerful hardware capabilities when compared to sensor nodes, in what concerns energy, memory and processing power.

Figure 3: Sensor Router concept Sensor routers are responsible for configuring the sensor nodes in their own sub-network. Each node will be provided with one IPv6 unicast address and a set of IPv6 anycast addresses. Unicast addresses allow the unique identification of each sensor node. Anycast addresses are assigned according to the device sensor properties, thus providing an efficient way to address sensor nodes with similar capabilities. The Sensor Router concept is fundamental to guarantee energy efficiency in WMSN networks. By concentrating energyexpensive communication between WMSN and wired/wireless networks in a dedicated element, it is possible to considerably relax the energy management and communication requirements of

UbiCC Journal, Volume 2, October 2007

43

sensor nodes, allowing them to efficiently deal with sensor operations and local communication.

Figure 6: Sensor node mobility Figure 4: Connectivity model between IPSense and 4G networks In addition, SRs can easily provide mobility support inside the sub-networks, according to the network mobility model developed by IETF’s NEMO working group [17]. In this context, SRs play the role of Mobile Routers, managing several tasks: route IPv6 unicast addresses, forward IPv6 anycast addresses, map unicast/anycast addresses, and act as gateway between the Internet and WMSNs. WSN mobility support opens the possibility to monitor different types of mobile phenomena such as migrations or vehicle movement. In a typical mobile sensor environment, possible issues are the location of each individual node or the location of the whole sensor network. Such features are normally supported by complex protocols that require considerable power. To overcome this problem, IPSense explores the use of some of the Mobile IPv6 characteristics in Sensor Routers (Fig. 5). Since SRs are responsible for a group of devices, whenever they move, the entire network has to perform the same movement. However, IPSense also allows sensor nodes to change from one WSN to another, when a new SR is found (Fig. 6). A sensor node only knows that it lost connectivity with its SR when no Router Advertisements (RAs) are received after a period of time. On this occasion, the sensor device has two possibilities: stays in idle state until the reception of an RA from a new SR, or contacts directly a known SR. After receiving the RA, the sensor node needs to alert the SR of its presence and the autoconfiguration process will start. Addressing Scheme IPSense combines the three WSN communication paradigms mentioned before. It supports the ability to communicate and to interact with a specific sensor, using IPv6 addresses, according to the node-centric routing approach. The use of anycast addresses supports the two remaining routing paradigms in WSNs: data-centric and location-centric. 3.2.1 Anycast addressing IPSense enables the association of IPv6 anycast addresses to specific services or locations. Therefore it is possible to associate an address to devices with the same sensing capabilities, such as video, sound and temperature. Such addressing scheme can also be useful to determinate which functionality a specific sensor node can offer, just by inspection of the list of its anycast addresses. When an observer needs to know the values of some monitored parameter (e.g., humidity), a query is made with the IPv6 anycast address associated to such service. The message is routed to the node that is best positioned to respond to such query (Fig. 7), e.g., the sensor node belonging to that specific anycast group with highest remaining power or the sensor node closest to the SR. 3.2

Figure 7: Anycast addressing scheme This procedure is based on the concept presented by Ata et al. [1], where a new network architecture is proposed to solve known inter-domain anycast problems. The authors propose the addition of a new element, the Home Anycast Router (HAR), which is responsible for forwarding packets to its network prefix (Fig. 8). This device has to be placed in the incoming/outgoing network link of the group of devices configured with anycast addresses, the Anycast Receivers (ARs). The HAR is configured

Figure 5: Sensor Router mobility

UbiCC Journal, Volume 2, October 2007

44

with one unicast address, the unique identification, and with a set of anycast addresses that are equal to the anycast addresses configured in the ARs. The Anycast Initiator (AI) is the node who wishes to communicate with one AR. It can be located inside or outside the network managed be the HAR. In IPSense we propose to delegate the HAR competences in the SR, which is the device responsible for a group of sensor nodes, the ARs. The AI will be the mobile/wired device used by the observer to collect monitoring data from the WMSN.

Figure 8: IPv6-based global anycasting architecture IPv6 was initially designed to support geographic addresses [1]. By assigning IPv6 to well known geographic places, it is possible to create a networking map representing the specific place of each access point. This can be explored in the SR scenario by assigning a specific geographic network prefix to each SR (Fig. 9). This association is valid for fixed and mobile networks, since the network management is located in the network border, being the SR the only responsible for the forwarding of the outgoing traffic. The SR carries out a set of tasks: build and manage routing tables, assign anycast addresses, perform the correspondence between sensor types and anycast addresses, forward unicast and anycast packets in both directions, and finally manage its sub-network in terms of energy levels. By combining sensor type and sensor location, the IPSense model allows the observer to query a specific type of sensor (e.g. humidity) from a specific location (e.g. the garden) just by specifying one anycast address. This approach has the potential to deal with several disperse sub-networks at global scale, without loosing contact with the sensor nodes, adopting a uniform, universal, IP-based paradigm. 3.2.2 Unicast Addresses Another important aspect is the ability to communicate with one specific node directly; this is only possible due to the unicast address configuration. Each node will be assigned, as already described above, not only anycast addresses, but also one unique identifier, one unicast address, that will be used to identify the sensor node outside/inside the network. From an energy-efficiency perspective, it is not feasible to use the native IPv6 128-bit addresses for communications between sensor nodes. Therefore

intra-WSN communications should used MAC addresses (64 bits) or the reduced address identification (16 bits) proposed by the IETF 6LoWPAN working group [11]. Whenever an observer intends to communicate directly with one specific sensor node, the SR translates the destination address from the 128-bit address to the corresponding internal address (64 or 16 bits). Header compression techniques are also necessary to reduce the impact of IPv6 headers on WMSN packets. In [5], the authors suggest the use of an additional field that codes the unnecessary fields in the communication between two link-local nodes. 3.2.3 Auto-configuration Sensor node configuration is one of the critical factors in WMSNs. It is fundamental to find configuration mechanisms that do not require human intervention. IPv6 natively supports address and network prefix configuration. This is based on IPv6 link-local addresses [16], which are plug-and-play addresses formed by the combination of a network prefix and a 64-bit MAC address. In the IPSense model, a typical address is divided into three parts, as illustrated in Fig. 9: network prefix (which should be less than 64 bits), MAC address, and an intermediate space that will be used to identify the type of address, anycast or unicast. This intermediate address space should also be used to identify the anycast service: location or type of service. Unicast addresses (unique identification) are formed as illustrated in the figure: the intermediate space should be field with zeros.

Figure 9: Formation of the unicast/anycast address The anycast address configuration is a little more complex than the unicast address configuration. Each node is assigned a group of anycast addresses according to its own capabilities. For example, if a sensor node is capable of monitoring three distinct parameters, it will be assigned at least three anycast addresses, each one representing one type of parameter. The anycast assignment occurs only after the sensor node has acquired the unicast global address. It is the responsibility of each node to inform the SR of all its capabilities. A sensor node requires a new unicast/anycast address in any of the following situations:  The interface is initialized at system start-up  The interface is restarted after a temporary system fault  The system administrator activates the interface after an inactivity period.

UbiCC Journal, Volume 2, October 2007

45

3.2.4 Ant colony route optimization IPSense proposes a route optimisation algorithm tailored to the needs of WMSNs, called Ant Colony Route Optimisation (ACRO). This protocol is based on the Ant Colony Optimization heuristic [4] that uses a model based on the behaviour of ant colonies. Ants are insects with simple individual behaviours and efficient processes for individual survival but, as a colony, they can create complex organizational systems, where each ant plays a specific part that is essential to the survival of its anthill. Ant Colony Optimization (ACO) is based on the observation of real anthill behaviours, more specifically in the way ants find the shortest path between the food and the anthill. To bring food to the anthill, the ant colony solves an interesting optimization problem. Initially, ants randomly course the region near the anthill searching for food. Each ant, while travelling its path, places a chemical substance in the soil named pheromone, creating a pheromone trail. The following ants detect the present of this substance and tend to choose the path marked with the bigger concentration of pheromones. These substances enable the formation of the return path to the ant and inform other ants about the best paths to the food. After a period of time, the more efficient paths (paths with the shortest distance to the food) will have a bigger pheromone concentration. Conversely, the less efficient paths will have a lower pheromone concentration, due to the smaller number of ants travelling those paths and also because of the natural pheromone evaporation. In the optimization problem that the anthill has to face, each ant is capable of building a complete solution for the problem. However, the best solution is achieved with the information gathered by the colony as a whole. In the IPSense model, each node belonging to an SR sub-network generates an ant k (control packet) at regular intervals, which travels through the network, jumping from sensor to sensor until it reaches the SR. At each sensor router i, the ant chooses the next sensor node j. At each node r, a forward ant selects the next hop using the probabilistic rule presented in (1). The identifier of every visited node is stored in Mk and carried by the ant.

nodes and es is the actual energy level of node s), and and are parameters that control the relative importance of trail versus visibility. The selection probability is a trade-off between visibility (which means that nodes with more energy should be chosen with high probability) and actual trail intensity (that means that if on the (r,s) path there has been a lot of traffic then it is highly desirable to use this path). Each sensor node records the travel data of each forward ant: the previous node, the forward node, the ant identification and a timeout value. Whenever a forward ant is received, the node searches its memory for a record of that specific ant, to detect possible loops. If no record is found, the node saves the required information, restarts a timer, and forwards the ant to the next node. If a record containing the ant identification is found, the ant is eliminated. When a node receives a backward ant, it searches its memory to find the next node to where the ant must be sent. The timer is used to delete the record that identifies the backward ant if, for some reason, the ant does not reach that node within the time period defined by the timer. Each ant k carries information on the average energy available on the path that ends in the current node (EAvgk), and the minimum energy level registered in that path (EMink). These values are updated at each node that receives forward ants, and will be used to calculate the pheromone parameters. When a forward ant reaches the SR, it carries information regarding the travelled path. The SR uses this information to determinate the quality of the path, following an optimization function, which considers the main WMSN limitations (i.e. energy). Before a backward ant k starts its return journey, the destination node computes the amount of pheromone trail that the ant will drop during its journey, using (2):

Tk 

1 EMin k  Fd k  C EAvg k  Fd k    

(2)

 T r, s  E(s) if s  M k     (1) pk r, s    T r, u  Eu  uM k  0 otherwise 
where pk(r,s) is the probability that ant k chooses to move from node r to node s, T is the routing table at each node that stores the amount of pheromone trail on the (r,s) path, E is the visibility function given by C  es 1 (C is the initial energy level of the

where C is the maximum energy level of nodes and Fdk is the distance travelled by the forward ant k (the number of nodes stored in its memory). Whenever a node r receives a backward ant coming from a neighbouring node s, it updates its routing table by using (3).

Tk (r , s )  (1   )  Tk (r , s )    

Tk

   Bd k  

(3)





where ρ is a coefficient such that (1 - ρ) represents the evaporation of trail since the last time Tk(s,r) was updated. φ is a coefficient and Bdk is the travelled distance (the number of visited nodes), by backward ant k until node r. These two parameters

UbiCC Journal, Volume 2, October 2007

46

will force the ant to loose part of the pheromone strength during its way to the source node. The idea behind this behaviour is to build a better pheromone distribution (nodes near the sink-node will have more pheromone levels) and will force remote nodes to find better paths. Such behaviour is extremely important when the sink-node is able to move, since the pheromone level adaptation will be much quicker. The Ant Colony Route Optimisation approach combines mobile agents (ants) with the Ant Colony Optimization heuristic, and finds the best routing path between two nodes based on a specific optimization function. This routing algorithm is extremely adaptable, since it uses an optimization function that the administrator/observer can change according to the goals. It is possible to build paths based on energy-efficiency, as the example presented above, but by changing (2) the algorithm can focus on QoS, for example, choosing paths according to the available bandwidth or other parameters. 4 BREAKING THE MYTHS

In a way, IPSense intends to ‘break the myths’ presented in section 2. In order to do so, it is necessary to subject this model to a series of tests that prove the feasibility of the underlying ideas and shows that they do not lead to performance problems. This testing was, in fact, carried out, and the results are presented in this section. These were obtained by simulation and prototyping. 4.1 Mobile IP Based Protocols In WSNs In a first phase it is important to understand the implications of using well-known mobile ad hoc protocols in WSN environments. Therefore, realistic scenarios were simulated in order to study the behaviour of such protocols in static and dynamic environments. In a first set of simulations, the sensor nodes were randomly distributed over a square area (1000mx1000m), they remained static during the entire simulation runs (300 sec) and the only moving entity was the phenomenon, here simulating a moving bird that stimulated the sensors by its chip. In the second scenario all the sensors were moving entities, simulating the movement of a group of birds (each sensor representing a moving bird). To simulate the movement of birds, the authors adapted the boids model, produced by Reynolds (http://www.red3d.com/cwr/), to NS-2. This model simulates the coordinated movement observed in groups of animals, e.g. birds and fish. The model is based on a decentralized management, where each individual provides instructions to its neighbours, and the behaviour of the group results from the combined action of each individual. Reynolds identified three simple rules that, when followed by each individual member of a group, result in a

behaviour that closely follows the one observed in groups of wild animals. In each scenario, well known ad hoc protocols were used: the Destination Sequence Distance Vector (DSDV) protocol, representing the group of Table Driven Routing protocols, and the Ad hoc On-Demand Distance Vector Routing (AODV) protocol, from the group of On-Demand Routing Protocols. In each scenario one of the sensor nodes was randomly elected as the sink-node. This device was responsible for collecting all the monitored data provided by the entire WMSN. In each simulation run, eight network sizes were used, from 25 nodes up to 200 nodes per network. The following parameters were used on each node.  sensing power = 0.00000175 mW;  transmitting power = 0.175 mW;  receiving power = 0.145 mW;  idle power = 0.0 mW;  initial energy = 0.5 J; As previously mentioned, the main goal of this study was to evaluate existing ad hoc protocols, in a realistic WMSN deployment scenario, including highly dynamic environments. Therefore, energy consumption, being one of the most restrictive parameters in WMSNs, was part of the study. The results are illustrated in Fig. 10, where static and mobile scenarios are compared. The remaining energy is calculated by adding the energy levels from all the sensor nodes at the end of the simulation. In mobile environments using the AODV protocol, the network became very unstable as we reached 100 nodes, dropping until only 14% of total energy in the end of simulation. With more sensor nodes the network became inactive during the simulation, due to the high number of nodes that drained their energy. With 200 nodes the DSDV protocol still kept the energy level at 56% of the initial energy in mobile scenarios, contrasting with the very good performance in static scenarios (the remaining energy was 83% of the initial energy).
100 90 80 70 60 50 40 30 20 10 0 25 50 75 100 125 Nº of Nodes 150 175

Remaining Energy (%)

Static AODV Static DSDV Mobile AODV Mobile DSDV

200

Figure 10: Remaining energy vs. network size In terms of packet delivery ratio, the DSDV protocol, once again compared to the AODV protocol, led to better results. Fig. 11 presents the number of packet drops per protocol for each scenario. In the mobile scenario packet drops grow

UbiCC Journal, Volume 2, October 2007

47

exponentially. AODV with 125 nodes already presents 60.000 packet drops, and it stays at this level up to 200 nodes due to the energy behaviour registered in the previous study. On the other hand, DSDV presented better results in both scenarios. In static environments the increase of sensor nodes resulted in a relatively small increase in the number of dropped packets. However in the mobile scenario, an exponential growth was observed

Figure 11: Dropped packets vs. network size All the results suggest the need to create a new protocol, capable of minimizing the number of lost packets and of reducing energy consumption in scenarios where the sensor nodes have mobility and IP support. By analyzing the well known WSN mobile protocols (SENMA and MULE [14]) it is possible to conclude that they present limited capabilities and are not the most adequate to dynamic WMSNs. In the SENMA architecture, the integration of mobile agents, such as little airplanes, reduces the WMSN applicability. On the other hand, the MULE model presents a new element in the WMSN architecture, with specific characteristics, which may be difficult to find in the phenomenon environment. Therefore, there exists the need to study new protocols that natively support mobility, and from all the WMSN elements perspectives: phenomenon, sensor, network and observer movement. Only by supporting such characteristics will it be possible to make a true integration of the WMSNs in heterogeneous systems. 4.2 IPv6 In WMSNs The second study addressed the use of IPv6 in WMSNs, when compared to the use of IPv4. IPv6 packets have a 40-bytes header (without extension fields), 20 bytes more than the IPv4 header. The study was carried out both by simulation and by prototyping. In order to use a network topology that minimized the number of lost packets, the sensor nodes were strategically distributed in a grid layout (1000m x 1000m). This deployment strategy is not realistic. However, the main goal of this simulation was to study the advantages and drawbacks of IPv6 in WMSNs, in a controlled environment. The grid spacing was 100 units (d) and 100 sensor nodes were

deployed, each with a radio range of 141.4 units (derived by 2d 2 ), and with up to 8 neighbours. The phenomenon was simulated by using a moving device that stimulated the sensor nodes every 2 seconds. After being stimulated by the phenomenon, each sensor node forwarded the data to the sink-node using the well know ad hoc protocol AODV. The sink-node was placed in one of the edges of the grid, and it had no energy restrictions. The simulated time was 100 seconds and the energy-related parameters were the same as in the previous study. Different levels of packet lengths were considered, from 32 bytes to 256 bytes (802.15.4-based devices use 127byte packets). The first set of results (Fig. 12) compares the network remaining energy percentage as a function of packet length. This was achieved by summing the remaining energy in all nodes. In the scenario with 32-byte packets the remaining energy was 5.6% of the initial energy, contrasting with 3% when using 256-byte packets. Fig. 13 illustrates the percentage of nodes that, at the end of the simulation, still had energy levels capable of monitoring the phenomenon. Due to the nodes and sink-node geographic distribution and the phenomenon movement, the first sensors achieving null available energy were the devices placed in the middle of the grid. As the packet length grew, the number of sensor nodes unable to transmit also increased. The last graph presents packet losses in the simulated network (Fig. 14). Losses are mainly due to the protocol characteristics, but they also reflect the increasing number of dead nodes in the communication path between the excited node and the sink-node.
6 5
Remaining Power (%)

4 3 2 1 0 32 64 96 128 160 192 224 256 Packet Length (Bytes)

Figure 12: Remaining energy vs. packet length
100

90
Remaining Nodes (%)

80

70

60

50 32 64 96 128 160 192 224 256 Packet Length (Bytes)

Figure 13: Remaining nodes vs. packet length

UbiCC Journal, Volume 2, October 2007

48

1400 1200
Nº of Dropped Packets

1000 800 600 400 200 0 32 64 96 128 160 192 224 256 Packet Length (Bytes)

Figure 14: Dropped packets vs. packet length The use of an additional 32 bytes (i.e. the 32-64 bytes interval) represents an increase of 9.4% in the packet losses, at the end of the simulation. Such difference in packet length leads to a decrease in the remaining energy of only 4% of the initial energy. For the prototype, Embedded Sensor Boards (ESB) (http://www.scatterweb.net) nodes were used, running the Contiki operating system (http://www.sics.se/~adam/contiki/). In this study, sensor nodes were excited by a phenomenon that moved in a uniform way. Each time a sensor detected movement an UDP packet was sent to the sink-node, in a point-to-point communication. Two types of connections were used: wired connection using SLIP; and wireless connection. Fig. 15 and 16 present the results of the experience in terms of number of sent packets and battery time, respectively. As can be seen, the wireless communication case leads to better results, mainly due to the low energy consumption of the TR1001 transceiver used in this case, and also the relatively high number of SLIP control packets.
2200 2000

In what concerns energy consumption, it is possible to observe that the results obtained in the prototype implementation do not differ from the ones obtained by simulation. In wireless environments, IPv6 leads to an excess energy consumption of only 1% when compared to IPv4. In the wired scenario the difference is even lower. Packet reception is also different for both technologies. When connected via SLIP, packets are sent without any validation or control, which causes them to arrive with errors at the receiver in the final portion of the test. When connected via wireless, packets either arrive correctly or are lost. From the results presented above we can conclude that the use of IPv6 does not have a decisive effect on the ESB platform. All values obtained have marginal differences, perfectly acceptable when compared to the advantages IPv6 can bring to wireless sensor networks. 4.3 Ant Colony Route Optimization Testing This section presents the experimental results obtained in the tests made to the Ant Colony Route Optimisation (ACRO) protocol presented in section 3.3. In a WMSN, energy is a vital resource. This is why it is necessary to use a protocol that, in addition to being compatible with IP, is energy-efficient. In this study we compared the ACRO protocol with the IP-aware well-known ad hoc protocols AODV and DSDV. In order to better understand the efficiency of ACRO, two test cases were used. Both simulations used the same node configuration, already presented in earlier tests. However, in order to have a more realistic scenario, the nodes were charged with different initial energy levels, namely 100, 75, and 50 J (one third of the nodes were charged with each of the three energy levels). In each simulation run different network sizes were used, from small networks with 10 nodes up to 100 nodes per network. In all cases nodes were deployed in a random fashion (in a 600mx600m field), since in most real WSN deployments sensor locations cannot be controlled by an operator. The location of the phenomenon and the sink-node were not known. Nodes were responsible for monitoring the phenomenon and sending the relevant sensor data to the sink-node. Four metrics were used to compare the energy performance of the protocols under study: average final energy (the average of the nodes’ energy at the end of simulation); minimum final energy (the energy of the node with the lowest energy at the end of simulation); final energy standard deviation (the standard deviation of the various energy levels of the nodes); and energy efficiency (the ratio between the total final energy and the number of data packets received by the sink-node). The first scenario simulates a randomly deployed WMSN monitoring a static phenomenon, which

IPv4 IPv6

Packets (Thousands)

1800 1600 1400 1200 1000 Wireless Link SLIP

Figure 15: Number of packets sent by IPv4 vs. IPv6
180 170 160
Time (hours)

IPv4 IPv6

150 140 130 120 110 100 Wireless Link SLIP

Figure 16: Battery time

UbiCC Journal, Volume 2, October 2007

49

excites one of the sensor nodes at 30000 bits/sec for 100 seconds. At the end of the simulation, different numbers of packets were delivered to the sink-node by each of the three routing protocols. ACRO presented always the best ratio between the total final energy and the number of delivered packets, as illustrated in Fig. 17 d). This is in agreement with the values obtained for the average energy parameter: once again ACRO presents the best results (Fig. 17 a)), and the gain is more visible in bigger networks (e.g. 50 to 100 nodes). In networks where the energy level varies it is important that the used protocol has some form of balancing these levels, by using nodes with more energy more often than nodes with less energy. The better performance of ACRO is also apparent in Fig. 17 c) (standard deviation), and Fig. 17 b) (minimum energy). The second study introduces mobility to the phenomenon. Therefore, the nodes were excited by a mobile device. Once again, node and sink locations were unknown. The phenomenon moved randomly in the field. In this scenario, the difference in the final results, presented in Fig. 18, became smaller. However, the ACRO protocol still led to the best results in all categories. Moreover, similarly to what happened in the previous study, in this simulation the difference between the protocols’ performance increased with the network size. These results show that ACRO has clear advantages over the well-known AODV and DSDV routing protocols, in what concerns energy efficiency and packets delivery ratio. 5 CONCLUSIONS

adopting a flexible algorithm, such as ACRO, it is possible to create routing paths based several criteria, including the network characteristics and ambient conditions. Therefore, by creating a system capable to be adaptable to several conditions, we intend to increase the lifetime of the WMSN, without the need of human interaction. ACKNOWLEDGEMENT The work presented in this paper is partially financed by the Portuguese Foundation for Science and Technology, FCT, under the 6MNet POSI/REDES/44089/2002 project, and by the IST FP6 CONTENT Network of Excellence (IST-FP60384239). 6 REFERENCES [1] S. Ata, M. Hashimoto, H. Kitamura, M. Murata, ‘Mobile IPv6-based Global Anycasting’, draftata-anycast-mip6-00 (2006). [2] M. Zuniga, B. Krishnamachari, ‘Integrating Future Large-scale Wireless Sensor Networks with the Internet’ Department of Electrical Engineering, University of Southern California. http://ceng.usc.edu/~bkrishna/research/papers/Zu nigaKrishnamachari_sensorIP.pdf, (2005) [3] C. Chong, S. Kumar, ‘Sensor Networks Evolution, Opportunities,and Challenges’, Proceedings of The IEEE (2003). [4] M. Dorigo, M. Caro, ‘Ant Colony System: A Cooperative Learning Approach to the Travelling Salesman Problem’, IEEE Transactions on Evolutionary Computation (1996). [5] A. Dunkels, ‘Full TCP/IP for 8-bit architectures’, in Proceedings of The First Internacional Conference on Mobile Systems, Applications, and Services (MOBISYS03) (2003). [6] A. Dunkels, J. Alonso, T. Voigt, H. Ritter, J. Schiller, ‘Connecting Wireless Sensornets with TCP/IP Networks’, wwic2004 (2004). [7] J. Hill, M. Hoton, R. Kling L. Krishnamurthy, ‘The Platforms enabling Wireless Sensor Networks’, Communications of the ACM, vol. 47, no. 6, pp. 41-46 (2004). [8] C. Intanagonwiwat, R. Govindan, D. Estrin, ‘Directed Diffusion: A Scalable and Robust Communication Paradigm for Sensor Networks’, Proc. ACM MobiCom’00, Boston, MA, pp. 5667 (2000). [9] L. Krishnamurthy, R. Adler, P. Buonadonna, M. Yarvis, ‘Design and deployment of industrial sensor networks: experiences from a semiconductor plant and the north sea’. In SenSys ’05: Proceedings of the 3rd international conference on Embedded networked sensor systems, pages 64–75 (2005). [10] S. Mishra, R. Sridharan, R. Sridhar, ‘A Robust Header Compression Technique for Wireless ad

In this paper we addressed several issues currently influencing the effective deployment of Wireless Mesh Sensor Networks. Some of these issues result from misconceptions or clichés that are or will shortly become outdated. We argued that WMSNs should have global connectivity, through IPv6 deployment in Sensor Routers, mobility support (also through Sensor Routers), multiple addressing schemes (data-centric, node-centric, and location-centric), autoconfiguration, and energy-efficient routing. These features were combined in a proposed model, called IPSense. We have shown that these features are worth exploring and are feasible, by simulating and implementing them. The tests addressed the use of IP-based approaches in WSNs, the impact of IPv6 when compared to IPv4, and the energy and transmission performance of the Ant Colony Route Optimisation protocol relative to other well-known WSN routing protocols. The results have shown that the proposed model has clear benefits with low cost. Our future work will address new methods to adjust WMSNs characteristics/capabilities with the environment (deployment scenario) variables. By

UbiCC Journal, Volume 2, October 2007

50

hoc Networks’, in MobiHoc2003 (2003). [11] G. Montenegro, N. Kushalnagar, ‘Transmission of IPv6 Packets over IEEE 802.15.4 Networks’, draft-montenegro-lowpan-ipv6-over-802.15.4-12, (2007). [12] D. Niculescu, ‘Communication Paradigms for Sensor Networks’, IEEE Communications Magazine (2005). [13] P. Ramanathan, ‘Location-centric Approach for Collaborative Target Detection, Classification, and Tracking’, IEEE CAS Workshop on Wireless Communication and Networking (2002). [14] R. Shah, S. Roy, S. Jain, W. Brunette ‘Data
100 95
Average Energy (%)

MULEs: Modeling and analysis of a three-tier architecture for sparse sensor networks", Elsevier Ad Hoc Networks Journal, vol. 1, issues 2-3 (2003); [15] R. Szewczyk, E. Osterweil, J. Polastre, D. Estrin, ‘Habitat Monitoring with Sensor Neworks’, Communication of the ACM (2004). [16] S. Thomson, T. Narten, T. Jinmei ‘“IPv6 Stateless Address Autoconfiguration’, draft-ietfipv6-rfc2462bis-08 (2005). [17] R. Wakikawa, A. Petrescu, P. Thubert, ‘Network Mobility (NEMO) Basic Support Protocol RFC3963 (2005).
100 90
Minimum Energy (%)

90 85 80 ACRO 75 70 10 20 30 40 50 60 Nº Nodes 70 80 90 100 AODV DSDV

80 70 60 50 40 10 20 30 40 50 60 Nº Nodes 70 80 90 100

ACRO AODV DSDV

a) Average Energy
38 36
Standard Deviation (%)

b) Minimum Energy
7 ACRO 6
Energy Efficiency

ACRO AODV DSDV

AODV DSDV

34 32 30 28 26 24 22 20 10 20

5 4 3 2 1 0

30

40

50 60 Nº Nodes

70

80

90

100

10

20

30

40

50 60 Nº Nodes

70

80

90

100

c) Standard Deviation Figure 17: Energy performance comparison – static phenomenon
100 95
Average Energy (%)

d) Energy Efficiency

100 90
Minimum Energy (%)

90 85 80 ACRO 75 70 10 20 30 40 50 60 Nº Nodes 70 80 90 100 AODV DSDV

80 70 60 50 40 10 20 30 40 50 60 Nº Nodes 70 80 90 100

ACRO AODV DSDV

a) Average Energy
38 36
Standard Deviation (%)

b) Minimum Energy
7 ACRO 6
Energy Efficiency

ACRO AODV DSDV

AODV DSDV

34 32 30 28 26 24 22 20 10 20 30

5 4 3 2 1 0

40

50 60 Nº Nodes

70

80

90

100

10

20

30

40

50 60 Nº Nodes

70

80

90

100

c) Standard Deviation Figure 18: Energy performance comparison – moving phenomenon

d) Energy Efficiency

UbiCC Journal, Volume 2, October 2007

51

Okadome (2006). A representation of objects for context awareness in ubiquitous environments. DBSJ Letters, 5, 2, 45-48. (In Japanese) [3] Yanagisawa, Y., T. Maekawa, T. Okadome (2007). Event detection based on relative positions between objects. Proceedings of IPSJ Symposium on Multimedia, Distributed, Cooperative and Mobile (DICOMO2007). (In Press) [4] Okadome, T., T. Hattori, K. Hiramatsu, and Y. Yanagisawa (2006). A real-world event search system in sensor network environments. Proceedings of the 7th International conference on Mobile Data Managament (MDM2006). [5] Maekawa, T., Y. Yanagisawa, and T. Okadome (2007). Towards environment generated media: object-participation-type weblog in home sensor network. Proceedings of the 16th International World Wide Web Conference (WWW2007). [6] Ansai, T., Y. Yanagisawa, T. Maekawa, T. Okadome (2007). Event visualization using small sensor nodes in real world. Proceedings of IPSJ Symposium on Multimedia, Distributed, Cooperative and Mobile (DICOMO2007). (In Press)
[7] Addlesee, M. R. Curven, S. Hodges, J. Newman, P. Stegglles, A. Ward, and A. Hopper (2001). Implementing a sentient computing system, IEEE Computer Magazine, 34, 8, 50-56. [8] Gellersen, H. W., A. Schmidt and M. Beigl (2002). Multi-sensor context-awareness in mobile devices and smart artefacts, Mobile Networks and Applications, 7, 5, 341-351. [9] Philipose, M., K. P. Fishkin, M. Perkowitz, D. J. Patterson, D. Fox, H. Kautz, and D. Hahnel (2004). Inferring activities from interactions with objects. Pervasive Computing, 3, 4, 50-57. [10] Yap, K-K., V. Srinivasan, and M. Motani (2005). Max: human-centric search of the physical world. Proceedings of the 3rd ACM Conference on Embedded Networked Sensor Systems (SenSys’05), 166-170. [11] Rekimoto, J. and T. Miyaki (2007). WHEN-becomesWHERE: continuous location archiving with WiFi selflogging. Proceedings of IPSJ Symposium on Interaction (Interaction2007), 223-230. (In Japanese)

UbiCC Journal, Volume 2, October 2007

52

Call for Paper Ubiquitous Computing and Communication Journal
Recent advances in electronic and computer technologies have paved the way for the proliferation of ubiquitous computing. The combination of mobile and ubiquitous computing is emerging as a promising new paradigm with the goal to provide computing and communication services all the time, everywhere, transparently and invisibly to the user, using devices embedded in the surrounding physical environment. In this context, the communication devices, the objects with which they interact, or both may be mobile. The implementation of such a paradigm requires advances in wireless network technologies and devices, development of infrastructures supporting cognitive environments, and discovery and identification of ubiquitous computing applications and services. We are seeking research papers, technical reports, dissertation etc for these interdisciplinary areas. The goal of the UBICC journal is to publish the most recent results in the development of system aspects of ubiquitous computing. Researchers and practitioners working in this area are expected to take this opportunity to discuss and express their views on the current trends, challenges, and state of the art solutions addressing various issues in this area. Topics of interest include, but are not limited to
• • • • • • • • • • • • • • • • • • •

Applied Soft Computing Graphical Models Image and Vision Computing Artificial Intelligence Information Security and Cryptography Artificial Intelligence in Medicine Information Systems Biometric Technology Knowledge-Based Systems Computer Communications and Networks Mathematics of Computing Computer Hardware Media Design Computer Imaging, Graphics & Vision Medical Image Analysis Computer Networks Computer Networks with Ad Hoc Networks and Optical Neural Networks Parallel Computing Optical Switching and Networking For More Information: email: info@ubicc.org Visit us: http://www.ubicc.org

• • • • • • • • • • • • • • • • • •

Decision Support Systems Computers in Biology and Medicine Database Management & Info Retrieval Programming, SWE & Operating Systems Digital Signal Processing Robotics and Autonomous Systems Displays Simulation Modeling Practice and Theory Electronic Commerce Research and Applications Speech Communication Expert Systems with Applications Statistical Methodology Foundations of Computing User Interface, HCI & Ergonomics Fuzzy Sets and Systems Visual Languages and Computing General Computer Science Web Semantics Miscellaneous

http://www.ubicc.org

Copyright © 2007 UBICC.ORG All rights reserved.


				
DOCUMENT INFO
Shared By:
Categories:
Stats:
views:1047
posted:4/24/2008
language:English
pages:57
UbiCC Journal UbiCC Journal Ubiquitous Computing and Communication Journal www.ubicc.org
About UBICC, the Ubiquitous Computing and Communication Journal [ISSN 1992-8424], is an international scientific and educational organization dedicated to advancing the arts, sciences, and applications of information technology. With a world-wide membership, UBICC is a leading resource for computing professionals and students working in the various fields of Information Technology, and for interpreting the impact of information technology on society.