The Context-information mediator (CIM) - Balagtas, Florence Tiu (2006)
Pervasive computing describes computer technologies that adapt to how human beings behave. This aims to make human lives easier by creating computer applications called ubiquitous applications, that are adaptive and responsive to human needs. The essential information found in a ubiquitous application is called context-information. Context-information helps an application decide on what to do next in order to adapt to its user's needs. In order to easily develop ubiquitous applications, there has been increased research in the design and development of frameworks which are called pervasive computing frameworks. Examples of these pervasive computing frameworks are the Context-toolkit and the Aura framework. Although these frameworks help application developers easily create ubiquitous applications, interoperability has been a problem because of the different representation of context-information and protocols used. This research attempts to solve this problem by creating a Context-Information Mediator (CIM) which will serve as a translation gateway between different applications created using different pervasive frameworks. We developed an inventory system application that keeps track of items inside a building. We created two versions of this sample inventory application, one written using the Aura framework and Context-toolkit framework for the other. The idea is to let these applications communicate with each other and share information thru the Context-Information Mediator. The two general communicating components in the Context-Information Mediator framework is the CIM Client Interface and the CIM Server. The CIM Client Interface sits below the client system and is responsible for forwarding and receiving information to and from the CIM Server. The CIM Server is responsible for gathering all the context-information and sends the converted information to its clients. We created different protocols based on the Internet Architecture, used for communication between the CIM Server and its clients. We used XML to represent information for the different clients. The experiments done to evaluate the performance of the CIM framework shows that introducing the CIM client Interface layer introduces only a small overhead on the client system. This is because all of the processing of data is done on the CIM server side. The factors that add to the processing overhead on the CIM server is the size of data that is to be processed and the type of client that the CIM server has to deal with. We have also evaluated CIM to be scalable based on its extensibility to support other frameworks as long as these frameworks uses the Java platform.