Docstoc

rey

Document Sample
rey Powered By Docstoc
					                             The Contextor Infrastructure
                            for Context-Aware Computing

                                Gaëtan Rey, Joëlle Coutaz
                              Engineering HCI research group
                              CLIPS IMAG, Grenoble, France



                                                                               1
Component-oriented approaches to context-aware systems – Monday 14 June 2004
                                                       I-AM




                                                                               2
Component-oriented approaches to context-aware systems – Monday 14 June 2004
                                                     Outline


      • Synthesis of the state of the art (architectural aspects)

      • The contextor infrastructure




                                                                               3
Component-oriented approaches to context-aware systems – Monday 14 June 2004
                                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, …




                                                                               4
Component-oriented approaches to context-aware systems – Monday 14 June 2004
                                                 Architecture




                        Sensing : numeric observables




                                                                               5
Component-oriented approaches to context-aware systems – Monday 14 June 2004
                                                 Architecture




                       Transformation : symbolic observables


                        Sensing : numeric observables




                                                                               6
Component-oriented approaches to context-aware systems – Monday 14 June 2004
                                                 Architecture




                               Situation and context identification


                       Transformation : symbolic observables


                        Sensing : numeric observables




                                                                               7
Component-oriented approaches to context-aware systems – Monday 14 June 2004
                                                 Architecture




                             Context adapter


                               Situation and context identification


                       Transformation : symbolic observables


                        Sensing : numeric observables




                                                                               8
Component-oriented approaches to context-aware systems – Monday 14 June 2004
                                                 Architecture




                             Context adapter




                                                                               Privacy / Security / Trust
                               Situation and context identification


                       Transformation : symbolic observables


                        Sensing : numeric observables




                                                                                                            9
Component-oriented approaches to context-aware systems – Monday 14 June 2004
                                                 Architecture




                             Context adapter




                                                                               Privacy / Security / Trust
                               Situation and context identification




                                                                                                            History
                       Transformation : symbolic observables


                        Sensing : numeric observables




                                                                                                                      10
Component-oriented approaches to context-aware systems – Monday 14 June 2004
                                                 Architecture




                             Context adapter




                                                                               Privacy / Security / Trust




                                                                                                                      Discovery / Recovery
                               Situation and context identification




                                                                                                            History
                       Transformation : symbolic observables


                        Sensing : numeric observables




                                                                                                                                             11
Component-oriented approaches to context-aware systems – Monday 14 June 2004
                                                 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




                                                                               Privacy / Security / Trust




                                                                                                                      Discovery / Recovery
                               Situation and context identification




                                                                                                            History
                       Transformation : symbolic observables


                        Sensing : numeric observables

                                                                                                                                             12
Component-oriented approaches to context-aware systems – Monday 14 June 2004
                                                 Architecture

  One style does not fit all
  A set of interoperable infrastructures




                             Context adapter




                                                                               Privacy / Security / Trust




                                                                                                                      Discovery / Recovery
                               Situation and context identification




                                                                                                            History
                       Transformation : symbolic observables


                        Sensing : numeric observables

                                                                                                                                             13
Component-oriented approaches to context-aware systems – Monday 14 June 2004
                                   The contextor infrastructure




                             Context adapter




                                                                               Privacy / Security / Trust




                                                                                                                      Discovery / Recovery
                               Situation and context identification




                                                                                                            History
                       Transformation : symbolic observables


                        Sensing : numeric observables




                                                                                                                                             14
Component-oriented approaches to context-aware systems – Monday 14 June 2004
                                                     Outline



      • Contextor

      • Discovery

      • Examples




                                                                               15
Component-oriented approaches to context-aware systems – Monday 14 June 2004
                                                Contextor
                                           Software abstraction

      Functional core + typed communication channels




                                                        Control In




                                 Data In
                                                                          Data Out

                                                                        Meta Data Out
                               Meta Data In




                                                     Control Out

                                                                                        16
Component-oriented approaches to context-aware systems – Monday 14 June 2004
                                                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

                                                                                        17
Component-oriented approaches to context-aware systems – Monday 14 June 2004
                                                Contextor
                                           Software abstraction

      Functional core
      •   Transformation : Data (Type X) + Meta Data  Data (Type Y) + Meta Data
      •   Control : behavior adaptation
           – supports reconfigurability


                                                        Control In




                                 Data In
                                                                          Data Out
                                                   Transformation
                                                                        Meta Data Out
                               Meta Data In




                                                     Control Out

                                                                                        18
Component-oriented approaches to context-aware systems – Monday 14 June 2004
                           Dynamic Composition of Contextors

             Data and Meta Data Flow
                                                                 Application 1   Application 2




                                                                                           19
