Context as a Service
Upcoming SlideShare
Loading in...5
×
 

Context as a Service

on

  • 2,233 views

Presentation on current status of my PhD thesis (topic Context as a Service) 12/02/2010

Presentation on current status of my PhD thesis (topic Context as a Service) 12/02/2010

Statistics

Views

Total Views
2,233
Views on SlideShare
2,022
Embed Views
211

Actions

Likes
0
Downloads
40
Comments
0

4 Embeds 211

http://www.michael-wagner.org 178
http://www.mwagner.eu 29
http://www.linkedin.com 2
http://translate.googleusercontent.com 2

Accessibility

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution-ShareAlike LicenseCC Attribution-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Context as a Service Context as a Service Presentation Transcript

  • Introduction Approach Evaluation Conclusions Context as a Service Michael Wagner Distributed Systems Group University of Kassel December 2010Context as a ServiceMichael Wagner Distributed Systems Group University of Kassel 1
  • Introduction Approach Evaluation Conclusions Outline Introduction Motivation Quality of context and cost of context Challenges and objectives Approach Context model and ontology Context Offering and Query Language Discovery and matching Selection Binding Evaluation ConclusionsContext as a ServiceMichael Wagner Distributed Systems Group University of Kassel 2
  • Introduction Approach Evaluation Conclusions IntroductionContext as a ServiceMichael Wagner Distributed Systems Group University of Kassel 3
  • Introduction Approach Evaluation Conclusions Context provider GPS Sensor Digital compass Context sensors Proximity sensor Light sensor Accelerometer ThermometerContext as a ServiceMichael Wagner Distributed Systems Group University of Kassel 4
  • Introduction Approach Evaluation Conclusions Context provider GPS Sensor Cell-ID based Position Digital compass Context reasoner Network based Context sensors Position Proximity sensor Calendar based Light sensor Position Activity Accelerometer Reasoner Thermometer Network based TemperatureContext as a ServiceMichael Wagner Distributed Systems Group University of Kassel 4
  • Introduction Approach Evaluation Conclusions Context provider GPS Sensor Cell-ID based Position Position Digital compass Context reasoner Network based Context sensors Position Proximity sensor Similar type Calendar based Light sensor of context Position information Activity Accelerometer Reasoner Thermometer Network based Temperature TemperatureContext as a ServiceMichael Wagner Distributed Systems Group University of Kassel 4
  • Introduction Approach Evaluation Conclusions Additional external context provider WiFi Positioning GPS GPS WiFi Positioning WiFi PositioningContext as a ServiceMichael Wagner Distributed Systems Group University of Kassel 5
  • Introduction Approach Evaluation Conclusions Additional external context provider WiFi Positioning GPS GPS WiFi Positioning WiFi Positioning RFID WiFi Positioning PositioningContext as a ServiceMichael Wagner Distributed Systems Group University of Kassel 5
  • Introduction Approach Evaluation Conclusions Using context in context-aware self-adaptive applications Several types of context consumers: Application business logic: Context-information used within the actual application (e.g. navigation from the current position to another position) Adaptation reasoning: Selection of the “best” variant of the application with regard to the execution context Context reasoning and fusion: Deducing high-level implicit context from low-level explicit context Checking the consistency of context ...Context as a ServiceMichael Wagner Distributed Systems Group University of Kassel 6
  • Introduction Approach Evaluation Conclusions Various context providers and consumers Several context providers internal and external potentially providing the same type of information but differing in quality and cost and the representation of the information, quality and cost data Several context consumers internal and external potentially requesting the same type of information but differing in quality and cost preferences and the requested representation of the information, quality and cost dataContext as a ServiceMichael Wagner Distributed Systems Group University of Kassel 7
  • Introduction Approach Evaluation Conclusions Current solutions Most commonly: hard-linked references to context sensors and reasoners, but no support for dynamically appearing new context providers. Few approaches support the dynamic selection and discovery of context sensors [CAS06, HM04], but developers have to know the data representations of the context provider, no support for activation and deactivation (and the resulting problems) of context providers in order to save resources. However, dynamic discovery, data interpretation and energy-saving are essential requirements in pervasive computing [SHB10].Context as a ServiceMichael Wagner Distributed Systems Group University of Kassel 8
  • Introduction Approach Evaluation Conclusions Quality of Context “Quality of Context (QoC) is any information that describes the quality of information that is used as context information. Thus, QoC refers to information and not to the process nor the hardware component that possibly provide the information.” [BKS03] Cost of Context “Cost of Context (CoC) is a parameter associated to the context that indicates the resource consumption used to measure or calculate the piece of context information.” [VRL+ 09]Context as a ServiceMichael Wagner Distributed Systems Group University of Kassel 9
  • Introduction Approach Evaluation Conclusions Context providers differ in the provided QoC, required CoC and the provided representation of the context information, QoC and CoC. Problem Selection and activation of one of the available context providers and thereby . . . estimating the QoC of deactivated context providers. taking into account the heterogeneous representations of context information and the according QoC and CoC. trading off the provided QoC and required CoC against the QoC as requested by the consumer and his preferences regarding cost.Context as a ServiceMichael Wagner Distributed Systems Group University of Kassel 10
  • Introduction Approach Evaluation Conclusions Context providers differ in the provided QoC, required CoC and the provided representation of the context information, QoC and CoC. Problem Selection and activation of one of the available context providers and thereby . . . estimating the QoC of deactivated context providers. taking into account the heterogeneous representations of context information and the according QoC and CoC. trading off the provided QoC and required CoC against the QoC as requested by the consumer and his preferences regarding cost.Context as a ServiceMichael Wagner Distributed Systems Group University of Kassel 10
  • Introduction Approach Evaluation Conclusions Challenges, requirements and objectives Local and remote context sensors and reasoners are abstracted as context services. Main challenges: Dynamic selection of context providers based on QoC and CoC Activation and deactivation of context sensors Additional requirements and objectives: Exchange and interpretation of heterogeneously represented context information, QoC and CoC Loose coupling of context providers and consumers Dynamic discovery of external context services Estimation of QoC of deactivated context providers based on historical context valuesContext as a ServiceMichael Wagner Distributed Systems Group University of Kassel 11
  • Introduction Approach Evaluation Conclusions ApproachContext as a ServiceMichael Wagner Distributed Systems Group University of Kassel 12
  • Introduction Approach Evaluation Conclusions Overview - Context model and ontology Challenges and requirements: Context model and ontology Exchange and interpretation of context information, QoC and CoCContext as a ServiceMichael Wagner Distributed Systems Group University of Kassel 13
  • Introduction Approach Evaluation Conclusions Meta-model and Ontology owl:Thing is-a EntityType Scope Representation characterizes* hasRepresentation* is-a hasDimension* Composite Representation Basic Representation Entity: Physical or logical entity of the world that is described by the information, e.g. PDA Scope: Refers to the type of the provided information, e.g. Location; meta-data are also considered as scopes Representation: Describes how the information is internally structured, e.g. GPS dataContext as a ServiceMichael Wagner Distributed Systems Group University of Kassel 14
  • Introduction Approach Evaluation Conclusions Meta-model and Ontology Ontology is used to provide a common vocabulary to bridge semantic differences Defines semantic concepts for entity (types), scopes and representations Captures relationships between the defined concepts Information can be represented as individuals of ontological concepts/classes Data structures may be semantically annotated by references to the ontologyContext as a ServiceMichael Wagner Distributed Systems Group University of Kassel 15
  • Introduction Approach Evaluation Conclusions Meta-model and Ontology Ontology defines entity types, scopes, representations and their relationships Arbitrary number of representations for scopes hasRepresentation* Scope Representation hasRepresentation* is-a is-a is-a is-a hasRepresentation* LocationInfo DateTimeInfo DateTimeRep LocationRep Date = 14011981 io is-a is-a DateTimeCustomRep LocationAddress DateTimeInfo_Indv1 io hasRepresentation is-a is-a hasRepresentation DateTimeDefaultRep LocationWGS84 DateTimeInfo_Indv2 io Day = 14 io Month = Januar io io Year = 1981 Street = Königstor LocationInfo_Indv1 Number = 12 hasRepresentation City = Kassel io io Latitute = 52.686 LocationInfo_Indv2 Longitude = -2.193 hasRepresentationContext as a ServiceMichael Wagner Distributed Systems Group University of Kassel 16
  • Introduction Approach Evaluation Conclusions Meta-model and Ontology Internal structuring of context information is defined as representations in the ontology Inter-Representation-Operations (IROs) allow conversion between different representations Simple conversions, e.g. of units, defined in the ontology itself Grounding to methods in libraries or to a conversion service More details of the context model and ontology in [RWK+ 08a, Rei10]Context as a ServiceMichael Wagner Distributed Systems Group University of Kassel 17
  • Introduction Approach Evaluation Conclusions Overview - Context provider and consumer Challenges and requirements: Context model and ontology Exchange and interpretation of context information, QoC and CoC Loose coupling Context Consumer 0..* Context Provider 0..* Reasoner 0..*Context as a ServiceMichael Wagner Distributed Systems Group University of Kassel 18
  • Introduction Approach Evaluation Conclusions Context Offering and Query Language Aligned with the context meta-model and the ontology Simple EMF/XML based language based on the MUSIC Context Query Language (CQL) [RWK+ 08b] and the Information Offer and Request Language (IORL) [Rei10] In difference to the CQL also support for context offers Support for complex filters and conditions similar to the IORL In difference to the IORL also support for the different metadata representations and for context selectionContext as a ServiceMichael Wagner Distributed Systems Group University of Kassel 19
  • Introduction Approach Evaluation Conclusions Context Offering and Query Language We can query for or offer context information corresponding to a certain scope characterizing a certain entity having a certain representationContext as a ServiceMichael Wagner Distributed Systems Group University of Kassel 20
  • Introduction Approach Evaluation Conclusions Context Offering and Query Language - Overview Context Offer/Request Scope Representation Subscription Frequency Source SourceType Characterized Entity * Selection Function Entity Recursive Negotiable Utility * Entity Constraint Significant change spec. Constraints Scope Constraint * ScopeProperty or ScopeID Operator * Value Delta Metadata Constraint * Metadata class Operator Value Delta Representation * * Sub-Offer/Sub-RequestContext as a ServiceMichael Wagner Distributed Systems Group University of Kassel 21
  • Introduction Approach Evaluation Conclusions COQL - Example 1 <c o q l : COQLDocument xmi : v e r s i o n = [ . . . ] 2 <C o n t e x t Q u e r i e s q u e r y I D=” q u e r y 1 ” 3 s c o p e=” P o s i t i o n ” 4 r e p r e s e n t a t i o n=” P o l a r C o o r d i n a t e ” 5 s u b s c r i p t i o n M o d e=”ONCHANGE” 6 f r e q u e n c y=” 100 ”> 7 < E n t i t i e s e n t i t y R e f=” U s e r | A r a g o r n ”/> 8 </ C o n t e x t Q u e r i e s > 9 </ c o q l : COQLDocument>Context as a ServiceMichael Wagner Distributed Systems Group University of Kassel 22
  • Introduction Approach Evaluation Conclusions Overview - Discovery and matching Challenges and requirements: Context model and ontology Exchange and interpretation Discovery and Matching of context information, QoC and CoC Context Requests Context offers Loose coupling Dynamic discovery Estimation of QoC Context Consumer 0..* Context Provider 0..* Reasoner 0..*Context as a ServiceMichael Wagner Distributed Systems Group University of Kassel 23
  • Introduction Approach Evaluation Conclusions Matching problem Combination of ontology reasoning and constraint matching Usually, Constraint Satisfaction Problems (CSPs) are NP-complete. However, CSPs try to find an assignment of values to all the variables so that none of the constraints is violated, but we are only interested in the satisfiability in general. → Most of the solutions for CSPs are too heavy-weight. → Light-weight solution currently in research.Context as a ServiceMichael Wagner Distributed Systems Group University of Kassel 24
  • Introduction Approach Evaluation Conclusions Example for matching process CONTEXT QUERY 1 Accuracy < BatteryCost < Entity: User | Paul 1 km 0.1 mWh Scope: Position Memory < Rep: CartesianCoordinates 0.5 MB CONTEXT OFFER 1 CONTEXT OFFER 2 Accuracy: BatteryCost < Entity: User ∆_longitude < 10 m ᴧ Entity: User 0.1 mWh Scope: Position ∆_latitude < 10 m Scope: Position Rep: WGS84 Rep: CartesianCoordinates BatteryCost < Accuracy = 0.5 mWh 1 cell GPS Sensor Cell-ID based Location SensorContext as a ServiceMichael Wagner Distributed Systems Group University of Kassel 25
  • Introduction Approach Evaluation Conclusions Example for matching process CONTEXT QUERY 1 Accuracy < BatteryCost < Entity: User | Paul Scope: Position 1 km 0.1 mWh Memory < 1. Scope and scope Rep: CartesianCoordinates 0.5 MB constraints 2. Representation CONTEXT OFFER 1 Accuracy: CONTEXT OFFER 2 BatteryCost < 3. Entity and entity Entity: User ∆_longitude < 10 m ᴧ Entity: User 0.1 mWh Scope: Position Rep: WGS84 ∆_latitude < 10 m Scope: Position Rep: CartesianCoordinates constraints BatteryCost < Accuracy = 0.5 mWh 1 cell 4. Metadata constraints GPS Sensor Cell-ID based Location Sensor Conditions: Scopeq = Scopeo or Scopeq is a generalization of Scopeo or Scopeq = nested scope of Scopeo and scopeConstraint holds!Context as a ServiceMichael Wagner Distributed Systems Group University of Kassel 26
  • Introduction Approach Evaluation Conclusions Example for matching process CONTEXT QUERY 1 Accuracy < BatteryCost < Entity: User | Paul Scope: Position 1 km 0.1 mWh Memory < 1. Scope and scope Rep: CartesianCoordinates 0.5 MB constraints 2. Representation CONTEXT OFFER 1 Accuracy: CONTEXT OFFER 2 BatteryCost < 3. Entity and entity Entity: User ∆_longitude < 10 m ᴧ Entity: User 0.1 mWh Scope: Position Rep: WGS84 ∆_latitude < 10 m Scope: Position Rep: CartesianCoordinates constraints BatteryCost < Accuracy = 0.5 mWh 1 cell 4. Metadata constraints GPS Sensor Cell-ID based Location Sensor Conditions: Repq = Repo or Repq is a generalization of Repo or Repo can be transformed to Repq by an IROContext as a ServiceMichael Wagner Distributed Systems Group University of Kassel 26
  • Introduction Approach Evaluation Conclusions Example for matching process CONTEXT QUERY 1 Accuracy < BatteryCost < Entity: User | Paul Scope: Position 1 km 0.1 mWh Memory < 1. Scope and scope Rep: CartesianCoordinates 0.5 MB constraints 2. Representation CONTEXT OFFER 1 Accuracy: CONTEXT OFFER 2 BatteryCost < 3. Entity and entity Entity: User ∆_longitude < 10 m ᴧ Entity: User 0.1 mWh Scope: Position Rep: WGS84 ∆_latitude < 10 m Scope: Position Rep: CartesianCoordinates constraints BatteryCost < Accuracy = 0.5 mWh 1 cell 4. Metadata constraints GPS Sensor Cell-ID based Location Sensor Conditions: (Entity q = Entityo or Entityq is a generalization of Entityo ) and entityConstraint holds!Context as a ServiceMichael Wagner Distributed Systems Group University of Kassel 26
  • Introduction Approach Evaluation Conclusions Example for matching process CONTEXT QUERY 1 Entity: User | Paul Accuracy < 1 km BatteryCost < 0.1 mWh 1. Scope and scope Scope: Position Memory < Rep: CartesianCoordinates 0.5 MB constraints 2. Representation CONTEXT OFFER 1 CONTEXT OFFER 2 3. Entity and entity Accuracy: BatteryCost < Entity: User ∆_longitude < 10 m ᴧ ∆_latitude < 10 m Entity: User 0.1 mWh constraints Scope: Position Scope: Position Rep: WGS84 Rep: CartesianCoordinates BatteryCost < Accuracy = 1 cell 4. Metadata constraints 0.5 mWh GPS Sensor Cell-ID based Location Sensor 1. Metadataq = Metadatao or Metadataq is a generalization of Metadatao 2. Repq = Repo or Repq is a generalization of Repo or Repo can be transformed to Repo by a IRO 3. Constraintq ∧ Constrainto satisfiable!Context as a ServiceMichael Wagner Distributed Systems Group University of Kassel 26
  • Introduction Approach Evaluation Conclusions Example for matching process - Result CONTEXT QUERY 1 Accuracy < BatteryCost < Entity: User | Paul 1 km 0.1 mWh Scope: Position Memory < Rep: CartesianCoordinates 0.5 MB No Matching: BatteryCost CONTEXT OFFER 1 CONTEXT OFFER 2 Accuracy: BatteryCost < Entity: User ∆_longitude < 10 m ᴧ Entity: User 0.1 mWh Scope: Position ∆_latitude < 10 m Scope: Position Rep: WGS84 Rep: CartesianCoordinates BatteryCost < Accuracy = 0.5 mWh 1 cell GPS Sensor Cell-ID based Location SensorContext as a ServiceMichael Wagner Distributed Systems Group University of Kassel 27
  • Introduction Approach Evaluation Conclusions Overview - Selection Challenges and requirements: Context model and ontology Exchange and interpretation Discovery and Matching of context information, QoC Matching Results and CoC Selection function Selection Context Requests Context offers Loose coupling Dynamic discovery Estimation of QoC Dynamic selection Context Consumer 0..* Context Provider 0..* Reasoner 0..*Context as a ServiceMichael Wagner Distributed Systems Group University of Kassel 28
  • Introduction Approach Evaluation Conclusions Input for the selection: matching resultsContext as a ServiceMichael Wagner Distributed Systems Group University of Kassel 29
  • Introduction Approach Evaluation Conclusions Problems during the selection General approach: Calculation of an utility for each provider by an utility function taking into account QoC and CoC and selection of the provider with highest utility. However, several additional problems to be handled in the selection, because . . . the selection algorithm has to use predefined QoC values for deactivated context providers. these predefined properties do not noteworthy reflect the status of the provider after its activation.Context as a ServiceMichael Wagner Distributed Systems Group University of Kassel 30
  • Introduction Approach Evaluation Conclusions Problems during the selection After activation, QoC values are much worse than predefined QoC. Solution: Update of the predefined QoC values based on historical values → Good result if QoC properties reflect malfunction of the provider. Otherwise no improvement. Ignoring the malfunctioned provider until a significant context change has happened.Context as a ServiceMichael Wagner Distributed Systems Group University of Kassel 31
  • Introduction Approach Evaluation Conclusions Problems during the selection After activation, QoC values are much worse than predefined QoC. Solution: Update of the predefined QoC values based on historical values → Good result if QoC properties reflect malfunction of the provider. Otherwise no improvement. Ignoring the malfunctioned provider until a significant context change has happened.Context as a ServiceMichael Wagner Distributed Systems Group University of Kassel 31
  • Introduction Approach Evaluation Conclusions Problems during the selection Additional optional requirement: Cost minimization Same type of context information requested by different consumers and with slightly different criteria. Solution: 1. Check if intersection of matched context offers is nonempty and if so 2. select context provider with the least cost.Context as a ServiceMichael Wagner Distributed Systems Group University of Kassel 32
  • Introduction Approach Evaluation Conclusions Problems during the selection Additional optional requirement: Cost minimization Same type of context information requested by different consumers and with slightly different criteria. Solution: 1. Check if intersection of matched context offers is nonempty and if so 2. select context provider with the least cost.Context as a ServiceMichael Wagner Distributed Systems Group University of Kassel 32
  • Introduction Approach Evaluation Conclusions Overview - Binding Challenges and requirements: Context model and ontology Exchange and interpretation Discovery and Matching of context information, QoC Matching Results and CoC Selection function Selection Context Requests Context offers Loose coupling Selection Result Dynamic discovery Binding Estimation of QoC Inter Representation Operation Data Data Dynamic selection Converted Data Activation and Context Consumer 0..* Context Provider 0..* deactivation Reasoner 0..*Context as a ServiceMichael Wagner Distributed Systems Group University of Kassel 33
  • Introduction Approach Evaluation Conclusions EvaluationContext as a ServiceMichael Wagner Distributed Systems Group University of Kassel 34
  • Introduction Approach Evaluation Conclusions Demonstrator Meet-U Planning Offline Navigation At EventContext as a ServiceMichael Wagner Distributed Systems Group University of Kassel 35
  • Introduction Approach Evaluation Conclusions Demonstrator - Context dependencies Adaptation decision based on position, current activity and connectivity status. Application Business Logic Navigation mode requires precise position. Planning mode requires information about current activity, activity preferences and on current location of friends.Context as a ServiceMichael Wagner Distributed Systems Group University of Kassel 36
  • Introduction Approach Evaluation Conclusions Demonstrator - Context services Build-in context providers: Cell-id based location sensor (Low cost, low accuracy) WiFi based location sensor (Medium cost, medium accuracy) GPS based location sensor (High cost, high accuracy) Connectivity status reasoner Activity reasoner estimating the activity based on position and calendar data (Low costs, low accuracy) Activity reasoner estimating the activity based on microphone, accelerometers. calendar and position. (High cost, medium accuracy) External context provider: Bluetooth-based location service (Medium costs, high acc.) RFID-based location service (Low costs, high accuracy)Context as a ServiceMichael Wagner Distributed Systems Group University of Kassel 37
  • Introduction Approach Evaluation Conclusions Evaluation criteria Questions Does the approach meet the requirements? Discovery and matching of context providers Support for heterogeneous context information Selection of context providers Performance and scalability test in a simulatorContext as a ServiceMichael Wagner Distributed Systems Group University of Kassel 38
  • Introduction Approach Evaluation Conclusions Conclusions and future workContext as a ServiceMichael Wagner Distributed Systems Group University of Kassel 39
  • Introduction Approach Evaluation Conclusions Conclusions Abstraction of dynamically appearing and disappearing local and remote context sensors and reasoners as context services. Middleware for context-aware self-adaptive applications supporting the selection of different context services based on QoC and CoC criteria Semantic interpretation of heterogeneously represented context information, QoC and CoC Flexible access of information in the required representation and automatic conversions Support for estimation of QoC of deactivated context providersContext as a ServiceMichael Wagner Distributed Systems Group University of Kassel 40
  • Introduction Approach Evaluation Conclusions Future work Very broad research topic with a lot of remaining open issues, e.g. Privacy and security support (e.g. offering different context levels based on privacy preferences) Support for different discovery mechanisms and protocols MDD support for context providers, consumers and reasoners ...Context as a ServiceMichael Wagner Distributed Systems Group University of Kassel 41
  • Introduction Approach Evaluation Conclusions Thank you! Thank you for your interest! Questions? Michael Wagner University of Kassel T. +49-(0)561-804-6281 eMail: wagner@vs.uni-kassel.de net: http://www.vs.uni-kassel.de/Context as a ServiceMichael Wagner Distributed Systems Group University of Kassel 42
  • Literature I Thomas Buchholz, Axel K¨pper, and Michael Schiffers. u Quality of context information: What it is and why we need it. In In Proceedings of the 10th HP-OVUA Workshop, 2003, Geneva, Switzerland, Juli 2003. Maria Chantzara, Miltiades Anagnostou, and Efstathios Sykas. Designing a quality-aware discovery mechanism for acquiring context information. In AINA ’06: Proceedings of the 20th International Conference on Advanced Information Networking and Applications, pages 211–216, Washington, DC, USA, 2006. IEEE Computer Society. Markus C. Huebscher and Julie A. McCann. Adaptive middleware for context-aware applications in smart-homes. In MPAC ’04: Proceedings of the 2nd workshop on Middleware for pervasive and ad-hoc computing, pages 111–116, New York, NY, USA, 2004. ACM. Roland Reichle. Information Exchange and Fusion in Dynamic and Heterogeneous Distributed Environments. PhD thesis, Distributed Systems Group, University of Kassel, Kassel, Germany, July 2010.Context as a ServiceMichael Wagner Distributed Systems Group University of Kassel 43
  • Literature II Roland Reichle, Michael Wagner, Mohammad Khan, Kurt Geihs, Jorge Lorenzo, Massimo Valla, Cristina Fra, Nearchos Paspallis, and George Papadopoulos. A comprehensive context modeling framework for pervasive computing systems. In Distributed Applications and Interoperable Systems, pages 281–295, 2008. Roland Reichle, Michael Wagner, Mohammad Ullah Khan, Kurt Geihs, Massimo Valla, Cristina Fra, Nearchos Paspallis, and George A. Papadopoulos. A context query language for pervasive computing environments. In CoMoRea, pages 434–440, Hong Kong, Mar 2008. IEEE Computer Society Press. Gregor Schiele, Marcus Handte, and Christian Becker. Pervasive computing middleware. In Hideyuki Nakashima, Hamid Aghajan, and Juan Carlos Augusto, editors, Handbook of Ambient Intelligence and Smart Environments, pages 201–227. Springer US, 2010. Claudia Villalonga, Daniel Roggen, Clemens Lombriser, Piero Zappi, and Gerhard Tr¨ster. o Bringing quality of context into wearable human activity recognition systems. In Kurt Rothermel, Dieter Fritsch, Wolfgang Blochinger, and Frank D¨rr, editors, First International u Workshop on Quality of Context (QuaCon 2009), volume 5786 of LNCS, pages 164–173, Stuttgart, June 2009. Springer-Verlag.Context as a ServiceMichael Wagner Distributed Systems Group University of Kassel 44