210 likes | 213 Vues
Fakultät Informatik, Institut für Systemarchitektur, Lehrstühl für Rechnernetze. Context Infrastructure for Developing Context-Aware Applications. CRUISe Project. Jordan Janeiro jordan.janeiro@tu-dresden.de. Agenda. Why Develop Context-Aware Applications MoCA Framework Architecture
E N D
Fakultät Informatik, Institut für Systemarchitektur, Lehrstühl für Rechnernetze Context Infrastructure for Developing Context-Aware Applications CRUISe Project Jordan Janeiro jordan.janeiro@tu-dresden.de
Agenda • Why Develop Context-Aware Applications • MoCA Framework • Architecture • Context Model • Use Cases - CRUISe
Motivation • Ubiquitous and Pervasive computing demonstrate a trend towards more complex and dynamic computer networks • This complexity is mainly introduced by: • Varying quality of wireless links; • Heterogeneous capabilities of connected nodes; • QoS and reliability • Adaptation of services by “context” changes • Dynamically; • Transparently
Motivation • Context is … • ” Context is any information that can be used to characterise 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 applications themselves.” • Adaptations need support of a software infrastructure to provide context • Implement the retrieval of “low-level” information in the mobile devices • Many middlewares were proposed
Objectives • Use a software infrastructure to support the retrieval of context information • Implemented as “sensors” • Bandwidth • Location • Luminosity • Implement adaptation rules based on the context information
Mobile Collaboration Architecture - MoCA • Discovery Service • Accepts announcements of applications, and allows Clients to locate the corresponding Servers and Proxies; • Configuration Service • Stores and manages the configuration of each mobile device: MAC Address, (IP:port) pair of CIS, periodicity of the Monitor repots to the CIS, and (IP:port) pair of the Discovery Service; • LocationInference Service • Infer the location of devices using 802.11 interface (indoors) • Context Information Service • Stores and processes the state information received from the Monitors, and eventually sends notifications about context changes to Proxies which have subscribed to such notifications • Monitor • Is in charge of: (i) probing the state information (aka execution context) of the mobile device and (ii) sending this information to the Context Information Service (CIS) executing in the static network
Mobile Collaboration Architecture - Monitor • Is a daemon executing on the mobile device; • Periodically polls (and sends to the CIS) state information about the mobile device’s resources and wireless RF signals, e.g.: • Strength of RF signal received from all visible Access Points ; • CPU utilization, available memory and energy; • MAC Address, IP and currently used Access Point; • RF signals are obtained through WiFi scan operations independently of the 802.11 network interface; • Also reports to the CIS any change of the current IP address or Access Point of the device (i.e. a migration) • Implementations ready for • Windows XP • Windows CE • Linux • Symbian • Nokia N60
Mobile Collaboration Architecture – Monitor Simulator • Is a tool which simulates a mobile device: • Behavior defined by a configuration file (scans are read from different files) • Sends this information to CIS (like the “real” Monitor) • Can be deployed on any host • This facilitates: • Debugging of the context-aware applications in the usual networked environment (without having to physically move between regions) • Evaluating the scalability of the application (test with hundreds/thousands of fake mobile devices)
Information of Device’s Context Application Monitor CIS Application Monitor
Context Notification - Polling Application Monitor • EnergyLevel = 28 FreeMemory = 6000 EnergyLevel < 30 and FreeMemory > 5000 ??? EnergyLevel < 20 and FreeMemory > 5000 ??? CIS Application Monitor
Context Notification – Publish/Subscribe Application Monitor • EnergyLevel = 18 FreeMemory = 6000 EnergyLevel < 20 and FreeMemory > 5000 EnergyLevel > 20 and FreeMemory > 5000 CIS Application Monitor
Context Model • AutomaticallyCollected Hardware Context Variables • CPU Usage (%); • BatteryEnergy Level (%) ; • Free Main Memory (KB); • AdvertisementPeriodicy – Monitor (seconds); • Delta T – contextfreshness (ms); • Acess Point Mac Address (Mac Address); • OnLine (boolean); • Other devices
Context Model • AutomaticallyCollected Hardware Context Variables • IP Change (boolean); • AP Change (boolean); • Roaming (boolean); • List ofAvailableAcess Points (Array); • AP Mac Adsress (MAC Address); • RSSI (Integer); • SSID (String); • Static Hardware Context Variables • Device Type (String); • ScreenSizeWidth (Integer); • ScreenSizeHeight (Integer); • ColorCapable (Boolean); • BitsPerPixel (Integer)
Adaptations for the Use Cases • „The Closest Place“ service • Functionality • Find theclosestsplacetotheuser • Examples • Hotels, restaurants, carrentals, „luggagelocks“, publictranspostationstations, informationservices, touristicattractions, bikerentals, pharmacies, doctorsandhospital • Context Variables • User‘slocation, placelocation • „WheatherForecast“ service • Functionality • Find thewhetherforecastinformationtospecificplaces • Context Variables • Place location • „Personalized News“ service • Functionality • Set the News broadcastto a specificcountry • Set thelanguagefor a News broadcast • Context Variables • Home Location, Mother Language
Adaptations for the Use Cases • „Screen Expansion“ service • Functionality • Expandthedisplayof a deviceto a anotherdevice (netbooksornotebooks) • Context Variables • Display Size, Available Devices • „Automatic Route Calculationfor Agenda Appointments“ service • Functionality • Calculatethe route totheaddressofthenextappointment in theagenda • Context Variables • CurrentLocation, User Profile Options (fit orgreen) • „CheapCitesseing“ service • Functionality • Find a citeseeingwhichcoverstheciteseeingof a citywihtpublictransportation • Context Variables • CurrentLocation, Public Transportation Available in theLocation, LocationofTouristicAttractions
Adaptations for the Use Cases • „Automatic Ticket Buying“ service • Functionality • Buytransportationticketsautomaticallybased on theproximityofthedevicetospecialbuyingplaces • „I am in hurry“ service • Functionality • Calculatethe fastest route to a location, based on theperiodof a dayandtrafficdata • Context Variables • Current User Location, Periodofthe Day, Traffic Statistic Service oftheCurrent User Location • „BatterySaving“ preference • Functionality • Stop streamingservicesorchangethemtolessconsumingbandwidth/batteryservices • Change thebrightnesslevelofthedisplay • Context Variables • Battery Level, BandwidthThresholdCurrentLocation, Visual Impairment Preference
Adaptations for the Use Cases • „Special Eating“ preference • Functionality • Find specialkindsofrestaurants: vegetarian, steaks, nuddlesorpaellas • Context Variables • Current User Location, Restaurant Locations • „Movement Impairment“ preference • Functionality • Find lesswalkingroutes • Find stationswhichsupporttransitofimpairedpeople • Context Variables • Current User Location, CurrentLocation Station Information, Destination Location • „Visual Impairment“ preference • Functionality • Display biggericons in thescreen • Enablemachinespeakingmechanism • Change thebrightnesslevelofthedisplay • Change theiluminationofthekeyboard • Context Variables • Screen Size, User Visual Impairment, Environment Light Level
Adaptations for the Use Cases • „Fit Feeling“ preference • Functionality • Rank thekindsoftransporationbased on movement (1. Walking, 2. Bike) • Context Variables • Current User Location, DestinyLocation, Physical Level Movement ofthe Transportation • „Green Conscience“ preference • Functionality • Calculateroutesbased on the CO2 emission • Context Variables • Current User Location, Destination Location, CO2 Emission oftheLocalTransportations
Conclusion • A middleware (MoCA) which supports the development of context-aware applications • An extensible context model to gather specific context information • Future context-based scenarios for the CRUISe project based on MoCA