Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 217 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
217
Dung lượng
1,68 MB
Nội dung
Name: Gu Tao Degree: Doctor of Philosophy Dept: Department of Computer Science Thesis Title: A Semantic Approach for Scalable and Self-organized Context-aware Systems Abstract In this thesis, we investigate and study on a set of core infrastructure services to simplify the task of building reliable and scalable context-aware applications in pervasive computing environments Particularly, we focus on two problems: Providing a scalable and robust context lookup service in wide-area networks, and an efficient context processing mechanism To tackle these problems, we propose a semantic P2P overlay network for efficient context lookup, and a distributed logical reasoning mechanism for context interpretation We carry out comprehensive simulations to evaluate the performance of the proposed overlay network The results show that our system possesses good scalability, better search efficiency and low overlay maintenance overhead We also develop a working prototype system to demonstrate how our proposed techniques work in a practical way, and build several typical context-aware applications on top of our prototype Our experiences show that our system works effectively in a real-world setting and the application development process is greatly simplified Keywords: Context-aware computing, Context model, Context ontologies, Semantic P2P lookup, Query routing, Subscription, Context reasoning A SEMANTIC APPROACH FOR SCALABLE AND SELF-ORGANIZED CONTEXT-AWARE SYSTEMS GU TAO NATIONAL UNIVERSITY OF SINGAPORE 2005 A SEMANTIC APPROACH FOR SCALABLE AND SELF-ORGANIZED CONTEXT-AWARE SYSTEMS GU TAO (B.Eng., HUST and M.S., NTU) A THESIS SUBMITTED FOR THE DEGREE OF DOCTOR OF PHILOSOPHY DEPARTMENT OF COMPUTER SCIENCE NATIONAL UNIVERSITY OF SINGAPORE 2005 Acknowledgements I would like to thank my supervisors, Dr Pung Hung Keng (Associate Professor, School of Computing, National University of Singapore), Dr Andreas Fasbender (Director of Ericsson Cyberlab Singapore) and Dr Zhang Daqing (Institute of Infocomm Research) Their guidance, experience and encouragement have been invaluable for my research I appreciate all of their support, suggestions and comments throughout the work I also want to thank Dr Dong Jin Song and Dr Ooi Wei Tsang for their many useful comments and their time in reviewing this thesis I would like to thank all members in the Networks Systems and Services Lab (previously named Center for Internet Research) including He Jun, Peng Bin, Zhou Lifeng, Feng Yuan, Qian Haichun and Yao Jiankang In particular, I would like to thank Edmond Tan who has been spending his time discussing with me some research and implementation issues related with this work Last but not least, I would like to thank my parents, Gu Weiyi and Wang Meiyun, my sister Gu Qi for their unwavering support and encouragement My special thanks go to my wife Yang Yanfang I am indebted to my wife Yanfang and my two lovely kids, for their love, and for more than I will ever be able to express i Table of Contents Acknowledgments i Table of contents ii Summary vii Publications ix Papers submitted for review xi List of tables .xii List of figures xiii Introduction .1 1.1 Understanding context in pervasive computing .2 1.1.1 Context definition 1.1.2 Characteristics of context information .3 1.2 Functional requirements of system's infrastructure for context-aware computing 1.3 Problem statement 10 1.4 Our Approach 12 1.4.1 Ontology-based context modeling 12 1.4.2 A semantic Peer-to-Peer overlay .12 1.4.3 Distributed context reasoning 15 1.4.4 Research methodology 15 1.5 Thesis contributions and outline 16 Related work 18 2.1 Context-aware systems 18 2.1.1 Existing infrastructure-based systems 19 2.1.2 Summary 24 2.2 Information retrieval .25 2.2.1 The centralized approach 25 ii 2.2.2 The P2P approach 25 2.2.2.1 Unstructured P2P systems 26 2.2.2.2 Structured P2P systems 28 2.2.2.3 Semantic P2P systems 29 2.2.3 Summary 32 Context modeling and reasoning 33 3.1 Motivation and our context modeling approach 33 3.2 An ontology-based context model 34 3.3 Context ontologies 35 3.4 Context reasoning 37 3.4.1 Ontology reasoning 37 3.4.2 User-defined rule-based reasoning 38 3.4.3 Reasoning performance and discussion 39 3.5 Summary .41 P2P context lookup 43 4.1 Architecture overview 43 4.2 Ontology-based semantic clustering .46 4.3 ContextBus .49 4.3.1 Bootstrapping 51 4.3.2 Routing 52 4.3.3 Discussion 52 4.4 Semantic Context Space 53 4.4.1 Peer placement 53 4.4.2 Cluster naming scheme 55 4.4.3 Ring construction .55 4.4.4 Cluster splitting and merging 56 4.4.5 The routing algorithm 58 4.4.6 Subscription .63 4.4.7 Peer dynamics and failure 66 4.5 Performance evaluation and comparison 67 4.5.1 Simulation model .68 4.5.2 Performance metrics 70 iii 4.5.3 Simulation results 70 4.5.3.1 4.5.3.2 Clustering effects 75 4.5.3.4 Selection of shortcuts 78 4.5.3.5 Overheads 73 4.5.3.3 4.6 Search efficiency .70 Load balancing 79 Summary .79 Cost-aware selective flooding .81 5.1 Related work 83 5.2 Neighborhood link cost measurement 86 5.3 Basic routing algorithm 87 5.4 Routing decision mediation 91 5.5 The main algorithm 92 5.6 A case study 95 5.7 Performance evaluation 98 5.7.1 Simulation model and metrics 98 5.7.2 Simulation results 99 5.8 Summary .101 Prototype implementation 102 6.1 Overview 103 6.2 Bootstrapping 104 6.2.1 Semantic cluster mapping 105 6.2.2 SWebCache 107 6.2.3 Connection .109 6.2.4 Reference registration 113 6.3 Message receivers .114 6.4 Message forwarding and processing 115 6.4.1 Message forwarding .116 6.4.2 Message processing .117 6.5 Search and subscription 118 6.5.1 Query types 119 6.5.2 Query messages .119 iv 6.5.3 QueryHit messages 120 6.5.4 Subscriptions 121 6.6 LookupClient 122 6.6.1 Initiating queries 123 6.6.2 Receiving query responses 123 6.7 Context Producer 123 6.7.1 Initiating queries 124 6.7.2 Sensor management .125 6.7.3 Context data management 127 6.7.4 Query management 128 6.7.4.1 6.7.4.2 Subscription acceptance 129 6.7.4.3 6.8 Local context lookup .128 Subscription response .130 Context Interpreter 131 6.8.1 Deduced query registration 132 6.8.2 Rule management 133 6.8.2.1 Determination of matching rules .134 6.8.2.2 Rule instantiation .134 6.8.3 Deduced query management 135 6.8.4 Context data reasoning 136 6.8.4.1 6.8.4.2 6.9 Internal query generation 136 High-level context data derivation 136 Development of context-aware applications 137 6.9.1 SCS APIs .138 6.9.2 Sample context-aware applications 138 6.9.2.1 SmartHome application 139 6.9.2.2 ShoppingAssistant application .145 6.9.3 Other scenarios and ongoing work 147 6.10 Prototype evaluation .148 6.10.1 The prototype testbed 148 6.10.2 Bootstrapping .151 6.10.3 Dynamic characteristic 153 6.10.4 Query response time 154 6.10.5 Query processing capability 157 v 6.10.6 Improving deduced query processing 158 6.10.7 Memory consumption for deduced query processing 162 6.10.8 Validation of our simulation model .163 6.11 Summary .164 Conclusion and future work 165 7.1 Summary .165 7.2 Future work 166 Bibliography 170 Appendix A – The upper ontology and a set of domain-specific ontologies 180 Appendix B – User-defined rules in the SmartHome application .190 Appendix C – An example of domain-specific context ontologies such as grocery store, book store and child care center used in the ShoppingAssistant application 192 Appendix D – Sample queries used in prototype evaluations 197 vi Summary The advancement of context-aware computing allows users, devices and services to be aware of and automatically adapt to their physical and computational environments In recent years, many context-aware systems have been built to meet the required levels of autonomy and flexibility for advanced applications Context information plays a key role in proliferating and enmeshing computation into our lives In this thesis, we aim to provide infrastructure support for designing scalable and selforganized context-aware systems, and easing the development of context-aware applications over multiple context spaces We identify a set of core services – context lookup and context processing, coupled with a context representation model, and propose solutions for each of them For context modeling, we propose an ontologybased model to represent context information in a machine-understandable and machine-processable fashion For context lookup, we propose a semantic P2P overlay network to provide users and applications with an efficient lookup service We develop various techniques to meet scalability and dynamicity requirements such as an ontology-based semantic clustering scheme for fast semantic abstraction, a onedimensional ring space for reducing overlay maintenance cost and enabling efficient routing, cluster splitting and merging for self-scaling to number of context producer peers, a cost-aware selective flooding algorithm for minimizing redundant query messages, and a context push service for notifying context consumers about changes quickly For context processing, we propose a distributed logical reasoning approach to interpret various contexts Through logical reasoning, we are able to raise the level of context abstraction based on users' or applications' needs Context reasoning is vii OFF LOW MEDIUM HIGH 185 CLOSED OPEN 0 1 2 3 4 5 6 7 8 9 10 ON OFF 186 IDLE RINGING 187 MORNING AFTERNOON 188 EVENING NIGHT Jan01 Jan02 Feb01 Mar01 0 1 2 3 189 Appendix B: User-defined rules in the SmartHome application [userStatus_SLEEP:(?user rdf:type http://www.comp.nus.edu.sg/socam/ConOnt#Person),(?user, http://www.comp.nus.edu.sg/socam/ConOnt#locatedIn, http://www.comp.nus.edu.sg/socam/JohnHome#Bedroom),(http://www.comp.n us.edu.sg/socam/JohnHome#Bedroom, rdf:type http://www.comp.nus.edu.sg/socam/JohnHome#Room),(http://www.comp.nus edu.sg/socam/JohnHome#Bedroom, http://www.comp.nus.edu.sg/socam/ConOnt#locatedIn,http://www.comp.nus edu.sg/socam/JohnHome#Home), (http://www.comp.nus.edu.sg/socam/JohnHome#Bedroom, http://www.comp.nus.edu.sg/socam/JohnHome#lightLevel, 'LOW') -> (?user http://www.comp.nus.edu.sg/socam/ConOnt#participateIn 'SLEEPING')] [userStatus_WATCHING_TV:(?user rdf:type http://www.comp.nus.edu.sg/socam/ConOnt#Person), (?user, http://www.comp.nus.edu.sg/socam/ConOnt#locatedIn, ?room),(http://www comp.nus.edu.sg/socam/JohnHome#DVDPlayer, http://www.comp.nus.edu.sg/socam/ConOnt#locatedIn, ?room),(http://www comp.nus.edu.sg/socam/JohnHome#TV, http://www.comp.nus.edu.sg/socam/ConOnt#locatedIn, ?room),(http://www comp.nus.edu.sg/socam/JohnHome#TV, http://www.comp.nus.edu.sg/socam/JohnHome#deviceStatus 'ON'),(http://www.comp.nus.edu.sg/socam/JohnHome#DVDPlayer, http://www.comp.nus.edu.sg/socam/JohnHome#deviceStatus 'OFF') -> (?user http://www.comp.nus.edu.sg/socam/ConOnt#participateIn 'WATCHING_TV')] [userStatus_WATCHING_MOVIE:(?user rdf:type http://www.comp.nus.edu.sg/socam/ConOnt#Person), (?user, http://www.comp.nus.edu.sg/socam/ConOnt#locatedIn, ?room),(http://www comp.nus.edu.sg/socam/JohnHome#DVDPlayer, http://www.comp.nus.edu.sg/socam/ConOnt#locatedIn, ?room),(http://www comp.nus.edu.sg/socam/JohnHome#TV, http://www.comp.nus.edu.sg/socam/ConOnt#locatedIn, ?room),(http://www comp.nus.edu.sg/socam/JohnHome#TV, http://www.comp.nus.edu.sg/socam/JohnHome#deviceStatus 'ON'),(http://www.comp.nus.edu.sg/socam/JohnHome#DVDPlayer, http://www.comp.nus.edu.sg/socam/JohnHome#deviceStatus 'ON') -> (?user http://www.comp.nus.edu.sg/socam/ConOnt#participateIn 'WATCHING_MOVIE')] [roomActivity_FAMILY_BREAKFAST:(http://www.comp.nus.edu.sg/socam/John Home#John http://www.comp.nus.edu.sg/socam/ConOnt#locatedIn http://www.comp.nus.edu.sg/socam/JohnHome#DiningRoom),(http://www.com p.nus.edu.sg/socam/JohnHome#Mary http://www.comp.nus.edu.sg/socam/ConOnt#locatedIn http://www.comp.nus.edu.sg/socam/JohnHome#DiningRoom),(http://www.com p.nus.edu.sg/socam/JohnHome#Tom http://www.comp.nus.edu.sg/socam/ConOnt#locatedIn http://www.comp.nus.edu.sg/socam/JohnHome#DiningRoom),(http://www.com p.nus.edu.sg/socam/JohnHome#DiningRoom http://www.comp.nus.edu.sg/socam/JohnHome#numberOfPersons '3'),(http://www.comp.nus.edu.sg/socam/JohnHome#CurrentTime http://www.comp.nus.edu.sg/socam/JohnHome#hasTime 'MORNING') -> (http://www.comp.nus.edu.sg/socam/JohnHome#DiningRoom 190 http://www.comp.nus.edu.sg/socam/JohnHome#roomActivity 'FAMILY_BREAKFAST')] [roomActivity_FAMILY_LUNCH:(http://www.comp.nus.edu.sg/socam/JohnHome #John http://www.comp.nus.edu.sg/socam/ConOnt#locatedIn http://www.comp.nus.edu.sg/socam/JohnHome#DiningRoom),(http://www.com p.nus.edu.sg/socam/JohnHome#Mary http://www.comp.nus.edu.sg/socam/ConOnt#locatedIn http://www.comp.nus.edu.sg/socam/JohnHome#DiningRoom),(http://www.com p.nus.edu.sg/socam/JohnHome#Tom http://www.comp.nus.edu.sg/socam/ConOnt#locatedIn http://www.comp.nus.edu.sg/socam/JohnHome#DiningRoom),(http://www.com p.nus.edu.sg/socam/JohnHome#DiningRoom http://www.comp.nus.edu.sg/socam/JohnHome#numberOfPersons '3'),(http://www.comp.nus.edu.sg/socam/JohnHome#CurrentTime http://www.comp.nus.edu.sg/socam/JohnHome#hasTime 'AFTERNOON') -> (http://www.comp.nus.edu.sg/socam/JohnHome#DiningRoom http://www.comp.nus.edu.sg/socam/JohnHome#roomActivity 'FAMILY_LUNCH')] [roomActivity_FAMILY_DINNER:(http://www.comp.nus.edu.sg/socam/JohnHom e#John http://www.comp.nus.edu.sg/socam/ConOnt#locatedIn http://www.comp.nus.edu.sg/socam/JohnHome#DiningRoom),(http://www.com p.nus.edu.sg/socam/JohnHome#Mary http://www.comp.nus.edu.sg/socam/ConOnt#locatedIn http://www.comp.nus.edu.sg/socam/JohnHome#DiningRoom),(http://www.com p.nus.edu.sg/socam/JohnHome#Tom http://www.comp.nus.edu.sg/socam/ConOnt#locatedIn http://www.comp.nus.edu.sg/socam/JohnHome#DiningRoom),(http://www.com p.nus.edu.sg/socam/JohnHome#DiningRoom http://www.comp.nus.edu.sg/socam/JohnHome#numberOfPersons '3'),(http://www.comp.nus.edu.sg/socam/JohnHome#CurrentTime http://www.comp.nus.edu.sg/socam/JohnHome#hasTime 'EVENING') -> (http://www.comp.nus.edu.sg/socam/JohnHome#DiningRoom http://www.comp.nus.edu.sg/socam/JohnHome#roomActivity 'FAMILY_DINNER')] 191 Appendix C: An example of domain-specific context ontologies such as grocery store, book store and child care center used in the ShoppingAssistant application The ontology for grocery store 192 0 1 2 3 4 5 6 7 8 9 10 11 12 24 36 The ontology for book store 193 0 1 2 3 4 5 6 7 8 9 10 11 12 24 36 194 The ontology for child care center 195 0 1 2 3 4 5 6 7 8 9 10 11 12 24 36 196 Appendix D: Sample queries used in prototype evaluations Non-deduced queries: SELECT ?x WHERE ( ?x) SELECT ?x WHERE ( ?x) SELECT ?x WHERE ( ?x) SELECT ?x WHERE ( ?x) SELECT ?x WHERE ( ?x) SELECT ?x WHERE ( ?x) SELECT ?x WHERE ( ?x) SELECT ?x WHERE ( ?x) SELECT ?x WHERE ( ?x) SELECT ?x WHERE ( ?x) SELECT ?x WHERE ( ?x) SELECT ?x WHERE ( ?x) SELECT ?x WHERE ( ?x) SELECT ?x WHERE ( ?x) 197 SELECT ?x WHERE ( ?x) SELECT ?x WHERE ( ?x) SELECT ?x WHERE ( ?x) SELECT ?x WHERE ( ?x) SELECT ?x WHERE ( ?x) SELECT ?x WHERE ( ?x) SELECT ?x WHERE ( ?x) SELECT ?x WHERE ( ?x) SELECT ?x WHERE ( ?x) SELECT ?x WHERE ( ?x) SELECT ?x WHERE ( ?x) SELECT ?x WHERE ( ?x) SELECT ?x WHERE ( ?x) SELECT ?x WHERE ( ?x) SELECT ?x WHERE ( ?x) 198 Deduced queries: SELECT ?x WHERE ( ?x) SELECT ?x WHERE ( ?x) SELECT ?x WHERE ( ?x) SELECT ?x WHERE ( ?x) 199 .. .A SEMANTIC APPROACH FOR SCALABLE AND SELF- ORGANIZED CONTEXT- AWARE SYSTEMS GU TAO NATIONAL UNIVERSITY OF SINGAPORE 2005 A SEMANTIC APPROACH FOR SCALABLE AND SELF- ORGANIZED CONTEXT- AWARE SYSTEMS. .. characteristics of context information such as uncertainty, and provide a common platform for sharing and processing context information across different context- aware systems and domains As... There are generally two approaches to build context- aware systems: the applicationspecific vertical approach and the infrastructure horizontal approach Many earlier context- aware systems focused