CONTEXT AWARE COMPUTING By Swati A. Sonawane M.E. (SSA)
OverviewContext Definition Categorization CharacteristicsContext AwarenessContext Aware ComputingNeed For Context Aware (CA) ComputingContext-Aware Application Development Approach Categorization of features Model / Framework Properties ExampleIssues and ChallengesReferences
Google Search Results2-3 months before :First search result for WHY ? Current Search Complex Searching“ANNA” Shows : First Algorithms Takes Search Result as Following InAnna Kournikova Consideration(Famous Tennis Anna Hajare.Player / Model ) 1. IP based Location 2. Current Activity on Internet Searches 3. Page Ranking etc .. “ CONTEXT ”
ContextThe word context is derived from the Latin “contextus”,which means “connection of words, coherence,” andfrom contexere “to weave together.”No clear boundary divides what is and is not context.Most interesting kinds of context are those that humans donot explicitly provide.With advances in sensing and automated means ofperceiving the physical environment, we can automaticallycollect 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, andchanges to those objects.In a similar definition, Brown et al. (1997) define context as location, identities ofthe people around the user, the time of day, season, temperature, etc.Ryan et al. (1998) define context as the user’s location, environment, identity, andtime.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’senvironment.Finally, Pascoe (1998) defines context to be the subset of physical and conceptualstates of interest to a particular entity.Context defines some rules of inter-relationship of features in processing anyentities 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 LOCATIONIDENTITY SOCIAL PRESSURE
Context Helps us to do things betterContext influences how we perceive information.Context enables us to manage the vast amount ofinformation 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 CategorizationHuman 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 CategorizationSchilit, 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 CategorizationOthers….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 contextContext information exhibits a range of temporalcharacteristicsContext information is imperfectContext has many alternative representationsContext information is highly interrelated
Context AwarenessComputers can both sense, and react based on their environment.Devices may have information about the circumstances under which theyare able to operate and based on rules, or an intelligent stimulus, reactaccordingly.Context aware devices may also try to make assumptions about the userscurrent situation.The term context-awareness in ubiquitous computing was introduced bySchilit (1994).Applications that use context, whether on a desktop or in a mobile orubiquitous computing environment, are called context-aware.
Context Awareness Remember Past Events Reminders for future events Using Triggers Sharing ExperiencesDey 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 AwarenessThus context-awareness was more or less regarded as synonymouswith 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 ComputingSchilit, 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 communicationSituational Past and future events,information such asfacial expressions, The existence of other people in the roomEmotions, The process of building thisVoice tone shared understanding between two people is called grounding .
Need For Context Aware (CA) Computing Human and Computer communicationFollowing 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 akeyboard and mouse As a result , Producing an effect contrary to the promise oftransparency in Weiser’s vision of ubiquitous computing
Need For Context Aware (CA) ComputingNeed of Context in Ubicomp Environment Context, critically required in Ubicomp Environment . Mobile computing and ubiquitous computing have given users theexpectation that they can access whatever information and services theywant, 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 aretrying to obtain different information from the same services or systems indifferent situations. Context can be used to help determine what information or services tomake 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 informationor context The goal of context-aware computing is to use context as an implicit cueto enrich the impoverished interaction from humans to computers, makingit 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 andinteract 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 tocomputing resources and services from the Internet. The use of context in mobile device is receiving increasing attention inmobile and ubiquitous computing research.
Context Aware Applications“A system is context-aware if it uses context to providerelevant information and/or services to the user, whererelevancy 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 ApplicationsContext-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 isoccurring.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 whya situation is occurring, and uses this to encode some action in theapplication that helps to satisfy this intent.
Categorization of features CA Applications First provided by Schilit et al. (1994) and had two orthogonaldimensions: whether the task is to obtain information orto execute a command, and whether the task is executedmanually or automatically. Proximate selection applications. Automatic contextual applications.Contextual command applications.Context triggered actions.
Categorization of features CA ApplicationsCategorization 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 ApplicationsTwo 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 developmentTo collect implicit contextual information through automatedmeans ( using Sensors , Camera etc .)Make it easily available to a computer’s runtimeenvironment, And let the application designer decide what information isrelevant 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-orientedarchitecturesSecurity and privacy of context data,Discover services 2G , 3G or Wifi connect to best of available.Make the user interaction implicit, or build smartenvironments.
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 – TimeIt also shows your Friends location on map, if they are using sameapplication and sharing location
Example (Google Latitude)Application Can be writtenon top of this , likelocation based alarm ,near friend notifier.
Example (Bump)Bump two phones together to share– Photos– contacts– appsWithout knowing Email id / IP address.Bump makes sharing with people as simple asbumping 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 ChallengesChallenges 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