Real-Time SOAP
Self-tuning Planned Activities For Interoperating Low-Cost Devices
Johannes Helander, Stefan Sigurdsson Microsoft Research
What Is This? Behavior Patterns
A programming model and software infrastructure Define the actions and resources for a job
for self-tuning coordination of embedded devices Given to planner
Domain of interest Technology applied
Distributed real-time applications in Low cost microcontrollers (≈ $5)
ubiquitous computing scenarios integrated into everyday objects
using XML for data interchange
Assisted living for the elderly
Home and office automation Real-time scheduler on nodes
Task planner delegates work
Independent, zero effort
across all device classes adaptive resource allocation
Resource Estimation Reservations Pattern Instance: Task
App specifies confidence needed Statistical model predicts estimate Specific time and place
Higher confidence costs more Tolerance depends on medium Sent to worker by planner
Mean earliest latest
start start deadline
SensorProducer
probability [%]
= mean + confidence
Planner
Adaptation
Feedback is collected by sampler
Scheduling
Reservations adapt probabilistically
Fixed producer deadline Fixed consumer deadline
Steady state
Scheduling
1 1
Time t
k·t0 k·t1 k·t2 k·t0 k·t1 k·t2
Time t Producer
Sensor to recorder CD player to speaker
Sampling
Sensor
readings
What Can You Do With It? Consumer Demo Structure
Sensor scenario user mode
I/O protocol
sampler driver
feedback
Measures real-world activity PC probabilistic
forecast
PC
serial-to-
planner
Heart rate, sound, temperature serial line
ethernet
proxy
Produces readings at a regular rate reservations
real-time
scheduler
eb63
Speaker scenario
Recorder action deadlines and
sensor firmware
SOAP/XML
feedback
real-time data readings sntp client
durations are adjusted according to As for the sensor scenario, except scheduler
data sink firmware
SOAP/XML
transmission time and measured consuming must receive data at a sntp client eb63
time
processing requirements regular rate, so producer adjusts server
serial line
PC
Guarantee adequate resource availability and wired ethernet
user mode
I/O protocol
serial-to-
ethernet
timely processing of critical tasks driver proxy
http://research.microsoft.com/invisible