Sunteți pe pagina 1din 10

UBICC Boldyrev et al.

: A Mechanism for Managing and Distributing Information and Queries

A Mechanism for Managing and Distributing


Information and Queries
in a Smart Space Environment

S. Boldyrev, I. Oliver, J. Honkola

Nokia Research Centre


Itämerenkatu 11-13, 00180 Helsinki
Finland

Abstract: Distributed information management, especially when related to mobile devices with their
particular connectivity and computing needs is complex. Based on notions of stability of information re-
spository and factors such as computation resources and connectivity we can optimise the distribution
and querying of said information across multiple mobile and other distributed devices.

Index Terms: Semantic web, distribution, smart space

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 in
unprecedented and increasing expansion of computer networks, television networks, telephony
networks, and other communications networks. As new networking technologies evolve, consumer
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 [1], [2], [3], [4].

As the flexibility and functionality of mobile communications devices increases, options for
networking technologies continue to evolve. For example, the technology associated with dy-
namic 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 of
resources and services to access information within the environment [10]. In this regard, Smart
Spaces can provide improved user experiences by allowing users to flexibly introduce new devices
and access most or all of the information available in the dynamic multiple device environment
from any of the devices within the environment.

However, problems with information management and message routing in Smart Spaces can

Vol. , No. , Page 1


UBICC Boldyrev et al.: A Mechanism for Managing and Distributing Information and Queries

Figure 1. Smart Space SIB/Space/Node Architecture

arise because smart spaces do not have a static network topology. As a result, difficulties arise
with determining the location of desired information and/or the presence of intended recipients in
the network. Further, the prediction of efficient paths for routing messages, such as requests for
information in the Smart Space can also be problematic since the connectivity and the topology
within the smart space cannot be assured.

In this paper we address the issue of distributing information and queries over that information
and specifically the mechanisms that we have employed within our infrastructure for realising this.

2. Background

The Smart Space infrastructure shown in Fig. 1 shows our implemented architecture. The key
points are that of the node, smart space and Semantic Information Brokers (SIB).

There exist numerous, individual Smart Spaces in which persons, groups of persons etc can
place, share, interact and manipulate webs of information [11], [12] with their own locally agreed
semantics. A review of such systems can be found in [13]. To interact with and apply reasoning
to these Smart Spaces and there information contained therein we are required to construct
processes which have access to that information - typically these are known as nodes [15] - we
also use the term agent interchangably depending on the context, but in this discussion we stick
with the term ‘node’. Nodes are either personal in that they perform tasks either directly decided
upon by the user or autonomously for or on behalf of the user, monitor particular situations or
reason/data-mine the existing information.

A space is represented by a number of Semantic Information Brokers each containing query


and connectivity engines, a store for the information - we have standardised on the use of RDF
for this and a deductive closure mechanism over the store. Information is distributed over the 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 is constructed out
of a set of SIBs B, ∆ being the deductive closure over the space and i(b) being the information
contained in each SIB then an node will see the information as described in (1).
[
∆(i(β)) (1)
β∈B

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

Vol. , No. , Page 2


UBICC Boldyrev et al.: A Mechanism for Managing and Distributing Information and Queries

Figure 2. Smart Space Evolution

Nodes access information through the SIB to the Smart Space. The SIB operates as a single
entity in managing a Smart Space. However, as it stated in [5], [6], [7], the infrastructure can be
distributed. The SIB can be formed by set of more than 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 all
messages passed on by the SIB appear to come from a Smart Space. Infrastructure presupposes
communication between any of SIBs which form one single Smart Space. Such communication
is performed by means of the adaptive designation of a SIB “master” in any given Smart Space,
throughout the Smart Space evolution as shown in Fig. 2. To leverage the abstraction of SIBs
addressing, the IDs (keys), are used to identify each message session to determine whether a
SIB should process a particular message of not. These keys are used to identify which SIB is in
charge for processing which message type and is also used for the workload balancing over all
SIBs.

This solves the problem of distributing information and queries in a consistent manner across
multiple computation elements making up the information processing system of a Smart Space.
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 elements such that
queries can be distributed such that the most efficient processing of the query is made with the
most stable set of information.

Stability factor is constructed from the connectivity controller information, where the SIB is
running, with any additional valuable environment information. As an example the Stability factor
can be represented in following form:

Sj = C + Idivj + P RLi (2)

where S is the stability factor for j-th SIB entity of any i-th device, C is connectivity weight

Vol. , No. , Page 3


UBICC Boldyrev et al.: A Mechanism for Managing and Distributing Information and Queries

provided by connectivity controller, Idiv indicates how information is diverging in the sense of
query satisfaction, and PRL is optional cumulative power/reliability/latency function provided by
the particular device.

As it is shown in (2), the Stability factor is a result of superposition between information which
is provided by the intelligent connectivity controller, e.g. physical means which form computing
environment, and Information management infrastructure [9]. Intelligent connectivity controller is
aware of its surrounding environment in addition to its local connectivity capabilities. It may also
be aware of the physical limitations and of individual devices within the wireless range or [11]
within the wired network is associated. The aim of the interface provided by the controller to the
distributed framework component is to provide enough yet abstract connectivity properties of the
devices participating in to the distributed network. In addition the controller hides the complexity
of multitransport control mechanisms as a connectivity cost function interface.

Relationship between Stability factor and the Strategies shapes any stable (reliable) distribution
between several SIB entities, e.g. distributed SIB. The Stability factor is defined in 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 stable SIB
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 the
aforementioned schedulers, management information, listeners and information store. A Space
is represented by these SIBs: the total possible connectivity methods is given by the distributed
union of all the representing SIB listeners.

SIBs communicate internally to ensure that membership and credentials of the Nodes that 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 union over the transititve
closure of the routes between all the SIBs - the SIBs contain routing tables to other SIBs and
within a Smart Space all the SIBs are totally routable but not necessarily totally connected.

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).

