Invited keynote on Carbon, Energy and the role of Ubicomp Tokyo-Denki Dec 2010
Magic broker 2 #iot2010 presentation
1. MAGIC Broker 2
An Open and Extensible Platform for the
Internet of Things
Mike Blackstock, Nima Kaviani, Rodger Lea
University of British Columbia
Adrian Friday
Lancaster University
Wednesday, 1 December 2010
2. OurVision of IoT
• What is a thing?
• embedded sensors and
actuators in artefacts,
appliances, the environment, on
people
• We want to build applications
from compositions of things
Wednesday, 1 December 2010
3. OurVision of IoT
• What is a thing?
• embedded sensors and
actuators in artefacts,
appliances, the environment, on
people
• We want to build applications
from compositions of things
• assume spontaneous & periodic
interaction when in range
• a minimal set of abstractions &
simple, flexible API
Wednesday, 1 December 2010
4. MB2 Timeline
2006 2007 2008 2009 2010
Screen Widgets
OSGi/MAGIC Broker 2
REST/MAGIC Broker 1
Ubicomp Integration Framework
Lancaster eCampus Interactive Community Displays
My Everyday Earth
Screen Mashups
MAGIC Board
Public Screens Personal
Interaction
Sense Tecnic
Wednesday, 1 December 2010
29. MB2 Deployment
• MB2 instances serve as
“super-nodes” for rendevous
and interaction for a set of
applications and things.
• Gateways used to convert
low level sensor data and
protocols
• Smart devices
communicate directly to MB2
using supported protocols
• Applications listen for
events, change state
• Processors transform and
process events for more than
one application light temp move
Sensor Gateway
Cell
Phones
Processor
Display
Browsers
Application
Protocol Gateway
Application
Application
Processor
MB2
sensor
sensor
zigbee bluetooth
senosr sensor
Wednesday, 1 December 2010
30. Case Study: MAGIC Board
• Spontaneous Interaction
• One channel per screen
• Events from SMS, voice gateways, phone browser
• State used to store votes
• Content to store flash applications, HTML content
Wednesday, 1 December 2010
31. Case Study: Sense Tecnic
• Real World Sensing
• Channels: virtual and physical
sensors
• Events: current sensor values
• State: historical sensor values
• Processor pipes process data and
publish back to channels
• Easy integration with OPC and
other standards using gateways
• Used in MEE sustainability
application
• transportation
• energy use
Wednesday, 1 December 2010
32. Sensing and Sustainability:
My Everyday Earth
• Integrating External Services:
Social Networks
• Challenge based approach
for sustainable behaviour
change linked to social
networks
• Award points for
accomplishments
• Direct user input using
mobile phones or web
• Sensor input
• GPS location
• Power meters
Wednesday, 1 December 2010
34. Lessons Learned:
Abstractions
• Channel and event abstractions were always used
• Simple publish-subscribe broker
• State used to store meta-information about things
(e.g. sensor type, gateway ID, display location)
• simple name/value pairs were limiting
• work around using encoding, naming conventions
• Closer affinity between state and events
• need to store event history in the channel
(votes, sensor values)
Wednesday, 1 December 2010
35. Lessons Learned:
Abstractions
• Channel and event abstractions were always used
• Simple publish-subscribe broker
• State used to store meta-information about things
(e.g. sensor type, gateway ID, display location)
• simple name/value pairs were limiting
• work around using encoding, naming conventions
• Closer affinity between state and events
• need to store event history in the channel
(votes, sensor values)
“Once I learned how everything worked (what
needed to be sent and what I should receive back)
it was very easy.”
“It made it easier to communicate between screens
and devices, and provided an easy way to store
stuff that needed to be saved.”
Wednesday, 1 December 2010
36. Lessons Learned:
Design and Implementation
• RESTful Interface
• leverages built in HTTP libraries in every language
• HTTP supported by more and more devices
• Smart device client-less interaction using browsers
• Platform extensions
• event caching of popular channels for performance
• explicit support for channel and event meta data
• private vs. public channels
• integrated patch panel and processing
• Additional representations: JSON, CSV
Wednesday, 1 December 2010
37. Conclusions
• MB2 addresses IoT application requirements for
flexibility and simplicity
• Simple
• uniform and easy to understand API
• events, state, services and content in named
channels
• Flexible
• Ongoing validation through series of applications
in different domains
• Interactive displays, sensor networks, sustainability
Wednesday, 1 December 2010
38. Thank you
• Thank you!
• More info at www.magic.ubc.ca
• Academic version available for download
• Commercial version from Sense Tecnic
• info@sensetecnic.com
• Contact
• mblackstock@sensetecnic.com and
adrian@comp.lancs.ac.uk
Wednesday, 1 December 2010