Context-Aware Applications. Introduction r Context-aware is ware applications can discover and take advantage of contextual information such as m User.

Slides:



Advertisements
Similar presentations
Extended Enterprise Laboratory, Hewlett-Packard Laboratories, Bristol Keryx: Internet Notification Service for Dynamic Web Applications Søren Brandt Anders.
Advertisements

SensMax People Counting Solutions Visitors counting makes the most efficient use of resources - people, time and money, which leads to higher profits in.
The Cricket Compass for Context-Aware Mobile Applications Nissanka B. Priyantha.
Martin Wagner and Gudrun Klinker Augmented Reality Group Institut für Informatik Technische Universität München December 19, 2003.
© 2010 Bennett, McRobb and Farmer1 Use Case Description Supplementary material to support Bennett, McRobb and Farmer: Object Oriented Systems Analysis.
SCENARIO Suppose the presenter wants the students to access a file Supply Credenti -als Grant Access Is it efficient? How can we make this negotiation.
Introduction to Databases
Location and Tracking Spring 2004: Location Recognition Larry Rudolph Location of what? Services applications, resources, sensors, actuators where.
A Context Aware Framework Mark Assad Supervisor: Bob Kummerfeld.
Sentient Computing Ubiquitous Computing vision Computing devices everywhere Access to applications anywhere Whatever is on hand is available Sentient Computing.
2003/4/21CSE 6362 Intelligent Environments Spring The Anatomy of a Context- Aware Application Computer Science and Engineering University of Texas.
Reference: [1] TeamSpace paper
Ambient Computational Environments Sprint Research Symposium March 8-9, 2000 Professor Gary J. Minden The University of Kansas Electrical Engineering and.
1 Location Information Management and Moving Object Databases “Moving Object Databases: Issues and Solutions” Ouri, Bo, Sam and Liqin.
Smart Home Technologies CSE 4392 / CSE 5392 Spring 2006 Manfred Huber
Sharena Paripatyadar.  What are the differences?
 A data processing system is a combination of machines and people that for a set of inputs produces a defined set of outputs. The inputs and outputs.