Vol. , No. , Page 4


UBICC Boldyrev et al.: A Mechanism for Managing and Distributing Information and Queries

The distributed infrastructure management messages are used to keep correct neighbour de-
scriptors 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 incremental
routing table maintained to handle a Neighbours list. There are following maintenance messages,
Join/Leave, HB (heartbeat, including timeout), Send, Notify and Forward. There is a cache for
previously constructed routes, thus messages can be routed directly, without lookup within the
distributed infrastructure. To inform about connectivity parameters of any SIB instance the HB
(Heartbeat) message is used. To navigate around the SIBs two lists are constructed 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 and leverage the
workload, that list is exponentially distributed IDs of all other SIBs.

Store group is used to pass information to the SIBs and to operate with them. They are Insert
and Remove, provide distribution of the information. Query message (below) presents the 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 information as well as
subscriptions to the SIBs and to operate with them. They are Subscribe and UnSubscribe, provide
distribution of the persistent queries. Query message presents the way of distribution which is
applicable to all Query group messages. The Query message can be routed to any other SIBs.
The Query message can be forwarded by any other SIBs according to the incremental routing
table, finger table and routing decision. In case of message forward, notification is generated by
SIB and is used to override routing decision. Such decision is obtained by means of network
conditions. Thus the query tends to pass SIBs only once. Therefore the query route construction
converges to the efficient query forwarding mechanism. The result for Query group is passed by
means of Deliver message, which returns particular information.

SIB has managing responsibilities to form the SIB distributed infrastructure. Such managing
SIB is denoted as mSIB instance, the master SIB. There can be more than one mSIB. Each
SIB should have stability factor. In negotiation of any two SIB the SIB with highest stability factor
is selected to be mSIB. Stability factor is a result of superposition between information which
is provided by the intelligent connectivity controller, e.g. physical means which form computing
environment. Intelligent connectivity controller is aware of its surrounding environment in addition
to its local connectivity capabilities. It may also be aware of the physical limitations and of individual
devices within the wireless range or within the wired network is associated. The aim of the interface
provided by the controller to the distributed framework component is to provide enough yet abstract
connectivity properties of the devices participating in to the distributed network. In addition the
controller hides the complexity of multitrasport control mechanisms as a connectivity cost function
interface.

In a very beginning, a SIB or the SIBs should establish the SIB distributed infrastructure by
sending a Join message as shown in Fig. 3.

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

Vol. , No. , Page 5


UBICC Boldyrev et al.: A Mechanism for Managing and Distributing Information and Queries

Figure 3. Smart Space, join procedure

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 SIB
received Heartbeat message from mSIB or any neighbour SIB within a certain period of time are
tracked.

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

