Context consistency checking, the checking of specified constraint on properties of contexts, is essential to context-aware applications. In order to delineate and adapt to dynamic changes in the pervasive computing environment, context-aware applications often need to specify and check behavioral consistency constraints over the contexts. This problem is challenging mainly due to the distributed and asynchronous nature of pervasive computing environments. Specifically, the critical issue in checking behavioral constraints is the temporal ordering of contextual activities. The contextual activities usually involve multiple context collecting devices, which are fully-decentralized and interact in an asynchronous manner. However, existing context consistency checking schemes do not work in asynchronous environments, since they implicitly assume the availability of a global clock or relay on synchronized interactions. To this end, we propose the Ordering Global Activity (OGA) algorithm, which detects the ordering of the global activities based on predicate detection in asynchronous environments. The essence of our approach is the message causality and its on-the-fly coding as logic vector clocks in asynchronous environments. We implement the Middleware Infrastructure for Predicate detection in Asynchronous environments (MIPA), over which the OGA algorithm is implemented and evaluated. The evaluation results show the impact of asynchrony on the checking of behavioral consistency constraints, which justifies the primary motivation of our work. They also show that OGA can achieve accurate checking of behavioral consistency constraints in dynamic pervasive computing environments.
In asynchronous environments, the concept of temporal ordering of events must be carefully reexamined @cite_32 . The happen-before relationship intrinsic in message passing is a promising solution to context consistency checking in asynchronous pervasive computing environments. In our previous work @cite_20 , the Concurrent Event Detection for Asynchronous consistency checking (CEDA) algorithm was proposed to detect concurrent contextual activities in asynchronous pervasive computing environments. CEDA explicitly checks whether contexts being checked belong to the same snapshot of time based on the happen-before relationship among the beginning and ending of contextual activities. However, behavior patterns of contexts cannot be specified and checked by CEDA. In this paper, we study how to check behavioral patterns of contexts based on the ordering of global contextual activities.
@cite_32 @cite_20
1973501242 2141246182
The concept of one event happening before another in a distributed system is examined, and is shown to define a partial ordering of the events. A distributed algorithm is given for synchronizing a system of logical clocks which can be used to totally order the events. The use of the total ordering is illustrated with a method for solving synchronization problems. The algorithm is then specialized for synchronizing physical clocks, and a bound is derived on how far out of synchrony the clocks can become. Contexts, the pieces of information that capture the characteristics of computing environments, are often inconsistent in the dynamic and uncertain pervasive computing environments. Various schemes have been proposed to check context consistency for pervasive applications. However, existing schemes implicitly assume that the contexts being checked belong to the same snapshot of time. This limitation makes existing schemes do not work in pervasive computing environments, which are characterized by the asynchronous coordination among computing devices. The main challenge imposed on context consistency checking by asynchronous environments is how to interpret and detect concurrent events. To this end, we propose in this paper the Concurrent Events Detection for Asynchronous consistency checking (CEDA) algorithm. An analytical model, together with corresponding numerical results, is derived to study the performance of CEDA. We also conduct extensive experimental evaluation to investigate whether CEDA is desirable for context-aware applications. Both theoretical analysis and experimental evaluation show that CEDA accurately detects concurrent events in time in asynchronous pervasive computing environments, even with dynamic changes in message delay, duration of events and error rate of context collection.