Context awareness is the ability of a system or system component to gather information about its environment at a given time and to adapt behaviors accordingly. Contextual or context-aware computing uses software and hardware to automatically collect and analyze data to guide responses.
Context includes any information relevant to a given entity, such as a person, device, or application. As such, contextual information falls into a wide range of categories, including time, location, device, identity, user, role, privilege level, activity, task, process and nearby devices/users.
Web browsers, cameras, microphones, and Global Positioning Satellite (GPS) receivers and sensors are all potential sources of data for contextual computing. A context-aware system can collect data through these and other sources and respond according to pre-established rules or through computational intelligence. Such a system can also base responses on assumptions about context. For user applications, contextual awareness can guide services and enable enhanced experiences, including augmented reality, contextual information delivery, and contextual marketing messages.
Although often defined as a property of mobile devices used to present relevant and actionable information to the end user, contextual awareness is also a technology driver for M2M (machine-to-machine) and the Internet of Things (IoT) , ubiquitous computing and event computing. environments.