- If the timer expires, no Heartbeat message is received in a given period of time will mean 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 broadcasts
messages offering to become the mSIB. If the SIB gets “mSIB exists” message this SIB tries
to Join again with preserved stability factor. If after the SIB broadcasts the packets offering to
become the mSIB, it gets no response within predetermined amount of time, it sends broadcast
responses to inform everyone in SIB distributed infrastructure about new credentials and from
now on acts as the mSIB of SIB distributed infrastructure. If there is response from mSIB, and
if the stability factor is above the threshold to become mSIB, it sends broadcast responses to
inform everyone in SIB distributed infrastructure about new credentials and from now on acts as
the mSIB of SIB distributed infrastructure.

If during the process of mSIB handover as shown in Fig. 4, the SIB has no notification that
another mSIB exists and is thinking that it is the only mSIB but keep receiving Quit message, the
SIB must return and try to Join again.

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

Vol. , No. , Page 6


UBICC Boldyrev et al.: A Mechanism for Managing and Distributing Information and Queries

Figure 4. Smart Space, handover procedure

When any SIB joins or leaves Smart Space, SIB notifies any other SIBs about it by means
of Join/Leave message. When the Node subscribes to query, as a first way, synchronization is
letting SIB to send a Subscribe message to other neighbor SIBs, and distribute it around the
infrastructure. If it is so that information inserted to the Information Store matches the remote
query, the corresponding remote SIB with subscribed Node should receive Notify message, which
triggers the remote Node to process the results. The second way (lazy distribution) is, instead
of Heartbeat service information any query/subscription distribution can take place. If nothing
to distribute it should be plain Heartbeat message then. Concurrently with Heartbeat message
transmission, subscription or query can be transferred. The way of which subscription should be
transferred relies on Subscription list (semantic cache list) and other meta-data like timestamp
etc. In case of disjoint SIB groups (Fig. 5, 6, 7) that can happens when original SIB consolidated
instances is splitted into several groups of any size, only one group can continue to provide the
SIB functionality. That group is determined by voting mechanism once the quorum is formed. Once
group is formed each SIB has some piece of information about any other SIB. Voting mechanism
determines how many group members can be used to achieve quorum to form new group after
any failure.

Tie-break mechanism is based on the assumption that mSIB normally never receive his own
Heartbeat message, so when a mSIB gets Heartbeat message signed by any mSIB it likely
indicates that another SIB thinks that he is mSIB. To resolve the situation, importance factor
comparison takes place then. Since in the scope current specification it is defined that one or
set of SIBs can constitute one and only one Smart Space entity, it is important to note that once
more than one Smart Space exists, there is possibility of establishing the “limited” connection
between any two mSIBs of such Smart Spaces. It is done preferably between mSIBs with the
biggest importance factors among the each Smart Space entity that they represent. Only one
mSIB from each side can establish such connection.

Even though concept wise the connection between any of Smart Spaces is restricted, there is a
special case [14] when it may happen, e.g. projection and injection, thus the case of the “limited”
connection between the mSIBs of the different Smart Spaces is out of the scope of the current

Vol. , No. , Page 7


UBICC Boldyrev et al.: A Mechanism for Managing and Distributing Information and Queries

Figure 5. Smart Space, Healing procedure step 1

Figure 6. Smart Space, Healing procedure step 2

document, and should be treated as a special case and should be considered separately.

Once the Smart Space is formed, mSIB are engaged for the set of the events processing that
distributed nature causes. Defined above Heartbeat message which is casted by any of mSIB
contains SIB member list, the adaptive Heartbeat interval and service information which is used
to supply the members with diagnostic information. If the mSIB Heartbeat message is received
by other mSIB which has the same importance factor, the comparison against the SIB members
calculated.

Vol. , No. , Page 8


UBICC Boldyrev et al.: A Mechanism for Managing and Distributing Information and Queries

Figure 7. Smart Space, Healing procedure step 3

Any ordinary SIB has to send Heartbeat messages and monitor timer to track those messages.
When any SIB receives mSIB Heartbeat message it updates adaptive Heartbeat interval, and
checks the list of SIB member list to track if any of SIBs have been lost. If such case is detected SIB
notifies any of mSIB that particular SIB is down. Ordinary SIB checks against any new member,
if any of new SIB have been added to Smart Space, and if such case is detected SIB notifies any
of mSIB that particular SIB is up.

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

