M3 Information SmartSpaces Technology Overview

113
0.4pt0pt NRC-TR-2009-M3-1 M3 Information SmartSpaces Technology Overview Editors: Ian Oliver Nokia Research Center Helsinki, Finland http://research.nokia.com June, 2009entries Abstract: Index Terms: end-user programming Smart Spaces, M3, Sedvice Semantic Web, RDF, OWL Service Composition, Service Interoperability Triple-Space and Cloud-Computing, Information and Data Clouds Agents, Distributed and Mobile Computing NRC-TR-2009-M3-1 Copyright c 2009 Nokia

description

This book contains a cross-section of work made during the M3-Sedvice SmartSpaces project. Each individual paper stands as an independent text which when taken together describe the ideas, concepts and historical aspects - the subtle change and clarification of ideas - of the work as a whole. The papers chosen present various aspects ranging from the positional works through to examples, solutions and the academic and scentific basis underpinning our notion of SmartSpaces. The following persons have been directly involved either as collaborators or project team members in this work. The project members are: Ian Oliver, Sergey Boldyrev, Sergey Balandin, Samuli Silanto, Vesa Luukkala, Olli Tyrkko, Jurgen Ziegler, Jukka Honkola, Antti Lappetelainen, Pekka Luoma, Hannu Laine, Ronald Brown. Nokia persons who have contributed: Ora Lassila, Deepali Krushraj, Timo Erikson, Risto Suoranta, Petri Liuha, Jarmo Arponen, Joni Jantunen. Externally to Nokia: Seppo Torma, Esko Nuutila, Ilkka Niemela, Heikki Saikkonen from The University of Helsinki, Daniel Jackson and Felix Change from MIT, Boston, Alessanra Tonninieli from University of Bologna. This work has been partially supported by TEKES through the ICT SHOK DIEM (www.diem.fi) project and the EU Artemis Sofia project. and the FP6 Minami project.

Transcript of M3 Information SmartSpaces Technology Overview

Page 1: M3 Information SmartSpaces Technology Overview

0.4pt0pt

NRC-TR-2009-M3-1

M3 Information SmartSpaces

Technology Overview

Editors: Ian Oliver

Nokia Research Center Helsinki, Finlandhttp://research.nokia.com

June, 2009entries

Abstract:

Index Terms:end-user programmingSmart Spaces, M3, SedviceSemantic Web, RDF, OWLService Composition, Service InteroperabilityTriple-Space and Cloud-Computing, Information and Data CloudsAgents, Distributed and Mobile Computing

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 2: M3 Information SmartSpaces Technology Overview

2

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 3: M3 Information SmartSpaces Technology Overview

Contents

1 Introduction 7

2 Information Spaces As A Basis for Personalising The Semantic Web 9

2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.2 Personalisation and Spaces . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.3 Interaction and Sharing with Spaces . . . . . . . . . . . . . . . . . . . . . 11

2.4 Information and Semantic Issues . . . . . . . . . . . . . . . . . . . . . . . 13

2.5 Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

2.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3 Context Gathering in Meetings: Business Processes Meet Agents andThe Semantic Web 17

3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

3.2 Space-Based Computing Framework . . . . . . . . . . . . . . . . . . . . . 18

3.3 Simple Contextual Model of a Meeting . . . . . . . . . . . . . . . . . . . 20

3.4 Content-Driven Meetings Scenario . . . . . . . . . . . . . . . . . . . . . . 25

3.5 Discussion, Conclusions and Future Work . . . . . . . . . . . . . . . . . . 29

4 Cross-Domain Interoperability: A Case Study 31

4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

3

Page 4: M3 Information SmartSpaces Technology Overview

4

4.2 The M3 Concept . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

4.3 The Case Study . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

4.4 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

5 Agent/Space-Based Computing and Radio Frequency Memory Tag In-teraction 41

5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

5.2 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

5.3 Interaction with Tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

5.4 Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

5.5 Conclusions and Future Work . . . . . . . . . . . . . . . . . . . . . . . . 53

6 A Mechanism for Managing and Distributing Information and Queriesin a Smart Space Environment 55

6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

6.2 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

6.3 Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

6.4 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

6.5 Discussion and Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . 63

7 Network and Content Aware Information Management 65

7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

7.2 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

7.3 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

7.4 Discussion and Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . 75

8 Operations on Spaces of Information 77

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 5: M3 Information SmartSpaces Technology Overview

5

8.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

8.2 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

8.3 Basic Operations on Spaces . . . . . . . . . . . . . . . . . . . . . . . . . 79

8.4 Histories and Extended Queries . . . . . . . . . . . . . . . . . . . . . . . 82

8.5 Example Usages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

8.6 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

9 Design and Validation of a Distributed Computation Environment forMobile Devices 91

9.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

9.2 Smart Spaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

9.3 Simulation and Validation of the Domain Model . . . . . . . . . . . . . . 94

9.4 Demarcation Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

9.5 Integration of Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

9.6 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

9.7 Conclusions and Future Work . . . . . . . . . . . . . . . . . . . . . . . . 103

Bibliography 105

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 6: M3 Information SmartSpaces Technology Overview

6

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 7: M3 Information SmartSpaces Technology Overview

Chapter 1

Introduction

This book contains a cross-section of work made during the M3-Sedvice SmartSpacesproject. Each individual paper stands as an independent text which when taken togetherdescribe the ideas, concepts and historical aspects - the subtle change and clarificationof ideas - of the work as a whole.

The papers chosen present various aspects ranging from the positional works throughto examples, solutions and the academic and scentific basis underpinning our notion ofSmartSpaces.

The following persons have been directly involved either as collaborators or projectteam members in this work. The project members are: Ian Oliver, Sergey Boldyrev,Sergey Balandin, Samuli Silanto, Vesa Luukkala, Olli Tyrkko, Jurgen Ziegler, JukkaHonkola, Antti Lappetelainen, Pekka Luoma, Hannu Laine, Ronald Brown. Nokia per-sons who have contributed: Ora Lassila, Deepali Krushraj, Timo Erikson, Risto Suoranta,Petri Liuha, Jarmo Arponen, Joni Jantunen. Externally to Nokia: Seppo Torma, EskoNuutila, Ilkka Niemela, Heikki Saikkonen from The University of Helsinki, Daniel Jacksonand Felix Change from MIT, Boston, Alessanra Tonninieli from University of Bologna.

This work has been partially supported by TEKES through the ICT SHOK DIEM(www.diem.fi) project and the EU Artemis Sofia project. and the FP6 Minami project.

7

Page 8: M3 Information SmartSpaces Technology Overview

8

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 9: M3 Information SmartSpaces Technology Overview

Chapter 2

Information Spaces As A Basis forPersonalising The Semantic Web

Ian Oliver

The future of the Semantic Web lies not in the ubiquity, addressability and global sharing ofinformation but rather in localised, information spaces and their interactions. These informationspaces will be made at a much more personal level and not necessarily adhere to globally agreedsemantics and structures but rely more upon ad hoc and evolving semantic structures.

Originally published:

Interational Conference on Enterprise Infomration Systems (ICEIS’09)

2.1 Introduction

In this paper we position our vision of the continuation of the development or evolution of theSemantic Web [10]. This is best visualised as the Giant Global Graph concept popularised byTim Berners-Lee1.

Most information however is not ubiquitous but personalised, hidden, private and inter-preted locally - this information tends to be the personal, highly dynamic information thatone stores about oneself: contact lists, friends, media files, ‘my’ current context, ‘my’ family,‘my’ home etc and the interweaving and linking between these entities through ad hoc personalstructures.

1http : //en.wikipedia.org/wiki/Giant Global Graph

9

Page 10: M3 Information SmartSpaces Technology Overview

10

We elaborate on the ideas of ubiquitous information, the role of reasoning and knowledge,the location of the information with relation to its ubiquity through the concept of projectionsfrom the Giant Global Graph called spaces. We then describe an implementation of an envi-ronment supporting these ideas in a mobile and personal context as well as many of the issuesthat this directly brings up with regards to what are semantics and how information is goingto be dealt with in this context.

In the following sections we outline our position and areas of research relating to notionsof personalisation, Semantic Web, information and its meaing and semantics as well as ourimplementation.

2.2 Personalisation and Spaces

The Semantic Web is succeeding in relatively small-scale, specific situations which are restrictedto a given domain. If we expand the notion of a domain in a more orthogonal sense to encompasspersonal level then this suggests that we have a notion of a ‘Personal Semantic Web’ in whichone can organise their own information according to these principles. The advantages of aSemantic Web based approach is that certain structures, schemata and semantics can be fixedenabling some - and this is an important point, we should not (and can not?) try to attempteverything - meaningful communication, reasoning and interoperability to take place.

Mobile devices with various methods of connectivity which now constitute for many asbeing the primary gateway to the internet and also being a major storage point for muchpersonal information [48, 61]. This is in addition to the normal range of personal computers andfurthermore sensor devices plus ‘internet’ based providers. Combining these devices togetherand lately the applications and the information stored by those applications is a major challengeof interoperability [100, 104].

This is achieved through numerous, individual and personal spaces in which persons,groups of persons etc can place, share, interact and manipulate webs of information [57, 55]with their own locally agreed semantics without necessarily conforming to an unobtainable,global whole. These spaces are projections of the ‘Giant Global Graph’ in which one can applysemantics and reasoning at a local level. A detailed survey of such space-based systems is givenin [78].

This approach we feel addresses at least two of the counter-arguments against the SemanticWeb vision: feasibility and privacy by directly addressing notions of locality or ubiquity andownership. Feasibility because we are changing the problem to address much smaller-scalestructures through setting clear boundaries in terms of computation.

In order to apply reasoning and other manipulations (such as sharing) of that informationwe are required to construct processes which have access to that information - typically these areknown as agents in the ‘traditional’ sense of the word although we tend towards the classificationgiven in [40]. Agents are either personal in that they perform tasks either directly decided uponby the user or autonomously for or on behalf of the user, monitor particular situations orreason/data-mine the existing information.

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 11: M3 Information SmartSpaces Technology Overview

11

Personalisation is achieved through explicitly demarking a space in which information isstored and agents have access. Within each space information is organised according to theowner (or owners) of that space. For an agent to obtain entry to that space then it is made onthe terms of that space. Similarly for two spaces to interact directly similar contracts must alsohold. Interactions with spaces is described in section 2.3.

The kinds of information that are stored in a personal space vary but initially contactslists, media files (links to media), personal information management data (calendars etc), emailand other personal communication etc. This easily expands to information feeds such as thoseprovided through RSS and even WWW interfaces, family or community information, socialnetworking and so on. These kinds of information can be then further augumented by tagging,internal links and more sophisticated equivalence relationships such as might be seen betweensocial networking contacts, contacts lists, calendars etc. In addition more static and thus moreexternalisable information can be stored or referenced in the same manner - such informationmight be census records, telephone directories or even cultural information [47].

Of course there are issues regarding the interpretation of information and how the meaningor semantics is preserved across spaces and agents; this also includes deciding whether twoindependent structures actually represent the same piece of information and can be merged orcoalesced. Furthermore issues regarding trust and security need to be addressed - we do notspecifically discuss this problem in this paper.

2.3 Interaction and Sharing with Spaces

Consider the following scenarios: in figure 2.1 Alice interacts with her personal space - through‘agents’2 running on a multitude of devices. This space contains a corpus of information A whichthrough local reasoning and deductive closure algorithms - a feature of our spaces - providesher with the corpus R(A). Information is represented using Semantic Web standards, ie: RDF,RDFS, OWL, FOAF etc, rule sets in RuleML etc.

Alice

A

R(A)

Alice’s "agents"executing on

interacting with

uses

...and others...

Figure 2.1: Alice’s Agents, Devices, Spaces and Information

In this case the boundary of R(A) is the limit of Alice’s personal space. If Alice has twospaces or corpii of information she might bind these together to produce a much larger space.

2Agent is rather a loaded word, but alternatives aren’t numerous: executives, nodes, UIs, programs, etc

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 12: M3 Information SmartSpaces Technology Overview

12

These individual corpii of information may be overlapping in terms of their content. Alice caninteract simultaneously with many discrete spaces. These situations are visualised in figure 2.2;for simplicity we only show the spaces and closures. Here the total information available for agiven space is the union of the deductive closure over all the individual corpii.

A

B

C Alice

D

R(C)

R(D)

R(A u B)

Figure 2.2: Alice and Alice’s Spaces

Alice can decide to break and reconfigure her current spaces into many smaller spaces.This may be made in any manner including removing all information and creating multipleindividual smaller or even empty spaces to making a complete copies of the current space.

We now introduce Bob, who has a space of his own that is constructed from a singlecorpus of information. At this point we can say nothing about the relationship between thecontents of the corpii A and B with C; they may potentially all contain the same information.

Interaction between Alice and Bob can be made in three different forms. The first issimple in that Bob only needs to give Alice’s ‘agents’ access to his space as visualised in figure2.3. Bob of course has his own ideas about privacy and grants Alice access to only a portionof his space. Alice has direct access to a subset of Bob’s space - if she has write access thenpotentially this could have an effect on the space as a whole.

Privacy is asymmetric - it is on the sharer’s terms only thus precluding the need for aglobally agreed privacy mechanism. If Alice just so happens to be able to satisfy the criteria foraccessing Bob’s space then Alice is granted access at whatever level Bob’s privacy mechanismsallow. Alice’s own privacy mechanisms do not affect Bob’s mechanisms and vice versa.

Alice

A

B

Bob

C

Figure 2.3: Alice Interaction with Bob’s Space

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 13: M3 Information SmartSpaces Technology Overview

13

Information Spaces As A Basis for Personalising The Semantic Web The second form ofinteraction is a variation of this: Bob to partitions off a given subspace to which Alice hasaccess, then any changes can be kept local and the merge back controlled by Bob explicitly. Inboth of these cases access policy including trust mechanisms are local to Bob - there is no needfor Alice to know about what mechanisms are in place.

The fist two forms we expect to be the most common methods of interaction, the thirdoffers a set of different possibilities based around the merging of the spaces. This is morecomplicated as Alice and Bob must both agree to the merge (fig. 2.4) both in terms of personallyagreeing through their trust mechanisms (might just be personal trust) but also through theshared semantics of the information.

Alice

A

B

CBob

Figure 2.4: Alice’s and Bob’s (Merged) Space

This then constitutes how spaces are related but has not yet addressed certain specificideas about information and the semantics of that information and these are discussed in section2.4.

2.4 Information and Semantic Issues

We can classify the issues with this approach as:

• Non-monotonicity of Deductive Closure and Rules

• Graph Provenance

• Semantics of the Information

• Uncertainty, Incompleteness, Inconsistency and Undefinedness of Information

