Efficient Querying of Distributed Sources in a Mobile Environment Through Source Indexing and Caching
Total Page:16
File Type:pdf, Size:1020Kb
Faculty of Science, Department of Computer science Efficient querying of distributed sources in a mobile environment through source indexing and caching. Graduation thesis submitted in partial fulfillment of the requirements for the degree of Master in Applied Informatics. Elien Paret Promoter: Prof. Dr. Olga De Troyer Advisors: Dr. Sven Casteleyn & William Van Woensel Academic year 2009 -2010 Acknowledgements In this small chapter I would like to thank everyone that helped me achieve this thesis. First of all I would like to thank my promoter, Prof. Olga De Troyer, for providing me the opportunity to realize this thesis and for her personal assistance during this entire academic year. Secondly, I would like to express my deepest gratitude to my two excellent advisors, Dr. Sven Casteleyn and PhD William Van Woensel. I am very thankful for their personal guidance, moral support and all the knowledge they shared with me. I also want to thank my dear boyfriend Pieter Callewaert for his moral support, kindness, patience, encouragement and for being there for me at all circumstances and times. Finally I would like to thank my family for their love and support during my entire life and for supporting me getting my masters degree and achieving this thesis. Thank you all. -i- Abstract Mobile devices have become a part of the everyday life; they are used anywhere and at anytime, for communication, looking up information, consulting an agenda, making notes, playing games etc. At the same time, the hardware of these devices has evolved significantly: e.g., faster processors, larger memory and improved connectivity … The hardware evolution along with the recent advancements of identification techniques, has lead to new opportunities for developers of mobile applications: mobile applications can be aware of their environment and the objects in it. Combining these new opportunities with the Web, allows mobile applications to use services and information of nearby objects (e.g., a mobile application that informs you of the restaurants that are nearby your current position without the need to enter your current position). The SCOUT framework, currently being developed at the WISE lab, supports the development of context- and environment-aware mobile applications, by providing a conceptual and integrated view on the environment called the Environment Model. This Model comprises metadata on physical entities found nearby the user, and the user’s own profile information, and thus allows applications to become aware of (and responsive to) the user’s physical environment and context. SCOUT is a decentralized and distributed solution, where no single centralized server is required for storing context-sensitive data or integrating data from various sources. Instead, this integration is achieved via the locally maintained Environment Model, while each content provider is responsible for making available and managing their own data. In order to facilitate information integration across different heterogeneous sources, Semantic Web technology is employed. Until now, the Environment Model has been stored as a fully materialized view; in other words, all of the data (i.e., encountered data sources) is kept locally. This thesis investigates how the Environment Model can be constructed and managed more efficiently. Each of the strategies mentioned below have been tested extensively in different scenarios, in order to determine the most suitable ones and to indicate where there is room for improvement. Firstly, we have investigated several ways of storing summary information on encountered data sources to determine which sources contain relevant information for a given query. The goal of these strategies is to avoid having to include all encountered sources when answering a query. Secondly, we have developed several caching strategies where some data from encountered sources is kept locally, to avoid having to download a relevant sources (as identified by one of the strategies mentioned above) every time it is needed to solve a query issued to the Environment Model. -ii- Samenvatting (in Dutch) Mobiele toestellen zijn de afgelopen jaren een belangrijk onderdeel geworden van het dagelijkse leven; ze worden overal en te allen tijde gebruikt om te communiceren, te chatten, informatie op te zoeken, een agenda te raadplegen, notities te maken, spelletjes te spelen, enz. Terzelfder tijd is de hardware van deze mobiele toestellen sterk geëvolueerd: snellere processors, groter geheugen en verbeterde verbindingsmogelijkheden … De combinatie van deze hardware evolutie, samen met de recente vooruitgangen in identificatie technologieën (bijv., RFID, NFC) hebben het mogelijk gemaakt mobiele applicaties te ontwikkelen die bewust zijn van hun omgeving en de zaken die zich in hun omgeving bevinden. Door deze nieuwe vooruitgangen te combineren met het Web, kunnen mobiele applicaties online services en informatie uitbuiten van zaken, objecten, enz in hun omgeving (bijv., mobile applicaties die winkels weergeven die producten verkopen gerelateerd aan de gebruiker’s profiel en/of bezienswaardigheden dat de gebruiker die dag bezocht heeft). Momenteel wordt op het WISE lab het SCOUT framework ontwikkeld. Dit framework ondersteunt de ontwikkeling van mobiele applicaties die zich bewust zijn van de context en de omgeving van de gebruiker. Dit gebeurt door middel van een conceptueel data model, genaamd het Environment Model, dat de gebruiker’s eigen profiel informatie omvat samen met meta-data van fysische objecten uit de gebruiker‘s omgeving. Dit model laat toe dat applicaties zich bewust worden van en kunnen reageren op de fysieke omgeving en context van de gebruiker. SCOUT is een gedecentraliseerde en gedistribueerde oplossing, waarin geen enkele centrale server vereist is om de contextgevoelig data op te slaan of om de data van verschillende bronnen samen te voegen. In plaats daarvan zorgt het lokaal bijgehouden Environment Model voor de integratie van de verschillende bronnen, terwijl elke content provider verantwoordelijk is om zijn eigen informatie ter beschikking te stellen en te onderhouden. Om de integratie van deze verschillende heterogene bronnen mogelijk te maken wordt gebruik gemaakt van Semantische Web technologie. Tot nu toe werd alle gevonden informatie (d.i., het Environment Model) lokaal bewaard. Deze thesis onderzoekt hoe dit Environment Model efficiënter kan worden aangemaakt en bijgehouden. Elk van de onderstaande strategieën zijn uitgebreid getest in verschillende scenario’s, om te bepalen welke de meest geschikte is en alsook te bepalen waar er ruimte is voor verbetering. Eerst hebben we onderzocht welke samenvattende informatie moet bijgehouden worden voor elke ontdekte bron om te kunnen bepalen welke bron relevante informatie bevat om een gegeven query op te lossen. Door middel van deze samenvattende informatie (d.i., het Source Index -iii- Model) wordt vermeden dat we steeds alle ontdekte bronnen moeten includeren om een query op te lossen. Ten tweede hebben we verschillende caching strategieën ontworpen die de data uit ontdekte bronnen lokaal bewaren. Dit zorgt ervoor dat relevant bronnen (geïdentificeerd door één van bovenvermelde source index strategieën) niet steeds opnieuw moeten gedownload worden wanneer een query gesteld wordt aan het Environment Model. -iv- Table of content Chapter 1 Introduction ..................................................................................................................... 1 1.1 Context .................................................................................................................................... 1 1.2 Problem description ................................................................................................................ 2 1.3 Approach ................................................................................................................................ 2 1.4 Thesis structure ....................................................................................................................... 3 Chapter 2 Background ...................................................................................................................... 4 2.1 SCOUT framework ................................................................................................................. 4 2.1.1 Introduction ...................................................................................................................... 4 2.1.2 An Overview .................................................................................................................... 4 2.2 Semantic Web ......................................................................................................................... 7 2.2.1 The idea and purpose of the Semantic Web ..................................................................... 7 2.2.2 The Semantic Web Stack ................................................................................................. 8 2.3 Resource Description Framework .......................................................................................... 9 2.3.1 What ................................................................................................................................. 9 2.3.2 Representation .................................................................................................................. 9 2.4 RDF Schema ........................................................................................................................