Context awareness is the ability of a system or system component to gather information about its environment at any given time and 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 that’s relevant to a given entity, such as a person, a device or an 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 context-aware computing. A context-aware system may gather data through these and other sources and respond according to pre-established rules or through computational intelligence. Such a system may also base responses on assumptions about context. For user applications, context awareness can guide services and enable enhanced experiences including augmented reality, context-relevant information delivery and contextual marketing messages.
Although often defined as a property of mobile devices used to present relevant, actionable information to the end user, context awareness is also a technological driver for M2M (machine to machine) and Internet of Things (IoT), ubiquitous computing and event-driven computing environments.