Agent-based E-travel Agency Agent Systems Laboratory Oklahoma State University
There is more to Context than Location Albrecht Schmidt, Michael Beigl, and Hans-W. Gellersen Telecooperation Office (TecO), University of Karlsruhe, Elsevier,
A Survey on Context-Aware Computing Center for E-Business Technology Seoul National University Seoul, Korea 이상근, 이동주, 강승석, Babar Tareen Intelligent Database.
For more notes and topics visit:
Chapter 10 Architectural Design
Introduction to Computers
IMS 4212: Distributed Databases 1 Dr. Lawrence West, Management Dept., University of Central Florida Distributed Databases Business needs.
SensIT PI Meeting, January 15-17, Self-Organizing Sensor Networks: Efficient Distributed Mechanisms Alvin S. Lim Computer Science and Software Engineering.
CST203-2 Database Management Systems Lecture 2. One Tier Architecture Eg: In this scenario, a workgroup database is stored in a shared location on a single.
CS 474 Database Design and Application Terminology Jan 11, 2000.
Database Management. ICT5 Database Administration (DBA) The DBA’s tasks will include the following: 1. The design of the database. After the initial design,
Implementing a Sentient Computing System Presented by: Jing Lin, Vishal Kudchadkar, Apurva Shah.
Jan 24, 2001CSCI {4,6}900: Ubiquitous Computing1 Announcements Homework #2 is due in 2 weeks. If your Homework 1 is not working (and you believe that it.
CPET 565 Mobile Computing Systems Context-Aware Computing (2) Lecture 11 Hongli Luo Indiana University-Purdue University Fort Wayne.
Database Design Part of the design process is deciding how data will be stored in the system –Conventional files (sequential, indexed,..) –Databases (database.
PERVASIVE COMPUTING MIDDLEWARE BY SCHIELE, HANDTE, AND BECKER A Presentation by Nancy Shah.
Page 1 WWRF Briefing WG2-br2 · Kellerer/Arbanowski · · 03/2005 · WWRF13, Korea Stefan Arbanowski, Olaf Droegehorn, Wolfgang.
Page 1 Alliver™ Page 2 Scenario Users Contents Properties Contexts Tags Users Context Listener Set of contents Service Reasoner GPS Navigator.
CPET 565 Mobile Computing Systems Context-Aware Computing Lecture 10 Hongli Luo Indiana University-Purdue University Fort Wayne.
DATABASE MANAGEMENT SYSTEMS CMAM301. Introduction to database management systems  What is Database?  What is Database Systems?  Types of Database.
A Context Model based on Ontological Languages: a Proposal for Information Visualization School of Informatics Castilla-La Mancha University Ramón Hervás.
MIS 105 LECTURE 1 INTRODUCTION TO COMPUTER HARDWARE CHAPTER REFERENCE- CHP. 1.
An Architecture to Support Context-Aware Applications
Task 1.2 Context: definition and specification. Leuven, 14 oktober 2004 Outline Introduction Work method Context definition Context specification  Overview.
1.Research Motivation 2.Existing Techniques 3.Proposed Technique 4.Limitations 5.Conclusion.
Jan 17, 2001CSCI {4,6}900: Ubiquitous Computing1 Announcements Did you hear about the Microsoft site crash yesterday? Compiling in Solaris (gemini) gcc.
Architecture for Context-Aware Services in Gaia Anand Ranganathan.
1/14/ :59 PM1/14/ :59 PM1/14/ :59 PM Research overview Koen Victor, 12/2007.
A Survey of Context-Aware Mobile Computing Research Guanling Chen and David Kotz Dartmouth Computer Science Technical Report, 2000.
Sentient Computing Andy Hopper Presenter : Youn Do Lee Oct 31, 2005.
Pervasive Computing MIT SMA 5508 Spring 2006 Larry Rudolph 1 Tracking Indoors.
Chapter 6 Discovering the Scope of the Incident Spring Incident Response & Computer Forensics.
1 An infrastructure for context-awareness based on first order logic 송지수 ISI LAB.
Semantic Web in Context Broker Architecture Presented by Harry Chen, Tim Finin, Anupan Joshi At PerCom ‘04 Summarized by Sungchan Park
© 2015 Pittsburgh Supercomputing Center Opening the Black Box Using Web10G to Uncover the Hidden Side of TCP CC PI Meeting Austin, TX September 29, 2015.
Virtual Machine Abstractions for Nomadic Pervasive Computing (NPC) Environment Presented by: Hen-I Yang, Nov. 29, 2006.
Dude, Where's My Car? And Other Questions in Context-Awareness Jason I. Hong James A. Landay Group for User Interface Research University of California.
C ONTEXT AWARE SMART PHONE YOGITHA N. & PREETHI G.D. 6 th SEM, B.E.(C.S.E) SIDDAGANGA INSTITUTE OF TECHNOLOGY TUMKUR
Year 12: Unit 2, living in the digital world. 1. What is ICT? ICT is the use of technology to convert data to information. It covers many areas, especially.
Introduction: Databases and Database Systems Lecture # 1 June 19,2012 National University of Computer and Emerging Sciences.
The Context Fabric: An Infrastructure for Context-Aware Computing Jason I. Hong Group for User Interface Research, Computer Science Division University.
Overview Issues in Mobile Databases – Data management – Transaction management Mobile Databases and Information Retrieval.
1 Context Aware Computing. 2 First Paper  I used mostly “A Survey of Context-Aware Mobile Computing Research”, Chen and Kotz, Dartmouth (Tech Report)
The Anatomy of a Context-Aware Application
Objectives Overview Explain why computer literacy is vital to success in today’s world Define the term, computer, and describe the relationship between.
Location Information Services
CHAPTER 2 CREATING AN ARCHITECTURAL DESIGN.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
Chapter 1 – Introduction to Computers
Principles/Paradigms Of Pervasive Computing
THREE TIER MOBILE COMPUTING ARCHITECTURE
3rd Studierstube Workshop TU Wien
Requirements Analysis
Presentation transcript:

Context-Aware Applications

Introduction r Context-aware is ware applications can discover and take advantage of contextual information such as m User location, time of day, nearby people and devices and user activity. r There are now quite a few different examples of context-aware applications but are not widely available. r We will briefly discuss several applications and issues related to defining and maintaining context.

Defining Context r Dictionary definition: “the interrelated conditions in which something exists or occurs” r One definition [Schilit]: m Computing context: connectivity, communication cost, bandwidth, nearby resources (printers, displays, PCs)… m User context: user profile, location, nearby people, social situation, activity … m Physical context: temperature, lighting, noise, traffic conditions … r In addition there is time context (time of day, week, month, year…) m Context history can also be useful

Defining Context Another view of context: “Context is the set of environmental states and settings that either determines an application’s behavior or in which an application event occurs and is interesting to the user” m Active context: Influences the behavior of the application Location in a call forwarding application m Passive context: Context that is relevant but not critical Active map application: display location name and other people in the room

Defining Context r There are two ways to use context: m Automatically adapt the behavior of the application based on the context (active context). m Present the context to the user on the fly or store the context for the user to retrieve later (passive context).

Defining Context-Aware Computing r Follows from the definition of context 1. Active context awareness: An application automatically adapts to discovered context by changing the application’s behavior. 2. Passive context awareness: An application presents the new or updated context to an interested user or makes the context persistent for the user to retrieve later.

Example Application: Call Forwarding r Based on a predecessor of Active Bats System called Active Badges r Location of employees is shown to receptionist m Receptionist forwards calls to the nearest phone m Eventually, receptionist was removed from the loop; calls forwarded automatically r Is this a good idea? m What if you were in an important meeting? (or taking a nap!) m What if a private call is forwarded to a non private room? r What is the context? m The context is the user location which is active. m There is no passive context.

Example Application: Teleporting r Teleporting is sometimes called “follow-me” computing r Uses Bats r Dynamically maps the user interface onto the resources of the surrounding computing and communication facilities. r Context m User’s location (active) m No passive context

Example Application: Active Map r For Xerox Parc r Location information is collected directly from the “Parc Tab system” r Individual faces are shown at the locations of people on the map which is updated every few seconds, allowing people to be located quickly or to notice a meeting one might want to attend. r Context: m User’s location (passive) m No active context

Example: Shopping Assistant r Scenario: You are at the Home Depot trying to figure out what you need to finish your basement r Shopping assistant can m Tell you what parts you need m Where to find them relative to your location in the store m What is on sale m Do comparative pricing m Use your previous profile information to customize shopping and delivery r Context m Customer’s location within the store (active) m No passive context

Example: Augmented Reality r User’s view of the real world is augmented with additional information r Scenario 1: You wear sun-glasses with a display and headphones and walk in downtown Rome m As you move around, the glasses can tell you your location m As you look at the coliseum you get information about it r Scenario: Special ops squad infiltrating an enemy complex wearing the same gizmos m In addition to information as above, the glasses change to night vision if lighting is not sufficient r Context m Location including orientation (active)

Example: Adaptive GSM phone/PDA r PDA: notepad application changes its characteristics depending on user activity m Large font when walking, small font when stationary m Change the intensity level depending on the lighting conditions r Phone: decide ring volume or vibration depending on situation m In hand, in a suitcase, on a table, in a classroom/conference? r Context: m User’s activity, light level pressure and proximity of other people.

Example Application: Office Assistant r The assistant is an agent that interacts with visitors at the office door and manages the office owner’s schedule. r Assistant is activated when visitor approaches (detected by two pressure sensitive mats placed on both sides of the office door). r Assistant adapts behavior based on visitor identity, office owner’s schedule and busy status and willingness of owner to see visitor. r Context m Office owner’s current activity and schedule (active).

Example Application: Where am I? (Active map)

What’s near me? Find this for me (Resource discovery) “Print map on a color printer,” and system sends data to nearest available free color printer and tells you how to get there Location by “intent”

How do I get to Jorg’s office?

Observations r Location is the most heavily used context m A natural consequence of these being mobile applications? r Why aren’t other contexts used more heavily? m Not that useful? m Difficult to sense? m Need more imagination? r No killer app.; little gizmos of limited use m Still to come?

Sensing Low-Level Contexts Beyond Location r Time m Easy to collect from the built-in clock of the computer r Nearby objects m If the system records the locations of people and other objects, it is relatively easy to figure out who and what are near us by just querying the location database.

Sensing Low-Level Contexts Beyond Location r Specially designed sensors can sense some low-level types of physical context. Examples include: m Photodiode to detect light level m IR sensor to detect the proximity of humans m A microphone to detect sound m Possible to build sensors for temperature

Sensing High-Level Contexts r Raw contextual information includes location, noise level and temperature. r An example of high-level context information is user’s “current activity” m Difficult to sense complex social contexts – Example: Lots of people in a room could indicate a party or a wake. m One approach is based on machine vision which is uses camera technology and image processing. m Another approach is to consult the user’s calendar directly to find out what the user is suppose to be doing. m Yet another approach is to use AI techniques to infer context by combining several simple low-level sensors.

Sensing Context changes r Publish subscribe model? m Monitor polls the current context m Notifies subscribers to the context m Centralized or on a per-node? r Polling rate is a function of rate of change of context

Modeling Context Information r How do we answer questions such as: m Given an object what is its location m Given a location, return the set of objects there m Determining paths between locations m Security and Privacy Issues m Do we really want our location to be known all the time?

Symbolizing Location r Applications may require a wide variety of location representations. m Precise coordinate systems will be needed for some applications. m There may be higher levels of abstraction needed depending on the application semantics.

Modeling the Environment r Detailed model describing entities in the real world and their possible interactions. r This model sets out the types, names, capabilities and properties of all entities which are relevant to context-aware application. r The extent of the data model defines the limits of the context-aware system’s view of the world and thus the possible applications. r We will now look at one approach described in “The Anatomy of a Context-Aware Application”.

Systems Infrastructure r Use CORBA and databases to implement persistent distributed objects r Objects are stored in the database as rows of data and associated operations are in SQL. r Accessed by a proxy server that receives CORBA calls. r Some information is updated too frequently to be stored in a database (e.g., information from Bat sensors) r Possible for thousands objects; proxies may want to cache.

Updating the Model r To populate the database, information about real world objects and their properties must be gathered. r Elements that frequently change, need to have those changes detected and entered into the database automatically (or as much as possible).

Updating the Model r Example: System information such as keyboard activity or machine load. r Three classes of resource monitors: m Machine activity e.g. keyboard activity m Machine resource e.g. CPU usage, memory usage m Network point-to-point bandwidth and latency r Used to provide a windowing-system- independent means for a user to access his desktop environment from any networked machine.

Client level event filters r Thought must be put into the design of resource monitors to ensure that the database does not become a bottleneck r Update Frequency m The frequency at which items are monitored is based on how quickly the item tends to change r Relevancy m If a value has not changed significantly, it is not sent. This value depends on the data being monitored r Caching m Caching improves performance at the cost of consistency

Location-Aware API r Absolute and relative spatial facts m “Person is at (x,y,z) facing in direction  ”.vs. “Person is standing in front of the monitor” r Ideally, it is not the task of the application to translate absolute spatial facts into relative spatial facts. r To automate the process of translation, a simple method of formalizing relative spatial facts is required. r Approach: m Express relative spatial facts about objects in terms of geometric containment relationships between spaces associated with those objects.

Location-Aware API m Geometric containment is used for relative spatial facts monitor person Contained(person, screenspace)

Location-Aware API r Scalability m With many devices, containment is complex m Use a containment tree indexing system (a quad-tree based approach)

Location-Aware API r Interaction between applications and spatial monitors m Applications associate a space with an object type m Applications register callbacks for given spatial facts (e.g., when a person space becomes contained by a workstation space) m Location events are generated m Location events are associated with objects. m The spaces associated with a given object is looked up which generates a stream of space location events. m This is used as input to an indexing system which generates stream of containment events.