C ONSISTENT M ANAGEMENT OF C ONTEXT I NFORMATION IN U BIQUITOUS S YSTEMS Gabriel Guerrero-Contreras gjguerrero@ugr.es José Luis Garrido jgarrido@ugr.es Carlos Rodríguez-Domínguez carlosrodriguez@ugr.es Sara Balderas-Díaz sarabd@correo.ugr.es 7th International Conference on Internet and Distributed Computing Systems 22 nd September 2014 University of Granada Software Engineering Department
O UTLINE 1. Introduction 2. Consistent Management of Context Information > The Service Entity and Replica Manager > The Synchronization and Monitoring Services > The Context Manager 3. Case Study 4. Conclusions and Future Work G. Guerrero-Contreras et al. 2
1. I NTRODUCTION (1) • Context-aware systems use the context information to make decisions about their future behavior • Ubiquitous environments make use of context-aware techniques to provide a natural and unconscious interaction with the computational system to the user • Features of ubiquitous environment can affect to the consistency of distributed context information > Uneven conditioning, limited resources, dynamic network topology , etc. G. Guerrero-Contreras et al. 3
1. I NTRODUCTION (& 2) Motivation • SOA, EDA and middleware technologies are not enough to support dynamic environments • Existing approaches to manage context information follow a centralized scheme • In context-aware systems it is decisive to maintain the correctness and the quality of context information Objective Support the synchronization and consistent management of distributed context information G. Guerrero-Contreras et al. 4
2. C ONSISTENT M ANAGEMENT OF C ONTEXT I NFORMATION • A model is proposed as a common basis for the management of shared resources > It is based on the SOA model > It provides two main services: Monitoring and Synchronization • A Context Manager Service has been created from the specialization of the Synchronization service G. Guerrero-Contreras et al. 5
2.1 T HE S ERVICE E NTITY AND R EPLICA M ANAGER (1) G. Guerrero-Contreras et al. 6
2.1 T HE S ERVICE E NTITY AND R EPLICA M ANAGER (1) • The applications and services are considered Software Entities deployed in a device • A service may be being accessed by one or more applications, and by one or more services (i.e., service composition ) G. Guerrero-Contreras et al. 7
2.1 T HE S ERVICE E NTITY AND R EPLICA M ANAGER (1) • A service can manage a kind of shared resources • Documents, images, database, etc. G. Guerrero-Contreras et al. 8
2.1 T HE S ERVICE E NTITY AND R EPLICA M ANAGER (1) • Each service is made up of a Replica Manager • This avoid central controls and strengthen the system against node disconnections and network partitions G. Guerrero-Contreras et al. 9
2.1 T HE S ERVICE E NTITY AND R EPLICA M ANAGER (& 2) • The Replica Manager is responsible of encapsulating the adaptation logic regarding the deployment of the services > Providing a distributed solution to the dynamic deployment > Improving the availability of shared resources (documents, images, etc.) • The Replica Manager will need the information provided by the Context Manager Service G. Guerrero-Contreras et al. 10
2.2 T HE S YNCHRONIZATION AND M ONITORING S ERVICES (1) G. Guerrero-Contreras et al. 11
2.2 T HE S YNCHRONIZATION AND M ONITORING S ERVICES (1) • The Synchronization Service is an abstract service which must be specialized according to each particular resource to be synchronized • It is based on the Monitoring Service G. Guerrero-Contreras et al. 12
2.2 T HE S YNCHRONIZATION AND M ONITORING S ERVICES (1) • The Monitoring Service is a basic service which stores all kind of information about changes on the different replicas of the shared resources G. Guerrero-Contreras et al. 13
2.2 T HE S YNCHRONIZATION AND M ONITORING S ERVICES (& 2) Synchronization service Specialization of the service The common part related to manage the resource is The particular requirements identified and of a resource are implemented assigned to the in the specialization of the Synchronization service service • Thus a common basis for the consistent management of the shared resources is provided G. Guerrero-Contreras et al. 14
2.3 T HE C ONTEXT M ANAGER (1) G. Guerrero-Contreras et al. 15
2.3 T HE C ONTEXT M ANAGER (1) • The context information can be distributed and replicated G. Guerrero-Contreras et al. 16
2.3 T HE C ONTEXT M ANAGER (1) • Through the specialization of the Synchronization service , a Context Manager which can address these context inconsistencies at the service level is provided G. Guerrero-Contreras et al. 17
2.3 T HE C ONTEXT M ANAGER (& 2) • The Context Manager will implement the ‘ synchronize ’ abstract method, where it will should add the specific synchronization algorithms for managing the context data resource. G. Guerrero-Contreras et al. 18
3. C ASE S TUDY • In a hospital there is an Emergency service which form part of an ubiquitous environment • The Emergency service will look for the most appropriate doctor to attend the emergency • Different information need to be managed > Location of the medical staff, availability of the medical resources, profile of the patients, etc. G. Guerrero-Contreras et al. 19
3. C ASE S TUDY The doctor is in the hospital Emergency Context Manager Service Replica 1 Monitoring Service Context Information G. Guerrero-Contreras et al. 20
3. C ASE S TUDY The doctor is in the ambulance Context Manager Emergency Context Manager Replica 2 Service Replica 1 Monitoring Service Context Context Information Information The doctor is in the hospital G. Guerrero-Contreras et al. 21
3. C ASE S TUDY Emergency Context Manager Context Manager Service Replica 1 Replica 2 Monitoring Service Context Context Information Information The doctor is in the hospital The doctor is in the ambulance G. Guerrero-Contreras et al. 22
3. C ASE S TUDY ‘ synchronize ’ Emergency Context Manager Context Manager Service Replica 1 Replica 2 Monitoring Service Context Context Information Information The doctor is in the hospital The doctor is in the ambulance G. Guerrero-Contreras et al. 23
3. C ASE S TUDY /** * @param list: a list of events obtained from the `disjointSet' method */ void synchronize (List<Events> list){ foreach(Event evt in list){ evtName = evt.getMemberValue("object").GetString(); evtValue = evt.getMemberValue("value").GetString(); evtTime = evt.getMemberValue("timestamp").GetInt64(); [...] if(this.getContextObject(evtName).getTimestamp() < evtTime){ this.setContextValue(evtName, evtValue); } [...] } } G. Guerrero-Contreras et al. 24
4. C ONCLUSIONS • The devised model provides to the software engineers the basis for a correct and consistent management of replicated/distributed resources • From this basis a Context Manager has been provided • The model is based on distributed scheme • It also contemplates the adaptation logic of the replication of services at run-time G. Guerrero-Contreras et al. 25
4. F UTURE W ORK • Currently, a simulation on ns3 network simulator is under development. In order to perform a study the behavior of the Replica Manager component • We plan to study the composition between the herein presented services and other high level self- adaptive services, such as a location service G. Guerrero-Contreras et al. 26
T HANKS FOR YOUR ATTENTION ! Q UESTIONS ? 7th International Conference on Internet and Distributed Computing Systems 22 nd September 2014 University of Granada Software Engineering Department
Recommend
More recommend