Presentation is loading. Please wait.

Presentation is loading. Please wait.

A Context Aware Framework Mark Assad Supervisor: Bob Kummerfeld.

Similar presentations


Presentation on theme: "A Context Aware Framework Mark Assad Supervisor: Bob Kummerfeld."— 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 a framework for context aware applications. Design and implement a small number of sensors 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. 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. 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. Hard to define. Been defined as: Been defined as: location, location, identities of the people around the user identities of the people around the user the time of day the time of day season season Temperature Temperature etc. etc.

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

6 Local Sensors Bluetooth 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 Location of the Printer Number of queued jobs Number of queued jobs Is there a problem with the printer? Is there a problem with the printer?

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

9 Context Tool-Kit Design of a toolkit to support these problems. 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? 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 WAN Multicast Network Reliable and unreliable message passing Reliable and unreliable message passing Efficient Multicast Efficient Multicast Group Based Group Based

12 Spread Group Services Every user has a private group Every user has a private group Every user can connect to a public group. Every user can connect to a public group. Any user can join any 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. 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) 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. 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. 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? 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.) Client MARK Sensor 1. Query? 2. Query (sent to all sensors that have registered to know about Mark) Answer Client Program Spread Group

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

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

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

20 Example (cont.) G62.f09.buildings.usyd.sydney.nsw.au 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!!! Harder!!! –Client who wants to find a user knows it’s GroupID, so can send a direct query. What about the sensors? What about the sensors? –They need to convert a real world data into a Spread GroupID.

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

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


Download ppt "A Context Aware Framework Mark Assad Supervisor: Bob Kummerfeld."

Similar presentations


Ads by Google