490 likes | 503 Views
Explore the architecture and services of the Contextor infrastructure for developing context-aware systems to support privacy, security, trust, and discovery. Services are self-configurable, support various communication mechanisms, and ensure interoperability.
E N D
The Contextor Infrastructure for Context-Aware Computing Gaëtan Rey, Joëlle Coutaz Engineering HCI research group CLIPS IMAG, Grenoble, France
Outline • Synthesis of the state of the art (architectural aspects) • The contextor infrastructure
Synthesis of the state of the art • No consensual definition for the notion of context • A clear need for infrastructures that support the development of context-aware computing • Like conventional systems: heterogeneity, distribution, interoperability, … • Unlike conventional systems: multi-scaling, spontaneity, …
Architecture Sensing : numeric observables
Architecture Transformation : symbolic observables Sensing : numeric observables
Architecture Situation and context identification Transformation : symbolic observables Sensing : numeric observables
Architecture Context adapter Situation and context identification Transformation : symbolic observables Sensing : numeric observables
Architecture Context adapter Situation and context identification Privacy / Security / Trust Transformation : symbolic observables Sensing : numeric observables
Architecture Context adapter Situation and context identification Privacy / Security / Trust History Transformation : symbolic observables Sensing : numeric observables
Architecture Context adapter Situation and context identification Privacy / Security / Trust Discovery / Recovery History Transformation : symbolic observables Sensing : numeric observables
Context adapter Situation and context identification Privacy / Security / Trust Discovery / Recovery History Transformation : symbolic observables Sensing : numeric observables Architecture • For each layer • Services are self-descriptive (meta-interface + meta-data) • Services are self-configurable • Services are local to global (islands of interaction and existence of servers) • Services support multiple communication mechanisms (publish-subscribe, request-answer) • A uniform computational model (process/data oriented) and architectural style
Context adapter Situation and context identification Privacy / Security / Trust Discovery / Recovery History Transformation : symbolic observables Sensing : numeric observables Architecture One style does not fit all A set of interoperable infrastructures
The contextor infrastructure Context adapter Situation and context identification Privacy / Security / Trust Discovery / Recovery History Transformation : symbolic observables Sensing : numeric observables
Outline • Contextor • Discovery • Examples
Contextor Software abstraction Functional core + typed communication channels Control In Data In Data Out Meta Data Out Meta Data In Control Out
Contextor Software abstraction Functional core • Transformation : Data (Type X) + Meta Data è Data (Type Y) + Meta Data • Meta Data : uncertainty, accuracy, latency … Control In Data In Data Out Transformation Meta Data Out Meta Data In Control Out
Contextor Software abstraction Functional core • Transformation : Data (Type X) + Meta Data è Data (Type Y) + Meta Data • Control : behavioradaptation • supports reconfigurability Control In Data In Data Out Transformation Meta Data Out Meta Data In Control Out
Dynamic Composition of Contextors Application 1 Application 2 Data and Meta Data Flow
Dynamic Composition of Contextors Application 1 Application 2 Data and Meta Data Flow Controls Flow
State 1 Not Running Not Supplied Not Ready Not in Activity Life Cycle of a Contextor Creation, conception of contextor
State 1 State 2 Not Running Not Supplied Not Ready Not in Activity Running Not Supplied Not Ready Not in Activity Life Cycle of a Contextor Creation, conception of contextor Launching the contextor from its configuration file
State 1 State 2 Not Running Not Supplied Not Ready Not in Activity Running Not Supplied Not Ready Not in Activity Life Cycle of a Contextor Creation, conception of contextor Launching the contextor from its configuration file Looking for Source Contextors : Send request for service on the network
State 1 State 2 Not Running Not Supplied Not Ready Not in Activity Running Not Supplied Not Ready Not in Activity State 3 Running Supplied Not Ready Not in Activity Life Cycle of a Contextor Creation, conception of contextor Launching the contextor from its configuration file Looking for Source Contextors : Send request for service on the network Subscribing to Source Contextors
State 1 State 2 Not Running Not Supplied Not Ready Not in Activity Running Not Supplied Not Ready Not in Activity State 3 State 4 Running Supplied Not Ready Not in Activity Running Supplied Ready Not in Activity Life Cycle of a Contextor Creation, conception of contextor Launching the contextor from its configuration file Looking for Source Contextors : Send request for service on the network Subscribing to Source Contextors Lauching the functional Core Waiting for Sink clients
State 1 State 2 Not Running Not Supplied Not Ready Not in Activity Running Not Supplied Not Ready Not in Activity State 5 Running Supplied Ready In Activity State 3 State 4 Running Supplied Not Ready Not in Activity Running Supplied Ready Not in Activity Life Cycle of a Contextor Creation, conception of contextor Launching the contextor from its configuration file Looking for Source Contextors : Send request for service on the network New sink Client connection Subscribing to Source Contextors First sink Client Connection Last sink Client Disconnection Lauching the functional Core Waiting for Sink clients
State 1 State 2 Not Running Not Supplied Not Ready Not in Activity Running Not Supplied Not Ready Not in Activity State 5 Running Supplied Ready In Activity State 3 State 4 Running Supplied Not Ready Not in Activity Running Supplied Ready Not in Activity Life Cycle of a Contextor Creation, conception of contextor Launching the contextor from its configuration file Looking for Source Contextors : Send request for service on the network New sink Client connection Stop Command Subscribing to Source Contextors First sink Client Connection Last sink Client Disconnection Lauching the functional Core Waiting for Sink clients
Outline • Contextor • Discovery & Scalability • Examples
Both a client and a server Improves the autonomy of contextors P2P Network Model
Both a client and a server Improves the autonomy of contextors Fully Distributed Architecture Supports the arrival/departure of contextors P2P Network Model
P2P Network Model • Both a client and a server • Improves the autonomy of contextors • Fully Distributed Architecture • Supports the arrival/departure of contextors • Local Discovery • Requests use UDP multicast
P2P Network Model • Both a client and a server • Improves the autonomy of contextors • Fully Distributed Architecture • Supports the arrival/departure of contextors • Local Discovery • Requests use UDP multicast • Distant Discovery • Hybrid Model (GloSS) • Use of "repeaters“ (model based on geographical localization)
Outline • Contextor • Discovery • Examples
Example 1: Human activities Observatory A dynamic Web page displays users’ level of activity
Tomcat Web Server Web client Client Web User User User Example 1: Human activities Observatory Architecture Web Pages Federation of Contextors
Example 1: Human activities Observatory Architecture Observed User Keyboard Activity Contextor Displays Users Activities Servlet Local Activity Contextor Mouse Activity Contextor Adapter Local information Contextor
Example 1: Human activities Observatory […] public class ActivityObservatory extends HttpServlet { private ActivityAdapter myAdapter; […] public void init(){ myAdapter = new ActivityAdapter(); […] } […] public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException{ […] for (int i=0; i< myAdapter.getDataInConnections("activity"); i++){ this.displayInformation( myAdapter.getData("activity",i) ); } […] } […] }
Example 1: Observatory of Activity […] public class ActivityMouseContextor extends ElementaryContextor{ private Process mp = null; private String data = ""; […] public void init(){ […] mp = Runtime.getRuntime().exec("MouseSensor.exe"); […] } […] public void functionalCore() { […] data += this.mp.read(); […] this.setDataOutValue(data.getBytes()); […] } […] }
Example 2 : I-AM • C. Lachenal et N. Barralon Works • A software infrastructure that supports the dynamic composition of heterogeneous interaction resources to form a unified space. • In this space, users can distribute and migrate whole or parts of user interfaces as if they were handled by a unique computer.
Example 2 : I-AM • C. Lachenal et N. Barralon Works • 2 types of contextors • Surfaces Contextors • Indicate the presence of each surface (= display) • Indicate characteristics (size, …) of each surface
Example 2 : I-AM • C. Lachenal et N. Barralon Works • 2 types of contextors • Surfaces Contextors • Link Contextors • Encapsulate a physical sensor • Indicate links (spatial relations) between each surfaces PICMicroprocessor IRDA transmitter / receiver IRDA manager USB connector
Example 2 : I-AM • C. Lachenal et N. Barralon Works • 2 types of contextors • Surfaces Contextors • Link Contextors • Encapsulate a physical sensor (currently simulated) • Indicate links (spatial relations) between each surfaces
Conclusion • Role of Contextors • Capture and computes contextual information • Distribution (local and global)
Conclusion • Role of Contextors • Capture and computes contextual information • Distribution (local and global) • Middleware • Distributed • Dynamic • Autonomous
Perspectives • Evaluation of architecture • Latency • Scalability • Reconfigurability
Perspectives • Evaluation of architecture • Latency • Scalability • Reconfigurability • Implementation of examples • Mobility (connections / disconnections) • Distribution (repeaters)
Perspectives • Evaluation of architecture • Latency • Scalability • Reconfigurability • Implementation of examples • Mobility (connections / disconnections) • Distribution (repeaters) • Contextors Upgrade • History of the data
The Contextor Infrastructure for Context-Aware Computing Gaëtan Rey, Joëlle Coutaz Engineering HCI research group CLIPS IMAG, Grenoble, France
Data et Meta DataXML and XML Schemas • Benefits • Portability • Extensibility • Uses • Initialization using configuration files in XML (name, group, Data In and Data Out class …) • Communication based on XML messages