Given a single space s, the information contained in that space is i(s), the rules ρ(s)and the deductive closure calculated as R(i(s), ρ(s)). A merge of two spaces s1 and s2 resultsin a single space sm where sm is calculated as R(i(s1) ∪ i(s2), δ(ρ(s1), ρ(s2)). The function δdetermines the set of rules to apply and is constructed from a mechanism which prioritises therules somehow - the exact mechanism would of course vary but we envisage would be similar tothose found in certain kinds of non-monotonic calculi, eg. [76].

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 14: M3 Information SmartSpaces Technology Overview

14

Graph provenance and the related semantics problem are the major problems in anySemantic Web/interoperability system as there, beyond pre-agreed addressing and strict, stan-dardised ontologies, no definitive method for relating structures representing the same informa-tion together exists.

While information about typing etc is carried within the space, deeper semantics is not.Identification of larger meaningful structures such as RDF molecules [26] provide at this time thestrongest basis for provenance analysis and addressing deeper semantically meaningful struc-tures. In the most part we must rely upon local convention between any two merging orinteracting spaces with the hope that this leads to a more global convention [3, 97].

The meaning of the information to Alice might be very different to the meaning ascribedby Bob (see also provenance above). The meaning or semantics of the information can onlybe made by the reader [17]; the writer of the information only gives hints through typing andtagging and other relationships to what the intended meaning might be.

This hints to the question how do we guarantee that two agents understand the informa-tion in the same way, our response to this is that we don’t care; at least to the point wherethere is no internal mechanism for this [56]. As it is, the meaning of some ontological structureevolves over time and there appears to be no reasonable mechanism for communicating deeperlevel semantic structures. For true, reliable communication how many semantic levels are re-quired is unknown. However, since that if access to a space is granted or a merge made thenthis is implicit agreement between the parties and particularly the readers over the intendedsemantics of the information.

In [35] is provided a detailed discussion of the style of intentional semantics [56] wepropose here that it is not justing typing but the whole construct of properties of an object- and then the scope over which we define an object - that must be taken into considerationwhen deciding how an agent interprets a given structure. This also applies when dealing withthe aforementioned graph provenance issue.

To complicate matters further, the notion of semantics embodied within these kinds ofinformation structures is little more than meta-data whereas one really needs to describe afurther relationship into the ‘real-world’ [98]. Solutions based upon lexical and semantic anal-ysis through resources such as Wordnet[29] appear to be the most promising here with regardto issues surrounding semantics similarity [50, 94]. However, despite this we can (an no cur-rent computer system) never be sure that any two agents actually act upon their respectiveinterpretations information in the same way.

Currently we are seeing two mechanisms for semantic agreement: the first is throughstandardisation of ontologies (W3C) and the second is through folksonomic evolution of initiallypersonal and informal structures into ad hoc ontologies which become more concretised as socialagreements form. Even in the strict, formal ontology development scenario evolution of theontology takes place as usage changes and develops [95], however this is much slower than thefolksonomic cases. A fairly common mechanism for agreeing on semantics is the upper ontologyapproach, but again this suffers from the problem of many upper ontologies (for example: [46])-an interesting discussion of this is made in [106]

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 15: M3 Information SmartSpaces Technology Overview

15

Finally the problem of uncertain, incomplete, inconsistent and undefined information re-quires a much more formal approach within the various agent and reasoning structures [64].Within the Semantic Web we must further explore notions of undefinedness, modality, proba-bility and non-monotonicity. This is left for future work though mechanisms are already presentwithin our implementation for attaching and modality properties.

2.5 Implementation

Supporting these ideas we already have the computing and networking infrastructure. Our par-ticular solution builds a space-based computing framework [83, 86] based upon the Piglet/Wilbur[63] RDF++ engine [62]. The notion of space being constructed out of a number of individual,linked (totally routable) brokers. Interaction with the space is via a agents which may reside onany suitable device with suitable connectivity and computing capabilities; similarly the brokers.Figure 2.5 shows one possible configuration.

Space "A" Space "B"

Individual Brokers +

Information Stores

connections to spaces

Agents +

Control Flow Mechanisms

explicitPotential

Figure 2.5: An Example Implementation Configuration

Agents may connect to one or more spaces at a time and to which spaces may vary overthe lifetime of an agent. Mobility in this sense is provided in a ‘pi-calculus’ manner [73] in thatlinks may move rather than the physical running process. Agents can save state and become‘mobile’ when another agent restores that state. We have not addressed code mobility in thecurrent implementation and this remains low priority at this moment.

Agents themselves are anonymous and independent of each other - there is no explicitcontrol flow other than that provided through preconditions to agent actions. A coordinationmodel based around expressing coordination structures as first-order entities is being investi-gated, however we are more focussed on collecting and reasoning over context. Control flowcan be made outside of the space through agents explicitly sharing details of their external

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 16: M3 Information SmartSpaces Technology Overview

16

interfaces through the space - this has been successfully used in coordinating media streamingand storage devices via UPnP3 and NoTA4 for example.

The brokers each contain a corpus of information and when linked together to form aspace distribute the information in an asymmetric manner - some information is not replicatedbecause of computational resources, connectivity, storage reasons and even legal issues such ascopyright. This distribution layer is also responsible for the efficient distributed computation ofqueries and marshalling the resultant responses such that calculating the deductive closure canbe made. In this manner we can distribute complex computation away from the original agentover the whole space.

This distribution can be used in a number of ways and one of the most interesting for us isgiving the user temporary access to a larger body of information which can be used to selectivelyenhance their current corpus of information, for example, a body of linking information basedaround the owl:sameAs construct [91]. Other examples include personal access to more dynamiccorpii such as news, weather or similar services.

We make no attempt to enforce consistency of the information rather letting the writerof the information have freedom to express what they want and leave the interpretation tothe reader. The semantics of the information is merely intensional in that the writer provides‘clues’ through typing, tagging and other means. Repair of information according to schemataor other criterion can be enforced within the space and for some kinds of information wouldeven be desirable. If consistency of particular structures is required then this can be achievedthrough agent implementation and specific belief revision models.

2.6 Conclusion

In summary we believe that the Semantic Web will move from being a global information corpusto multiple, individual, linked and personal corpii. Semantics, reasoning and processing aboutthe information will be localised and personalised within these corpii. As corpii are shared,linked, merged and split, certain schemata will coalesce and evolute into fixed or standardstructures in an evolutionary form.

There are still questions regarding what precisely is semantics and how this is preservedacross information structures but techniques do exist for reasoning about this and the relatedgraph/information provenance problems and these are currently being implemented and trialledwithin the framework we have described.

3Universal Plug and Play http://upnp.org4Network on Terminal Architecture http://www.notaworld.org/

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 17: M3 Information SmartSpaces Technology Overview

Chapter 3

Context Gathering in Meetings:Business Processes Meet Agents andThe Semantic Web

Ian Oliver, Seppo Torma, Esko Nuutila1

Semantic Web, Space Based Computing and agent technologies provide for a more sophisticatedand personalised context gathering and information sharing experience. Environments whichbenefit from these properties are often found in direct social situations such as meetings. In thebusiness world such meetings are often artificially structured according to a process which doesnot necessarily fit the physical (and virtual) environment in which a meeting takes place. Byproviding simple ontologies to structure information, agents and space-based information shar-ing environment with reasoning capabilities we can provide for a much richer social interactionenvironment.

Originally published:

The 4th International Workshop on Technologies for Context-Aware Business Process Manage-ment (TCoB 2009)

1Seppo Torma, Esko Nuutila - Helsinki University of Technology, Finland

17

Page 18: M3 Information SmartSpaces Technology Overview

18

3.1 Introduction

In practice, the complex cognitive tasks faced in organizations – including coordination, problemsolving, design, planning, ideation, and decision making – need to be tackled in meetings wheredifferent perspectives and disciplines can be combined and shared understanding can be built[22, 72]. In these kind of content-centered meetings, the formal structure - or predefined process- is much less important than the wealth of information contained in a meeting. The contentand development of the information has a significant impact on the course of the meeting, whilethe official agenda often provides only superficial names to the phases of the conversation.

A typical meeting both uses and produces information. The participants need to shareexisting information with each other, often in an ad hoc manner and interact with the meetingin varying ways as situations arise. This includes varying amounts and configurations of typicalcomputing and display equipment such as mobile phones, displays, personal computers etc.

Increasingly the ‘conversation’ of the meeting is also supplemented with slide presenta-tions, documents, diagrams, and other visual material as well as references to material notexplicitly included in the meeting. During the meeting new information is usually produced,even if it not always explicitly written down. It should be noted that a large part of the in-formation is related to the context of a meeting itself, its participants, as well as the materialspresented. Much of this information could nowadays be automatically gathered for later use.

There is a lot of diversity in the actual arrangements of meetings. At one extreme are well-organized meetings kept in special meeting rooms. At the other extreme are ad hoc gatheringsto tackle urgent problem that can take place in office rooms or even cafeterias. Regardless ofthe type, it is nowadays typical to have lots of available displays. There can be shared displayssuch as video projectors or large screens as well as personal displays such as laptop computersor PDAs.

In this paper we will focus specifically on the problem of sharing (media-based) informa-tion in a easy and flexible manner during a meeting. We are especially interested in increasingthe interaction among participants by making the granularity of presentations smaller and byallowing simultaneous presentation of information. We will present a case study of this func-tionality.

Our solution builds on the Semantic Web and context gathering and reasoning techniques[10, 55, 7] that enable rich information to be stored, linked and reasoned about from a varietyof sources. In this paper we show how the interaction between a few simple ontologies and usersof those ontologies frees a meeting scenario from the confines of a strict process enabling ad hoclinking and reasoning about the information being gathered in that context.

3.2 Space-Based Computing Framework

The Sedvice architecture [83, 86] supports distributed agent based interactions over a declarativespace-based infrastructure [78]. A diagrammatic representation of the architecture is shown in

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 19: M3 Information SmartSpaces Technology Overview

19

figure 3.1.

Space "A" Space "B"

Individual Brokers +

Information Stores

connections to spaces

Agents +

Control Flow Mechanisms

explicitPotential

Figure 3.1: An Example Implementation Configuration

Spaces are virtual entities which contain the information; these are represented by adistributed, totally routable set of information brokers (known as SIBs). A Space at its sim-plest contains: listeners for one or more transport/connectivity protocols (eg: HTTP, TCP/IP,UMTS, SOAP etc), the logic for processing messages, policy/security and handling subscrip-tions, a deductive closure mechanism and an information store (an RDF store in our case).

Computation is placed primarily in agents [40] which interact with the space (physicallyvia individual SIBs). The responsibilities of agents range from user-interaction to reasoningand performing tasks such as truth maintenance, belief revision, information consistency man-agement etc. Agents are typically anonymous and autonomous from each other. Control flowis either provided through first-class mechanisms inside the spaces themselves or via agentscommunicating externally through specific control-based environments such as the Network onTerminal Architecture2 or Universal Plug and Play3. Agents are necessarily anonymous andindependent of each other unless the agent specifically shares information about itself throughthe space.

Information is stored as a graph using the Resource Description Framework (RDF) [62].The semantics of the information is implied by the writer by way of what typing information isprovided, the amount of information and what ontologies are used. The reader of any piece ofinformation interprets the information according to its own criteria which is influenced by thetyping, tagging and ontologies. Information is semi-structured deliberately allowing inconsis-tency and ad hoc expansion of the information schemata.

What the user perceives as being an application [93] is constructed from a number ofindependently operating agents which — if they have user-interfaces — may be grouped together

2www.notaworld.org3upnp.org

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 20: M3 Information SmartSpaces Technology Overview

20

visually (or by some other means, eg: audio) so that their combined results may be perceivedas a single whole.

3.3 Simple Contextual Model of a Meeting

We present a simple contextual model of a meeting, which considers two major aspects [89].The first aspect captures the notion of meeting as an assembly of group of people — theparticipants — gathering together at a specific time and place to handle a specific topic usinga set of documents. The second aspect captures the dynamic notion of a meeting as set of actsthat are done in a meeting using equipment. This model can easily be extended to captureother aspects.

For an implementation of this contextual model we create a number of individual agentsthat interact with small subsets of the ontologies defined below.

Within a meeting there exist an agenda, notes on the meeting, documents or presentationto be made in that meeting and the participants of that meeting etc. Outside of this we havenotions of physical devices that might exist in the location of a meeting (though we don’t enforcephysical presence). We also show how these aspects, that of the meeting and its presentationsand that of physical devices can be combined.

3.3.1 Ontologies

The basic information defining a meeting itself can be fairly simple: a set of participants,documents and an agenda. Within a meeting however the actual information structure can beextremely complex involving individual comments, ad hoc changes to the agenda, participantsetc and then further links not only within the meeting information but outside of that to provideadditional context and content to the meeting. For example, the participants of a meeting inmany tools are just names; using the Semantic Web we can extend this out to business contacts(eg: LinkedIn, Facebook etc4) and the possibilities that arise from including that information[104].

Our basic design consists of two separate ontologies; we do not espouse the ‘one trueontology’ view and it is highly likely that differing formats for various aspects of the wholesystem will be used and thus need to interoperate [44].

In Figures 3.2 and 3.3 we present the classes that are used in these ontologies. Wedifferentiate between the ontologies when necessary in this text by prefixing with shortenednamespace declarations: Nokia and TKK respectively.

We also define a set of properties between these classes, for example in the Nokia meeting

ontology we have the following properties

4http://www.linkedin.com/ http://www.facebook.com

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 21: M3 Information SmartSpaces Technology Overview

21

Figure 3.2: Meeting Ontology Class Hierarchy

Figure 3.3: Devices and Presentation Ontology Class Hierarchy

location: Meeting→ Location functional propertymeetingHost: Meeting→ Participant subrole of participants, cardinality 1participants: Meeting→ Participant cardinality: 0..∞topic: Meeting→ Topic cardinality: 1..∞belongsTo: Presentation→ Meeting functional propertyagenda: Meeting→ AgendaItem cardinality: 1..∞responsibleOf: AgendaItem→ Participant functional propertypresentations: Meeting→ Presentation cardinality: 0..∞participatesIn: Controller→ Meeting functional propertycontrollers: Meeting→ Controller cardinality: 0..∞shows: AVDeviceController→ Presentation cardinality: 0..∞controls: PresentationController→ Presentation cardinality: 0..∞document: Presentation→ Document functional property

Data properties include the start and end times of the meetings, agenda item de-scriptions and the name of the participants: these are all of type ‘date/time’ and ‘string’accordingly. Similar properties for the presentation and device ontology can be see in theexample RDF graph in figure 3.4.

The expressiveness required of the description logic for these ontologies is relativelysimple, in the meeting ontology case it is ALCHQ(D) and in the device/presentation caseit is ALCF(D). This means that any reasoning that is requires to be made over these

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 22: M3 Information SmartSpaces Technology Overview

22

ontologies can be reasonably simple and does not require the power of OWL5 reasoner.Furthermore, most current business information models have been specified using entity-relationship models which are easily mapped to simple description logics of much lesscomplexity than OWL [8].

Note that the construction of the ontologies are very much a compromise betweenthe parties creating those ontologies. There are properties and even classes which donot necessarily accurately reflect ‘real-life’. Ontologies will change over time and theaforementioned semi-structured/ontology agnostic nature of RDF assists in representingthis.

Some classes represent rather technical matters. Class AVDevice represents a thingthat is able to present audiovisual content, e.g., a video projector, a display of a laptop,a loudspeaker, a window on a computer desktop, etc. Class AVDeviceController rep-resents a software component that can render output to an AVDevice. Class SKIM is anexample subclass of AVDeviceController. It represents a software component that usesthe SKIM viewer [1] to show a PDF document on a display. Class Controller is justan abstraction of the controller components. The class MultiPagePresentation is animportant subclass of Presentation and it represents a presentation consisting of severalpages, e.g., a presentation of a PDF document.

In Figure 3.4 we present an RDF graph of an instance of these ontologies. The un-derlined x’s are URI’s that represent individual objects: participants, presentations, con-trollers, etc. For each URI we present its type, i.e., the class the instance of which the URIis. In addition we present several relations between objects, e.g., the relation shows be-tween and the instance x7 of class SKIM and instance x5 of class MultiPagePresentation,which tells that a presentation is shown by a software component on a specific audiovisualdevice.

The concepts of a ‘meeting’ and a ‘document’ occurs in both ontologies whichsuggests some kind of semantic similarity. As we shall see we can take advantage of thesekinds of semantic similarity to enable interoperability between the various ontologies[16, 69].

The information models are linked together by the classes Meeting and Document.We can see the separation of the ontologies: the left-hand side presents the devices-and-presentations aspect and the right-hand side the participants-topic-location-and-timeaspect of a meeting.

3.3.2 Agents and Interaction

To effect a meeting we require actions over the defined ontologies. These actions areimplemented in our system through simple agents [40] with varying degrees of responsi-

5http://www.w3.org/TR/owl-features/

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 23: M3 Information SmartSpaces Technology Overview

23

Figure 3.4: RDF graph of a meeting

bility (from simple atomic actions to implementing complete functionality) which can bedistributed across many devices.

Consider the case where a meeting is being set up, this involves the creation ofan instance of class Meeting and to ensure consistency, one participant which initiallymust be the meeting host, the topic and at least one agenda item. We defined the dataproperties and other object properties to be optional, though one should also specifythe location, start and end times etc. Whether these properties should be optional (andothers not) is a matter for the ontology designer and what particular aspects they aretrying to capture.

To implement this, we need a software agent, say MeetingBuilderAgent, that isable to create the meeting in the Sedvice RDF store, add agenda items and participantsof the meeting to the RDF store etc. This software agent communicates with Sedviceand has a user interface, e.g., a set of web pages, some widget-style application etc.

As the information store contains only the current context there is no necessity forpresentations, participants etc to be bound to the meeting when it is created. In factas we are only manipulating context we have a divorce between the temporal aspect ofwhen entities have been created and linked to each other. This allows us to be free fromany given specific structure and process associated with the setting up of a meeting.

As a meeting progresses the interactions between the agents with the body of sharedinformation or the context of the meeting more accurately reflects how this particularinteraction between users progresses. Information ranging from simple RDF triples tolarger bodies of information can be linked to the entities defined in our ontologies asnecessary. Additionally as we are ‘free’ from specific, rigid structures we can in effect link

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 24: M3 Information SmartSpaces Technology Overview

24

any information. For example, one could link some IRC conversation with an agendapoint and use that information later when reasoning and processing about the overallcontext of a meeting such as effected by automatic meeting minutes generation and/orsummarisation.

The agents controlling the presentation of the material work thus: we need atleast two software agents, say PresentationControllerAgent and SKIMAgent. Theformer is used by the participants of the meeting for controlling presentations: startingpresentations, moving forward and backward in the documents that are presented, etc.It communicates with the Sedvice RDF store adding there RDF triples representing thepresentations, their corresponding documents, the current pages in a presentation etc. Italso has a user interface, e.g. a set of web pages to be used by a meeting participantfor controlling the presentation. Several PresentationControllerAgent instances mayexist simultaneously, if several participants control presentations at the same time.

The SKIMAgent component listens to modifications in the RDF store. Whenever anew presentation is to be shown by the SKIM agent, it awakes the local SKIM applicationand tells it to show the corresponding document6. Similarly, if a change of the currentpage appears in the RDF store, the SKIM agent tells the local SKIM application tochange the page. If several displays are available, we should have several SKIM agentsrunning.

3.3.3 Reasoning and Information Integration

Given a corpii of information such as that in figure 3.4 we can construct agents that cananalyse and reason about this information. In particular we require agents that can:

1. relate two elements together

2. relate two (or more) information structures together

3. search for and generate additional information based on current context

The first case is relatively trivial and can be realised using agents that look for in-stances of certain types and link these together. The simplest version of this is an agentthat simply notices an instance of one type and asserts that it also takes symmetricallya second type:

Γ, x type Nokia :: Meeting

Γ, x type TKK :: Meetingtype inference1 (3.1)

6We chose SKIM as the PDF viewer, since it can easily be commanded outside using AppleScript

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 25: M3 Information SmartSpaces Technology Overview

25

Γ, x type TKK :: Meeting

Γ, x type Nokia :: Meetingtype inference2 (3.2)

A more sophisticated variation on this is to utilise the owl:sameAs predicate [91]but this relies upon reasoning over a larger set of information instead of indiscriminatelinking of instances (nodes in the RDF graph) together. For example, one could imple-ment an agent with the following rule for some properties p1 and p2:

Γ, x type Nokia :: Meeting ∧ y type TKK :: Meeting ∧ x.p1 = y.p2

Γ, x owl : sameAs y (3.3)

The above are of course monotonic rules though in our experience rule sets withinagents and typical information corpii tend to be non-monotonic in nature. This then leavevarious problems regarding rule conflict and aspects of negation and missing information- open world vs closed world assumptions. Investigation is progressing in these ares butat this time is not mature enough to meaningfully discuss in this context.

This then leads to analysing larger information structures and deciding, potentiallyat run-time what constitutes the required structure: [26] defines the notion of RDF-molecule which denotes a larger structure based upon the necessary set of propertiesaggregated together to make a more meaningful element or object [98].

How larger structures are mapped together or made equivalent beyond the abovesyntactic methods is open for development [97]. Techniques based upon semantic simi-larity in the linguistic sense probably provide the most reasonable method for performingthis matching [94, 27].

In simple examples such as the case study in this paper the three explicitly statedrules above implemented over a number of agents suffices to link the information struc-tured by the given ontologies together. In many cases simple rule set suffice although aswe have noted there is the need for non-monotonic reasoning in some cases.

3.4 Content-Driven Meetings Scenario

In this section we show how meetings work using our framework. In content-centered, in-formal meetings the activity is not driven by an agenda or predefined process; instead, theactivity emerges in a dynamic and opportunistic manner as reaction to the developmentof the information content.

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 26: M3 Information SmartSpaces Technology Overview

26

The crucial aspect in our approach is the flexible and easy interleaving of meetingconversation with visual presentations. The conversation itself is flexible and can leadinto vivid and dynamic interaction between participants. However, the difficulties tomake visual presentations often lead to static arrangements, over-prepared presentationmaterials, and as a result, in non-interactive presentation events. Such meetings givelittle room for successful building of shared knowledge.

Below we go through meeting scenarios to show how flexible presentation interoper-ability tools have a potential to provide more freedom to ordinary meetings. It should bestressed that the presentation framework is based on open and free participation: eachparticipants must decide whether to follow the presentation by subscribing to it. In ad-dition, these scenarios should not be confused with “smart meeting room” scenarios; weare focusing on ubiquitous, easy, and flexible meetings.

Scenario (Setting up and Working in the Meeting) Three researchers, Alice,Bob and Eve, have to prepare a conference paper. Alice has written a draft for sections 1and 2, Bob and Eve drafts for sections 3 and 4. They should meet to discuss the paper.

Using MeetingBuilderAgent, Alice creates in a ‘smart space’ (or just space) a meet-ing with agenda items Go through Alice’s draft, Go through Eve’s and Bob’s draft, andProducing the final version. Later, Alice creates a presentation for document s12.pdf

and binds it to the meeting in the space. Here one might see a structure similar to theright-hand-side of the diagram in figure 3.4.

Alice, Bob and Eve agree on a meeting at university cafeteria. Like Alice before,Bob creates a presentation for document s34.pdf. This can be made in the same spaceor in a different space with the two spaces being merged or one projected into the other- for simplicity we assume the same space.

Alice, Bob and Eve meet at university cafeteria. They have their laptops with them.To show his presentation, Alice launches a PresentationControllerAgent, which creates athe meeting and presentation to be controller (but of different types to the earlier meetingand presentation) in the space and starts to control the presentation.

One of the reasoner agents recognises this and infers that these can be unified in thesemantic sense - for example using the rules 3.1,3.2 and 3.3 described earlier and possiblyenhanced with the more sophisticated semantic pattern matching also described. Nowthe various agents that work across the different ontologies do not see any difference inthe separate information structures.

To see the presentation at their laptops, Alice, Eve and Bob launch AVDeviceCont-

rollerAgents. Using PresentationControllerAgent, Alice starts the presentation on the firstpage. The AVDeviceControllerAgents detect the change of page and show the corresponding

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 27: M3 Information SmartSpaces Technology Overview

27

page on a window in each laptop. Using PresentationControllerAgent, Alice moves forwardin the presentation. The AVDeviceControllerAgents detect the page changes and show thecorresponding pages.

At some point, Eve notes that there is an inconsistency between two documentdrafts. He launches another PresentationControllerAgent, makes it join the meeting andcontrol the presentation of Bob’s and Eve’s draft. The participants set their AVDevice-

ControllerAgents to show this presentation too. Using his PresentationControllerAgent

Eve moves to page three of Bob’s and Eve’s draft. AVDeviceControllerAgents show thecorresponding page on the laptops. Alice adds into the space an annotation about theinconsistency between the drafts.

At this point, the participants decide that it is better to simultaneously go throughthe both presentations to check the inconsistencies. Alice and Eve control the presen-tations, and the participants add annotations about detected inconsistencies in the pre-sentations. After working like this for a while, the participants decide that they shouldwrite new versions of their drafts. They decide to meet again later to finalize the paperusing the new versions of the drafts.

Note how the situation developed. In the original agenda, the idea was to go throughthe drafts one at a time and then decide how to produce the final version. However, whenan inconsistency between the drafts was detected, the meeting took a different path. Intraditional, rigid meeting situations, this may be considered as a fault in the process.However, when we have a content-driven approach, this is very natural and causes noproblems.

The required software agents can be rather simple. MeetingBuilderAgent and Pre-

sentationControllerAgent can be implemented as web pages that access the RDF store.AVDeviceControllerAgent can be implemented as a couple of scripts that monitor changesin the space and command a PDF viewer. The SKIM controller mentioned above wasimplemented this way.

Scenario Continued (Note taking) Eve makes copious notes during the meet-ing using an unrelated agent. As Eve makes these notes they are linked both to themeeting context and to the current presentation. Furthermore as the note contain valu-able information regarding what is currently being discussed Eve starts a further searchagent that can analyse the text and make searching for other interesting presentation viasome suitable search technology (Citeseer, Google etc).

Eve notices that some of these suggested presentations are highly relevant andselects them from her web-browser which then writes the details of the selected presenta-

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 28: M3 Information SmartSpaces Technology Overview

28

tions into the space. Eve has also set up her web browser agent to link these presentationsdirectly into the current meeting so that they can become both part of the current meet-ing context and because of the reasoning agents described earlier (cf: eqns.3.1,3.2,3.3)are also available for show during the meeting.

This kind of interoperability and specifically the ability to link in information intothe meeting in a very ad hoc manner allows not only for the overall meeting context tobe expanded but also that items such as searches for material made ‘outside’ the meetingscope not to be lost.

There are interesting privacy issues here such as what happens if much of the aboveis fully automatic and one of the meeting participants is not fully concentrating on themeeting and starts searching for ‘other’ material - an all too common occurrence in manymeetings. However we espouse the use of much more direct interaction with the user thusempowering the user with more control over how his or her information is being used andthe context gathered.

Scenario continued (Minutes) Later at a meeting room in TKK, Bob andEve have another meeting to edit their draft. Eve creates a new meeting and adds thepresentations of the previous meeting to this meeting. He also adds a new presentationfor the new draft that they are going to edit. In addition to their laptops, they havea computer that is connected to a video projector. To see what happened in the lastmeeting, Bob creates another presentation “last meeting minutes”. This is a special kindof presentation that can be controlled by MeetingMintesPresentationAgent, a software agentthat is capable of going through the events of the previous meeting. Such an agent mighteven be working continuously such that the minutes are being continuously generated.

For showing the minutes, Bob also launches an AVDeviceControllerAgent that showsa time-line of the last meeting on the video projector. Using these agents, Bob and Evego through the annotations of in the previous meeting. For each annotation, the meetingminutes agents show the pages of the presentations that were shown in the previousmeeting when the annotation was made.

Here we see how the context of the previous meeting is seamlessly merged to thecontext of the new meeting. There was no need to separately write down the minutesof the meeting; they were created during the meeting. The information that the agentsrecord in the RDF store is a much richer and more accurate presentation of what reallyhappened. What is needed in addition to the classes that we described in Section 3 is a

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 29: M3 Information SmartSpaces Technology Overview

29

way to time stamp events. This can easily be added to the agents.

The software for MeetingMintesPresentationAgent and the corresponding AVDevice-

ControllerAgent can be simple. The former can be implemented as web pages that accessthe space to detect the course of action in the previous meeting and provides a way to gothrough this information. In addition, the agent acts as a controller for the presentationsthat were shown in the previous meeting to show how the presentations proceeded in theprevious meeting.

3.5 Discussion, Conclusions and Future Work

We have described the ontologies, the typical reasoning over ontologies and the actionsmight be performed by participants of a meeting. Our approach does not explicitly implya strict process nor ordering of actions but rather enables the actions (implemented asagents) to be made under the control of the users at the appropriate times according tothe context of the whole meeting.

The following points are specifically raised and are supported by the distributed,information sharing nature of our system:

• Individual actions implemented as agents

• User use the useful set of agents at any given point in time

• The context of the meeting is independent from the actual meeting itself

• The physical and temporal location of the meeting is independent from the contentand thus context of the meeting

This benefits the user in more realistic and complex situations where people makeannotations, make multiple presentations, link to external content, are physically mobile(temporally and physically) and so on.

One of the particular features that supports a much freer environment for the usersis that there is no flow of control explicitly enforced between agents - the environment isdeclarative in nature. This of course has certain problems such as agents getting access toand potentially modifying data before a particular information structure is ready. Theseare however handled by suitable guards in the agent design and even by external signallingmechanisms as described earlier.

Issues relating to security, privacy and trust are not addressed by our frameworkat this time. However the nature of a space is such that the architecture support policybased agent joining to a space: that is for an agent to have access to a space then it mustsupply the correct set of credentials before being admitted.

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 30: M3 Information SmartSpaces Technology Overview

30

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 31: M3 Information SmartSpaces Technology Overview

Chapter 4

Cross-Domain Interoperability: A CaseStudy

Jukka Honkola, Hannu Laine, Ronald Brown, Ian Oliver

We describe a case study of the behaviour of four agents using a space based communicationarchitecture. We demonstrate that interoperability may be achieved by the agents merely de-scribing information about themselves using an agreed upon common ontology. The case studyconsists of an exercise logger, a game, a mood rendered attached to audio player and phone sta-tus observing agents. The desired scenario emerges from the independent actions of the agents

Originally published:

2nd Russian Conference on Smart Spaces, ruSMART 2009

4.1 Introduction

Interoperability between devices and the software and applications that run on those devices isprobably the major goal for many developers of such systems. This can be achieved in a numberof ways: particularly through open, agreed standards or often through monopoly. Whicheverparticular ‘interoperability’ route is taken there will always be a plurality of standards relatingto how such systems communicate [67][9].

For example, the Universal Plug and Play interoperability standard is plagued with man-ufacturer and device specific variations which complicate and nullify to some extent the longand complex standardization process employed to avoid this.

31

Page 32: M3 Information SmartSpaces Technology Overview

32

Technologies such as the Semantic Web [10] provide enablers for solutions to these prob-lems. Within the Semantic Web exist information representation formats such as the ResourceDescription Framework (RDF) [92] and the web ontology language OWL [88] which themselvesbuild upon enablers such as XML. Using these technologies we can address and provide solu-tions1 to the interoperability problem.

At one level there are existing solutions such as Web Services (SOAP, WSDL, UDDI etc)and various stacks of middleware for processing representation formats and preservation andreasoning about the semantics of messages. At the other, there are solutions based aroundmore declarative mechanisms such as TripCom [99] and the space-based solutions, for exampleJava Spaces [33] for the transport and processing of messages and information to assist ininteroperability.

We do not believe that interoperability will be achieved through standardization com-mittees, nor through standard, globally accepted semantics and ontologies but rather by theunification of semantics in a localized manner, as described in previous work [84].

In this paper we describe an approach to solving the interoperability problem througha combination of context gathering, reasoning and agents within a space-based infrastructuretaking advantage of technologies such as RDF. We demonstrate this through the ad hoc inte-gration or mash-up of a number of distinct applications to demonstrate the principles of thisapproach.

4.2 The M3 Concept

The M3 system consists of a space based communication mechanism for independent agents.The agents communicate implicitly by inserting information to the space and querying theinformation in the space. The space is represented by one or more semantic information brokers(SIBs), which store the information as an RDF graph. The agents can access the space byconnecting to any of the SIBs making up the space by whatever connectivity mechanims theSIBs offer. Usually, the connection will be over some network, and the agents will be runningon various devices. The information in the space is the union of the information contained inthe participating SIBs. Thus, the agent sees the same information content regardless of the SIBto which it is connected. The high-level system architecture is shown in Figure 4.1.

The agents may use five different operations to access the information stored in the space:Insert : Insert information in the spaceRemove : Remove information from the spaceUpdate : Atomically update the information,

i.e. a combination of insert and re-move executed atomically

Query : Query for information in the spaceSubscribe : Set up a persistent query in the

space; changes to the query resultsare reported to the subscriber

1plural, never singular!

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 33: M3 Information SmartSpaces Technology Overview

33

SIBSIB

SIB

AgentAgent

AgentAgent

M3 Space

Figure 4.1: A diagram of the general system architecture: Agents, M3 spaces and SIBs.

In addition to the four access operations there are Join and Leave operations. An agentmust have joined the space in order to access the information in the space. The join and leaveoperations can thus be used to provide access control and encrypted sessions, though the exactmechanisms for these are still undefined.

In its basic form the M3 space does not restrict the structure or semantics of the infor-mation in any way. Thus, we do not enforce nor guarantee adherence to any specific ontologies,neither do we provide any complex reasoning2. Furthermore, information consistency is notguaranteed. The agents accessing the space are free to interpret the information in whateverway they want.

We are planning to provide, though, a mechanism to attach agents directly to the SIBs.These agents have a more powerful interface to access the information and can be e.g. guaranteedexclusive access to the information for series of operations. Such agents may perform morecomplex reasoning, for example ontology repair or translation between different ontologies.However, they may not join any other spaces but are fixed to a single SIB and thus a singlespace.

The M3 spaces are of local and dynamic nature, in contrast to semantic web whichembodies Tim Berners-Lee’s idea of semantic web [10] as a “giant global graph”. The localityand dynamicity—we envision that the spaces will store very dynamic context information, forexample—poses different challenges than the internet-wide semantic web. For example, in orderto provide a true interoperability for local ubiquitous agents, the space (i.e. SIBs) will haveto provide a multitude of connectivity options in addition to http: plain TCP/IP, NoTA [79],Bluetooth,. . . Furthermore, the space should be fairly responsive. While we do not aim forreal-time or near real-time system, even half minute long response times for operations areunacceptable.

The responsiveness is one of the factors behind the fundamental decision to not enforceany specific ontologies and allowing the agents to interpret the information freely, as it lessensthe computational burden of the infrastructure. Another, and more important reason is thatwe explicitly want to allow mashing up information from different domains in whatever way

2The current implementation of the concept understands the owl:sameAs concept

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 34: M3 Information SmartSpaces Technology Overview

34

the agents see best. Strict ontology enforcement would make this kind of activity extremelydifficult as all new ways of mashing up the information would require approval from someontology governance committee. However, as mentioned above, we still plan to provide meansfor ontology enforcement for cases where the space provider explicitly wishes to restrict theways the information is used as there are bound to be also situations where this is the bestapproach.

The information content in a M3 space may be distributed over several SIBs. The dis-tribution mechanism assumes that the set of SIBs forming a M3 space are totally routable butnot necessarily totally connected. The information content that the agents see is the sameregardless the SIB where they are connected.

4.2.1 Applications in M3 Spaces

The notion of application in M3 space is differs radically from the traditional notion of amonolithic application. Rather, as a long term vision, we see the applications as possiblescenarios which are enabled by certain sets of agents. Thus, we do not see an email applicationrunning in M3 space, but we could have a collection of agents present which allow for sending,receiving, composing and reading email.

For this kind of scenario based notion of application, we also would like to know whetherthe available agents can succesfully execute the scenario. The envisioned model of using thissystem is that the user has a set of agents which are capable of executing certain scenarios. If auser needs to perform a new scenario that the current set of agents are not capable of executing,she could go and find a suitable agent from some directory by describing the desired scenarioand the agents she already has.

Thus, we need some formal or semi-formal way of describing agent behavior both withrespect to the M3 space and to the environment. While there exists research addressing behaviorin multi-agent systems, for example by Herlea, Jonker, Treur and Wijngaards [42], this kind ofad-hoc assembly of agents in order to execute a certain scenario seems to be quite unaddressedin current research. However, slightly similar problems have been addressed in e.g. web serviceorchestration research [31], but these still seem to concentrate on design-time analysis ratherthan run-time analysis.

As for shorter term, our vision is that sets of existing applications would be enhanced bybeing able to interoperate and thus allow execution of (automatic) scenarios that would havebeen impossible or required extensive work to implement without the M3 approach.

4.3 The Case Study

The case study consists of four agents, Exercise logger, SuperTux game, Phone line observer,and Mood renderer, running on several devices. The exercise logger and phone line observerrun on Nokia S60 platform phones, and the SuperTux and mood renderer run on Nokia N800

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 35: M3 Information SmartSpaces Technology Overview

35

internet tablets. The M3 space infrastructure runs on a Linux laptop.

4.3.1 Application Development Vision

The case study setup illustrates a “legacy enhancement” approach to application developmentin M3 spaces. Conceptually, we added M3 space capability to existing applications (Super-Tux, Mood renderer, SportsTracker, Telephony) even if the SportsTracker and Telephony wereimplemented as standalone simple applications for practical reasons.

The starting point for the case study was a single person (as defined in Person ontol-ogy, section 4.3.2) who would be exercising and tracking the workouts with an exercise logger,playing computer games and listening to music. The goal was to demonstrate the benefits ofinteroperability between existing application, that is, to be able to execute a scenario where theSuperTux game would award extra lives for exercising, a mood renderer embedded in a mediaplayer would play suitable music depending on a game state, and the game and media playerwould react accordingly if the person receives a call.

4.3.2 Ontologies

The different ontologies have been defined informally, and are not enforced in any way. Thedifferent components of the case study assume that they are used correctly. A pseudo-UMLdiagram of the complete ontology is shown in Figure 4.2, and an example instantiation of theontology when a game is being played and the phoneline is idle is shown in Figure 4.3.

As a general note, the needs of the scenario studied drove the modeling of the ontologies.Most of the choices of what to include and what to exclude were based on the need of the infor-mation in executing the chosen scenario. A broader study might need to revisit the ontologiesand generalize end expand them.

Person

The person ontology describes the information about a person necessary for this case study. Aperson can have a name (m3:username) and an operator account (m3:mobileaccount).

Workout

The workout ontology describes a generic distance-oriented workout. Thus, we include infor-mation about the length of the workout, distance traveled, person who has done the workoutetc. but no information related to, for example, weightlifting where we probably would like toknow the number of repeats and weights instead of time used and distance. The choice of whatto include in the ontology was influenced by the information available in the SportsTrackerapplication.

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 36: M3 Information SmartSpaces Technology Overview

36

m3:phonelinestatus

OperatorAccount

m3:user

m3:playerm3:mobileaccount

m3:usernamem3:totaldistancem3:totaltimem3:stoptimem3:usernamem3:starttime

m3:sessionstartm3:sessionendm3:lives

ExercisePerson

SuperTux

Figure 4.2: An informal description of used ontologies

?3

?2

m3:supertux

m3:userm3:player

m3:livesm3:sessionstart

"2008−10−30T11:30:02"

m3:workout

rdf:type

m3:stoptime

m3:totaldistancem3:totaltime

"SportsTrackerUser"

m3:username

?1

m3:mobileaccount

rdf:typem3:phonelinestatus

"3738786"

?4

"2008−10−29T08:05:12"

rdf:type

rdf:type

m3:person

"4"

"idle" m3:operatoraccount

"2053132"

"2008−10−29T07:02:30"

m3:starttime

Figure 4.3: An example RDF graph during the execution of scenario

Game

The Supertux game ontology includes information about the gaming session start time, stoptime, lives left and player. The session start is defined to be the time when the game executablewas started, showing a welcome screen. The lives value is inserted when a player starts a game,new or saved, from the welcome screen. When the player quits the game completely, that is,exits the welcome screen, the session stop time is inserted.

The ontology could include also information about current score, amount of coins, fieldbeing played etc. which the mood renderer could use.

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 37: M3 Information SmartSpaces Technology Overview

37

4.3.3 Agents

Next we describe the operation of agents making up the case study. It should be noted thatthe agents are only communicating implicitly through the M3 space by reading the informationinserted to it by other agents.

Workout Monitor

The workout monitor reads SportsTracker workout files and writes a summary of the workoutsto M3 space. We currently read the information related to general description of the workoutand insert that in the M3 space. Any path information is ignored as we have no use for it inthe current scenarios.

The workout information is related to the person doing the workouts. If a person withsame name as the SportsTracker username is found, we attach the workout in question to thatperson, otherwise we create a new person.

We use an SportsTracker internal workout identifier to identify workouts so that we donot insert duplicate workouts if the monitor is run again with same workouts as before.

Supertux

Supertux is a classic jump’n’run sidescroller game which has taken strong inspiration from theoriginal SuperMario games for Nintendo. Supertux is open source and available under GPL.

The ontologies related to Supertux game are the Person ontology, the Workout ontologyand the Supertux ontology. Each Supertux game is assigned with player information. If theperson class instance of the player can not be found from the M3 space the game creates oneand inserts player information according to the Person ontology. The person class instancealso binds the player to the workout information inserted to the M3 space. Prior starting thegame supertux queries workout information from the M3 space. The first query searches for allinstances of the Workout class. For each found workout class instance a new query is performedin order to find out the details of the workout. If there are long and recent enough workoutsperformed by the player the game awards two extra lives to a game level.

The game creates also an instance of itself and inserts information such as reference tothe person class of the player, session start and stop time to the M3 space. In addition, thegame updates how many lives the player has left during playing a game level. Every time theplayer looses or gains one life in the game, the game removes old livesinformation and insertsthe new information to the M3 space.

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 38: M3 Information SmartSpaces Technology Overview

38

Telephony status observer

The telephony voice line status is part of a OperatorAccount class. Operator accounts are boundto a person i.e. it is assumed that each account belongs to a person3. The voice line statusonly has two states, namely active and idle. The phone line status monitor subscribes tovoice line status changes provided by Symbian’s CTelephony API. When the user dials a phonenumber to establish voice connection or when there is incoming call to the phone, CTelephonyAPI provides the current voice line status to the observer application. The observer applicationtransforms the CTelephony states (e.g. EStatusRinging, EStatusDialling, EStatusIdle, . . . ) tocorresponding values defined by the OperatorAccount ontology and updates the information tothe M3 space.

Mood renderer

A mood renderer conceptually would have interfaces to sensory, i.e. mood rendering devices of asmart space invironment in order to cooridinate their controls according to a mood determinedby its knowlege processing. The questions would be many about such knowlege for determinga mood and how to render it for a given environment. The mood renderer of the case studyis a very simple start on the problem, which side-steps many issues for practical cases, whileshowing the essence of knowlege processing for the given concept.

The mood renderer in this case study is based on music as the only rendering device,and thus, the simple assumption that music, more precisely some audio track, maps to a de-terminable mood, and still further, that the mapping stems solely from the state of a particalgame being played and applies invariently with regard to time. This dodges questions aboutpersonal tastes and more than one person contributing to the smart space mood.

In choosing a track to play, volume is not controlled, but play, pause and stop are usedwhere appropriate. Mood rendering is based solely on two sources of information in the smartspace environment. The first is an operating supertux game and the second is phone status.Note then, that this mood renderer is solely reactive to information about a dynamic smartspace environment to which it belongs—for simplicity, it does not contribute information eventhough it clearly impacts it.

Given the simplifications stated, and that the mood renderer understands the ontologies ofthe supertux game and telephony status observer. It follows their two independent contributionsto the smart space environment and combines them to render a mood appropriate for the stateof game play, while maintaining the courtesy of pausing an audio track, if being played whileany phone status of the smart space is active.

The mood renderer is implemented as two persistent queries for smart space information.The first is looking for an active game in order to render its mood, and the second is lookingfor any phone with an active status. When an active game is found, a third persistent query,particular to this game, looks for its level of m3:lives and renders a mood as CALM, for nolives before the real play starts, and then when m3:lives exist, either “UP-BEAT” or “DOWN-

3or a group of persons—we do not prevent that

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 39: M3 Information SmartSpaces Technology Overview

39

BEAT” according to a threshold configuration on the number of lives. When the game ends,audio rendering is stopped.

The mood renderer’s behavior can be described as follows:

• Start with renderer.setTrack (NONE), renderer.setMode (STOP), and gameSelected=FALSE.

• Subscribe to the call-status attribute for all phone-status-observers. Monitor subscriptionresults, for any attibute value of “active”, if currentMode is PLAY, then do renderer.setMode(PAUSE); otherwise, if currentMode is PAUSE, do renderer.setMode (PLAY) i.e. anyplaying pauses during any phone call, or resumes when no phone call if paused during agame.

• Subscribe to a supertux game, which has a session-start and no session-end, or session-start after session-end. Monitor subscription results, and, whenever fulfilled, first ensurethat rendering is stopped and end subscriptions for any earlier game. Then render mu-sic/mood mapping for the selected game using the next subscription.

• Subscribe to session-end and lives attributes of the selected game. When fulfilled, setrenderer.setMood (mood), for mood according to lives as follows:

– no lives: CALM i.e. game started, but not yet played.

– lives above threshold: UP-BEAT

– below threshold: DOWN-BEAT

When session-end of game is after session-start, stop rendering and end subscriptionsabout this game.

4.4 Conclusions

The idea of agents interoperating by communicating implicitly through M3 spaces worked wellfor this case study. We were able to execute the scenario in mind and add the phone agent toit without modifying the existing ontology. However, this work was performed inside a singleteam in a single company. This kind of close cooperation between people implementing theagents obviously makes things easier.

Most of the work required in integrating the different agents into a coherent scenario wasrelated to the mood renderer observing the state of the SuperTux game. The ontology didnot directly provide information about all the state changes in the game. For example, whenstarting to play a level in the game, the mood renderer deduce this by observing the appearanceof the lives attribute in the M3 space. This is however something that will probably be a verycommon case as the ontologies can not and should not try to describe all possible informationthat some agent may need. It should suffice that the information is deducible from the explicitlystated information.

Another aspect of local pervasive computing environments that was not really addressedin this case study was the handling of resources that can only be used by one agent at a time. In

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 40: M3 Information SmartSpaces Technology Overview

40

this case the mood renderer represents such resource (audio player), and implicitly it is usuallythe game that uses it as the mood renderer deduces the mood based on the game state alone.When the phone rings, the mood renderer will stop the music and continue after the call isfinished. However, in a more complex case there needs to be (preferably) clear policy for eachresource on who can use it. We currently think that this can be handled at the ontology level,with suitable coordination structures and an agent acting as a gatekeeper. In general, this ishowever a subject for further study.

The basic principles of agent-dependent interpretation of information and implicit com-munication proved useful when the phoneline status information was added to the case study.When we only describe the information and not the actions to be taken by the agents, the agentcan select suitable course of action based on the detailed knowledge of the agent in question.In this particular case, the correct course of action for the SuperTux game is to pause whenthe phoneline is active but not automatically resume the game when it goes idle, as the playeris not necessarly ready to continue immediately after ending the call. On the other hand, themood renderer should continue playing the music immediately after the distraction (in this casecall) has ended.

If we expanded the case study with more persons with each having mobile phones, thedifference with mood renderer and SuperTux regarding the behavior when a call arrives wouldbe even more. Sensible behavior for mood renderer would be to stop the music whenever anyonein the same (acoustic) location receives a call, while the game should only react to calls to theplayer of the game.

Of course, in some cases it might be desirable to have coordinated response from a groupof agents to certain events. We believe that this is best handled outside the system, by e.g.requirements in the scenario descriptions or ontology documentation. Anyhow, such coordinatedresponses would not apply to all agents but rather to only certain groups of agents involved inexecuting a given scenario.

An obvious next step related to the interoperability hypothesis is to have external researchpartners extend the demo with agents implemented outside Nokia. This would clarify therequired level of ontology and agent behavior description as the communication would thenapproximate more the real world case where the agents would be implemented by multiplevendors.

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 41: M3 Information SmartSpaces Technology Overview

Chapter 5

Agent/Space-Based Computing andRadio Frequency Memory TagInteraction

Joni Jantunen, Sergey Boldyrev, Ian Oliver, Jukka Honkola

As devices become more ubiquitous and information more pervasive technologies such as Se-mantic Web and Space-Based computing come to the fore as a platform for user-interactionwith their environment. Integrating technologies such as advanced RF memory Tag with mobiledevices and combining this with computation platforms such as those supporting Semantic Webprinciples provides for the user innovative and novel applications.

Originally published:

The 3rd International Workshop on RFID Technology - Concepts, Applications, Challenges(IWRT 2009)

5.1 Introduction

The integration of mobile devices, RF memory tags and semantic web style information sharingand management will open new opportunities for the ad hoc gathering, sharing of informationand for more interactive applications built on top of these concepts.

RF memory tag systems will have the ability to store large quantities of informationcoupled with high-bandwidth radio connections and even contain local processing capabilities.

41

Page 42: M3 Information SmartSpaces Technology Overview

42

Mobile devices, such as mobile telephones, have access to ubiquitous connectivity solutions, eg:WLAN, GSM, UMTS networks, as well as sophisticated media and processing capabilities aswell as many local sensors such as GPS etc.

Semantic Web technologies provide canonical information representation formats, in par-ticular XML for the representation, RDF for the expression of semi-structured, linked andlinkable information and languages such as OWL for the specification of those structures. Thisallows much easier integration and interoperability between applications, agents and devicesthrough standardising many features and providing a basis for reasoning technologies leadingto, at least, weak-AI capabilities.

Combining these technologies together provides a platform for highly interactive, viralinformation sharing applications that can be applied in many situations: such a platform hasbeen implemented as in [83, 86]. For example: mass memory tags are used as a distribution pointof information in a certain locations such as office or shopping center information points, newsstands, tourist attractions etc; even individual physical items can be tagged - an applicationparticular relevant in the medial sector. Applications of a system would provide enahancementsto existing service-oriented technologies.

In this paper we describe the technologies and an implementation which leads to frame-work that supports such applications and interactions. Firstly we provide descriptions of thetechnologies, then an overview of the types of applications with examples, then a discussion on aspecific interaction case which highlights particular interesting areas of the RFID-Device-Spaceinteraction and finally a discussion of the future direction and issues of this technology.

5.2 Background

We focus on the integration of three major technologies: the Semantic Web, RF memory tagsand mobile devices. Within these categories we specialise on the notion of ‘Smart Spaces’,the distribution and integration of information and a particular mass-memory, high-bandwidthform of RF memory Tag.

5.2.1 Semantic Web and ‘Smart Spaces’

The Semantic Web [10] is a vision for the improvement of personal computing through theexposition and sharing of information based upon common representation formats, ontologiesand semantics. The idea is that information would become globally ubiquitous and interoperable.

However much information is not ubiquitous in the global sense; it is personalised, hidden,private and is interpreted locally - this information tends to be the personal, highly dynamicinformation that one stores about oneself: contact lists, friends, media files, ‘my’ current context,‘my’ family, ‘my’ home etc and the interweaving and linking between these entities through adhoc personal structures.

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 43: M3 Information SmartSpaces Technology Overview

43

To address this issue we have implemented a system based around larger, more user orpersonal focussed structured which we term ‘Smart Spaces’ [86]. Within a ‘Smart Space’ (orjust space) a user can encapsulate all of their information and interact with that informationaccording to their personal semantics and needs.

Spaces have the ability to be distributed across the user’s devices (mobile phone, mediacenter, personal computer etc) as well as more centralised providers. Synchronisation betweenthese distributed, individual repositories of information is asymmetric to address device andnetwork capabilities as well as the user’s needs in terms of security etc.

Interaction with spaces is nominally by ‘agents’ which encapsulate fine grained function-ality which themselves may be distributed across any number of devices that have access to theuser’s space. Spaces themselves can interact through merging and projection enabling largerspaces to be constructed either on permanent or temporary basis.

Further interaction between users is enabled through one user granting access to theirspace (or spaces) to another user’s agents or even by directly sharing the contents of theirspaces through the asymmetric distribution mechanisms.

A space can transcend over many of the user’s devices leading to the distribution ofinformation and queries upon that information. For any agent accessing this information thephysical location of it and the information is irrelevant: an agent sees the ‘totality’ of allinformation in that space. This requires sophisticated distribution algorithms that actuallypreserve a degree of assymetry of information depending upon the stability, connectivity andother properties of a particular information repository.

5.2.2 From RFID to RF memory tags

Radio frequency identification (RFID) technologies have been used for decades in extensivevariety of applications [59]. In the simplest RFID applications the tags embedded into objectsonly provided 1-bit presence information when exposed to the electromagnetic field transmittedby a reader. Identification of tags with individual ID codes started from active tags and readonly memories and it has become commodity also for passive tags. Recently, especially themainstream development of passive RFID technologies has been steered by applications suchas logistics [28], and mobile payment [90]. In these applications the tags may include also someamount of non-volatile memory. Thus, a bi-directional communication link between reader andtags is required to enable also writing of data to tags instead of read-only access. Recently,respective reader capabilities have been also integrated into mobile phones [96]. That providesa possibility to use RFID tags as part of Smart Space applications by using mobile phone readersas a gateway.

One development branch of RFID technologies is focusing on applications where passiveRF memory tags will contain increasingly large non-volatile memory capacity (in scale of mega-to gigabytes) [51]. Such tags would enable storage of digital content exactly to the pointwhere it is used e.g. into objects and physical locations. This approach is totally opposite tothe network databases traditionally used in RFID systems where tags may store only a linkto the databases. The visions behind this research are based on the foreseen development

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 44: M3 Information SmartSpaces Technology Overview

44

trends especially on the field of non-volatile memory technologies according to which the powerconsumption, physical size and price of (non-volatile) memories are continuously decreasing.TSuch his enables development of passive RF memory tags which can be accessed wirelessly,for example, with mobile phones and which can be used as ubiquitous storage capacity in SmartSpace applications.

In RFID systems the physical interaction is usually based on back-scattering of narrow-band RF signals [30]. The reader device provides a continuous wave signal which is used by thetag to extract supply voltage.

The communication from the tag to reader is possible thanks to modulation of back-scattered signal from the tag, whereas the communication from reader to tag can be done forexample with simple amplitude or phase modulation methods respecting the power extractionneeds in the tag. Small memory capacity can be implemented with EEPROM and the wholefunctionality is usually controlled by a simple finite state-machine (FSM). However, when thestorage capacity of tags increases significantly back-scattering method based on a single fre-quency band may be insufficient to achieve data-rates high enough. According to currentregulations wide enough frequency bands are not available on low frequencies and the efficiencyof wireless power transfer decreases on high RF frequencies. Thus, either data-rate or commu-nication range is somewhat limited. Therefore dual-band systems have been proposed for datacentric Ambient Intelligence (AmI) applications, such as, the ones used in Smart Space context[54]. An exemplary (complete) block diagram of an RF memory tag is presented in Figure 5.1.In such a system one frequency band is dedicated for wireless power transfer and one widerband for high data-rate communication.

Figure 5.1: Block Diagram of RF memory Tag

Section 5.3 categorizes groups of interactions between RF memory tags and Smart Spaces.Depending on the category the required computational power of tag may range from merememory access (a simple FSM is enough) to hosting of an agent or a space (requiring MCU oreven CPU). In the two ‘classic’ ways it is sufficient that the tag is capable of transferring the datadefined by the reader with the highest possible efficiency to achieve user-friendly interaction.The reader device is responsible of defining which data is read and/or written, and basically inthe tag there is no need to process the content itself. Even the file-system can be maintainedin the reader side if it is first copied from tag to reader in the beginning of interaction and thenupdated version is written to tag after the payload data in the tag has been modified.

In more sophisticated cases where tags are capable of hosting an agent or running a space it

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 45: M3 Information SmartSpaces Technology Overview

45

may be necessary to have sufficient processing capabilities in the tag itself. If fully active tags areexcluded from the study, to achieve easy and low cost maintenance, the remaining alternativesare fully passive tags and semi-passive tags. In the passive solution the data is processed fastin the tag during the reader-tag interaction. In the semi-passive solution the data is processedover a long period of time (as a background process) by using a dedicated power source e.g.the power harvested from the environment and only the high data-rate communication requireswireless powering provided by the reader. In semi-passive case the tag may also function as adata-logger by slowly collecting a huge amount of samples from a low-power sensor over a longmeasurement period. However, these applications require extremely low power consumptionwhat comes to the memory accesses, data processor and sensors but also required data-rate isextremely slow.

Altogether, the ongoing development on many technological fields will in the future enableutilization of RF memory tag systems in Smart Spaces. Actually, Smart Space applications maybecome one of the main drivers for the technological development of aforementioned RF memorytag systems.

5.2.3 Distribution

The scope of distribution and corresponding infrastructures in case of RF memory tag systemscan be analysed in terms of two areas:

• physical environment, e.g. associating of the RF memory tag with direct or indirectfunctionality provided by the physical environment, and

• ubiquitous device architecture, e.g. impact to the internals of a particular mobile device

Considering further, the following can be seen:

• RF memory tag is dumb memory block and has just mechanisms for bidirectional wirelessoperations (read/write)

• RF memory tag has enough computational power on board, but still external power isneeded, or it can be provided on a volatile basis

Therefore, the range of potential application can be variate from simple “just-in-place”and “just-in-time” file storages coming to distributed ad hoc storage systems [11] and goingbeyond asynchronous computation engines. Projecting such features to the Smart Spaces ar-chitecture RF memory tag system enables use cases when information related to the particularphysical environment can be delivered in-place on-demand or even by estimation, in a verypower and computation efficient manner. By saying “delivered” the whole process of extrac-tion, recovery, storing and computing should be understood. Since using RF memory tag systemit is feasible to produce a distributed snapshot of Smart Space which is tied with the particularphysical environment by storing the run-time environment and corresponding contexts with

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 46: M3 Information SmartSpaces Technology Overview

46

data/information within the RF memory tags, it also becomes possible to revoke the systemonce it would be demanded by any user. In other words the distributed process of booting, sus-pending and resuming of the Smart Space now becomes more flexible, reliable and less physicalcontext dependant.

Smart Space application infrastructure benefits from RF memory tag system as well. SinceRF memory tags infrastructure provides distributed grained approach for execution context andinformation handling, Smart Space application can be constructed by traversing the RF memorytags and retrieving demanded parts of execution context and corresponding information.

In terms of ubiquitous device architecture, as it is presented by Figure 5.1, RF memorytag system can enable computationally constraint device with memory extension, distributedmemory architecture, or, rich context data analysis and corresponding information generation,which then can be uploaded to RF memory tag system.

The problem of memory management (both, execution and mass memory) in distributedenvironment, when substantial amount of the devices are using RF memory tag system tech-nology, converges to the efficient and sustained context execution which is essential part ofwhole computing environment, such as Smart Space. Especially because of high dynamics andconstrains the amount of memory on board the mobile devices in Smart Space.

The approach of efficient and sustained distributed memory utilization by means of RFmemory tag illustrates the solution of such problem. Consider the computing environmentwhere memory is integrated with RF memory tag based architecture, and several distributedmemory modules are dispersed around the Smart Space(s). Therefore they are considered asone stackable memory unit by means of corresponding combination of memory blocks of theenvironment.

Putting environment where memory is integrated with RF based memory tag architectureand several distributed memory modules are dispersed around the Smart Space(s). From theSmart Space perspectives and corresponding functionality is provided by distributed RF memorttag based infrastructure, at least following cases described in section 5.3 can be seen.

5.3 Interaction with Tags

In this section we describe the various modes by which spaces and agents interact with the RFMemory tags. We define four categories:

• Agents read from Tag

• Agents write to Tag

• Agents on Tag

• Space on Tag

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 47: M3 Information SmartSpaces Technology Overview

47

The first two categories are the ‘classic’ ways of passively interacting with a tag and constitutesimple information retrieval and sharing. The third and fourth cases involve much more ‘active’interaction based requiring specific features of the agent/space architecture. We explain thesein the following sections with an addition discussion of the actual physical interaction betweendevices and the RF memory tags.

5.3.1 User Interaction

As mentioned in the previous section, in the context of Smart Spaces many new requirements forthe future enhanced RFID-like technologies are set. In Smart Space environment also the userinteraction is in a critical role since the fast data connection is enabled only if user voluntarilyaccesses RF memory tags. Therefore the system must be fast, flexible and reliable in additionto many other requirements. The need of bi-directional high speed data transfer is obvious toachieve convenient user experience when the storage capacity of tags increases. Flexibility canbe understood as a requirement for practical communication range. Typical physical interactionis shown in figure 5.2.

Figure 5.2: Physical Interaction of Device and RF memory Tag

From user’s perspective it is needed especially to allow intuitive and convenient controlthrough user interface of a mobile reader. Figure 5.3 presents a situation where mobile phoneis used to interact with a tag which is part of a Smart Space. As can be expected, the com-munication range must be long enough to avoid need for accurate pointing of reader to tag invarying usage conditions. The communication link should also allow movement of the readerwhile the user makes selections through the user interface. Reliability of the user interaction canbe understood as the quality of data transfers i.e. low probability of errors on different levelsbut also as security and privacy aspects since obviously users cannot tolerate such infringementsif the content stored to RF memory tags is private.

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 48: M3 Information SmartSpaces Technology Overview

48

5.3.2 Agent Interactions

The “simple” read case is useful for applications where the tags provide relatively static localinformation, for example, maps, positioning information or even marketing information suchas might be found in a shopping mall style scenario. One existing application is that found inmuseum environments [47, 95] and this is currently being investigated as an initial deploymentof the technology described here.

The “simple” write allows the user to write to the tag. This enables sharing of user’sinformation through copying information from the user’s space to the RF memory tag. Thiscase would be almost invariably used in conjunction with the read case. Typical applicationshere might be viral sharing of media or other information, for example, highly localized bloggingand messaging. These classic cases are shown in figure 5.3.

A

A

RF Memory Tag

Information flow −−−>

A

A

RF Memory Tag

<−−− Information flow

Figure 5.3: Classic Interaction

The third case shown in figure 5.4 requires the tag to have some computational capabilities.When the device with the reader is presented to the tag, it activates agents on the tag itselfwhich then either request to join the user’s space or are invited to the user’s space for theduration of the time while the reader is in contact with the RF memory tag. The agents on thetag may provide additional reasoning or other data gathering/processing operations as well assupporting the classic read and write use cases described earlier.

The agents can access a Smart Space with five basic operations:

• Insert : Insert information into the Smart Space.

• Remove: Remove information from the Smart Space.

• Update: Update the information in the Smart Space. This is effectively an atomic removeand insert combination.

• Query : Query for information in a Smart Space.

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 49: M3 Information SmartSpaces Technology Overview

49

• Subscribe: Set up a persistent query in a smart space. A change in the query results iscommunicated to the subscribing agent.

SIB

A

A

A

RF Memory Tag

Agents running "locally"

Agents copied to run "locally"

SIB

A

A

A

Agents running "locally"

Agents run at tag

<−− Information flow −−>

<−− Information flow −−>

RF Memory Tag

(AmI)

Figure 5.4: Agent Interaction

There are two individual cases to be considered here. First, where the RF memory taghas some computation capabilities, i.e. a CPU or MCU, and second, where the computationhas to be made on the reader.

The first case is conceptually more straightforward, as the agents on the RF memory tagare executed outside the mobile device and need only access to the information stored in thespace. This access may be limited by the space and thus the agents need not to be particularlytrusted.

The second case would involve running arbitrary code on the mobile device, and presentsa lot of additional problems to solve relating to security etc. Standard mechanisms related toe.g. downloading applications are probably not applicable, as the required interactions fromthe user should be kept to a minimum.

It should be noted that even as these cases differ on the implementation level and requiredinfrastructure, but the end result regarding the information content in the space is the same.

This kind of “Agents on Tag” concept provides means to enhance the information contentstored on the mobile device by adding localized, positional knowledge to the space. Furthermore,they may also utilize whatever information is available to them in the space, perhaps creatinga history of interactions for subsequent processing etc.

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 50: M3 Information SmartSpaces Technology Overview

50

5.3.3 Space Interactions

The fourth case is particularly interesting as it provides temporary (or even permanent) addi-tional information for the user without resorting to agents. Any particular mobile device is partof Smart Space environment as it is presented above, in Section 2, and RF memory tag basedinfrastructure constitutes another Smart Space entity. This case can be addressed by any two(2) Smart Spaces merge process. Similarly to the previous agent interaction case there existtwo distinct modes of operation, this time however referring to the location of the broker thatenables the space; these are visualised in figures 5.5 and 5.6.

SIB SIBRDF

StoreRDF

Store

(Mobile) DeviceRF Memory Tag

distribution protocol

Figure 5.5: Space Interaction (Tag hosting SIB)

SIBRDF

StoreRDF

Store

(Mobile) DeviceRF Memory Tag

distribution protocol

Figure 5.6: Space Interaction (Tag not hosting SIB)

We would stick to the cases when RF memory tag based infrastructure is created bymanageable and non-manageable RF memory tags, meaning that the computational capabilitiesof any RF memory tag are extended, e.g. with CPU or MCU, and limited, e.g. without CPU orMCU. To guarantee sustained data on the board of RF memory tag there are facilities providedby memory chip and RF control. To provide mechanism for proper allocation, management andremoval of data, a recognizable list of data, ad hoc data management system is used.

Let us concentrate more on the technical details of the process when such mobile devicewould found any RF memory tag. To establish communication channel which should be consid-ered of ad hoc type, mobile device should scan the environment to get the confirmation replyfrom any RF memory tag.

Once the physical connection is up and transport protocol is running, and RF memorytag can be mounted to be used as a storage space or it can begin to act as another Smart Space

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 51: M3 Information SmartSpaces Technology Overview

51

entity. To simplify our further considerations, let us denote the mobileThis work has beenpartially funded by TEKES ICT SHOK DIEM (www.diem.fi) and EU FP6 MINAmI projects(http://www.fp6-minami.org/). device’s Smart Space as SS1, and the RF memory tag basedSmart Space as SS2.

In case if RF memory tag was mounted as a plain storage space it can be used as an extentwhere, existed, SS1 keeps the data in raw (as it would be in case of any growable filesystemvolume). And, therefore, any POSIX like procedures could be applied to gain the access and tostore/remove the data on such volume. However, it is not really beneficial way in case of SmartSpace environment.

Since one of the main points to use the Smart Space environment is to provide interoper-able interaction between most of computing environment by exchanging high abstraction levelinformation, by means of Smart Space’s defined Insert, Remove, Subscribe, Unsubscribe andQuery primitives and utilizing a certain reasoning mechanism over the different sets of thatinformation, to extract the necessary one, the level of interaction between mobile device andRF memory tag is pushed up to high abstraction level of information exchange. Therefore, therules of Smart Spaces merging process are applied. Those can be seen within the following flow:

1. let us assume that SS1 represent an active entity from energy perspectives, therefore it isassumed to be as a leading party (so defined master SIB or mSIB) which is driving themerging process as such

2. even SS2 represents a passive entity from energy perspectives, it might have either sus-pended SIB or RDF store facilities that can be merged with or utilized by the correspond-ing SS1 facilities, thus, one of the following can take place:

(a) mounting as RDF store to SS1 facilities, providing passive information extent, mean-ing that reasoning over that extent should be provided by SS1 facilities

(b) communicating as SIB-to-SIB, providing active information extent, meaning thatreasoning over that extent can be provided by resumed SS2 facilities.

3. invoke SS2 to Join the SS1 by means of Join/Leave message exchange and correspondingHeartbeat message, to complete a handshake procedure

4. open communication as SIB-to-RDF (store) or SIB-to-SIB

5. prioritizing Query, Subscribe, Unsubscribe, Insert, Remove primitives to be issued overthe RF memory tag based information extent

6. prioritization is driven by reasoning over either the information extent provided by SS1or by SS2, thus the importance factor should be taken into account to leverage the flowof any needed information

7. proceeding with information exchange, this can be seen as a scheduler loop over theparticular primitives queueThis work has been partially funded by TEKES ICT SHOKDIEM (www.diem.fi) and EU FP6 MINAmI projects (http://www.fp6-minami.org/).

8. finalizing communication as SIB-to-RDF (store) or SIB-to-SIB

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 52: M3 Information SmartSpaces Technology Overview

52

9. leaving SS2 by Leave message from SS1 or invoking SS2 to send Leave message, suspendingit due to the passive mode

• any accidental power loss, which can be only due to the communication loss (due tothe nature of RF memory tag infrastructure), is accounted by transactional modelof any operations

Recombining cases above, to the better extent, a certain amount of agents could be stored atRF memory tag infrastructure as well. And, once SS2 is resumed, agents are retrieved from RFmemory tag infrastructure along with information extent and the physical context dependantapplication in merged SS1 and SS2 entity is assembled. Logical flow above illustrates a strongpotential of RF memory tag based infrastructure as Smart Space environment from the hardwareperspectives. Therefore the cases above should not limit the scope of distributed RF memorytag infrastructure.

5.4 Issues

Any interaction in this kind of environment has security and in particular privacy issues. Becauseof the shared and thus viral nature of the information, the spread of incorrect, bad or otherwiseinformation is made relatively trivial. There do exist methods for trust and policy but thesestill have to gain widespread acceptance.

One particular aspect is the provision of location and temporal information - because ofthe physical nature of the devices we can trivially infer location and the point in time when theinteractions took place.

The trust of such a system ultimately resides with the users and the overall management ofthe information being interacted with and provided. However given the rise of social networking,microblogging and the very basic need to share information, many of these issues are notaddressed there either. Nevertheless provision of security mechanisms such as authentication,encryption, private space and persistence etc can help in such matters.

Despite of these issues the benefits of such a mechanism for the user are tangible andspecifically in the areas of marketing, advertising and the provision of specific and highly tar-getted temporal and location aware information.

Other concerns include the semantics and interpretation of the information containedwithin the various spaces - a detailed discussion of these issues and some of the solutions whichare being implemented and investigated as part of the described architecture and system canbe found in [65, 56, 3, 48]

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 53: M3 Information SmartSpaces Technology Overview

53

5.5 Conclusions and Future Work

In this paper we have introduced and analyzed a concept where RF memory tags form anextension to Smart Space infrastructure. Also most of the fundamental requirements set for RFmemory tag systems in such a context have been covered. In the present work we have focusedon interactions between the Smart Spaces and one individual tag.

The agent/space based system described in [86] provides a distributed infrastructure forcontext gathering; while the agents themselves provide end-points for service usage. Suchservices include those as provided by, for example: Nokia’s OVI1. Sharing through physicalaccess points such as RF memory tags provides additional and more novel interaction withthese services. This conclusively supports the trend towards context gathering both in physicaland virtual environments coupled with existing service-oriented paradigms and building futureinformation management and sharing approaches.

The future work will further extend the concept so that a population of tags forms aplatform for smart-space applications. This means that the SIB is implicitly shared among thepopulation by scattering copies of collaborating agents to the tags. In other words, the tagscollaborate with each other and form a SIB but due to the sporadic nature of the processingcapabilities and communication link enabled by the readers, the tags have to rely on transferof sporadic messages between each other.

1www.ovi.com

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 54: M3 Information SmartSpaces Technology Overview

54

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 55: M3 Information SmartSpaces Technology Overview

Chapter 6

A Mechanism for Managing andDistributing Information and Queries ina Smart Space Environment

Sergey Boldyrev, Ian Oliver, Jukka Honkola

Distributed information management, especially when related to mobile devices with their partic-ular connectivity and computing needs is complex. Based on notions of stability of informationrespository and factors such as computation resources and connectivity we can optimise the dis-tribution and querying of said information across multiple mobile and other distributed devices.

Originally published:

The 1st International Workshop on Managing Data with Mobile Devices (MDMD 2009)

6.1 Introduction

The modern communications era has brought about a tremendous expansion of wireless net-works. Various types of networking technologies have been and are being developed resulting inunprecedented and increasing expansion of computer networks, television networks, telephonynetworks, and other communications networks. As new networking technologies evolve, con-sumer demand continues to fuel increased innovation with respect to utilization of networks.Wireless and mobile networking technologies continue to address related consumer demands,while providing more flexibility and immediacy of information transfer [39, 20, 110, 4].

55

Page 56: M3 Information SmartSpaces Technology Overview

56

As the flexibility and functionality of mobile communications devices increases, optionsfor networking technologies continue to evolve. For example, the technology associated withdynamic distributed device networks or dynamic architecture networks, such as smart spaces,are becoming increasingly practical due to the evolution of mobile communications devices.

A smart space may be an environment where a number of devices may use a shared view ofresources and services to access information within the environment [86]. In this regard, smartspaces can provide improved user experiences by allowing users to flexibly introduce new devicesand access most or all of the information available in the dynamic multiple device environmentfrom any of the devices within the environment.

However, problems with information management and message routing in smart spacescan arise because smart spaces do not have a static network topology. As a result, difficultiesarise with determining the location of desired information and/or the presence of intendedrecipients in the network. Further, the prediction of efficient paths for routing messages, suchas requests for information in the smart space can also be problematic since the connectivityand the topology within the smart space cannot be assured.

In this paper we address the issue of distributing information and queries over that in-formation and specifically the mechanisms that we have employed within our infrastructure forrealising this.

6.2 Background

The Smart Space infrastructure shown in figure 6.1 shows our implemented architecture. Thekey points are that of the node, smart space and SIB.

There exist numerous, individual Smart Spaces in which persons, groups of persons etc canplace, share, interact and manipulate webs of information [57, 55] with their own locally agreedsemantics. A review of such systems can be found in [78]. To interact with and apply reasoningto these Smart Spaces and there information contained therein we are required to constructprocesses which have access to that information - typically these are known as nodes [40] - wealso use the term agent interchangably depending on the context, but in this discussion westick with the term ‘node’. Nodes are either personal in that they perform tasks either directlydecided upon by the user or autonomously for or on behalf of the user, monitor particularsituations or reason/data-mine the existing information.

A space is represented by a number of Semantic Information Brokers each containingquery and connectivity engines, a store for the information - we have standardised on the use ofRDF for this and a deductive closure mechanism over the store. Information is distributed overthe SIBs according to local policy (described in this paper) but any node connecting (via a SIB)to the space sees only the total of all information contained withini the space, ie: if a space isconstructed out of a set of SIBs B, ∆ being the deductive closure over the space and i(b) beingthe information contained in each SIB then an node will see the information as described in theequation below:

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 57: M3 Information SmartSpaces Technology Overview

57

Figure 6.1: Smart Space SIB/Space/Node Architecture

β∈B ∆(i(β))

This implies that the SIBs are totally routable in order that all information is accessablevia any SIB. Additionally within a space, even those the deductive closures are computed locallyto a SIB the set of rules for deductive closure is the same for all SIBs within a given space.

Nodes access information through the Semantic Information Brokers’ (SIB) to the SmartSpace. The SIB operates as a single entity in managing a Smart Space. However, as it statedin [83, 11, 60], the infrastructure can be distributed. The SIB can be formed by set of morethan one SIB which represents the Smart Space.

This is done in a way that all SIB can receive all messages arriving at any SIB and allmessages passed on by the SIB appear to come from a Smart Space. Infrastructure presupposescommunication between any of SIBs which form one single Smart Space. Such communicationis performed by means of the adaptive designation of a SIB “master” in any given SmartSpace, throughout the Smart Space evolution (Figure 2). To leverage the abstraction of SIBsaddressing, the IDs (keys), are used to identify each message session to determine whether aSIB should process a particular message of not. These keys are used to identify which SIB is incharge for processing which message type and is also used for the workload balancing over allSIBs.

This solves the problem of distributing information and queries in a consistent man-ner across multiple computation elements making up the information processing system of aSmartSpace. Furthermore, the issue of computing the deductive closure of information at run-time is possible. Marking in terms of priority and stability level of the individual processing

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 58: M3 Information SmartSpaces Technology Overview

58

Figure 6.2: Smart Space Evolution

elements such that queries can be distributed such that the most efficient processing of thequery is made with the most stable set of information.

Stability factor is constructed from the connectivity controller information, where the SIBis running, any additional valuable environment information. As an example the Stability factorcan be represented in folowing form:

Sj = C + Idivj + PRLi

where S is the stability factor for j -th SIB entity of any i -th device, C is connectivity weightprovided by connectivity controller, Idiv indicates how information is diverging in the sense ofquery satisfaction, and PRL is optional cumulative power/reliability/latency function providedby the particular device.

As it is shown the Stability factor is a result of superposition between information whichis provided by the intelligent connectivity controller, e.g. physical means which form com-puting environment, and Information management infrastructure [13]. Intelligent connectivitycontroller is aware of its surrounding environment in addition to its local connectivity capa-bilities. It may also be aware of the physical limitations and of individual devices within thewireless range or within the wired network is associated. The aim of the interface providedby the controller to the distributed framework component is to provide enough yet abstractconnectivity properties of the devices participating in to the distributed network. In additionthe controller hides the complexity of multitransport control mechanisms as a connectivity costfunction interface.

Relationship between Stability factor and the Strategies shapes any stable (reliable) dis-tribution between several SIB entities, e.g. distributed SIB. The Stability factor is defined in

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 59: M3 Information SmartSpaces Technology Overview

59

tight connection with the strategies that form the distributed solution feasible.

Several strategies are considered:

1. to distribute query around all instrartucture, and, to put insert/retract on any stable SIB

2. to distribute inserts/retracts around all infrastructure, and, to put query on any stableSIB

3. any balancing strategy between listed above

SIB is stable if its operational parameters produce Stability factor as above a certain threshold,thus room for real-time optimisation exists.

A Smart Space is actually constructed from a number (at least one) SIB which contain theaforementioned schedulers, management information, listeners and information store. A Spaceis represented by these SIBs: the total possible connectivity methods is given by the distributedunion of all the representing SIB listeners.

SIBs communicate internally to ensure that membership and credentials of the Nodesthat have joined that Space - they may connect via any listener and any SIB in that Space.From the point of view of any Node, the information available is always the distributed unionover the transititve closure of the routes between all the SIBs - the SIBs contain routing tablesto other SIBs and within a Smart Space all the SIBs are totally routable but not necessarilytotally connected.

6.3 Considerations

We take into consideration the following:

1. Optimal distribution mechanisms and policies

2. Distributed query mechanisms

3. Optional mechanism based upon distributed inserts/retracts

There are three message groups which are used to provide distributed infrastructure: manage-ment, store (subscribe, cancel subscribe) and query (query, deliver).

The distributed infrastructure management messages are used to keep correct neighbourdescriptors and incremental routing tables and are used to support store and query messages.They are the basic elements of synchronisation protocol between any of the SIBs. The incre-mental routing table maintained to handle a Neighbours list. There are following maintenancemessages, Join/Leave, HB (heartbeat, including timeout), Send, Notify and Forward. There isa cache for previously constructed routes, thus messages can be routed directly, without lookup

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 60: M3 Information SmartSpaces Technology Overview

60

within the distributed infrastructure. To inform about connectivity parameters of any SIBinstance the HB (Heartbeat) message is used. To navigate around the SIBs two lists are con-structed and used, the first is based on Neighbours list and is in charge of any successor routing,the operation is simple Send. The second list can be used to improve overall performance andleverage the workload, that list is exponentially distributed IDs of all other SIBs.

Store group are used to pass information to the SIBs and to operate with them. They areInsert and Remove, provide distribution of the information. Query message (below) presentsthe way of distribution which is applicable to Store group messages.

The Query group is used to pass the query to the SIBs for any particular informationas well as subscriptions to the SIBs and to operate with them. They are Subscribe and Un-Subscribe, provide distribution of the persistent queries. Query message presents the way ofdistribution which is applicable to all Query group messages. The Query message can be routedto any other SIBs. The Query message can be forwarded by any other SIBs according to theincremental routing table, finger table and routing decision. In case of message forward, noti-fication is generated by SIB and is used to override routing decision. Such decision is obtainedby means of network conditions. Thus the query tends to pass SIBs only once. Therefore thequery route construction converges to the efficient query forwarding mechanism. The result forQuery group is passed by means of Deliver message, which returns particular information.

SIB has managing responsibilities to form the SIB distributed infrastructure. Such man-aging SIB is denoted as mSIB instance, the master SIB. There can be more than one mSIB. EachSIB should have stability factor. In negotiation of any two SIB the SIB with highest stabilityfactor is selected to be mSIB. Stability factor is a result of superposition between informationwhich is provided by the intelligent connectivity controller, e.g. physical means which formcomputing environment. Intelligent connectivity controller is aware of its surrounding environ-ment in addition to its local connectivity capabilities. It may also be aware of the physicallimitations and of individual devices within the wireless range or within the wired network isassociated. The aim of the interface provided by the controller to the distributed frameworkcomponent is to provide enough yet abstract connectivity properties of the devices participatingin to the distributed network. In addition the controller hides the complexity of multitrasportcontrol mechanisms as a connectivity cost function interface.

In a very beginning, a SIB or the SIBs should establish the SIB distributed infrastructureby sending a Join message (Figure 3).

Such Join message contains an authentication part, [1] When the mSIB receives this Joinmessage it checks it with authentication mechanism [1] and if it fails it tells the newcomer thatJoin has failed. If the mSIB does succeed with newcomer authentication it sends confirmationto Join message. When the confirmation to Join message received then the SIB is confirmedSIB distributed infrastructure member.

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 61: M3 Information SmartSpaces Technology Overview

61

Figure 6.3: Smart Space, join procedure

6.4 Description

Since the SIB distributed infrastructure management is driven by the Heartbeat message ex-change, each SIB has timer to track these Heartbeat messages. The events whether the SIBreceived Heartbeat message from mSIB or any neighbour SIB within a certain period of timeare tracked.

Regarding mSIB to SIB interaction, there are several cases when the SIB should executeJoin the SIB:

- If the timer expires, no Heartbeat message is received in a given period of time willmean that the mSIB is down and the SIB should Join the SIB distributed infrastructure again.

- If it gets Quit message, SIB should leave the SIB distributed infrastructure

If the SIB sending Join message doesn’t have a confirmation message this SIB broadcastsmessages offering to become the mSIB. If the SIB gets “mSIB exists” message this SIB tries toJoin again with preserved stability factor. If after the SIB broadcasts the packets offering tobecome the mSIB, it gets no response within predetermined amount of time, it sends broadcastresponses to inform everyone in SIB distributed infrastructure about new credentials and fromnow on acts as the mSIB of SIB distributed infrastructure. If there is response from mSIB, andif the stability factor is above the threshold to become mSIB, it sends broadcast responses toinform everyone in SIB distributed infrastructure about new credentials and from now on actsas the mSIB of SIB distributed infrastructure.

If during the process of mSIB handover (Figure 4) SIB has no notification that another

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 62: M3 Information SmartSpaces Technology Overview

62

Figure 6.4: Smart Space, handover procedure

mSIB exists and is thinking that it is the only mSIB but keep receiving Quit message, the SIBmust return and try to Join again.

During the lifetime due to the fluctuations of the stability factor of any SIB, includingcurrent mSIBs, and, due to involuntary faults, the managing functionality can migrate to anyother SIB.

There are three main approaches to maintain the infrastructure (chained by stability ofthe distributed infrastructure, it means that each stage represents maturity of the infrastructureand is used by controllable takeover mechanism):

1. all Smart Space members, SIBs, are able to see all packets and applies incremental routingtechnique to forward the message to the appropriate Smart Space member, SIB

2. mSIBs are managing and determining the packets to be send and forward to the appro-priate Smart Space member, SIB

3. when SIB routing mechanism has query update capabilities, then this method is used. Itis the case when routing technique is extended by the local information that particularSIB can provide [103]

The mechanism of determination which Smart Space member is to process a message and allowother to disregard the message is based on incremental key routing [6].

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 63: M3 Information SmartSpaces Technology Overview

63

6.5 Discussion and Conclusions

Our approach intelligently utilises stability factor calculation based on the information manage-ment approach [9]. Therefore, it serves as leveraging information dissemination throughout thebalanced query/insert/retracts. Tracking the most relevant requests of the information throughthe scalable, energy efficient mechanism. Whole approach efficiently utilises different computingplatform, though some complexity in computations exists.

This approach can also be applied to improve the fault-tolerance of the space as a wholeto information loss. While not our targetting focus this particular area provides many suitableideas which are being explored.

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 64: M3 Information SmartSpaces Technology Overview

64

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 65: M3 Information SmartSpaces Technology Overview

Chapter 7

Network and Content AwareInformation Management

Sergey Boldyrev, Ian Oliver, Ronald Brown, Juha-Matti Tu-upola, Arto Palin, Antti Lappetelainen

The presented approach addresses the problem of query and persistent query (subscription) res-olution, taking into consideration distribution across multi-domains, network infrastructure andcontent management. This approach is particularly suitable for information-centric and cloudcomputing applications based around a mobile-device infrastructure.

Originally published:

The 4th International Conference for Internet Technology and Secured Transactions (ICITST-2009), November 2009

7.1 Introduction

Traditionally, distributed information management has been based on sets of rules or policieswhich are predetermined by benchmarking and testing. These techniques may provide usefuland accurate results when the architecture of a distributed information system is static. How-ever, such solutions to distributed information management problems can generate non-optimalresults when applied to dynamically changing environments, such as smart spaces.

Modern mobile device 1 usage is moving towards implementation in smart spaces. A smart

1particularly in our case though we obviously include ‘fixed’ devices such as personal computers

65

Page 66: M3 Information SmartSpaces Technology Overview

66

space may be an environment where a number of devices may use a shared view of resources andservices through a non-centralised, information-centric and cloud computing infrastructure [86].In this regard, smart spaces can provide improved user experiences by allowing users to flexiblyintroduce new devices and access most or all of the information available in the multiple devicesystem from any of the devices. However, a problem with information management in smartspaces can be that the location of desired information is not static. As a result, difficulties canarise in predicting the most efficient paths to access data included in the devices of the smartspace.

Smart spaces include the concept of a shared repository of information, also known as awhiteboard, blackboard or tuple-space. The whiteboard can be considered as a storage elementto which every device or node in a smart space has access [78]. Logically, only one whiteboardexists in a smart space and hence every device has access to the very same information. However,the whiteboard is merely a logical concept, and in reality the whiteboard may be comprised ofa multitude of physical data repositories.

7.2 Background

A challenge in providing consistent information management in a smart space is that the re-sources (e.g., the storage components comprising the whiteboard) are distributed over severalphysical devices, and as a result, the information consumers are not always in, or part of thesame device as the desired information. For example, a number of content capturing devices(e.g., cameras, microphones, etc.) may provide information, while other content renderingdevices (e.g., displays, speakers, etc.) may retrieve the information for presentation.

A trivial means for managing the shared information in these dynamic environmentsso that any device may readily retrieveMDMD09 queried information could be to copy allinformation to all devices. However, such a solution is typically unfeasible because some devices- especially mobile devices - may have limited capabilities (i.e. connectivity and bandwidth,storage space, computation abilities, etc.) and the cost (e.g. power consumption, impact toperformance, etc.) of transferring all information over a communication channel to all devicesmay be excessive. Further, the dynamic architecture of the smart space also makes it difficultto guarantee that all the information will reach every device.

Alternatively, a combination of replication, stripping, dispersing and caching can be usedto improve performance and information search efficiency, but it is not sufficient in a dynamicallychanging environment of a smart space. In such an environment a certain amount of statisticallearning and clustering analysis is usually needed to forecast information request patterns withrespect to the requested information location. However, even that still leaves the followingchaMDMD09llenges unsolved:

• Achieving high degree of predictability and responsiveness

• Making the management of the system adaptive to dynamic changes in the whole infras-tructure and its content.

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 67: M3 Information SmartSpaces Technology Overview

67

Figure 7.1: Smart Space architecture

Futhermore we also see the need - based upon the above constraints - for any distribution systemnot to be simply a synchronisation mechanism but rather one that supports more intelligentasymmetric distribution that can take into consideration aspects such as context and even legalrestrictions such as copyright and intellectual property.

Accordingly, the development of a mechanism for solving these problems while still pro-viding the best possible user experience in terms of latency, reliability, or any other quality ofservice criterion is desirable. In particular, it would be desirable to provide a mechanism thatcan consider a dynamic network architecture, but also predict the location of desired informationwithin the network.

7.3 Description

Based on the architecture described in [83] and visualised in figure 7.1 the Information store ofa Smart Space (Figure 1) stores the information of the Nodes, and any other information seennecessary by the Smart Space. This can include, for example, information of current state oractivity, observations of the outside world or just maintenance information.

There are a fixed number of Information stores {Nstor}. Each store may have a connectionto another which can be expressed in terms of a cost function. Nodes are the basis for allfunctionality within a smart space. Node has three important parts, namely External Interface,Information store Interface and Task. External interface considers Nodes’ interaction withthe external world (e.g. with respect to end-user). Information store interface is used toput information to and react on the information in the information store. Task defines therelationship between these two dimensions. Nodes can insert information, remove it, subscribeto the information by means of the persistent query (subscription) and cancel such subscriptions.

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 68: M3 Information SmartSpaces Technology Overview

68

There is Supervisor per each interface which monitors the frequencies of inserts and removalsas well as subscriptions and appropriate cancellations are taken to determine the best placeof subscription and inserts allocation. Thus the most demanded information is tracked, andthe information gain can be constructed. The connectivity information gain is provided by theconnectivity Controller, and the following key elements constitute the core of the approach:

• planning a path to target information - constructing an optimal path to the information,in the scope of the network and data properties, or, using hints to form the path.

• analysing information concentration (information divergence, in the sense of the querysatisfaction and information location)

• using queries and subscriptions to derive additional knowledge for shaping the path totarget information

While in the process of query/subscription distribution a certain number of Supervisor Interfacesand appropriate Information Stores can be determined as Information Gateways, which are theentry points and disseminators of all information related to query/subscription resolution. Thus,any further queries access only Information Gateways to fetch queried information, which is doneby means of acyclic graph management. There, the Information Gateway constitutes the rootstructure of such graph.

A method is presented for optimal query/subscription distribution in a smart space usinga combination of content and connectivity information.

7.3.1 The system

Considering the information access as a following 4 steps in resolving a Node query or subscrip-tion,

1. query information locally

2. check results as a match for the original query

(a) if not satisfied, then the query is forwarded to the next best information storecandidate

(b) certain accompanying information re-distribution actions should be taken then

3. actual access to information and referred content

4. respond to a query

In fact the information distribution (Figure 1) can be represented as a model of the actualbehavior of a certain system part (Figure 2).

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 69: M3 Information SmartSpaces Technology Overview

69

Figure 7.2: Distributed information framework

Despite the fact of multi-domain convergence still distributed information managementstands on complex and computationally expensive cross-domain relationships findings and ex-trapolations. Thus, most of the systems encounter issues in scalability, robustness and durabil-ity.

The main reason of such issues comes from the intelligent engine, which is based oncomplicated cross-correlation findings and analysis. Even though such complexity, and cor-responding overhead, is (compensated) by resulting performance, it is obvious to see limitedapplicability in case of energy and computationally constrained mobile device. Therefore thisraises the question of balanced, in energy and computational aspects, distributed informationmanagement construction - managing information allocation with minimum cost; allocationmechanism which is aware of information features and network properties at any moment oftime.

Zooming in existed distributed information management infrastructure the following typ-ical considerations are valid. A three tier architecture incremental low-level routing mechanism,a distributed query planner and a distributed directory management mechanism. Any layerabove distributed directory management is defined to serve as a distributed information loca-tion and retrieval mechanism. The main purpose is to guarantee sustained information evolutionmanagement, serialization and access control. To undertake such actions in most efficient (in-telligent) way a decision update mechanism considered. Decision update mechanism utilizesinformation gathered from meta-data (actual content and query related) and network, which isfused and delivered as a conditional rule.

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 70: M3 Information SmartSpaces Technology Overview

70

Incremental low-level routing mechanism provides routing and message passing facilitiesbetween network mapping facilities and connection selection/transfer.

Below the incremental low-level routing layer a corresponding connectivity should beprovided. By means of that any network specific information is delivered by connectivity layerand by means of intelligent workload control with service info which includes connection specificdeta The granularity level of information can be adjustable.

As it is defined by [11], intelligent workload control can be based on external servicesspecifications which are performance requirements and utilisation, e.g. access pattern. Thecentral role of intelligent workload control plays is infrastructure resource provisioning subsys-tem which is based on workload-resource mapping and distribution-admission control. Thesetwo parts absorb information from actual network topology and service availability, and net-work conditions and traffic patterns. All elements above are converged by means of resourcemanagement and actual performance measurements.

Under current approach there are two main domains to gather information from. Theyare data specific and network specific domains. Data specific information can be delivered bydistributed object file system infrastructure and can consist of commonly used meta-data, objectdistribution and hierarchy. Network specific information is delivered by connectivity layer andcan consist of actual network topology, network conditions and traffic pattern information.

From the Network side the following information is relevant to network specific domainanalysis (for example).

• Interface properties

• Adjacent nodes properties

• Last action type

• Timestamp of the last action

• Node access info

This information is provided by the intelligent connectivity controller. Intelligent connectivitycontroller is aware of its surrounding environment in addition to its local connectivity capa-bilities. It may also be aware of the physical limitations and of individual devices within thewireless range or within the wired network is associated. The aim of the interface provided bythe controller and visualised in Figure refFigss the information distribution framework compo-nent is to provide enough yet abstract connectivity properties of the devices participating into the distributing network. In addition the controller hides the complexity of multi-transportcontrol mechanisms as a connectivity cost function interface.

In time domain the connectivity controller may have a multi-radio controller function thatis responsible for allocating connectivity resource based on the communication medium activity,resource availability, and wireless spectrum availability to mention few. It has no direct effectto the interface provided to the distribution framework. Connectivity controller implementsprotocols and data types for creating network topology map and connectivity technology map

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 71: M3 Information SmartSpaces Technology Overview

71

of the environment. These two property maps enable more sophisticated and power efficienttransport selection upon data delivery. Also, the connectivity map protocols may be used toshare information about the physical properties of each device in the operating in the networksuch as remaining battery life, available memory resources, computational capabilities etc. Thisinformation may further assist connectivity controller to draw conclusions about the most op-timal next node to which the data should be delivered. One of the main advantages of suchintelligent connection controller is that in the presence of multi-transport devices, heterogeneousnetworking technologies may be used to perform one data delivery task. For example, due tothe dynamic nature of ad hoc networks the initial data delivery from one node to another maybe done with Bluetooth but when the receiving node moves out of the range of Bluetooth radiothe connectivity controller may open another connection between the nodes using WLAN andcontinue data delivery. The decision of such intersystem hand-over may be done based on theconnectivity map information and physical characteristics of the participating nodes. Finallyall the information may be provided as an input to the cost function which the distributingengine may use to determine data locality and availability.

7.3.2 Usage

Since there is similarity with storage infrastructure, two essential data related analyses are vitalhere – data locality and concentration. Data locality is analysed in terms of temporal andspatial locality.

Data locality shows the actual proximity of data to the potential consumer in terms ofcosts. Since cost function is rather compound dependency from several parameters, obviously,proximity is determined in terms of those parameters and is non-linear by nature. The infor-mation provided by the connectivity layer as it is described above, i.e. available connectivitytechnologies, neighbor devices and their connectivity capabilities etc. is the input to the costfunction. Also the device characteristics and capabilities like remaining battery life, free mem-ory resources etc. can be considered as input of the cost function when determining the datalocality and the optimal path to that information.

Data concentration shows the number of available data pieces per certain locality (e.gwithin certain proximity). Data concentration serves as input parameter of local workloadmodel and, is derived from content dispersing estimation and data tracker.

Therefore the path construction converges to the efficient query requests update rulemechanism which is based on two domains information analysis and fusion. Since informationwhich is used to update the management rule is rather independent (orthogonal) there are noways to use correlation analysis and any derivative as well. Considerably different approach con-sists of domains (data and network) decomposition and fusion based on parameters covarianceanalysis.

The optimal operational mode above is determined by reliability (e.g. data loss, consis-tency), performance (e.g. latency, throughput) and power consumption strategies of the overallsystem.

The operational mode controls, for example, whether it is better to replicate information

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 72: M3 Information SmartSpaces Technology Overview

72

to several places for the easy query intersection or to pass the query to some close, however,remote location relative to the information original location while replicating information there.

7.3.3 Strategies

For different aspects of the system we explain the strategies used by the distribution system.

Power consumption: Different devices have different power budgets and constraints (e.g.battery vs. mains powered). The power consumption associated with the connection mainte-nance and data transfer between the devices varies and should be considered in calculating theoverall cost.

Performance: The future latency requirement for the particular information access isestimated by monitoring the local and remote workloads [108]. The information subscribersmay embed some meta-data for the additional latency requirements to the query.

Reliability : Due to the dynamic nature of the system some particular information accessmay not be granted at all times. This compromises the reliability and availability of the data.To counter this, the redundancy of the information and/or query can be increased. For example,the information can be replicated to several places or, by any other means, information can bedispersed to minimize the loss if one or more information sources become unavailable.

Operational strategies are to be selected in terms of the above mentioned three dimen-sions. For example a strategy can aim to minimize the power consumption while meeting thelatency and reliability constraints. Latency minimization and reliability maximization strate-gies are constructed in a similar way. Further, by introducing weighting factors, multiple (orall) dimensions can be optimized simultaneously.

Operational strategies are taking in account storage space constraints as a prime limita-tion of any physical device. Due to the approach presented in the current mechanism, which isbased on redundancy after stored information is dispersed, there is natural relationship betweenstorage space and above mentioned parameters. The process of content dispersion consumesa particular additional storage space which means additional spending of power, changes ofreliability and performance (in particular latency). If dispersed information is replicated, obvi-ously, these dispersed blocks incur additional storage space needs and consumption is growingfurther. In that scope any increase of a redundancy (in terms of pure disperse or replication,or both of them) leads to the changes in terms of power, data reliability and performance, thusproviding the relationship between storage space consumption and all three parameters whichare explained above.

Proposed path to the target information, the allocation of the subscriptions and theinformation fusion scheme can be characterized by the convex combination of two domainsinformation covariances. As a baseline it takes a convex combination of the means and covari-ances in the information space (two domains space). Thus, cross-domain and communicativeuncertainties are filtered out.

Therefore, from the context specific actions the following allocation and retrieval mech-

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 73: M3 Information SmartSpaces Technology Overview

73

anism can be efficiently constructed utilising data-network specific information analysis andfusion (in terms of smart spaces):

• Group-based (physical device action, data reliability-energy-performance-timing)

• Subject-based (Smart space node action)

• Content-based (codewords, say data blocks, action)

Algorithm sketch can be presented as follows (Figure 3):

1. Decision rule bootstrapping and information gain construction

2. Domain X (network related) feature selection

3. Domain Y (data related) feature selection

4. Features weighting and filtering

5. Covariance calculation

6. Convex covariance calculation [53, 32]

7. Decision rule updates (p. 2)

8. Append updates to workload model (encode updates by means of action model)

9. Back propagate using intelligent workload control infrastructure [11]

To satisfy the needs of proposed approach each Smart space physical device should to providefeature selection from the data specific and the connectivity specific domains. The fusion andupdate scheme should be constructed afterwards.

The connectivity related information gain (characteristics gain) is obtained from the Con-nectivity controller, as it is presented above.

Data specific feature selection consists of meta- and raw data filtering and decompositionfor the further fusion. The connectivity specific feature selection consists of network/connectivityinformation filtering and decomposition for the next step fusion. The process of feature selectioncan utilize any existing filtering technique like particle filtering [101]. In particular, informationgain is obtained by aggregation of meta-data from low-level data allocation analysis, meta-datalike inode straight through the meta-data provided by storage filesystems, bindings betweenhigh abstract information and Information stores content.

Considering that the information gain of the data related domain can be constructed bythe assumptions presented in [102] by taking a set of aggregate queries Q = {q1, ..., qm} over aset of k distinct data sources, a set of data source readings may be a vector x = (x1, ..., xk) ∈ ℜk.There is an assumption that any query requests are aggregate value of some subset of the datasources at some desired frequency. This then allows each query to be expressed as a k -bit vector:

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 74: M3 Information SmartSpaces Technology Overview

74

Figure 7.3: Algorithm flowchart, as it is seen by the particular mobile device within SmartSpace

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 75: M3 Information SmartSpaces Technology Overview

75

element j of the vector is 1 if contributes to the value of xj , and 0 otherwise. And. as a result,the value of query qj on data source readings x is expressed as the dot product qj · x.

Once the features are extracted and the information gains are constructed they can bepassed to the actual fusion stage. Since fusion of the convex combination of two domain covari-ance is used, the process include the following [53, 32]. There, starting from two given estimatesx1 and x2 of the true state x with corresponding positive definite error variance matrices P1 andP2, a combined estimate x with error variance matrix P can be sought. The overall estimatecan be given by basic convex combination of the two estimates, and, it is as follows [53, 32]

P−1xx = ωP−1

x1x1+ (1 − ω)P−1

x2x2

P−1xx x = ωP−1

x1x1x1 + (1 − ω)P−1

x2x2x2

where ω ∈ [0, 1]. The free parameter ω manipulates the weights which are assigned tox1 and x2. Different choices can be used to optimize the update with respect to differentperformance criteria.

The resulted estimation is used to update initial set of aggregate queries and to embed thenecessary changes to the initially received queries. It is important to note that current approachcan be easily extended to the information concentration management, as it was mentioned above.There, the updated estimate will be used to track the allocation for the certain informationdistributed in the network and stick it to the set of aggregate queries that are targeted for thatinformation. Thus, a dual side optimization is possible, from the query and from the informationlocation, concurrently.

Current approach is defined as glue for the intelligent workload management and querydistribution. Since access analysis behaviour is different from query distribution and triggering,some assistant four step analysis can be defined. Query and inserts analysis consists of inserts orquery issue, respond, match and actual access decomposition. Currently, workload management[11] is able to create workload models generated by actual accesses. Three other steps can beconsidered separately. As was defined above current approach treats any nodes activities as anabstract information gain vector and feeds with that fused entity. As a result query distributionand subscription allocation can be optimised and updated due to the actual network and dataspecific domain status.

7.4 Discussion and Conclusions

The presented approach provides robust scalable mechanism which is device energy efficient andefficiently utilises different computing platform.

An implementation of this has been made and is currently implemented in our SmartSpaceinfrastructure which utilises Semantic Web principles [83, 86]. Use of this distribution allowsus to automatically expand the search space and assists in controlling the privacy and sharingof the user’s information implicitly.

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 76: M3 Information SmartSpaces Technology Overview

76

The effect upon the performance of the system as a whole is negligible with networklatency over mobile networks and even fixed networks being more of a problem. Such problemscan be solved by selective caching and more advanced information representation mechanisms- these are the focus of our current research.

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 77: M3 Information SmartSpaces Technology Overview

Chapter 8

Operations on Spaces of Information

Ian Oliver, Sergey Boldyrev

Space-based computing environments are based around numerous, discrete sets of informationwith internal reasoning, interaction and semantics. These spaces of information can be treatedas first-class entities and have interactions between themselves as spaces. We develop a simpleset of base operations between individual spaces that preserves the integrity of the informationcontained within those spaces through larger grained semantic structures (eg: RDF molecules)and historical information about past interactions. We then show how this forms the basis ofextended and possible-world queries and how such features are manifested in common scenarios

Originally published:

Nokia Technical Report, May 2009

8.1 Introduction

Computing environments based upon information space are proving popular in Semantic Web,context gathering and personal information management situations because of their suitabilityto delineate or bound information on a per-scenario basis.

Information spaces thus provide natural mechanisms for distribution, privacy, trust andinformation ownership [78]. In addition to this, based upon general tuple-space principles, theyalready have the necessary theoretical [36] and practical [23] underpinnings for computing andthis has already been seen in agent based environments such as M3 [82] and Tripcom [58, 18]and are now becomming integrated with notions such as cloud computing.

77

Page 78: M3 Information SmartSpaces Technology Overview

78

As we see more personalisation and localisation of these environments [10, 86] the needfor more sophisticated sharing mechanisms between information spaces [12] is required. Thesesharing mechanisms while at the outset appear to be simple union and partitioning of the spacesprove more difficult because of the internal interactions of the information and the semanticstructures governing that information.

In this paper we present the base mechanisms to allow the interaction of informationspaces at the level of the spaces themselves, show how the history of operations over spacescan be utilised to form ‘memories’ or ‘histories’ and then how this can be used to provide anextensible query framework over multiple spaces.

The motivation for this is to explore the interaction between the spaces themselves (andtheir subsequent use cases) and the information contained within the spaces. A simple parti-tioning of a graph will result in losing information at the boundary of the partition. This loss isactually in terms of the larger, more semantically relevant structures, than of individual RDFtriples. We aim to minimise this loss of larger structured information and subsequently usethese ideas to store historical or memories and then utilise that to enhance query options overthose memories.

8.2 Background

Mobile devices with various methods of connectivity which now constitute for many as beingthe primary gateway to the internet and also being a major storage point for much personalinformation [48, 61]. This is in addition to the normal range of personal computers and fur-thermore sensor devices plus ‘internet’ based providers. Combining these devices together andlately the applications and the information stored by those applications is a major challenge ofinteroperability [100, 104].

We have constructed a system for achieving this [85] through numerous, individual andpersonal spaces in which persons, groups of persons etc can place, share, interact and manipulatewebs of information with their own locally agreed semantics [87]. A pictorial idea of the mainconcepts of this system in shown in figure 8.1. Personalisation is achieved through explicitlydemarking a space in which information is stored and agents have access. Within each spaceinformation is organised according to the owner (or owners) of that space. For an agent toobtain entry to that space then it is made on the terms of that space.

The kinds of information that are stored in a personal space vary but initially contactslists, media files (links to media), personal information management data (calendars etc), emailand other personal communication etc. This easily expands to information feeds such as thoseprovided through RSS and even WWW interfaces, family or community information, socialnetworking and so on. These kinds of information can be then further augmented by tagging,internal links and more sophisticated equivalence relationships such as might be seen betweensocial networking contacts, contacts lists, calendars etc. In addition more static and thus moreexternalisable information can be stored or referenced in the same manner - such informationmight be census records, telephone directories, media aggregation (Nokia Ovi, Facebook etc) oreven cultural and scientific information [47].

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 79: M3 Information SmartSpaces Technology Overview

79

executing on

interacting with

usesI

Delta(I)

Users’ "agents"

User(s)

resides on

...and others...

Users’ devices/servers/etc

Figure 8.1: Users, Agents, Devices, Spaces and Information

8.3 Basic Operations on Spaces

A space is defined as a 3-tuple containing a unique name, an RDF graph [41] of informationand a set of rewrite rules [77] over that information:

S=(n, I, ρ)

As a shorthand we write Sn to refer to space name as similarly In and ρn to refer to theinformation content and rules. The deductive closure [63] for Sn is denoted ∆n where ∆. Asdescribed all queries on a space are actually over the deductive closure ∆ and not the baseinformation set I. It is assumed that each space has a unique name and there exists a set ofknown spaces.

The operations to insert, retract and query information are assumed to exist such that intheir basic forms:

insert(n, g)=(n, I ∪ g, ρ)

remove(n, g)=(n, I − g, ρ)

where g is a graph of information and in the case of a query q on spacen:

query(n, q)=∆n |= q

this returns the subgraph which conforms to q.

8.3.1 Merge

Given two existing spaces a and n the merge operation in a purely monotonic environmentreturns the spaces a merged with n and the unchanged n such that the information sets containedwithin are joined - graph union in this case and similarly with the rule sets:

merge(a, n)=

{

(a, Ia ∪ In, ρa ∪ ρn)(n, In, ρn)

}

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 80: M3 Information SmartSpaces Technology Overview

80

The operation of merge does not necessarily remove the space being merged from existence,though this is a potential addition, ie:

mergeD(a, n)={

(a, Ia ∪ In, ρa ∪ ρn)}

However here we have a problem in that two particular nodes in the information graphsmight have differing URIs but represent the same element of information. A mechanism forunifying two graphs at the information level is required; here the graph provenance problemwith respect to information graphs is largely an open problem. The solutions for provenancethat are described in [26] and [75, 74, 34] provide the basis for such mechanisms. Here we simplybind these mechanisms into a generic operation Υ.

Similarly we have a problem when dealing with non-monotonic logics [15] that pairs ofrules can conflict. Some mechanisms for rule conflict resolution are known [107]. We representthe conflict resolution function as δ given a new definition of merge as:

merge(a, n)=

{

(a,Υ(Ia ∪ In), δ(ρa, ρn))(n, In, ρn)

}

Under this and the other operations, given two spaces a and b, the following hold: (Ia ∪Ib) ⊆ Υ(Ia ∪ Ib) but because of the non-monotonicity of the rule sets this is not necessarily trueunder the deductive closure, that the following may not hold: ∆(Ia ∪ Ib) ⊆ ∆(Υ(Ia ∪ Ib)).

8.3.2 Split (or Partitioning)

A space n can be split or partitioned into two spaces according to some partitioning criteriaover the deductive closure ∆n and rules ρn. For a partitioned space a the partitioning functionφ is defined such that the set of rules and information set of a must be enough to ensure thatthe partitioned deductive closure is met; an optimisation of this is to find the minimal set ofinformation and rules to preserve this. The function φ is actually a 2-tuple (φI , φρ), that isit contains two individual filtering functions for the information and rules - in this paper thecontext of which particular function to use is obvious from the context and we just write φsubscripted with the name of a space as necessary.

Thus split is defined as below where n is an existing space and a is a new space (thisfollows for all definitions of split given later):

split(n, a, φ)=

{

(a, φa(In), φa(ρn))(n, In, ρn)

}

where

∆a = ∆(φa(In), φa(ρn))

The information sets Ia and In may necessarily overlap; similarly for the rules ρa and ρn.

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 81: M3 Information SmartSpaces Technology Overview

81

8.3.3 Projection

To project from a space n one requires the name of space, eg: p and a partitioning function φanalogous to that seen with split. However here we are required to keep track of the partitionedspaces and this requires an additional value to be added to the definition of space where P isthe set of names of partitioned spaces.

S=(n, I, ρ, P )

Projection is thus defined analogously to split where n is an existing space and p a new space:

project(n, p, φ)=

{

(p, φ(In), φ(ρn), ∅)(n, I, ρ, P ∪ {p})

}

where ∆p = ∆(φ(In), φ(ρn)).

The nature of projection is such that a tree of projected spaces can be formed - asvisualised in figure 8.2 - and thus no circularity is possible. Also in figure 8.2 we can see suchfeatures are the selection functions φ1 and φ2 overlapping in ∆I , multiple levels of projectionand many projections from a single space.

I

Delta(I)

projection−−−>phi1

Delta(P1)

P1

phi2phi3

P2

Delta(P2)P3

Delta(P3)

projection−−−>projection−−−>

Figure 8.2: Projections

When inserting information into a space, one simply adds the information graphs together,ie:

insert(n, g)=(n, I ∪ g, ρ, P, . . .)

under projection this simply becomes:

insert(n, g)=(n, I ∪ g, ρ, insert(P, i))

where insert is made over each projected space which in turn propagates recursively over thetransitive closure of projected spaces. Operations of retract and update are defined similarlywhile query is local to a space and does not propagate.

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 82: M3 Information SmartSpaces Technology Overview

82

8.3.4 Injection

In order to return the contents of a projected space back to we inject the projected space backunder a filter φ; the filter is included to remove any inserted information that is not required.The injection also induces a merge of information over any projected spaces; again both spacesi and n must exist:

inject(i, n, φ) =

fail : i ∈ Pn

(n, In ∪ Ii, ρn, P − {i}) : i 6∈ Pn ∧ Pi = ∅(n, In ∪ merge(Pi, i, φ), ρn, P ) : i 6∈ Pn ∧ Pi 6= ∅

The space i must be an immediate projected space of n. Note also that the projectedspaces from i are no longer addressable and can be considered no longer in existence. Inthe case where i has projections these are merged back into i recursively over the closureof projected spaces of i.

8.4 Histories and Extended Queries

In this section we extend our notion of a space to cover various aspects of the split andprojection as well as storing histories or ‘memories’ of the ‘social-life’ of the space andhow this can be used to extend the information returned under query.

8.4.1 Boundaries and Molecules

There exist larger grained structures within RDF (or information) graphs based uponontologies, two of these are RDF molecules [26] and named graphs [19]. Molecules aredefined according to some ontology whereas named graph are defined as a particular re-gion of a graph; here we consider molecular-like structures only. Given a graph underdeductive closure ∆ and set of ontologies W we construct in the manner of [26] a decom-position as a lattice of molecules ordered by graph inclusion; we denote this: d⊂(n, W ).Neither the top nor bottom elements representing the empty molecule or the completegraph necessarily exist; though the latter exists if the set of ontologies specified completelycovers the graph.

Given a graph and a partitioning function φ we can divide the graph into twoparts: one subgraph which satisfies φ which we denote S and the complement denotedC. Because we are dealing with RDF triples there are individual nodes which exist in

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 83: M3 Information SmartSpaces Technology Overview

83

both subgraphs. These nodes in the intersection are said to be boundary nodes:

boundaryNodes(n, φ)=

nodes(φ(∆n))∪

nodes(∆n − φ(∆n))

When splitting and projecting information spaces it is generally necessary to takemore semantically ‘complete’ structures, ie: molecules, rather than triples. This min-imises the loss of information at the ‘edges’ of the graph caused by indiscriminate breakingof arcs between nodes.

For each boundary node we can select a molecule from ∆⊂ which contains thatboundary node. Generally this is guided by some heuristics but one can filter the latticeof molecules to favour some particular sub-lattice: for example, the least lower bound ofd⊂(n, W ) − ∅ for molecules of a certain size.

This boundary can be used in two ways, firstly we can use this to create a historywhich is explained in section 8.4.2 or to extend the set generated but the partitioningfunction φ, for example in the case of split:

splitB(n, a, φ)=

{

(a, φ(In) ∪ B, φ(ρn), ∅)(n, In, ρn, Pn)

}

where B is the boundary set computed according to some heuristics with respect to therequirements of that split. Projection is made analogously.

8.4.2 Histories

When a space is split information can be recorded about how that space was related tothe original split space. This requires an additional element in the definition of spacewhich is the set of histories indexed by name.

S=(n, I, ρ, P, H)

When a space is split, we can compute the boundary as described in section 8.4.1, thoughwith potentially differing heuristics and then stored in that split space’s history:

splitBH(n, a, φ)=

{

(a, φ(In) ∪ B, φ(ρn), βa)(n, In, ρn, Pn, Hn ∪ βn)

}

where B is the boundary set calculation as before and βa and βn similarly to B exceptwith differing heuristics tailored towards the information necessary for preservation ofthe history.

Under the merge operation the history information can be utilised to enhance thecore information set I of a space and thus additionally provide more information for the

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 84: M3 Information SmartSpaces Technology Overview

84

unification function Υ:

mergeH(a, n)=

a,Υ(Ia ∪ In ∪ Ha[n] ∪ Hn[a]),

δ(ρa, ρn), Pa,Hn − {Hn[a]}

(n, In, ρn, Pn,Hn)

A variation of this is to also recompute the new boundary between a and n for the spacebeing merged.

8.4.3 Extended Query

When a query is made over some space generally some result is returned. Because spacesare finite some queries will necessarily fail because of lacking information - though theinterpretation of failure depends upon whether the closed or open world assumption ismade [68]. Because of the existence of histories we can utilise this extra information toapproximate the query if run over a larger information extent [71]. For any given querythe search space can be expanded over the core information and then the core plus anycombination of histories giving a possible world semantics like structure [70] :

• If a query returns a larger result when extended over an information set which isthe union of the core I and a selection of histories from H then we can infer thatthe query involves information that may additionally be present in the spaces thatthe current space had ‘met’ in the past.

• We can order the results of the query over the various combinations of core in-formation and selection of histories to evaluate which potential spaces may haveadditional information and possibly infer the kinds of extended results possible.

The full query can be made over by merging with the suggested spaces or by projec-tion from those spaces - with the query providing information about how the partitioningfunction φ for the projection is made. Of course there is no guarantee that the desired or‘correct’ answer, or even any answer to the query is found as spaces do change over timeas they are used. However this is not the point here but rather to provide suggestions onhow an query can be better fulfilled through additional knowledge that has been gainedby space interactions in the past.

8.5 Example Usages

We present a short, series of examples demonstrating the use of these operations. It isnecessary to understand that the agents/applications executing on the users’ devices have

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 85: M3 Information SmartSpaces Technology Overview

85

access to all the information in the spaces they are connected to at all times; informationspaces are ubiquitous in nature. We split this section into two, the first presenting thebasic operations and the second presenting the extended scenarios utilising historicalinformation.

8.5.1 Base Operations

The simplest use cases for merge and split are based around copying and ‘taking away’or ‘borrowing’ information. Consider two people, Alice and Bob, who each have theirown information spaces but also a ‘home’-space in which they share and store theirinformation, contexts etc.

During the day, Alice and Bob collect information such as contacts, calendar entries,photographs and every-day items such as shopping lists. When they return home theycan merge in a sense their local spaces’ information with the larger combined space: forexample as depicted in figure 8.3 the operation of merge(“Home”, “Alice”) is made.

Alice Alice’s Space Home Space

Alice Alice’s Space Home Space

merge("Home","Alice")

A

A

A

A

A

Figure 8.3: Merging of Information

Similarly Bob may decide to split off information from the home space, such as hispreferred media collection for the day. Shown in figure 8.4 we see a new space - Bob’sspace - being created with filtered contends from the home space.

If Bob already has a personal space then the operation here is made in two steps,first the split of information from the home space into a new, temporary space and thenthe merging of this space with Bob’s space. The temporary space can the be forgotten.In implementations this split-from-old and merge-with-existing operation would appearto be a single, atomic operation:

splitAndMerge(a, n, φ)=merge(a, split(b, temp, φ)temp)

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 86: M3 Information SmartSpaces Technology Overview

86

Home SpaceBob

split("Bob","Home")

Home SpaceBob Bob’s Space

A

A

A

Figure 8.4: Splitting of Information

Consider now the situation where Alice wishes to share a selection of photographswith her friend Eve. Given that Alice doesn’t necessarily want to give Eve’s agents andapplications access to all the information her (and Bob’s) home space she can project outa filtered selection of information to Eve as depicted in figure 8.5.

Eve can now interact with that space of information, while Alice can interact withthe home space. While Alice’s updates are propagated to the projected space, Eve’supdates are not necessarily automatically injected back. While this could be automated,the basic operations here do not take this into consideration as this is considered to bepart of any surrounding architecture and logic.

Finally we can see in pictorially in figure 8.6 the temporary space provided to Evebeing injected back with filtering to the home space. In the meantime, to preserve thetemporary space, Eve might enact a split and merge similarly to that described with Bobearlier. This of course brings up again the notion of data ownership - does Eve own thepicture? - and the security implications; again such facets are not considered at the leveldescribed here but do appear in preliminary form in the implementation of this system.

8.5.2 Extended Querying

Consider the situation where a user Alice is interacting with her work space. Containedwithin this space is a contacts list for Alice’s colleagues. When Alice decides not tointeract with the work space she splits the information she is interested in and mergesthat with her own home space.

It so happens that the split contains information about her colleague Eve, that isthe URI identifying Eve happens to exist in the boundary of the split work space. A

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 87: M3 Information SmartSpaces Technology Overview

87

Alice Home Space Temp Space

projection−−−>

Eve

Alice Home Space Temp Space

projection−−−>

Eve

Alice

project("Home","Temp")

Home Space

updates by Eve

A

A

A

Figure 8.5: Projection of Information

simple ontology in ALCN describing persons:

Person =

name[1] → [1]Nametel[1] → [0..many]Numberfax[1] → [0..many]Numberemail[1] → [0..many]EmailAddress

where Eve happens to have the record:

uri : //eve : Person =

name = ”EveSmith”tel = ”12345”fax = ”34567”email = ”[email protected]

As we have stated, we can process the boundary according to rules of RDF moleculegeneration and produce a set of structures which all conform to the given ontology. Inthis case the smallest molecule which conforms to the given ontology (for Person) is:

uri : //eve : Person =name = ”EveSmith”tel = ”12345”

Larger RDF molecules include this and various combinations of the other properties.

The heuristics that Alice applies means that the smallest molecules are included inthe split while the next largest molecule including the telephone number are added tothe history.

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 88: M3 Information SmartSpaces Technology Overview

88

Alice Home Space Temp Space

projection−−−>

Eve

Alice Home Space Temp Space Eve(removed)

<−−− injected

inject("Temp","Home")

A

A

Figure 8.6: Injection of Information

Later when Alice is searching for email addresses she executes to return the list ofPersons showing names, numbers and email addresses. The list returned in this instanceis:

name tel email

Bob Smith 55566 bobsmithco.mocEve Smith

Now that Alice has no results about Eve, she decided to extend the query overpossible historical information - Eve’s information might have been present in other spacesin which Alice has had interactions with. If Alice extends the query over the histories ofher home space, this includes the historical information for her work space, which as wehave noted earlier contains more information about Eve; in this case the query returns:

name tel email history

Bob Smith 55566 bobsmithco.mocEve Smith 12345 work

Note that we now have the additional information about the telephone number andinformation from which particular history this was found - it is possible that there ismore than one. Given this information that the work space was involved, Alice nowhas the knowledge that more information can be found from that given space. She has anumber of options here which are primarily to direct the search agent to interact with thework space and her home space simultaneously and aggregate the results or to perform acombination of split, merge and projection with the work space. This also gives Alice the

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 89: M3 Information SmartSpaces Technology Overview

89

possibility to update the heuristics for the split and boundary calculations. The resultsreturned this time are:

name tel email

Bob Smith 55566 bobsmithco.mocEve Smith 12345 evesomecomp.moc

8.6 Conclusions

We have provided a definition of what an information space is with respect to the kindsof operations that can be made upon those spaces and of the effects upon the information- nominally stored as RDF - contained within that space.

Specifically we have concentrated on the core information, deductive closure rules,knowledge about related spaces and a historical record of spaces through merge andsplit operations. An implementation of these operations already exists within the systembriefly described in section 8.2 and has been trialled according to the scenarios presentedin sections 8.5.1 and 8.5.2.

Variations such as projecting into a space - a kind of active project and merge - canbe constructed out of these operations with some additional logic. Such operations areunder investigation with respect to their actual necessity and with regards to privacy.

Using these structures and the information contained there-in we can build thebasis for further, more sophisticated use-cases and scenarios to support novel forms ofinformation sharing while still providing mechanisms for privacy, security and trust. Wehave not deliberately made the attempt to tackle specific questions of security, privacyand trust in this paper but such mechanisms are necessarily both at the space-level andat the information level. Mechanisms supporting this are under investigation. Indeed thequestion of privacy and that of information ownership leads directly and is based uponthe operations presented here - for example, histories can be used to track provenancebetween spaces where graph provenance is one of the major problems encountered withinthe Semantic Web.

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 90: M3 Information SmartSpaces Technology Overview

90

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 91: M3 Information SmartSpaces Technology Overview

Chapter 9

Design and Validation of a DistributedComputation Environment for MobileDevices

Ian Oliver

Development of complex software systems is known to be difficult. The use of formal methods insuch developments is advantageous but often suffers from difficulty in applying such methods andthe visualisation of the results. We show here that the use of a light-weight formal specificationlanguage - Alloy - and the use of simulation traces similar to that of object-diagrams in UMLcan be effective in understanding the behaviour of such systems at analysis and design-times.

Originally published:

European Simulation Multiconference (ESM’07)

9.1 Introduction

The abundance of personal, mobile devices such as mobile phones or laptop computer withsignificant computational power, large memories - both temporary and persistent, multi-taskingoperating system and with high-speed wireless communication facilities such as UMTS, WLANand Bluetooth (see table 9.1) provides the potential for a sophisticated, distributed computationenvironment.

The Linda communication model defines a message passing method for distributed

91

Page 92: M3 Information SmartSpaces Technology Overview

92

Device O/S CPU Memory Storage CommunicationNokia N95 Symbian ARM11 160Mb up to 4Gb IR/BT/3G/WLANNokia N800 Linux ARM11 128Mb Upton 4Gb BT/WLANNokia 6600 Symbian ARM9 6Mb 32Mb+ BT/IR/3GApple iPhone OSX ARM9 shared 4-8Gb WLAN/2G/BTLaptop Windows/Linux x86 1Gb 100Gb+ WLAN/BT/IR

Table 9.1: Specification of Some Typical Mobile Devices

systems. This model has been utilised and augmented in various implementations andhas now found favour as a mechanism in web service/semantic web/Web 2.0 architecturessuch as WSMX [109], JavaSpaces1 and TSC [18].

We have an architecture based upon an augmented Linda system for the linkingtogether of processes running upon various mobile devices though the notion of a ‘knowl-edge space’ (cf: [45]). The Linda model is augmented to provide a publish-subscribemechanism with the notion of passing facts (items of knowledge) rather than messages.This provides us with an implicit communication method.

We chose to use as the development method for this particular system a pragmaticformal approach using the Alloy specification language. Alloy was chosen for the easeof use, its ability to specify dynamic systems and its suitability for producing executiontraces and analyses which are more akin to how many engineers visualise a system. Inaddition the Alloy language has a closer semantic correspondence with defacto standardlanguages such as the ubiquitous UML [25, 5, 37]. In some previous projects have usedlanguages such as B in isolation for the development of such systems with varying results[81] due to the strictness of the B-Method approach.

In this paper we describe our ‘Smart Space’ system and concepts through the use ofa domain modelling approach and formalisation in Alloy along with various simulationsof the operations of that system. We then make discussion on the validation of thedemarcation or policy structure used in that system and following this describe howthese models are integrated and simulated.

9.2 Smart Spaces

The SmartSpace System provides a method for concurrently running processes known asNodes to interact with SmartSpaces which provide publish-subscribe mechanisms acrossa Linda-like space in which are contained facts. Figure 9.1 shows the structure of thisdescribed using the UML class diagram notation.

1http://www.javaspaces.homestead.com/

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 93: M3 Information SmartSpaces Technology Overview

93

Node

SmartSpace

Session

Fact

memberOfdiscovered

awareOf

buffer

target

facts

*

* *

*

*

*

sessions

1

Figure 9.1: SmartSpace System Domain Model

Applications are constructed from dynamic combinations of Nodes at design andrun-times across multiple, heterogeneous devices. Nodes interact with the SmartSpacethrough Sessions which provide facilities for the Node to add and remove facts and alsosubscribe and query for patterns of facts. Sessions can also provide additional pre/post-processing of the information as well as other functionalities relates to encryption andsecurity. They also are used to hide the underlying communication mechanisms andtechnologies.

In order to interact with a SmartSpace various mechanisms to associate Nodes andSmartSpaces together are utilised. A Node may actively search for SmartSpaces througha discovery mechanism and once a SmartSpace has been found a Node may then requestto explicitly join that SmartSpace. Similarly a SmartSpace may actively search for Nodesand subsequently invite those Nodes into the SmartSpace.

In addition to this there are various criteria which a Node has to satisfy in order tojoin a SmartSpace. A SmartSpace can be demarced by any number of criteria (fig.9.2)such as the positioning, acceptable security and identity credentials, and so on. In or-der for a join operation to be successful a Node must comply with these demarcationrequirements.

The SmartSpace itself manages the facts input and requested for by the Nodes.These facts however are pieces of information which means that the normal rules of mes-sage passing as one normally sees in a Linda-type system do not apply - communicationhere is through implicit communication as a form of publish/subscribe. Typically in aLinda system the messages are either unordered (set based) or ordered (queue based)with duplication allowed and consumption of the messages explicit. We modify this towork with information which behaves in our current implementations according to therules of the well-formed semantics.

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 94: M3 Information SmartSpaces Technology Overview

94

DemcarcationExpression

DemarcationFunction

Demarcation

Xor

Or

And

Not

Location Secure Identity

1..*

SmartSpace

<<incomplete>>

Nodedemarcationsdemarcations

* *

Figure 9.2: Demarcation Model in UML

9.3 Simulation and Validation of the Domain Model

In order to validate the requirements of the system we constructed a description using theAlloy specification language [49]. This description being based upon the model in figure9.1. This model is then augmented by the addition of the notion of time and a methodfor ordering events through time as a trace; it is this ability to simulate particular tracesthat allows us to explore particular interesting scenarios.

The traces are constructed depending upon the needs of that simulation run. Wedo provide a description of an empty initial state which is used when we wish to simulatewhether it is possible to reach a certain state, otherwise we let the Alloy tool choose anysuitable starting state which admits the events we wish to run. In this case it is notguaranteed that the said starting state is reachable from an empty initial state thoughwe can check for this. An example trace predicate that admits any starting state and oneexplicit event per time step is given below:

fact Traces {

all e:Event |

e.t’ = e.t.next

all x: Time - last |

one e:Event | e.t = x }

The second modelling choice is to choose the amount of concurrency: we can chooseat each step in time to simulate a single event or potentially multiple events occurringsimultaneously; generally we choose the former for simplicity in reading the resultingtraces. Furthermore when expressing the pre and post-conditions of the events we arefree to decide on the extent of the frame-rule [14] for those events. In a sequential, atomicsemantics as seen in languages such as B/EventB [2] the frame-rule is explicit and statesthat ‘nothing else happens’ however in the case of a distributed system with many pointsof concurrency this can prove too restrictive and mean that some interesting properties

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 95: M3 Information SmartSpaces Technology Overview

95

and situations may be lost; the disadvantage of this being that with concurrency itcan be difficult to see what is supposed to happen with the parts of the system youare specifically interested in. Furthermore restricting the concurrency, especially in thedistributed system, at specification-time has deep architectural implications later on inthe development with regards to synchronisation protocols across the system.

9.3.1 Behaviour Simulation

The static structure of figure 9.1 was simply translated into Alloy as a signatures andrelationships between signatures. The events upon the model were expressed as firstclass signatures in their own right leading to a structure based upon the responsibilityand scope of the event, this is shown in figure 9.3. All events are expressed across twopoints in time: t and t’, from this are derived specialisations with additional parametersand constraints or frame-rules if necessary as shown by the NSessFact Event signature:

abstract sig Event {t,t’:Time}

abstract sig NSessFact_Event extends Event{

n:Node,

se:Session,

f: one Fact }

{ only_NseF[t,t’,n,se] }

pred only_NseF ( t,t’:Time, n:Node, se:Session){

let others = Node - n {

others <: discovered.t’ =

others <: discovered.t

aware_of.t’ :> others =

aware_of.t :> others

others <: memberOf.t’ =

others <: memberOf.t }

}

Figure 9.3: Event Structure

The two events used in this example are given below. The first states that when afact is sent by a node to a space via a given session that the session is ‘owned’ by that

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 96: M3 Information SmartSpaces Technology Overview

96

node, the fact is not a duplicate of a fact already in the buffers and the fact does notalready exist in the system a whole. These facts appear strange but ensure that thisoperation selects a new fact that has not already been used in the system to this point.The result of this event is to add that fact to the buffer of the session.

sig SendFact extends NSessFact_Event{}

{

se in n.sessions.t

all sessions:Session |

f not in sessions.buffer.t

all s : SmartSpace |

f not in s.facts.t

se.buffer.t’ = se.buffer.t’ + f

}

The following event checks that the given buffer is not empty in the before-stateand in the after-state ensures that the buffer of that session is empty and that the factsformerly held in the buffer are transferred to the space.

abstract sig SchedulerSession_Event extends Event{

se: Session,

ss: SmartSpace }{}

sig SchedulerTakeFacts extends

SchedulerSession_Event{}

{

#se.buffer.t > 0

ss.facts.t’ = ss.facts.t + se.buffer.t

no se.buffer.t’

}

To drive the simulation one instructs Alloy to ‘run’ for a number of time stepswithout any preference to which events should occur; this provides an idea of how thesystem might behave. Typically we look for particular scenarios such as when a Nodesends a fact via some Session and the SmartSpace scheduler collects the waiting facts fromthat Session’s buffer (see event declarations above) as shown in the following example.

run { some e:SendFact, f:SchedulerTakeFacts,

s:Session | e.t’ = f.t and e.se = f.se

and #s.buffer.(e.t)>2

and s.buffer.(e.t) in s.buffer.(f.t)

} for 5 but 3 Time,2 Session

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 97: M3 Information SmartSpaces Technology Overview

97

We also restrict this simulation run to where the session buffer at the start containsmore than two facts already and that nothing else changes the state of the buffer in themeantime - at least nothing is removed and perform this for a maximum of 5 objects ofeach type, 3 points in time (number of events + 1 at least) and 2 sessions (for convenience).From this we obtain three models2 one for each point in time: figures 9.4,9.5 and 9.6.

Figure 9.4: Simulation (1) - Time 0

Figure 9.5: Simulation (1) - Time 1

It is seen from this simulation that all the facts are indeed transferred across tothe SmartSpace and nothing is left in the Node’s buffer. If no trace is found then Alloygenerates a counter-example which then details where the trace fails.

Note that Alloy only checks a finite state space and is used in according with theprinciples of the ‘small scope hypothesis’ [6] which states that most errors can be foundwithin small examples and that it is more effectively to perform systematic validationwith smaller scopes than to work with fewer tests over larger scopes. Our experience hasbeen that given the size of events and structures that these events are operating over

2Actually only one model is produced but we project over the Time to obtain graphs for each of the timepoints individually

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 98: M3 Information SmartSpaces Technology Overview

98

Figure 9.6: Simulation (1) - Time 2

simulation each one in small cases provides a much larger body of easily comprehensibleinformation rather than having to understand the results of one much larger and longersimulation.

We can explore traces related to concurrency by weakening the trace predicate toadmit more than one event per time step but running the same query - an examplesimulation then produces the models as in figures 9.7,9.8 and 9.9.

Figure 9.7: Simulation (2) - Time 0

In this case we have a more complex example generated with two sessions both ofwhich have populated buffers. It is interesting to node the during the course of sendingFact4 to the buffer of Session0, Fact3 is removed. This may be due to an error in thespecification or a concurrent action removing the fact from the buffer. In this case we areconfident that another event is occurring. Note that our declarations of the event onlystate what must be true before-hand and what must be true afterwards, we state nothing

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 99: M3 Information SmartSpaces Technology Overview

99

Figure 9.8: Simulation (2) - Time 1

Figure 9.9: Simulation (2) - Time 2

about other changes and the atomicity or transactional properties of the event and in thiscase the model in figure 9.8 is correct with respect to this. We can choose to restrict theconcurrency by explicitly ‘locking’ the buffer during this operation through expression ofa frame-rule for this particular event and then rerun the simulation to check the outcome- the results of this simulation would be that the situation seen above would not occur aswe would have enforced the atomicity of the event. As we are constructing a distributedsystem, enforcing atomicity over multiple nodes implies signalling and synchronisationprotocols which may not be possible and/or desirable to write.

A similar but even more dramatic situation occurs during the course of the secondevent resulting in figure 9.9 where as before the fact is transferred from the buffer to theSmartSpace but also facts are removed from the buffer of the unrelated Session1. Againthis is due to the concurrency/frame-rule issues which may again be desirable to keepweak thus improving the concurrent properties of the system as a whole. To adequatelyinvestigate this further simulation runs under differing conditions would of course needto be run.

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 100: M3 Information SmartSpaces Technology Overview

100

This is a good example of the small scale hypothesis where it is possible to see theeffects of the concurrency in a restricted domain where it is easily decidable whether theconcurrency and its effects are desirable. This is something that is extremely difficult oreven impossible to ascertain when presented with much larger models where the differenceis difficult to distinguish.

9.4 Demarcation Model

The demarcation model in figure 9.2 describes the structure policy mechanism by whichNodes are validated before admission to a given SmartSpace. Translation of this UMLmodel into Alloy is straightforward and Alloy presents us with the ability to generateparticular instantiations of this model; an simple example of which is shown in figure9.10.

Figure 9.10: Demarcation Model Instantiation Example

Through the visualisation of this model we can easily see what particular combi-nations are possible. By further constraining the model we can disallow certain combi-nations, for example, locations and identities may not appear in the same demarcation.Obviously as further subtypes of the demarcation functions (specialisation of locationetc) are added then these models and their constraints become more complex. If weover-constrain a model Alloy provided us with a counter-example demonstrating thatparticular case.

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 101: M3 Information SmartSpaces Technology Overview

101

9.5 Integration of Models

Our development has progressed with two separate models of differing parts of the sys-tem, though it can be seen from figure 9.2 that there is a relationship between thesemodels. Obviously some integration must be performed and the integration itself mustbe validated. The integration also implies a development step in the model and in thiscase the joining mechanism between a Node and Space must be updated to admit thispolicy mechanism.

The first step that must take place is changing the join operation by adding aprecondition to check the correspondence between the Node’s credentials and the demar-cation properties of the Space. A join may only occur if the node is not a member of thatparticular space and the respective policies match. We also ensure that the node has alsodiscovered the space before-hand and if all of the above are true then the node becomesa member of that space.

sig JoinSmartSpace extends NSS_Event{} {

policyCheck[n,ss]

ss not in n.memberOf.t

ss in n.discovered.t

n.memberOf.t’ = n.memberOf.t + ss

}

policyCheck(n:Node,ss:SmartSpace) {

n.demarcation in ss.demarcation

}

For the purposes of simulation and ease of specification we do make a simplificationat this stage and ignore the various logical operations that could occur over the demar-cation policy - hence the trivially simple policy check predicate. As the purpose of thesimulation is to visualise potential situations and understand the join operation in thepresence of policy information we consider this to be acceptable3. Indeed experience hasshown that overloading the specification with precise details at this stage - especiallywhen the simulation is to be presented to both engineers and non-engineers alike - justcomplicates the discussion about the system as a whole rather than concentrating on theessentials of the operation under investigation.

Alloy in the successful case will generate two points in time for the before and afterstates of the successful join operation as shown in figures 9.11 and 9.12. If we continuethe time steps after this event we notice that the system behaves as previously. A morethorough check would involve simulating the cases previously without the demarcationcriteria and comparing them more deeply.

esm07pictures/

3for the moment - again simple (simplified) and small examples

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 102: M3 Information SmartSpaces Technology Overview

102

Figure 9.11: Join Event with Demarcation - Time 0

We can also force the system to check if join is possible if the demarcations do notmatch. In this case as the specification suggests and the simulation run demonstrates nosuccessful instantiation of the model in this circumstance is possible.

Of course successful integration of the models also means careful modelling at similarabstraction levels though this is an area where Alloy helps because of the simplicity andstyle of specification. In the case here the work required to ‘bind’ the two models togetherinvolved understanding that the concept of Node in both was the same, the addition offa predicate to strengthen the join event and also to add a link to a demarcation structurefrom the Space.

9.6 Related Work

The use of formal methods in software engineering is not new - and Alloy has compellingexamples of industrial usage4 - however the use of more pragmatic methods which do notrely on an absolute strict method of constructing the models coupled with the ability to‘execute’ or simulate models is less frequent.

As a comparison work made as part of the EU Rodin project [21] utilising modelswritten in the B/EventB languages and coupled with the CSP [43] language to drivethose models using the tool ProB [66] is very much in the same manner as explainedhere.

4http://alloy.mit.edu/publications.php

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 103: M3 Information SmartSpaces Technology Overview

103

Figure 9.12: Join Event with Demarcation - Time 1

One major difference is that the use of CSP means that we are driving the modelin a very specific way: we are stating that we wish to see if the model admits the trace asspecified by the CSP rather than asking the model if such a trace is possible at all ratherthan from a particular given state. This means we can not explore individual states fortheir correctness - this being proven by the theorem prover before-hand - but checkingnow the overall progress of states occurs and whether that particular trace is admissible.

9.7 Conclusions and Future Work

Unlike existing solutions from formal methods tools in the software engineering domain,Alloy allows simulations and the visualisation of those simulations of the behaviour of asystem in a manner that is more compatible with the industrial environment . That is,systems work by single stepping through the actions over a period of time. This coupledwith Alloy’s much freer form of specification - one where the underlying action system isnot constrained by a preconceived action semantics with additional constraints such asframe-rules etc makes the ability to explore the system even in the presence of concurrencyand additionally makes the simulation even in potentially distributed environments moretractable.

Of course, other formal methods and languages have supporting tools such asZ/EVES [24], ZANS [52] etc, the most relevant of these is the aforementioned ProBtool. B/EventB however suffers from the fact that there is a strict development methodand particular semantics attached that makes it unsuitable or at least more difficult and

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 104: M3 Information SmartSpaces Technology Overview

104

unnatural in our development environment for producing the kinds of simulations shownhere.

One particular advantage of Alloy’s style of specification and simulation is that itis very similar to the ubiquitous UML language extensively used within industry. Thetraces that Alloy produces are almost identical to the use of object diagrams that areemployed in a similar manner [80]. UML however does not have any suitable simulationtools that scale to industrial use well, though a mention should be made of the USE tool[38] which does support in part the OCL which is used in conjunction with the UML forformally expressing actions.

Regarding the overall effect of such a simulation the development of our software,as described in [105], any analysis of the system made early in the development flow hasadvantages. In this case Alloy affords us the ability to simulate in a more explorativeway than competing formal tools. For the engineer, the ability to see the effects ofthe operations allows much earlier feedback and subsequent modifications to the designcoupled with a greater understanding of what is trying to be achieved.

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 105: M3 Information SmartSpaces Technology Overview

Bibliography

[1] Skim, pdf reader and note-taker for os x. http://skim-app.sourceforge.net/.

[2] J-R Abrial. The B-Book - Assigning programs to Meanings. Cambridge UniversityPress, 1995. 0-521-49619-5.

[3] Hugh Glaser Ian Millard Afraz Jaffri. Uri disambiguation in the context of linkeddata. In Linked Data on the Web (LDOW 2008), Beijing, China, April 2008.

[4] Jose Luis Ambite, Naveen Ashish, Greg Barish, Craig A. Knoblock, Steven Minton,Pragnesh J. Modi, Ion Muslea, Andrew Philpot, and Sheila Tejada. Ariadne: asystem for constructing mediators for internet sources. SIGMOD Rec., 27(2):561–563, 1998.

[5] Kyriakos Anastasakis, Behzad Bordbar, Geri Georg, and Indrakshi Ray. Uml2alloy:A challenging model transformation. In ACM/IEEE 10th International Conferenceon Model Driven Engineering Languages and Systems (MoDELS), 2007.

[6] A. Andoni, D. Daniliuc, S. Khurshid, and D. Marinov. Evaluating the small scopehypothesis, 2002.

[7] Dionysis Athanasopoulos, Apostolos Zarras, Valerie Issarny, Evaggelia Pitoura, andPanos Vassiliadis. Cowsami: Interface-aware context gathering in ambient intelli-gence environments. Pervasive and Mobile Computing, 4(3):360–389, 2008.

[8] Franz Baader, Diego Calvanese, Deborah L McGuinness, Daniele Nardi, and Pe-tert F Patel-Schneider, editors. The Description Logic Handbook: Theory, Imple-mentation and Applications. Cambridge University Press, 2nd edition edition, 2007.978-0-521-87625-4.

[9] S. Bergamaschi, S. Castano, and M. Vincini. Semantic Integration of Semi-structured and Structured Data Sources. SIGMOD Record, 28(1):54–59, March1999.

[10] Tim Berners-Lee, James Hendler, and Ora Lassila. The semantic web. ScientificAmerican, May 2001.

[11] Sergey Boldyrev and Sergey Balandin. Illustration of the intelligent workload bal-ancing principle in distributed data storage systems. In Proceedings of the 10thInternational Conference on Ubiquitous Computing, Sept 2008.

105

Page 106: M3 Information SmartSpaces Technology Overview

106

[12] Sergey Boldyrev, Ian Oliver, and Sergey Balandin. The processes of split and mergein smart spaces. In The 12th Symposium ”Problems of Redundancy in Informationand Control Systems”, 2009.

[13] Sergey Boldyrev, Ian Oliver, Ronald Brown, Juha-Matti Tuupola, and Antti Lap-petelainen. Network and content aware information management. Technical report,Nokia Research, May 2009.

[14] Alex Borgida, John Mylopoulos, and Raymond Reiter. On the frame problem inprocedure specifications. IEEE Transactions on Software Engineering, 21(10):785–797, October 1995.

[15] Gerhard Brewka, Ilkka Niemela, and Miros law Truszcznski. Nonmonotonic Reason-ing, chapter 6. Handbook of Knowledge Represetation. Elsevier Science PublishersBV, 2008.

[16] Alexander Budanitsky and Graeme Hirst. Evaluating wordnet-based measures oflexical semantic relatedness. Computational Linguistics, 32(1):13–47, 2006.

[17] Ioana Burcea, Milenko Petrovic, and Hans-Arno Jacobsen. I know what you mean:semantic issues in internet-scale publish/subscribe systems. In Isabel F. Cruz, VipulKashyap, Stefan Decker, and Rainer Eckstein, editors, SWDB, pages 51–62, 2003.

[18] Christoph Bussler. A minimal triple space computing architecture. In Proceedingsof the 2nd WSMO Implementation Workshop (WIW 2005), Innsbruck, Austria,June 6-7 2005.

[19] Jeremy J. Carroll, Christian Bizer, Pat Hayes, and Patrick Stickler. Named graphs,provenance and trust. In WWW ’05: Proceedings of the 14th international confer-ence on World Wide Web, pages 613–622, New York, NY, USA, 2005. ACM.

[20] Jennifer Widom Chris Olston, Jing Jiang. Adaptive filters for continuous queriesover distributed data streams. In ACM SIGMOD International Conference onManagement of Data, San Diego, California, June 2003.

[21] Joey Coleman, Cliff Jones, Ian Oliver, and Elena Troubitsyna Alexander Ro-manovsky. Rodin (rigorous open development environment for complex systems).In Fifth European Dependable Computing Conference EDCC-5, Budapest, 2005.

[22] Jeff Conklin. Dialogue Mapping: Building Shared Understanding of Wicked Prob-lems. Wiley, November 2005.

[23] Daniel D. Corkill. ollaborating software: Blackboard and multi-agent systems andthe future. In Proceedings of the International Lisp Conference, October 2003.

[24] Dan Craigen, Sentot Kromodimoeljo, Irwin Meisels, Bill Pase, and Mark Saaltink.Eves: An overview. In VDM’91 - Formal Software Development Methods - LectureNotes in Computer Science 551. Springer-Verlag, 1991. Noordwijkerhout.

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 107: M3 Information SmartSpaces Technology Overview

107

[25] Michelle Crane and Juergen Dingel. Runtime conformance checking of objects usingalloy. In Third Workshop on Runtime Verification (RV’03). Boulder, Colorado, July2003.

[26] Li Ding, Tim Finin, Yun Peng, Paulo Pinheiro Da Silva, and L Deborah. Trackingrdf graph provenance using rdf molecules. Technical report, 2005, Proceedings ofthe Fourth International Semantic Web Conference, 2005.

[27] Susan Dumais. Data-driven approaches to information access. Cognitive Science,27:491–524, 2003.

[28] EPCglobal Standard Specification. EPC Radio-Frequency Identity Protocols Class-1 Generation-2 UHF RFID Protocol for Communications at 860 MHz - 960 MHz,version 1.1.0 edition, 2005.

[29] C. Fellbaum. Wordnet: An electronic lexical database. 1998.

[30] K Finkenzeller. RFID Handbook: Radio-Frequency Identification Fundamentals andApplications. Wiley, 2003. 0471988510.

[31] H. Foster, S. Uchitel, J. Magee, and J. Kramer. Compatibility verification for webservice choreography. In Proceedings of IEEE International Conference on WebServices, July 6–9 2004, pages 738–741. IEEE, 2004.

[32] D. Franken and A. Hupper. Improved fast covariance intersection for distributeddata fusion. volume 1, pages 7 pp.–, July 2005.

[33] Eric Freeman, Susanne Hupfer, and Ken Arnold. JavaSpaces Principles, Patternsand Practice. Addison-Wesley, 1999.

[34] Joe Futrelle. Harvesting rdf triples. In Moreau and Foster [74].

[35] Peter Gardenfors. Conceptual Spaces: The geometry of thought. The MIT Press,2000. 0-262-57219-2.

[36] David Gelernter. Generative communication in linda. ACM Transactions on Pro-gramming Languages and Systems, 7(1), January 1985.

[37] G. Georg, J. Bieman, and R. France. Using alloy and uml/ocl to specify run-timeconfiguration management: a case study. In Proc. Workshop on Practical UML-Based Rigorous Development Methods — Countering or Integrating the eXtremists,October 2001.

[38] Martin Gogolla and Mark Richters. Development of uml descriptions with use. InHassan Shafazand and A. Min Tjoa, editors, EurAsia-ICT, volume 2510 of LectureNotes in Computer Science, pages 228–238. Springer, 2002.

[39] Rajeev Gupta and Krithi Ramamritham. Optimized query planning of continuousaggregation queries in dynamic data dissemination networks. In Proceedings of the16th International Conference on World Wide Web, Banff, Alberta, Canada, May2007.

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 108: M3 Information SmartSpaces Technology Overview

108

[40] Stephen Haag, Maeve Cummings, and Donald J. McCubbrey. Management In-formation Systems for the Information Age. McGraw-Hill Companies, 2003. 4thedition. 978-0072819472.

[41] Patrick Hayes. Rdf model theory. W3c working draft, W3C World Wide WebConsortium, February 2002.

[42] Daniela E. Herlea, Catholijn M. Jonker, Jan Treur, and Niek J. E. Wijngaards.Multi-Agent System Engineering, volume 1647 of LNCS, chapter Specification ofBahavioural Requirements within Compositional Multi-agent System Design, pages8–27. Springer, 1999.

[43] C A R Hoare. Communicating Sequential Processes. Prentice Hall, 1985.

[44] Bo Hu, Srinandan Dasmahapatra, Paul H. Lewis, and Nigel Shadbolt. On capturingsemantics in ontology mapping. In AAAI, pages 311–316. AAAI Press, 2007.

[45] Kit-Ying Hui, Stuart Chalmers, Peter Gray, and Alun Preece. Experience in Us-ing RDF in Agent-mediated Knowledge Architectures, pages 177–192. Springer,Germany, 03 2004.

[46] Eero Hyvonen. Finnonto-malli kansallisen semanttisen webinsisaltoinfrastruktuurin perustaksi - visio ja sen toteus (finnonto model as thebasis for a national semantic web infrastructure - vision and its implementation).Sept 12.

[47] Eero Hyvonen, Eetu Makela, Tomi Kauppinen, Olli Alm, Jussi Kurki, TuukkaRuotsalo, Katri Seppala, Joeli Takala, Kimmo Puputti, Heini Kuittinen, Kim Vil-janen, Jouni Tuominen, Tuomas Palonen, Matias Frosterus, Reetta Sinkkila, PanuPaakkarinen, Joonas Laitio, and Katariina Nyberg. Culturesampo – a collectivememory of finnish cultural heritage on the semantic web 2.0, November 2008.

[48] Kingsley Idehen and Orri Erling. Linked data spaces and data portability. In LinkedData on the Web (LDOW 2008), Beijing, China, April 2008.

[49] Daniel Jackson. Software Abstractions: Logic, Language, and Analysis. MIT Press,April 2006. 0-262-10114-9.

[50] Guus Schreiber Jan Wielemaker and Bob Wielinga. Prolog-based infrastructure forrdf: performance and scalability. In In: D. Fensel, K. Sycara and J. Mylopoulos(eds.) The Semantic Web - Proceedings ISWC’03, Sanibel Island, Florida. LectureNotes in Computer Science, volume 2870, Springer-Verlag, pages 644–658, 2003.

[51] J. Jantunen, A. Lappetelainen, J. Arponen, A. Parssinen, M. Pelissier, B. Gomez,and J. Keignart. A new symmetric transceiver architecture for pulsed short-rangecommunication. IEEE Globecom, 2008.

[52] Xiaoping Jia. A Tutorial of ZANS - A Z Animation System. DePaul University,Chicago, USA, May 1995. available from ise.cs.depaul.edu/pub/ZANS by anony-mous FTP.

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 109: M3 Information SmartSpaces Technology Overview

109

[53] Simon J. Julier and Jeffrey K. Uhlmann. A non-divergent estimation algorithm inthe presence of unknown correlations. In In Proceedings of the American ControlConference, pages 2369–2373, 1997.

[54] E. Kaasinen, T. Tuomisto, P. Valkkynen, I. Jantunen, and J. Sierra. Ubimediabased on memory tags. Proceedings of the 12th international Conference on En-tertainment and Media in the Ubiquitous Era (Tampere, Finland, 2008). MindTrek’08. ACM,, pages 85–89, 2008.

[55] D Khushraj, O Lassila, and T Finin. stuples: semantic tuple spaces. Mobile andUbiquitous Systems: Networking and Services, 2004. MOBIQUITOUS 2004. TheFirst Annual International Conference on, pages 268–277, 22-26 Aug. 2004.

[56] Hong-Gee Kim and Anseo-Dong. Pragmatics of the semantic web. In SemanticWeb Workshop. Hawaii, USA, 2002.

[57] Reto Krummenacher. The smartest space of all: A global space of (machine-understandable) knowledge. In 1st Russian Conference on SmartSpaces, ruSmart2008, St.Petersburg, Russia, September 2008.

[58] Reto Krummenacher, Elena Paslaru Bontas Simperl, and Dieter Fensel. Towardsscalable information spaces. In Ruzica Piskac, Frank van Harmelen, and NingZhong, editors, New Forms of Reasoning for the Semantic Web, volume 291 ofCEUR Workshop Proceedings. CEUR-WS.org, 2007.

[59] J Landt. The history of rfid. IEEE Potentials, 24(4):8–11, 2005.

[60] Antti Lappetelainen, Juha-Matti Tuupola, Arto Palin, and Timo Eriksson. Net-worked systems, services and information: The ultimate digital convergence. 2008.Presented in the NoTA 2008: the 1st International Network on Terminal Architec-ture Conference, 11th June 2008, Helsinki.

[61] O Lassila and M Adler. Semantic gadgets: Ubiquitous computing meets the se-mantic web. In Dieter Fensel, James A Hendler, Henry Lieberman, and WolfgangWahlster, editors, Spinning the Semantic Web: Bringing the World Wide Web toIts Full Potential, pages 363–376. MIT Press, 2003. 0-26206-232-1.

[62] Ora Lassila. Taking the rdf model theory out for a spin. In ISWC ’02: Proceedingsof the First International Semantic Web Conference on The Semantic Web, pages307–317, London, UK, 2002. Springer-Verlag.

[63] Ora Lassila. Programming Semantic Web Applications: A Synthesis of Knowl-edge Representation and Semi-Structured Data. PhD thesis, Helsinki University ofTechnology, November 2007.

[64] Ora Lassila. Some personal thoughts on semantic web and non-symbolic ai. In 4thInternational Workshop on Uncertainty Reasoning for the Semantic Web, October2008.

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 110: M3 Information SmartSpaces Technology Overview

110

[65] Ora Lassila. Some personal thoughts on semantic web and non-symbolic ai. InProceedings of ISWC 2008, October 2008.

[66] Michael Leuschel and Michael Butler. ProB: A model checker for B. In FME 2003:Formal Methods, pages 855–874, 2003.

[67] Grace A. Lewis, Edwin Morris, Soumya Simanta, and Lutz Wrage. Why Stan-dards Are Not Enough To Guarantee End-to-End Interoperability. In Proceedingsof 7th IEEE International Conference on Composition-Based Software Systems (IC-CBSS), February 25–29 2008, Madrid, Spain. IEEE, 2008.

[68] Vladimir Lifschitz. Closed-world databases and circumscription. Artif. Intell.,27(2):229–235, 1985.

[69] R. Lindsey, V. D. Veksler, A. Grintsvayg, and W. D. Gray. Be wary of what yourcomputer reads: The effects of corpus selection on measuring semantic relatedness.In Proceedings of the 8th International Conference on Cognitive Modeling, AnnArbor, MI, 2007.

[70] Blanca Mancilla and John Plaice. Possible worlds versioning. Mathematics inComputer Science, 2008.

[71] Victor Marek and Miros law Truszcznski. Rough sets and approximation schemes.Lecture Notes in Computer Science, 4585:22–28, 2007.

[72] Olivera Marjanovic and Ravi Seethamraju. Understanding knowledge-intensive,practice-oriented business processes. In Proceedings of the 41st Hawaii InternationalConference on System Sciences, 2008.

[73] Robin Milner. Communicating and Mobile Systems: the Pi-Calculus. CambridgeUniversity Press, 1999. 0-521-65869-1.

[74] Luc Moreau and Ian Foster, editors. Provenance and Annotation of Data - Inter-national Provenance and Annotation Workshop, IPAW 2006, volume LNCS 4145.Springer Verlag, May 2006.

[75] Luc Moreau, Juliana Freire, Joe Futrelle, Robert E. McGrath, Jim Myers, andPatrick Paulson. The open provenance model. Technical report, University ofSouthampton, 2007.

[76] Erik T Mueller. Commonsense Reasoning. Morgan Kaufmann, 2006. 0-12-369388-8.

[77] Sergio Munoz, Jorge Perez, and Claudio Gutierrez. Minimal deductive systems forrdf. In ESWC ’07: Proceedings of the 4th European conference on The SemanticWeb, pages 53–67, Berlin, Heidelberg, 2007. Springer-Verlag.

[78] Lyndon J. B. Nixon, Elena Simperl, Reto Krummenacher, and Francisco Martin-Recuerda. Tuplespace-based computing for the semantic web: a survey of thestate-of-the-art. The Knowledge Engineering Review, 23(2):181–212, June 2008.

[79] Network on terminal architecture. http://www.notaworld.org, 11 2008.

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 111: M3 Information SmartSpaces Technology Overview

111

[80] Ian Oliver. Simulation of software behaviour using animation. In Krzysztof Am-borski and Hermann Meuth, editors, ESM, pages 278–283. SCS Europe, 2002.

[81] Ian Oliver. Experiences in using b and uml in industrial development. In JacquesJulliand and Olga Kouchnarenko, editors, B, volume 4355 of Lecture Notes in Com-puter Science, pages 248–251. Springer, 2007.

[82] Ian Oliver. Information spaces as a basis for personalising the semantic web. In11th International Conference on Enterprise Information Systems, May 2009.

[83] Ian Oliver and Jukka Honkola. Personal semantic web through a space basedcomputing environment. In Middleware for Semantic Web 08 at ICSC’08, SantaClara, CA, USA, August 2008.

[84] Ian Oliver and Jukka Honkola. Personal Semantic Web Through A Space BasedComputing Environment. In Second IEEE Interntional Conference on SemanticComputing, August 4–7, 2008, Santa Clara, CA, USA. IEEE, 2008.

[85] Ian Oliver and Jukka Honkola. A base-line semantic computation environment forlocal information spaces. International Journal of Semantic Computing, 2009. toappear.

[86] Ian Oliver, Jukka Honkola, and Jurgen Ziegler. Dynamic, localised space basedsemantic webs. In WWW/Internet Conference, Freiburg, Germany, October 2008.

[87] Ian Oliver, Esko Nuutila, and Seppo Torma. Context gathering in meetings:Business processes meet the agents and the semantic web. In The 4th Interna-tional Workshop on Technologies for Context-Aware Business Process Management(TCoB 2009), May 2009.

[88] Web ontology language. http://www.w3.org/2004/OWL/.

[89] D L Parnas. On the criteria to be used in decomposing systems into modules.Communications of the ACM, 15(12):1053–1058, December 1972.

[90] M Pasquet, J Reynaud, and C Rosenberger. Secure payment with nfc mobile phonein the smarttouch project. Collaborative Technologies and Systems, May 2008.

[91] Alexandre Passant. :me owl:sameas flickr:33669349@n00. In Linked Data on theWeb (LDOW 2008), Beijing, China, April 2008.

[92] Resource description framework. http://www.w3.org/RDF/.

[93] Marko A. Rodriguez and Johan Bollen. Modeling computations in a semanticnetwork. CoRR, abs/0706.0022, 2007.

[94] Tuukka Ruotsalo and Eero Hyvonen. A method for determining ontology-basedsemantic relevance. In Proceedings of the International Conference on Databaseand Expert Systems Applications DEXA 2007, Regensburg, Germany. Springer,September 3-7 2007.

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 112: M3 Information SmartSpaces Technology Overview

112

[95] Tuukka Ruotsalo, Katri Seppala, Kim Viljanen, Eetu Makela, Jussi Kurki, OlliAlm, Tomi Kauppinen, Jouni Tuominen, Matias Frosterus, Reetta Sinkkila, andEero Hyvonen. Ontology-based approach for interoperability of digital collections.Signum, (5), 2008.

[96] J. Savolainen, H. Hirvola, and S. Iraji. Nokia integroi lukimen e61- malliin: Epc-tunnistus tulee pian kanykkan - nokia integrated a reader into its e61 model: Epcidentification comes soon to mobile phones. Prosessori, pages 42–43, May 2008.

[97] Omair Shafiq, Francois Scharffe, Daniel Wutke, and German Toro del Valle. Re-solving data heterogeneity issues in open distributed communication middleware.In Proceedings of 3rd International Conference on Internet and Web Applicationsand Services (ICIW 2008), Athens, Greece, June 8-13 2008.

[98] Brian Cantwell Smith. On the Origin of Objects. The MIT Press, 1996. 0-262-69209-0.

[99] Kia Teymourian, Lyndon Nixon, Daniel Wutke, Reto Krummenacher, HansMoritsch, Eva Khn, and Christian Schreiber. Implementation of a novel seman-tic web middleware approach based on triplespaces. In Second IEEE InternationalConference on Semantc Computing, August 4–7, 2008, Santa Clara, CA, USA,pages 518–523. IEEE, 2008.

[100] A Tolk and J A Muguira. The levels of conceptual interoperability model (lcim).In Proceedings IEEE Fall Simulation Interoperability Workshop, IEEE CS Press,2003.

[101] Julius T Tou and Rafael C Gonzalez. Pattern recognition principles. Addison-Wesley Pub. Co., 1974. 0201075865, 0201075881.

[102] N. Trigoni, Y. Yao, Alan Demers, J. Gehrke, and R. Rajaraman. Multi-queryoptimization for sensor networks. In IEEE/ACM Distributed Computing in SensorSystems (DCOSS’05), 2005.

[103] Niki Trigoni, Yong Yao, Alan Demers, Johannes Gehrke, and Rajmohan Rajara-man. Multi-query optimization for sensor networks. In International Conferenceon Distributed Computing in Sensor Systems (DCOSS 2005), 2005.

[104] C D Turnitsa. Extending the levels of conceptual interoperability model. In Pro-ceedings IEEE Summer Computer Simulation Conference, IEEE CS Press, 2005.

[105] J. Christopher Westland. The cost of errors in software development: evidence fromindustry. The Journal of Systems and Software, 62(1):1–10, May 2002.

[106] Quentin D Wheeler. Taxonomic triage and the poverty of phylogeny. 2004.

[107] Patrick Henry Winston. Artificial Intelligence. Addison Wesley Longman Publish-ing Co., Inc., 2004. ISBN 0201855046.

[108] Chee yee Chong. Graphical models for nonlinear distributed estimation. 2008.

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia

Page 113: M3 Information SmartSpaces Technology Overview

113

[109] M. Zaremba and M. Moran. Enabling execution of semantic web services:Wsmx core platform. In Proceedings of the 1st WSMO Implementation Workshop(WIW2004) Frankfurt, Germany, 2004.

[110] K. Zhang, H. Andrade, L. Raschid, and A. Sussman. uery planning for the grid:adapting to dynamic resource availability. In Proceedings of the Fifth IEEE Inter-national Symposium on Cluster Computing and the Grid (CCGrid’05), number 2,pages 751–758, May 2005.

NRC-TR-2009-M3-1 Copyright c© 2009 Nokia