CO C NTEX E T A W A A W RE R E CO C MPU P T U ING By Swati A. Sonawane M.E. (SSA)
Overview Context Definition Categorization Characteristics Context Awareness Context Aware Computing Need For Context Aware (CA) Computing Context-Aware Application Development Approach Categorization of features Model / Framework Properties Example Issues and Challenges References
Who is “ANNA” ??
Google Search Results 2-3 months before : First search result for WHY ? Current Search “ANNA” Complex Searching Shows : First Algorithms Takes Search Result as Anna Kournikova Following In Consideration (Famous Tennis Anna Hajare. Player / Model ) 1. IP based Location 2. Current Activity on Internet Searches 3. Page Ranking etc .. “ CONTEXT ”
Context The word context is derived from the Latin “contextus”, which means “connection of words, coherence,” and from contexere “to weave together.” No clear boundary divides what is and is not context. Most interesting kinds of context are those that humans do not explicitly provide. With advances in sensing and automated means of perceiving the physical environment, we can automatically collect much more implicit context.
Context( cont…) SOME OTHER DEFINITIONS …. In the work that first introduces the term context-aware, Schilit and Theimer (1994) refer to context as location, identities of nearby people and objects, and changes to those objects. In a similar definition, Brown et al. (1997) define context as location, identities of the people around the user, the time of day, season, temperature, etc. Ryan et al. (1998) define context as the user’s location, environment, identity, and time. Dey (1998) enumerated context as the user’s emotional state,focus of attention, location and orientation, date and time, and objects and people in the user’s environment. Finally, Pascoe (1998) defines context to be the subset of physical and conceptual states of interest to a particular entity. Context defines some rules of inter-relationship of features in processing any entities as a binding clause.
Context( cont…) FINAL INTERPRETATION “ Context is any information that can be used to characterize the situation of an entity. An entity is a person, place, or object that is considered relevant to the interaction between a user and an application, including the user and the application themselves.” -- Dey and Abowd, 2000 Context: the interrelated conditions in which something exists or occurs. -- Merriam-Webster Dictionary Specifically, in context-aware computing, we use the term context to refer to the circumstances under which a specific computational program is being executed, such as the current occupation of the user while some device is being used, or the current state of the environment in terms of which it can be fully understood and asserted
Examples of Context TIME LIGHT LOCATION IDENTITY SOCIAL PRESSURE
Context Helps us to do things better Context influences how we perceive information. Context enables us to manage the vast amount of information that surrounds us. Context guides us through the information surrounding us. Context allows to discriminate “what is important” and “what is not” . Context helps us to adapt to our surroundings.
Context Categorization Human factors – information on the user (knowledge of habits, emotional state, biophysiological conditions) – the user’s social environment (co-location of others, social interaction, group dynamics) – and the user’s tasks (spontaneous activity, engaged tasks, general goals). Physical Context – Active context: influences the behaviour of the application. where active context-awareness autonomously changes the application behavior according to the sensed information. – Passive context: context that is relevant but not critical. Passive context-awareness presents updated context or sensor information to the user but lets the user decide how to change the application behavior.
Context Categorization Schilit, Adams, and Want (1994) attempted to define context by specifying three categories of context: Computing context: For example, network connectivity, communication bandwidth,nearby resources like printers, displays; User context: For example, user’s profile,location, emotional state, people nearby,current activity; Physical context: For example, lighting,noise level, traffic conditions, temperature Some of researchers consider TIME Context as another category. (time of the day , month , year )
Context Categorization Others…. Primary Context : More important than others, e.g. location (where), identity (who), time (when), and activity (what) Secondary Context : Which can derived from primary contraints, e.g. Distances, Relationships
Characteristics of context Context information exhibits a range of temporal characteristics Context information is imperfect Context has many alternative representations Context information is highly interrelated
Context Awareness Computers can both sense, and react based on their environment. Devices may have information about the circumstances under which they are able to operate and based on rules, or an intelligent stimulus, react accordingly. Context aware devices may also try to make assumptions about the user's current situation. The term context-awareness in ubiquitous computing was introduced by Schilit (1994). Applications that use context, whether on a desktop or in a mobile or ubiquitous computing environment, are called context-aware.
Context Awareness Remember Past Events Reminders for future events Using Triggers Sharing Experiences Dey and Abowd (2000) define context awareness more generally with the following statement: A system is context-aware if it uses context to provide relevant information and/or services to the user, where relevancy depends on the user’s task.
Context Awareness Thus context-awareness was more or less regarded as synonymous with adaptivity. Adaptivity thereby comprises principally: Restricting the user interface to the relevant input possibilities and relevant data; Adapting dynamically to the user’s context how the information is presented and how it can be accessed, for example, use of audio output instead of visual output if the user is currently driving; Automating actions for the user.
Context Aware Computing Schilit, Adams, & Want (1994) defines “Context-aware computing” as “software that examines and reacts to an individual’s changing context.” Means “…aware of its user’s state and surroundings, and help to adapt its behavior”
Need For Context Aware (CA) Computing Human to Human communication Situational Past and future events, information such as facial expressions, The existence of other people in the room Emotions, The process of building this Voice tone shared understanding between two people is called grounding .
Need For Context Aware (CA) Computing Human and Computer communication Following Tasks Cannot be easily done by Computers : Understanding and Interpreting our language • We need to be very specific about giving commands • OR asking for information Cannot sense information about the current situation • Sensing Facial expression • Presence of other people near by.
Need For Context Aware (CA) Computing Human and Computer communication Information is provided to computers, typically using a keyboard and mouse As a result , Producing an effect contrary to the promise of transparency in Weiser’s vision of ubiquitous computing
Need For Context Aware (CA) Computing Need of Context in Ubicomp Environment Context, critically required in Ubicomp Environment . Mobile computing and ubiquitous computing have given users the expectation that they can access whatever information and services they want, whenever they want, and wherever they are. With computers being used in such a wide variety of situations, interesting new problems arise, and the need for context is clear: users are trying to obtain different information from the same services or systems in different situations. Context can be used to help determine what information or services to make available or to bring to the forefront for users.
Need For Context Aware (CA) Computing Input deficiency is resolved, by two basic approaches: Improving the language that humans can use to interact with Computers Increasing the amount of situational information, or context, that is made available to computers Need for explicitness does exist in human–computer interactions, because the computer does not share this implicit situational information or context The goal of context-aware computing is to use context as an implicit cue to enrich the impoverished interaction from humans to computers, making it easier to interact with computers.
Need For Context Aware (CA) Computing Smart phones having great computing power. Hi-Speed internet and wireless services. Above two makes user’s context more dynamic. With ubiquitous computing, users move throughout an environment and interact with computer-enhanced objects within that environment. This also allows them to have access to remote information and services Our wearable system contains a radio link that connects the user to computing resources and services from the Internet. The use of context in mobile device is receiving increasing attention in mobile and ubiquitous computing research.
Context Aware Applications “A system is context-aware if it uses context to provide relevant information and/or services to the user, where relevancy depends on the user’s task.” E.g. Smart Phones screen goes Brighter when exposed to light ( using photo sensors), And goes dimmer on low battery . Some of the context Aware Apps For Android
Context Aware Applications Context-aware applications look at the – who’s, – where’s, – when’s, and – what’s (i.e., what activities are occurring) of entities and use this information to determine why a situation is occurring. An application does not actually determine why a situation is occurring, but the designer of the application does. The designer uses incoming context to determine the user’s intent, or why a situation is occurring, and uses this to encode some action in the application that helps to satisfy this intent.
Categorization of features CA Applications First provided by Schilit et al. (1994) and had two orthogonal dimensions: whether the task is to obtain information or to execute a command, and whether the task is executed manually or automatically. Proximate selection applications. Automatic contextual applications. Contextual command applications. Context triggered actions.
Categorization of features CA Applications Categorization By Pascoe • contextual sensing - detect and present to user • context adaptation - execute or modify a service automatically • contextual resource discovery - locate and exploit resources and services • contextual augmentation (associating digital data with user’s context) Dey: • presentation of information/services to a user according to current context • automatic execution of a service when in a certain context • tagging context to information for later retrieval
Categorization of features CA Applications Two Major Benefits of Categorization of features The first is that it further specifies the types of applications that researchers provide support for. The second benefit is that it describes the types of features that developers should be thinking about when building ContextAware applications.
Approach to context-aware application development To collect implicit contextual information through automated means ( using Sensors , Camera etc .) Make it easily available to a computer’s runtime environment, And let the application designer decide what information is relevant and how to deal with it.
Properties of Context Aware “Model/Framework” Adapt interfaces ( Context sensing and acquisition ) Increase the precision of information retrieval, Tailor the set of application-relevant data ( Processing, aggregation and reasoning of contextual data ) Context modeling, representation and storing, Context-aware application adaptation,
Properties of Context Aware “Model/Framework” Integration of context-awareness into service-oriented architectures Security and privacy of context data, Discover services 2G , 3G or Wifi connect to best of available. Make the user interaction implicit, or build smart environments.
Example (Google Latitude) Uses the following ways to locate exact position on Earth – Global Positioning System – Tower Signal INFO – IP address, If wifi connnected . – Digital Compass Signal To show the direction. Context – Location – Time It also shows your Friends location on map, if they are using same application and sharing location
Example (Google Latitude) Application Can be written on top of this , like location based alarm , near friend notifier.
Example (Bump) Bump two phones together to share – Photos – contacts – apps Without knowing Email id / IP address. Bump makes sharing with people as simple as bumping two phones together. Context Collected via – Vibration/motion sensor – Location detectors (for verification) Time is most important as context.
Issues and Challenges Errors Occurred because of wrong interpretation of Context : When the system does the wrong thing – Auto-locking car doors – Screen saver during presentation – Microphone amplifying a whisper In these examples, is the system or the user at fault?
Issues and Challenges Challenges in Context-Aware Computing – How to represent context internally? (Storage) – Data structures and algorithms – How frequently does the system need to be updated on context changes? – How often to poll? ( in case limited power ) – How often to change behavior? – What sensors infrastructure, or sensors are necessary? – What is the fallback condition? – How to sense location information?
Issues and Challenges • Issues to Consider when Building Context-Aware Applications – Context Is a Proxy for Human Intent – Context Inferencing • is the act of making sense of these input data from sensors and other sources, to determine or infer the user’s situation. – Context Ambiguity – “Rules” versus “Machine Learning” – Privacy – Evaluation – End User Issues • Understanding of Application’s behavior • How much control on application user should have
References • Handbook of Research on Ubiquitous Computing Technology for Real Time Enterprises ---Max Mahlhauser, Iryna Gurevych • Ubiquitous Computing Fundamentals ---John Krumm • Advances in Ubiquitous Computing Future Paradigms and Directions ----Mostefaoui, Maamar,Giaglis