Component-oriented approaches to context-aware systems – Monday 14 June 2004
                           Dynamic Composition of Contextors

             Data and Meta Data Flow
             Controls Flow
                                                                 Application 1   Application 2




                                                                                           20
Component-oriented approaches to context-aware systems – Monday 14 June 2004
                                       Life Cycle of a Contextor

Creation, conception
of contextor
                             State 1
                 Not Running
                 Not Supplied
                  Not Ready
                 Not in Activity




                                                                               21
Component-oriented approaches to context-aware systems – Monday 14 June 2004
                                       Life Cycle of a Contextor

Creation, conception
of contextor
                             State 1                                                       State 2
                 Not Running           Launching the contextor from             Running
                 Not Supplied              its configuration file              Not Supplied
                  Not Ready                                                     Not Ready
                 Not in Activity                                               Not in Activity




                                                                                                     22
Component-oriented approaches to context-aware systems – Monday 14 June 2004
                                       Life Cycle of a Contextor

Creation, conception
of contextor
                             State 1                                                       State 2
                 Not Running           Launching the contextor from              Running             Looking for Source
                 Not Supplied              its configuration file              Not Supplied             Contextors :
                  Not Ready                                                     Not Ready             Send request for
                 Not in Activity                                               Not in Activity         service on the
                                                                                                          network




                                                                                                                 23
Component-oriented approaches to context-aware systems – Monday 14 June 2004
                                       Life Cycle of a Contextor

Creation, conception
of contextor
                             State 1                                                       State 2
                 Not Running           Launching the contextor from              Running             Looking for Source
                 Not Supplied              its configuration file              Not Supplied             Contextors :
                  Not Ready                                                     Not Ready             Send request for
                 Not in Activity                                               Not in Activity         service on the
                                                                                                          network




                                                                                         Subscribing
                                                                                             to
                                                                                      Source Contextors




                                                                                          State 3
                                                                                 Running
                                                                                Supplied
                                                                                Not Ready
                                                                               Not in Activity


                                                                                                                 24
Component-oriented approaches to context-aware systems – Monday 14 June 2004
                                       Life Cycle of a Contextor

Creation, conception
of contextor
                             State 1                                                       State 2
                 Not Running           Launching the contextor from              Running             Looking for Source
                 Not Supplied              its configuration file              Not Supplied             Contextors :
                  Not Ready                                                     Not Ready             Send request for
                 Not in Activity                                               Not in Activity         service on the
                                                                                                          network




                                                                                         Subscribing
                                                                                             to
                                                                                      Source Contextors




                            State 4                                                       State 3
                   Running                                                       Running
                   Supplied                                                      Supplied
                    Ready                Lauching the functional Core           Not Ready
                 Not in Activity           Waiting for Sink clients            Not in Activity


                                                                                                                 25
Component-oriented approaches to context-aware systems – Monday 14 June 2004
                                             Life Cycle of a Contextor

Creation, conception
of contextor
                             State 1                                                                 State 2
                 Not Running                  Launching the contextor from                 Running             Looking for Source
                 Not Supplied                     its configuration file                 Not Supplied             Contextors :
                  Not Ready                                                               Not Ready             Send request for
                 Not in Activity                                                         Not in Activity         service on the
                                                                                                                    network
                                                                  State 5
                                                         Running
                                                         Supplied      New sink Client
                                                          Ready          connection
                                                        In Activity
                                                                                                   Subscribing
                               First sink Client                                                       to
                                 Connection                                                     Source Contextors

                                              Last sink Client
                                              Disconnection
                            State 4                                                                 State 3
                   Running                                                                 Running
                   Supplied                                                                Supplied
                    Ready                          Lauching the functional Core           Not Ready
                 Not in Activity                     Waiting for Sink clients            Not in Activity


                                                                                                                           26
Component-oriented approaches to context-aware systems – Monday 14 June 2004
                                             Life Cycle of a Contextor

Creation, conception
of contextor
                             State 1                                                                 State 2
                 Not Running                  Launching the contextor from                 Running             Looking for Source
                 Not Supplied                     its configuration file                 Not Supplied             Contextors :
                  Not Ready                                                               Not Ready             Send request for
                 Not in Activity                                                         Not in Activity         service on the
                                                                                                                    network
                                                                  State 5
                                                         Running
                                                         Supplied      New sink Client
                                                          Ready          connection
             Stop                                       In Activity
           Command                                                                                 Subscribing
                               First sink Client                                                       to
                                 Connection                                                     Source Contextors

                                              Last sink Client
                                              Disconnection
                            State 4                                                                 State 3
                   Running                                                                 Running
                   Supplied                                                                Supplied
                    Ready                          Lauching the functional Core           Not Ready
                 Not in Activity                     Waiting for Sink clients            Not in Activity


                                                                                                                           27
