1 / 23

A Context Aware Framework

A Context Aware Framework. Mark Assad Supervisor: Bob Kummerfeld. Goals Of The Project. Design a framework for context aware applications. Design and implement a small number of sensors for context aware applications. Write a small collection of context aware applications for the framework.

dandre
Download Presentation

A Context Aware Framework

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. A Context Aware Framework Mark Assad Supervisor: Bob Kummerfeld

  2. Goals Of The Project • Design a framework for context aware applications. • Design and implement a small number of sensors for context aware applications. • Write a small collection of context aware applications for the framework.

  3. What is Context Aware? • The term context-awareness was introduced in 1994 to describe a new class of computer software application that exploits the changing environment of a mobile computer user.

  4. What is Context? • Hard to define. • Been defined as: • location, • identities of the people around the user • the time of day • season • Temperature • etc.

  5. Examples Of Context Systems • “Active Whiteboard” • GUIDE, an intelligent electronic tourist guide • IEEE 802.11 • Nearest base station locating. • Guided Tour Of an Art Museum.

  6. Local Sensors • Bluetooth • People who own a phone, carry it with them. • Modern phones communication with Bluetooth. • Can be used to detect if someone is in a room.

  7. Local Sensors (cont.) • Location of the Printer • Number of queued jobs • Is there a problem with the printer?

  8. Local Applications • Print Manager • Find the closest printer to me. • Location context of the current user • Location context of the printers • Which printer will be ready soonest? • Number of queued jobs on the printer? • Is the printer jammed/Out of Paper?

  9. Context Tool-Kit • Design of a toolkit to support these problems. • Use a simple already developed messaging protocol. • Provide an API to communicate between context devices. • Security/Authorisation • Store information historically • Highly scalable – lots of context emitting devices in the world

  10. Defining Context • How do you define what the context information is? • E.g. The format for the location of the printer, and the location of the user must be similar so that they can be compared.

  11. Spread Messaging Systems • WAN Multicast Network • Reliable and unreliable message passing • Efficient Multicast • Group Based

  12. Spread Group Services • Every user has a private group • Every user can connect to a public group. • Any user can join any public group • Once you have joined a group you will receive all messages to that group • Can send a message to more than one group at a time.

  13. How Does this map to Context? • Every “item” that can have context must be represented on the network. (by it’s own group) • That way you join a group to subscribe to events for each item.

  14. Example • Interested in knowing when someone enters g62 in the Madsen Building. • Client joins the group assigned to g62. • Sensors will send messages to the g62 group when an event occurs.

  15. Example 2 • Interested in finding the location of an entity. Where is Mark? • Client joins the group assigned to “Mark” • Sensors who currently know about “Mark”, would have also joined the assigned group • Client sends a query to the group, appropriate sensors would then send a reply to the clients private group.

  16. Example 2 (cont.) 1. Query? MARK Client 2. Query (sent to all sensors that have registered to know about Mark) Answer Sensor Client Program Spread Group

  17. How do I find these groups? • Lots of different types of Context. • Need to be able to mange the addition and removing of entities from the network. • Use a similar technique to DNS.

  18. Two types of entities • Fixed Location Items • Desktop Computers • Printers • Rooms • Floating Items • People

  19. Finding Fixed Entities • Needs a mapping from a fixed description to a Spread group. • Description to follow a similar plan to domain names. • Example: • G62.f09.buildings.usyd.sydney.nsw.au

  20. Example (cont.) • G62.f09.buildings.usyd.sydney.nsw.au • 1) Find name server for “.au”, then “.nsw” etc. down to “g62”. • Each server returns the Group ID for the subgroup below it. • Clients can then cache these Group IDs for future use.

  21. Finding a floating entity. • Harder!!! • Client who wants to find a user knows it’s GroupID, so can send a direct query. • What about the sensors? • They need to convert a real world data into a Spread GroupID.

  22. What does a hierarchical structure allow? AU • Allows subscriptions at a higher level. NSW SYDNEY USYD F09 F11 G62 G90 419

  23. Library Overview • Context Toolkit • Name Lookups • Subscription • Callback Interface • Blocking receive • Context Structure SPREAD SPREAD C++ Wrapper Context Toolkit Python Binding ??? Binding APPLICATION

More Related