Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Last Time  Context Aware Applications  Defining context  Active vs. passive  Survey of some applications  No killer application yet; but maybe in.

Similar presentations


Presentation on theme: "1 Last Time  Context Aware Applications  Defining context  Active vs. passive  Survey of some applications  No killer application yet; but maybe in."— Presentation transcript:

1 1 Last Time  Context Aware Applications  Defining context  Active vs. passive  Survey of some applications  No killer application yet; but maybe in the future?  Location (and time) most heavily used contexts  Sensing context  Location: Outside: GPS Inside: Need a location traction mechanism

2 2 Sensing other low level contexts  Time?  Physical sensors possible  Light, acceleration, tilt, sound, temperature, pressure, proximity of humans  Nearby objects?  If system keeps track of location of objects, query to a database  Bandwidth? Odyssey  Orientation?  Orientation sensor based on two mercury switches (Newton MessagePad)  Directional antennas/directional transmitters?

3 3 High Level contexts  This is by far the more difficult problem  Not just an engineering challenge  How does a node know whether this is a party or a wake?  Check your calendar or detect the cake/coffin?

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

5 5 Modeling Context Information

6 6 Location Model  How do we answer questions such as:  Given an object what is its location  Given a location, return the set of objects there  Determining paths between locations  How does a vehicle navigation system do it?  Geographical Information Systems/Spatial Databases  Already pretty mature (part of Oracle, mysql, etc..)  Model geometry and topology  Typically locations are organized hierarchically  Sonal Dedhia’s project

7 7 Security and Privacy Issues  I personally hate the idea that someone can know my location all the time  I still refuse to get a cell phone, but it looks like I will finally cave in!  Par for the course, many of these systems ignore privacy and security issues

8 8 Second Paper: Anatomy of a Context Aware Application

9 9 Outline The Anatomy of a Context-Aware Application – Andy Harter, Andy Hopper, Pete Steggles, Andy Ward and Paul Webster. AT&T Labs, Cambridge, UK (cont)

10 10 Overview  Paper describes the system components necessary to support a context-aware application 1.Location system 2.Data model 3.Distributed object model 4.Resource Monitors 5.Spatial monitors  Working system, real details  So what is the application? Teleporting/follow-me  Application follows you as you move around a building  Hmm!! Virtual dog? Definitely some gaming applications But what else? Virtual nanny? Framework not specific to this application

11 11 Location System  Would like:  Fine grained (accurate in space)  High update rate (accurate in time)  Inexpensive  Works indoors  Argue for ultrasonic  Optical: expensive detectors; line of sight limitations  GPS: dies indoors  RF: multipath

12 12 Bat Unit  Radio transceiver, ultrasonic transducer and control logic  Each bat has a GUID  Base station transmits a periodic message with the GUID; corresponding bat responds with ultrasound  Use speed of sound in air (estimated from ambient temperature) to estimate location  Ultrasonic receivers detect the delay and map it to distance  Use multiple receivers to get 3D location using multilateration  Reflections of ultrasonic waves – statistical outlier elimination (can same techniques be applied to RF multipath?)

13 13 Bat (cont’d)

14 14 Bat Unit (cont.)  It takes 20 ms between bat readings = 50 timeslots per base station per second  Allow echos to die  Location can be used to measure orientation  Attach many bats to the same object. Use the measurements to infer the orientation  If too cumbersome, can check “shadow” of a single bat  Base station can provide Location Quality-of-service to allocate time slots to bats based on the expected update frequency  Bats carried by people – few times a second  Bats attached to workstation – once every few minutes

15 15 Bat Unit (cont.)  Bats perform handover when moving from one base station to another (similar to the cellular networks)  Hand off decisions can also be made based on the Bat location  Battery consumption is low, power consumed depends on the update frequency and power state  Several updates a second = several month lifetime  95% of samples within 9cm’s of actual location  95% of samples within 25 degrees with multiple bats; within 70 degrees for a single bat (orientation)  Bat is good enough to be used as a 3D mouse; it has buttons and can communicate with basestation

16 16 How well does it work?

17 17 Modeling the environment  Detailed model describing entities in the real world and their possible interactions  Environment consists of real objects: should use OO modeling (agree?)  Modeling language based on entity relation diagrams and multiple inheritance  Modeled people, computers, keyboards, monitors, networks, telephones and furniture  Use CORBA and databases to implement persistent distributed objects

18 18 3 Tier Architecture

19 19 Populating and Updating the Model  Some elements are static (e.g., furniture)  …but some are dynamic (e.g., is a keyboard in use) need to be updated automatically  Centralized data repository (to optimize information access)  Three classes of resource monitors:  Machine activity e.g. keyboard activity  Machine resource e.g. CPU usage, memory usage  Network point-to-point bandwidth and latency

20 20 Client level event filters  Update Frequency  The frequency at which items are monitored is based on how quickly the item tends to change  Relevancy  If a value has not changed significantly, it is not sent. This value depends on the data being monitored  Caching  Caching improves performance at the cost of consistency

21 21 Location Update  Each Bat location is tracked  Translated into object location in a type specific way (e.g., person different than workstation)

