Context Aware Computing

Ubiquitous computing integrates computation seamlessly into daily life, where the services provided are highly dependent on the user’s social and personal context. For these systems to deliver meaningful and practical solutions, they must be context-aware. Context-aware computing enhances ubiquitous systems by:

  • Recognizing situations of interest
  • Improving service quality for users
  • Automating processes to reduce intrusiveness
  • Customizing and personalizing applications

Albrecht Schmidt emphasized the significance of context-aware computing, stating: “Context is essential for building usable Ubiquitous Computing systems that respond in a way that is anticipated by the user.”

Definition of Context

Context, as described in earlier studies and dictionaries, refers to the circumstances or conditions relevant to an entity’s interaction with an application. Dey and Abowd (2000) defined context as: “Any information that can be used to characterize the situation of an entity. An entity is a person, a place, or a physical or computational object relevant to the interaction between a user and an application, including the user and application themselves.” Pascoe added that context involves the physical and conceptual states of interest to a specific entity.

In this report, context is represented as a set of attributes characterizing an entity’s situation. For instance:

User_Context = {User_Name, User_Role, User_Age, User_Interest, User_Mood, User_PhysicalPosture, User_PhysicalHealth, User_Activity, User_Location, Date, Day, Time}

A set of attributes defines a context if it answers these questions:

  1. Who is the entity? (Identity)
  2. Where is the entity? (Location)
  3. When is this happening? (Time)
  4. What is the entity doing? (Activity)

The table below differentiates between context and non-context sets:

Context AttributesIdentityLocationActivityTimeExample
Name, Role1000Rohan is a father
Name, Role, Time1001Rohan is a father during morning hours
Name, Time, Activity1011Rohan is a father doing yoga in the morning
Name, Time, Activity, Location1111Rohan is a father doing yoga in the living room during morning hours

Note: 1 = Provides related information; 0 = Does not provide related information.

Context attributes can be classified as:

  1. Indispensable Attributes: Essential for fully describing the context.
  2. Dispensable Attributes: Supplemental, adding depth to indispensable attributes for personalized services.

Examples of these classifications are illustrated below:

ScenarioIndispensable AttributesDispensable Attributes
Rohan is doing yoga in the morning in his living roomName, Role, Activity, LocationNone
Rohan is doing yoga, and his health is normalName, Role, Activity, LocationHealth
Rohan is running while doing yoga; his health and posture are normalName, Role, Activity, LocationHealth, Physical Posture
Rohan is doing yoga in the living room; health, mood, and eyesight are notedName, Role, Activity, LocationHealth, Mood, Eyesight

Properties of Contextual Information

Contextual information refers to the data about an entity’s context. Key properties include:

  1. Static vs. Dynamic: Context can change over time (dynamic) or remain constant (static). For example:
    • Dynamic: User location, mood
    • Static: Name, date of birth
  2. Historical Data: Context creates a timeline that can predict future contexts.
  3. Volume: Context information is vast, influenced by measurement uncertainty and assumptions.
  4. Inaccuracies: Errors may arise from faulty sensors or incorrect assumptions.
  5. Multiple Sources: The same data (e.g., user location) can be obtained via GPS, WLAN, etc.
  6. Relevance: Depends on time and location. For example, mobile user location is most relevant at the time and place of capture.
  7. Heterogeneity: Context information spans personal, physical, technical, and social dimensions.
  8. Ubiquity: Contextual information is pervasive, present everywhere at all times.
  9. Imperfect Data: Context may be incomplete or inconsistent due to sensor limitations.
  10. Unpredictability: Any information can be relevant, making context unforeseeable.

Categories of Context

Context can be categorized based on the type of information provided:

  1. Computing Context: Details about processing speed, memory, software, and utilities.
  2. Network Context: Information about connection type, bandwidth, signal strength, etc.
  3. User Context: User-specific data like name, role, mood, and activity.
  4. Physical Context: Environmental factors such as light, temperature, and sound.
  5. Time Context: Time-related details, including time of day or week.
  6. Sensor Context: Sensor data such as location, temperature, and noise levels.
  7. Device Context: Information about devices (e.g., input/output capabilities, memory, and services).

Context can also be divided into:

  • Primary Context: Low-level data directly obtained from sensors (e.g., location, time, temperature).
  • Secondary Context: High-level, abstracted information derived from primary context (e.g., user’s activity or mental state).