Understanding Context-Aware Architectures For Ubiquitous Environment
Understanding Context-Aware Architectures For Ubiquitous Environment
Understanding Context-Aware Architectures For Ubiquitous Environment
Osama sohaib, 2Walayat Hussain Department of CS and IT University of Balochistan, Quetta Pakistan [email protected]
1
Abstract Context aware architectures are the backbone of the context aware applications. The architecture for the context has been evolving and is implemented depending on the requirements of the situations. The requirements could be location of sensors, the amount of possible users using, available resources used devices or the flexibility for extension of the existing application. This study presents overview on some general key contexts identified by the researchers and provides analysis on various context-aware frameworks. Context aware systems with varying architectures, ContextToolkit, ContextAware Multimedia Middleware (CMM), Context Broker Architecture (CoBrA) and Service- Oriented Context-Aware Middleware (SOCAM) are compared with different design criteria provided by researchers which are resource discovery, sensing, context model, context processing, historical context data, security and privacy. Keywords context-awareness; ubiquitous computing;
due to the technology but due to the human psychology. When we have sufficient knowledge of something, we cease to be aware of the technology which makes us think and focus on other important goals beyond technology. The trends of computing have been such that earlier there were mainframes when many people shared a single computer. Now we are in the person computing era, where one person consciously uses one personal computer to accomplish certain goal. Next is the era of ubiquitous computing where technology becomes invisible yet available everywhere, vanishing in the background of our lives. Hundreds of tiny computers provide services everywhere removing the physical barrier between the person and work. In short ubiquitous computing is a paradigm beyond the traditional desktop environment. Tiny computers are embedded in everyday devices which users will be using everywhere without even being aware of. B. Context Awareness For an application to operate in ubiquitous environment, it needs to be context aware. The main goal of the context aware applications is to sense the environmental information or contextual information of an entity in interaction and accordingly adapt the execution behavior of the application with the user. This makes humans to focus on more important task than having to concern them how to deal with the computer. Therefore, the use of context is important in case of interacting application. Examples for context aware applications would be applications which transfer office phone calls to home phone number when the user is at home. Another example would be, intelligent mobile changing its mode from general to silent mode when the user is in meetings. Schilit and Theimer [3] introduced the term context awareness and highlighted the aspects of contexts as Where you are: location of the user. Who you are with: nearby people, social situation. What resources are nearby: available devices, connectivity, input/ output display they described the context as location, nearby people and objects, and changes to those objects over time. Their definition contains many short comings as context is all about the whole situation relevant to an application and its sets of users. It cannot be distinguished as which aspect of situation is important and which are not as it largely depends on the situation. In some, physical environment could be the context but in other cases it might be unimportant. Dey and Abowd [4] defines context
I.
INTRODUCTION
The ongoing advancement in the field of information technology is gradually shifting us from the traditional desktop environment to the ubiquitous environment, where the technology is becoming invisible yet available everywhere. The mobility of the users demands the devices and the applications to be context aware [1]. Context-aware applications react to the situation and adapt their behavior and provide relevant information and services depending on the context making the interactions between humans and computers easier. It provides analysis on various contextaware middleware frameworks. This work is organized as, Section 2 give background study of the topics related to the research such as ubiquitous computing and the context awareness. Section 3 presents context awareness frameworks. Section 4 compare and analyze different context aware architecture and identify the features and components. In section 5 some interpretations are provided and finally study is concluded. II. LITERATURE REVIEW
A. Ubiquitous Computing According to Weizer [2], the ubiquitous computing is The most profound technologies are those that disappear. They weave themselves into the fabric of everyday life until they are indistinguishable from it. According to him, a better approach would make the machine disappear or become hidden from the environment. The reason that successful technologies vanishes in the background is not
as Context is any information that can be used to characterize the situation of an entity. An entity is a person, place, or object that is considered relevant to the interaction between a user and an application, including the user and application themselves Some important categories of context proposed by Dey and Abowd [4] are Location Identity Activity Time III. CONTEXT-AWARE FRAMEWORKS
The server is the mediator between the application and the widgets. It aggregates all the contexts information from different widgets Interpreter Interprets the contexts generated from the widgets into more meaningful information. Due to separation of the interpretation abstraction, multiple applications can reuse the same interpreter. Even the widgets can access the interpreter can provided interpreted data to the servers. B. Context Aware Multimedia Middleware (CMM) CMM [7] has been designed to enable rapid prototyping of context aware multimedia application. It supports multimedia content filtering, recommendation, and adaptation according to changing context. CMM is enhanced with capability to aggregate, reason, and learn about context information generated by ubiquitously available context sensors embedded in the smart home. The main components of CMM are (Figure 2). Context aggregator Collects contexts information from various sensors (location sensors, microphones, video cameras) and converts into OWL representation and inserts into the context KB for further reasoning & learning. Ontologys has hierarchical structure which lets the developers use their domain ontologys (e.g. of users, devices and activities) in describing contexts and build a practical context model without starting from the scratch. Also, some software program to capture contents, GUI for inputting user preference, daily schedule. Since ontologys have semantic representation, it supports federated query, reasoning etc. which facilitates content management and interpretation.
There have been different kinds of context aware systems with varying architectures, Context-Toolkit, Context Aware Multimedia Middleware (CMM), Context Broker Architecture (CoBrA) and Service- Oriented Context-Aware Middleware (SOCAM). In this section, some of the context aware architecture are described and compared with different design criteria provided by Baldauf and Dustdar [6] which are resource discovery, sensing, context model, context processing, historical context data, security and privacy. A. Context Toolkit The Context-Toolkit architecture [5] provides reusable solution for the building context-aware applications without the hassle of worrying about the complex interaction details with physical sensors. It is highly motivated from the GUI Toolkits. User interface toolkits help the application developers in handling user inputs. Context widgets encapsulate the context, hiding the details as how it was sensed. For example, through Active Badge or floor sensor. The main components in the architecture are (Figure 1).
Widget These communicate with context sensors and provide data to the servers. They mediate between users and the environment by information about a single piece of context. These have a state and a behavior. By set we mean a set of attributes that can be queried by the application. Server
Content reasoner It infers abstract high-level contexts from basic sensed contexts. For example, a users activity resolves context conflicts and maintains KB consistency. Rule based approach based on first-order logic for reasoning context was used for forward, backward chaining. Context reasoned is responsible for interpreting rules, connecting to context KB and evaluating rules against the stored context. Context learner
It construes and updates user preference by assembling statistical analysis on user viewing history aggregated by context aggregator. This is based on master slave architecture and algorithm relevance feedback and naive byes classifier. First it learns user preference by utilizing overall feedback information. Secondly it relieves the task of pervasive devices, limiting the tasks of only monitoring the user behavior and uploading the feedback information to the aggregator. The computation and storage consuming learning tasks are handled by the learner. Content filter It evaluates the incoming multimedia contents and users preference context and determines whether it matches users preference. Only media items that have high degree of similarity to the users preference would be recorded and forwarded to the recommender. Context recommender The goal of the context recommender is to provide right content at the right time to the right person. The recommenders outputs are the score and the right form. The score is the similarity of the users preferences, how much the media item matches the users likeness. For efficient context processing for recommendation, the contexts are characterized according to a. Preference context: users taste b. Situation context: users spatio-temporal and social situation based on location & time c. Capability context: physical infrastructure e.g. terminal & network condition Content adapter Summarization and Transcoding of the media is done. Summarizing shortens an audio video item into a short one. Transcoding involves transforming the content from one media type to another for suitably processing by a particular device. For e.g. high resolution video for PC and low resolution video for the mobile devices. C. Contxt Broker Architecture (CoBrA) CoBrA is a broker centric agent based context architecture proposed by to support context aware applications in smart spaces [8]. The intelligent broker agent acquires the contexts from various devices, sensors (Environmental, smart tag sensors) and agents. The contextual information is maintained as shared model of contexts which is then shared with the devices and their agents. This architecture provides knowledge sharing, reasoning for the contexts and privacy protection for the context aware systems. Figure 3 presents the overview of the broker architecture and its relationship with the agents in the intelligent space. All entities in the space are assumed to be aware of the presence of context broker.
The functional components of CoBrA are Context Knowledge Base: A persistent storage of context knowledge Context Reasoning Engine: used for reasoning for the contexts which are stored in the knowledge base. Context Acquisition Module: This is used to acquire contexts from varying sources - devices, sensors (Environmental, smart tag sensors) and agents. It also reason about the contexts on behalf of agents. Policy Management Module: To provide protection for the contextual information of the user. The architecture provides the mechanism to protect the privacy of the user according to the permissions given for different computing entities D. Service-Oriented Context Aware Middleware (SOCAM) Architecture SOCAM provides an infrastructure to support context aware application. The acquired contexts from heterogeneous sources are converted into meaningful contexts which other devices and services share and reuse them easily. SOCAM Architecture is based on the context model proposed by Gu [9]. Their context model based on OWL (Web Ontology Language) makes the data sharing among different devices and services easy and more usable. Another benefit of OWL is that it provides a good reasoning tool which is needed for deriving implicit contexts from the external contexts. For example, the person can be concluded as taking shower, if his location Bathroom, status of water heater is On and the door is closed. The components of the SOCAM architecture are (Figure 4). Context providers: Various contexts from heterogeneous sources (External, internal) are abstracted and converted into meaningful contexts through OWL representation which other devices and services share and reuse them easily.
Context interpreter: Used for providing reasoning services to the acquired context information. Context database: Stores context ontologys and past contexts for a specific sub-domain. Context-aware services: These services make use of the reasoned context and modify them accordingly to the current context. For executing communication between various components of SOCAM, JAVA RMI is used. Hence Java virtual machine is needed for the implementation. IV. COMPARISON OF CONTEXT-AWARE FRAMEWORKS
Sensing: Context acquisition from various heterogeneous sources (sensors, web services, information servers) is necessary in order to support context-aware behavior. Context model: Contexts gathered from different sources are needed to defined and stored in a machine processible form for reasoning. Context processing: The raw contexts gathered need to be process as the contexts of interest are the interpreted or inferred contexts. Historical context data: Sometimes the stored context data in the database becomes useful to general report or forecast trend of context values. Security and privacy: Context data include confidential information about persons identity, location, behavior. So, it is necessary to have privacy protection policy. V. INTERPRETATIONS
A. Context Toolkit Resource Discovery: Discover works as a resource discovery. Interpreters, aggregators, widgets need to notify about their presence. Sensing: Context widget interacts with the sensors for context acquisition. Context Model: Contexts handled using simple attribute value tuples encoded in XML. Context Processing: Context aggregation and context interpretation responsible for processing of the contexts by subscribing to relevant widgets and transforming contexts.
The described context-aware frameworks are compared with different design criteria provided by Baldauf and Dustdar [6] which are summarized in Table 1. Resource discovery: In a distributed ubiquitous environment, sensors and devices play an important role. At some point, different resources sensors/devices may fail, so resource discovery mechanism helps to search for the available resources at run time.
Design Criteria Context Toolkit Resource discovery Sensing Context model Context processing Historical context data Security and privacy
SOCAM
B. Context Aware Multimedia Middleware (CMM) Resource Discovery: there is no specific resource discovery. Sensing: Context aggregator collects input from various sensors. Context Model: Context represented in OWL Ontologys. Context Processing: Content Reasoner infers abstract high-level contexts from basic sensed contexts. Historical context data: Context data persisted in database.
C. Contxt Broker Architecture (CoBrA) Resource Discovery: there is no specific resource discovery. Sensing: Context acquisition components deliver contexts to the application. Context Model: Uses its own OWL based Ontology, CORBA-Ont.
Context Processing: Context reasoning engine reasons over the context knowledge base deduces inferred contexts. Historical context data: Contextual information saved in the database. Security and privacy: OWLs Role Based Access Control.
D. Service-Oriented Context Aware Middleware (SOCAM) Architecture Resource Discovery: Service locating service offers discovery mechanism. Sensing: Context providers provide contexts to the application. Context Model: Context based on Ontologys. Subdomains defined and individual ontologys maintained to reduce complexity. Context Processing: Context Reasoner reasons over the knowledge base providing inferred contexts. Different rules implemented and for inferred using Jena2semantic web toolkit. Historical context data: Contextual data persisted in the database. Security and privacy: OWLs Role Based Access Control. Also has its own security policy to control context access. VI. CONCLUSION
The area of context-awareness is a very huge and its area of implementations ever wider. This paper discusses about some of the design principles of context-aware applications as well as some of the major context-aware middleware frameworks and highlights the important features in each framework. To make the context aware systems flexible and extensible, an abstract framework is needed with generic infrastructure. REFERENCES
[1] A. K. Dey and G. D. Abowd, Towards a Better Understanding of
Context and Context-Awareness, Panel at the 1st International Symposium on Handheld and Ubiquitous Computing (HUC 99), 1999 pp. 304-307 M. Weiser, The computer for the 21st century, SIGMOBILE Mob. Comput. Commun. Rev. 3, 3 1999, 3-11. ACM, New York B.N. Schilit, M. M. Theimer, Disseminating Active Map Information to Mobile Host, IEEE Network, Special Issue on Nomadic Computing, 1994, pp. 22-32. A. K. Dey, G. D. Abowd, A.Wood, CyberDesk: a framework for providing selfintegrating context-aware services, Proc of the 3rd international Conference on intelligent User interfaces, 1999 A. K. Dey, D. Salber, M. Futakawa, and G. D. Abowd, G. D., An Architecture ToSupport Context-Aware Applications, 12th Annual ACM Symposium on User Interface Software and Technology (UIST 99), 1999 M. Baldauf and S. Dustdar, A survey on context-aware systems, Technical Report TUV-1841- 2004-24, Technical University of Vienna, 2004. Y. Zhiwen, Z. Xingshe, Y. Zhiyong, Z. Daqing, C. Chung-Yau, An OSGI-based infrastructure for context-aware multimedia services, Communications Magazine, IEEE Volume 44, Issue 10, 2006, pp. 136 - 142
[6] [7]