Acquiring context is based on five factors which are responsibility, frequency, context source, sensor type and process of acquisition [1].
Based on responsibility
Responsibility factor is about who is making the decision on sensing and communication, either the sensor hardware or user software. This method of context acquisition is called push and pull. It is called push when sensor hardware is responsible to send data to the user. The context acquisition could be instant or interval and the sensor hardware make the major decision on sensing and communication and normally the decision is made based on reasoning less amount of data. The method is feasible if the sensor hardware has enough processing power and knowledge to reason locally. The pull method allows the user software to make the major decision on sensing and communication, and it is based on significant amount of data. Similarly, the acquisition could be instant or interval. The method is feasible when the sensors do not have knowledge on when to send the data to the user.
Based on frequency
There are two event types when context is generated namely instant and interval (periodically). Instant event does not span across certain amounts of time. Data is acquired when the event occurs. Interval event span a certain period of time. Data is acquired periodically. Both events could employ push and pull methods.
Based on context source
There are three possible sources which context could be acquired: 1) from sensor hardware, 2) from middleware infrastructure, and 3) from context servers.
1) from sensor hardware
Context is acquired directly from sensor by communicating with the sensor hardware. Software drivers and libraries needs to be installed locally. This method of acquisition used to retrieve data from sensors attached locally.
2) from middleware solution
Context is acquired from middleware solution, which will directly access the sensor hardware to retrieve data.
3) from context servers
Context is acquired from other context storage such as web server via web service calls. This is usefull when the context aware system hardware has limited computing resources.
Based on sensor types
Sensors can be categorised depending on how data is generated. The categories are physical, virtual and logical. Physcial sensors are tangible and generate data by themselves. Some of the examples of physical sensors are temperature, humidity, touch etc. The data retrieved from these type of sensors is called low-level context because they are less meaningful, trivial and vulnerable to changes. Virtual sensors do not necessarily generate data by themselves but retrieve data from numerous sources and publish it as sensor data. For example contact number directory, twitter status, facebook status, email etc. The sensors do not have physical presence and commonly use web services technology to send and receive data. Logical sensors uses physical and virtual sensors data to generate more meaningful information.
[1] Perera, C.; Zaslavsky, A.; Christen, P.; Georgakopoulos, D., “Context Aware Computing for The Internet of Things: A Survey,” Communications Surveys & Tutorials, IEEE , vol.16, no.1, pp.414,454, First Quarter 2014