Sentient Computing Ubiquitous Computing vision Computing devices everywhere Access to applications anywhere Whatever is on hand is available Sentient Computing vision Ubiquitous Computing made context-aware Physical context used for automatic control Sensors and space are part of computing systems
Programming With Space The components Notions and representations of physical space Data and computational models Sensor information User interface the real world
Components for Programming With Space Devices Platforms Sensors Networks +Architecture Conduits
Components for Programming With Space Devices Platforms Sensors +Architecture
Sensors: Location Information u Containment –GSM, UMTS, broadband radio –Active badge u Proximity –Bluetooth, IrDA –PICOnet u Co-ordinate –GPS –Active bat
Sensors: Location Information u Containment –GSM, UMTS, Broadband Radio –Active Badge u Proximity –Bluetooth, IrDA –PICOnet u Co-ordinate –GPS –Active bat
Containment: Active Badge Infra-Red Network 10 meter range diffuse room-scale location
Sensors: Location Information u Containment –GSM, UMTS, Broadband Radio –Active Badge u Proximity –Bluetooth, IrDA –PICOnet u Co-ordinate –GPS –Active Bat
Sensors: Location Information u Containment –GSM, UMTS, broadband radio –Active badge u Proximity –Bluetooth, IrDA –PICOnet u Co-ordinate –GPS –Active bat
Ultrasonic Location System Mobile transmitter (Bat) Fixed receivers Ceiling Active Bats Ultrasonic transponder Measure pulse time-of-flight Radio synchronised
DSP Ceiling Array 25,000 MIPS to cover AT&T Laboratories Cambridge!
Components for Programming With Space Devices Platforms Sensors Networks +Architecture Conduits
Telephone 318 Computer “Pumpkin” Computer “Papaya” Person “Mike” Person “Pete” Representing the Real World u Model real world as collection of objects Computer “Plantain” Person “Andy” Follow-me Phonebook Mobile Desktop Telephone 241 Telephone 217 CTI switch Resource monitor Keyboard monitor Location service Applications Software objects Sensors –Objects maintain state using sensor data –Applications query relevant sets of objects
Data Model Visualisation
Spatial Monitoring Vague spatial facts formalised as geometric containment and overlapping relationships between spaces X M ‘X is holding the microphone M’ ‘X can be seen by camera B but not by camera A’ A B X
Spatial Indexing Generates all positive/negative overlapping or containment events throughput (‘000 updates s -1 ) population (‘000) non-overlapping spaces overlapping spaces
Putting It All Together Move user’s desktop to screen in front of them Visible A Visible B Visible C Callbacks Registration +ve Containment (Andy) -ve Overlapping (Andy) -ve Overlapping(Andy,”Visible B”) CLEAR DESKTOP FROM B -ve Overlapping(Andy,”Visible A”) CLEAR DESKTOP FROM A +ve Containment(Andy,”Visible B”) MACHINE B: NOT IN USE MOVE DESKTOP TO B +ve Containment(Andy,”Visible C”) MACHINE C: IN USE NO ACTION
Example Applications Corporate memory Record me / what’s around me Annotate multimedia stream Camera field-of-view Flat display Composite display “Plonk-and-play” systems Spatial configuration determines logical configuration No need to know device IDs Automatic personalisation
Sentient Computing: New User Interfaces Non-user interfaces! Objects and people are cursors in the real-world of icons Aural and visual feedback