22 22 API  Absolute and relative spatial facts  “Person is at (x,y,z) facing in direction  ”.vs. “Person is standing in front of the monitor”  Geometric containment is used for relative spatial facts monitor person Contained(person, screenspace)

23 23 Reasoning about Space

24 24 Scalability  With many devices, containment is complex  They use containment tree indexing system (a quad- tree based approach)

25 25 Implementation  BAT teleportation system  With their earlier active badge based teleportation system, they only knew that a user was in the room and so they had to cycle between multiple displays in a room  If a particular display was being use, they would still cycle that display because they did not monitor machines  If a machine is dead, their system would still wait because they did not monitor machines  With the BAT system, they have more accurate location information  Event driven programming style

26 26 Zones and Buttons  Action zone triggers teleportation  Within maintain zone, teleported desktops are maintained Action monitor Maintain

27 27 Active Names: Flexible Location and Transport of Wide-Area Resources Michael Dahlin, Thomas Anderson, and Amit Aggarwal. In Proceedings of the Second USENIX Symposium on Internet Technologies and Systems, October 1999

28 28 Active Names  Idea: Intelligence in the network  User specifies a name carrying some service intent  Active name is mapped to a chain of mobile programs that can customize how the service is located and presented  Each service owning a portion of the namespace has control over which protocols are used to access the service and where they run in the network  Encapsulates Service location, customization and transport  Can be used as an extensible general framework for deploying wide-area distributed services  How does relate to mobility/context-aware applications?

29 29 What exactly are they proposing? “when a mobile user in Europe refers to cnn.com, the user probably wants to go to a different replica, fetch different data, and transform that data differently than a user in the US with a large screen and T3 connection”

30 30 Properties of the System 1. Completeness: it can support a wide variety of extensions 2. Simple extensions can yield big performance wins 3. End to end performance information can be gathered 4. Programming model can support location independent program execution 5. Programmable model supports extensibility

31 31 Naming – brief intro.  DNS translates from machine names to IP addresses  opal.cs.binghamton.edu  128.226.123.101  static translation (usually valid for a few days)  DNS round-robin used to dynamically match name to host (based on machine load, for example)  www.cnn.com  207.25.71.23 or 207.25.71.24 or …  Network level switch (for e.g. CISCO director)  Automatically forward network packets to some server

32 32 Naming Intent  A URL is a hint to get some value from some server that is “appropriate” (in terms of locality and access costs) and that fits in my display  The exact host names and paths can be remapped to the appropriate forms.  My view of cnn.com depends on my device, my advertisement preferences etc. Your view of USA Today may be different from mine

33 33 Active Names Goals  Server selection – select appropriate server from replicas spread across the Internet  Client customization – Customize the page for the present client (e.g. Transcoding, customizable portals [e.g. my.yahoo.com])  Server customization – Advertisements customized for the user, collecting statistics (e.g. hit counts, ad rotation etc.)

34 34 Naming today Client Proxy HTTP Server2 Database Server HTTP Server1 DNS Server 1. Name 2. host 3. URL - redirect 4. URL 5. Name RESULTS www.cnn.com

35 35 Active name system  Clients generate active names (domain:name) and name of a namespace program to resolve it.  Clients hand them to a resolver.  Name space program locates next program to run and then transports data to that program  Each program acts as a filter that transports and transforms its input to its output.

36 36 Active Name Architecture

37 37 Active name system  Active name resolver determines domain-specific program  These programs are location independent and can run anywhere  Application specific, the name is resolved in domain-specific manner  Domain specific code (e.g. ad rotation)  After methods are associated with each active name  After methods are a list of programs guaranteed to be called  They can perform client-specific transformation of data

38 38 Multi-way RPC for efficiency Client Proxy Server Traditional RPC Results passed down the nodes. Adds latency

39 39 Multi-way RPC for efficiency Client Proxy Server Multi-way RPC Results sent directly Minimal latency

40 40 Multi-way RPC  Security implications – someone else responds to your queries  Use capability certificates to authenticate response  Resource consumption limit should be managed. Resolvers use compute resources on foreign hosts.  Hierarchical namespaces.

41 41 Applications  Extensibility  Compared DNS round robin (next server), distributed director (closest server as measured by hop count) and Active names (number of hops; biased by a decaying histogram of previous performance)  Average latency follows Distributed Director at low load and DNS round robin at high load

42 42 Using Transcoding Low JPEG Quality 10 KB Thumbnail 2KB Crop 40KB Grayscale 85KB Original 116 KB Transliterate few bytes Foggy road with fall foliage canopy

43 43 Decision on where to transcode  Can transcode either on the server or proxy  Proxy is closer to client  Wide area network from server to proxy could be congested. Tradeoff between sending a smaller image across the country vs performing transcoding at the proxy  Active name migrates based on the current load

44 44 Composability  Use server-side include to update page based on the current request  Banner ad rotation  Logs cookies  Implemented using server side and active namespaces.  Active namespaces are shown to be composable


Download ppt "1 Last Time  Context Aware Applications  Defining context  Active vs. passive  Survey of some applications  No killer application yet; but maybe in."

Similar presentations


Ads by Google