1) all Smart Space members, SIBs, are able to see all packets and applies incremental routing
technique 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 appropriate
Smart Space member, SIB
3) when SIB routing mechanism has query update capabilities, then this method is used. It is
the case when routing technique is extended by the local information that particular SIB can
provide [9]

The mechanism of determination which Smart Space member is to process a message and allow
other to disregard the message is based on incremental key routing [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 the
balanced query/insert/retracts. Tracking the most relevant requests of the information through
the scalable, energy efficient mechanism. Whole approach efficiently utilises different computing

Vol. , No. , Page 9


UBICC Boldyrev et al.: A Mechanism for Managing and Distributing Information and Queries

platform, though some complexity in computations exists.

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

Acknowledgements

This work has been partially funded as part of the TEKES ICT SHOK DIEM (www.diem.fi) project.

References
[1] Rajeev Gupta , Krithi Ramamritham, Optimized query planning of continuous aggregation queries in dynamic data
dissemination networks, Proceedings of the 16th international conference on World Wide Web, May 08-12, 2007,
Banff, Alberta, Canada
[2] Chris Olston , Jing Jiang , Jennifer Widom, Adaptive filters for continuous queries over distributed data streams,
Proceedings of the 2003 ACM SIGMOD international conference on Management of data, June 09-12, 2003, San
Diego, California
[3] K. Zhang , H. Andrade , L. Raschid , A. Sussman, Query planning for the grid: adapting to dynamic resource
availability, Proceedings of the Fifth IEEE International Symposium on Cluster Computing and the Grid (CCGrid’05)
- Volume 2, p.751-758, May 09-12, 2005
[4] Luis A J,et al. ARIADNE: A system for constructing mediators for Internet sources (system demonstration). In:Proc.
of ACM SIGMOD Conf. on Management of Data,New York:ACM Press,1998. 561-563
[5] Ian Oliver, Jukka Honkola, Personal Semantic Web Through A Space Based Computing Environment, In proceedings:
Middleware for the Semantic Web, Seconds IEEE Interntional Conference on Semantic Computing, Santa Clara, CA,
USA, August 4-7, 2008
[6] S. Boldyrev, S. Balandin, Illustration of the Intelligent Workload Balancing Principle in Distributed Data Storage
Systems. Proceedings of workshop program of the 10th International Conference on Ubiquitous Computing,
September 2008
[7] A. Lappetelainen, Juha-Matti Tuopola, Arto Palin, Timo Eriksson, Networked systems, services and information, The
ultimate digital convergence, 1st International NoTA conference, Helsinki, Finland, 2008
[8] Niki Trigoni, Yong Yao, Alan Demers, Johannes Gehrke, and Rajmohan Rajaraman. "Multi-Query Optimization for
Sensor Networks.". International Conference on Distributed Computing in Sensor Systems (DCOSS 2005).
[9] S. Boldyrev, I. Oliver, R. Brown, J.-M. Tuupola, A. Palin, and A. Lappetelainen, Network and content aware information
management, in submission to the The 4th International Conference for Internet Technology and Secured Transactions
(ICITST-2009), London, UK, November 9-12, 2009.
[10] Ian Oliver and Jukka Honkola and Jurgen Ziegler, Dynamic, Localised Space Based Semantic Webs, WWW/Internet
Conference, Freiburg, Germany, October 2008
[11] Reto Krummenacher, The Smartest Space of All: A Global Space of (Machine-Understandable) Knowledge, 1st
Russian Conference on SmartSpaces, ruSmart 2008, St.Petersburg, Russia, September 2008
[12] D Khushraj and O Lassila and T Finin, sTuples: semantic tuple spaces In: Mobile and Ubiquitous Systems: Networking
and Services, 2004. MOBIQUITOUS 2004. 22-26 Aug. 2004
[13] Lyndon J. B. Nixon and Elena Simperl and Reto Krummenacher and Francisco Martin-Recuerda, Tuplespace-based
computing for the Semantic Web: a survey of the state-of-the-art, The Knowledge Engineering Review, June 2008,
23:2 pp181-212
[14] Ian Oliver and Sergey Boldyrev, Operations on Spaces of Information, in submission to the Third IEEE International
Conference on Semantic Computing Berkeley, CA, USA - September 14-16, 2009
[15] Stephen Haag, Management Information Systems for the Information Age, 2006. Pages 224-228

Vol. , No. , Page 10

S-ar putea să vă placă și