Component-oriented approaches to context-aware systems – Monday 14 June 2004
                                                     Outline



      • Contextor

      • Discovery & Scalability

      • Examples




                                                                               28
Component-oriented approaches to context-aware systems – Monday 14 June 2004
                                          P2P Network Model


• Both a client and a server
      – Improves the autonomy of contextors




                                                                               29
Component-oriented approaches to context-aware systems – Monday 14 June 2004
                                          P2P Network Model


• Both a client and a server
      – Improves the autonomy of contextors


• Fully Distributed Architecture
      – Supports the arrival/departure of
        contextors




                                                                               30
Component-oriented approaches to context-aware systems – Monday 14 June 2004
                                          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




                                                                               31
Component-oriented approaches to context-aware systems – Monday 14 June 2004
                                          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)
                                                                               32
Component-oriented approaches to context-aware systems – Monday 14 June 2004
                                                     Outline



      • Contextor

      • Discovery

      • Examples




                                                                               33
Component-oriented approaches to context-aware systems – Monday 14 June 2004
                      Example 1: Human activities Observatory


   A dynamic Web page displays users’ level of activity




                                                                               34
Component-oriented approaches to context-aware systems – Monday 14 June 2004
                      Example 1: Human activities Observatory


      Architecture



                                                                           Web Pages
                                       Tomcat Web Server                               Web client



                                    Federation of Contextors

                                                                                       Client Web




                       User                       User                    User
                                                                                             35
Component-oriented approaches to context-aware systems – Monday 14 June 2004
                      Example 1: Human activities Observatory


      Architecture
                                                                                     Observed User

                                                                                                  Keyboard
                                                                                                   Activity
                                                                                                  Contextor


                  Servlet

                                                                          Local
                Displays                                                  Activity                     Mouse
                                      Adapter




                                                                         Contextor                     Activity
                 Users                                                                                Contextor
                Activities


                                                                                           Local
                                                                                        information
                                                                                         Contextor

                                                                                                              36
Component-oriented approaches to context-aware systems – Monday 14 June 2004
                      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) );
                  }
                  […]
          }
          […]
      }
                                                                                               37
Component-oriented approaches to context-aware systems – Monday 14 June 2004
                            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());
                  […]
          }
          […]
      }
                                                                               38
Component-oriented approaches to context-aware systems – Monday 14 June 2004
                                            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.



                                                                               39
Component-oriented approaches to context-aware systems – Monday 14 June 2004
                                            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




                                                                               40
Component-oriented approaches to context-aware systems – Monday 14 June 2004
                                            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
                                                                        PIC Microprocessor
                    IRDA
             transmitter / receiver




                  IRDA manager
                                                                      USB connector
                                                                                             41
Component-oriented approaches to context-aware systems – Monday 14 June 2004
                                            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




                                                                               42
Component-oriented approaches to context-aware systems – Monday 14 June 2004
                                                  Conclusion


      • Role of Contextors
            – Capture and computes contextual information
            – Distribution (local and global)




                                                                               43
Component-oriented approaches to context-aware systems – Monday 14 June 2004
                                                  Conclusion


      • Role of Contextors
            – Capture and computes contextual information
            – Distribution (local and global)




      • Middleware
            – Distributed
            – Dynamic
            – Autonomous




                                                                               44
Component-oriented approaches to context-aware systems – Monday 14 June 2004
                                                Perspectives


      • Evaluation of architecture
            – Latency
            – Scalability
            – Reconfigurability




                                                                               45
Component-oriented approaches to context-aware systems – Monday 14 June 2004
                                                Perspectives


      • Evaluation of architecture
            – Latency
            – Scalability
            – Reconfigurability


      • Implementation of examples
            – Mobility (connections / disconnections)
            – Distribution (repeaters)




                                                                               46
Component-oriented approaches to context-aware systems – Monday 14 June 2004
                                                Perspectives


      • Evaluation of architecture
            – Latency
            – Scalability
            – Reconfigurability


      • Implementation of examples
            – Mobility (connections / disconnections)
            – Distribution (repeaters)


      • Contextors Upgrade
            – History of the data

                                                                               47
Component-oriented approaches to context-aware systems – Monday 14 June 2004
                             The Contextor Infrastructure
                            for Context-Aware Computing

                                Gaëtan Rey, Joëlle Coutaz
                              Engineering HCI research group
                              CLIPS IMAG, Grenoble, France



                                                                               48
Component-oriented approaches to context-aware systems – Monday 14 June 2004
                                        Data et Meta Data
                                      XML 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




                                                                               49
Component-oriented approaches to context-aware systems – Monday 14 June 2004

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:4
posted:8/14/2012
language:English
pages:49