Embedded XML Web Services - PowerPoint PPT Presentation

1 / 37
About This Presentation
Title:

Embedded XML Web Services

Description:

Natural user interface not screen and mouse. Incremental deployment, no setup hassles ... Write hash of house authority's key on check to. establish trust with bank ... – PowerPoint PPT presentation

Number of Views:38
Avg rating:3.0/5.0
Slides: 38
Provided by: jvh
Category:

less

Transcript and Presenter's Notes

Title: Embedded XML Web Services


1
Embedded XML Web Services
  • Realizing a Seamless and Interoperable World
    through Invisible Computing
  • Johannes Helander
  • Researcher
  • Microsoft Research
  • March 2, 2005

2
Research Agenda
  • Make deeply embedded devices interoperable with
    all classes of computers
  • Extend XML Web Services to new areas
  • Implement prototype software
  • Provide Microsoft presence into new area
  • Add value to PC and services such as ASP.NET

3
The Goal Invisible Computing
  • Make everyday objects better by adding
    computation and communication
  • 5 microcontrollers (32-bit single chip computer)
  • The computers do their job out of sight
  • Natural user interface not screen and mouse
  • Incremental deployment, no setup hassles
  • Operate autonomously added value from services
  • Devices communicate with each other, PCs, Web

4
Sample Applications
  • Home appliances, security, lighting
  • Sensor networks
  • Medical electronic devices
  • Wearable computers
  • Robotics, industrial control, national
    infrastructure
  • Wireless communication gadgets
  • Audio net
  • Disaggregated PC, smart I/O cards
  • Toys

5
Outline
  • Invisible Computing Devices
  • Why Web Services?
  • Our approach
  • Table driven serialization
  • Compressed SOAP
  • Trust and secure discovery
  • Distributed real-time
  • Componentized RTOS
  • Real-time C
  • Result
  • Call to action

6

VCR
XP Embedded

Pacemaker
  • Interoperability
  • Security
  • Data analysis


Watch
  • Power
  • Bandwidth
  • Processing
  • Routing
  • Security
  • Real-Time
  • Non-graphical UI
  • Zero-configuration

An Invisible Computing Scenario
7
What are Web Services?
  • The general-purpose solution to communication, in
    XML
  • XML is more suitable to computer processing than
    HTML. Common language for representing any data.
  • Convergence of EDI, RPC, MSMQ, app specific
    protocols and formats
  • All about interoperation. Allows partial
    understanding
  • Common protocols obviate need for proxies
  • Builds on critical mass and momentum

8
Do they Scale?
  • XML Web Services conceived to solvee-business
    interop problem
  • Implementations geared towards high-end computers
  • The same interop problem is the crux of
    ubiquitous computing
  • Resource constraints
  • Silicon footprint
  • Energy parsing overhead
  • Bandwidth size of messages
  • ? Efficient implementation and compression

9
Specific Needs
  • Coordinated real-time computing on multiple
    devices
  • Energy aware protocols (turn off receiver)
  • Efficient Security and Privacy
  • Simple setup
  • Performance

10
SOAP example
Add two numbers
  • ltsoapEnvelope xmlnssoaphttp//schemas.xmlsoap.o
    rg/soap/envelope/gt
  • ltsoapHeader
  • soapencodingStylehttp//schemas.xmlsoap.
    org/soap/encoding/gt
  • ltwsaTo xmlnswsahttp//schemas.xmlso
    ap.org/ws/2004/08/addressinggt
  • http//172.31.46.26/COB/calc.cob
  • lt/wsaTogt
  • lt/soapHeadergt
  • ltsoapBody
  • soapencodingStylehttp//schemas.xmlsoap.
    org/soap/encoding/gt
  • lttnsAdd xmlnstnshttp//tempuri.org/Calc/mes
    sage/gt
  • ltAgt14lt/Agt
  • ltBgt28lt/Bgt
  • lt/tnsAddgt
  • lt/soapBodygt
  • lt/soapEnvelopegt 

The calculator is a popular interop test
11
Outline
  • Invisible Computing Devices
  • Why Web Services?
  • Our approach
  • Table driven serialization
  • Compressed SOAP
  • Trust and secure discovery
  • Distributed real-time
  • Componentized RTOS
  • Real-time C
  • Result
  • Call to action

12
Table Driven Serialization
  • Processes messages automatically according to
    description
  • XML metadata description
  • Compiled offline into compact description
  • Extensible at runtime
  • Process while receiving
  • Zero copy networking
  • Serializer parser share buffers with network
    stack crypto
  • COM-Lite automation
  • Turns messages into object calls
  • Multiple methods in one message
  • Multiple transports and encodings
  • UDP, HTTP, Encryption, Compression

13
Compressed SOAP
  • Goal Add(A,B) call should be three bytes
  • 1) Add 2) A 3) B
  • Must be convertible to XML mechanically
  • Must be able to represent any XML
  • Template based compressor
  • Onus on discovery process
  • Process compressed data directly
  • Simple device only implements what it cares for

14
A Secure Invisible Home
15
Trust and Discovery
  • Simple SOAP based trust and service discovery for
    ad hoc networks
  • Use Big Web Services (WSE/Indigo) when
    infrastructure present
  • Optimized for cluster of nodes. Base station (PC)
    deals with global issues
  • Public Key Cryptography works on small devices
    (but can be boosted)
  • 13s RSA decrypt, 0.03s AES on 25MHz Arm7
  • FPGA takes times down by factors of 3000 and
    10000 (3ms 2µs)
  • Strong crypto necessary for marketability
  • WS-Security is too bulky

16
Setting up a Secure Home
  • Create house authority, e.g. watch
  • Touch each device once with watch
  • Admits device into trust domain
  • Discovery process finds device with desired
    function does key exchange
  • House authority can be offline
  • RSA AES
  • Write hash of house authoritys key on check to
    establish trust with bank
  • ? Federation of independent trust domains

17
Intuitive Setup
  • Exploit Context Histories
  • Trust setup touch based
  • The touching history is data mined to find
    proximity clusters
  • The proximity clusters indicate functional
    relationship
  • E.g. touch light-switch and light close together
  • automatically ties them together

18
Outline
  • Invisible Computing Devices
  • Why Web Services?
  • Our approach
  • Table driven serialization
  • Compressed SOAP
  • Trust and secure discovery
  • Distributed real-time
  • Componentized RTOS
  • Real-time C
  • Result
  • Call to action

19
Distributed Real-Time
  • Coordinated activities
  • Statistical quality control

Planner
Scheduling
Producer
Scheduling
Sampling
Sensor readings
Consumer
20
Real Time...continued
  • Instigator of activity plans and tunes
    reservations based on feedback samples
  • Planner pre-declares future activity at each node
  • Serialize scheduling trees into XML
  • Worker nodes accept/reject schedules
  • Coordinated schedules allow shared resource
    scheduling. Could turn off radio to save energy
  • Statistical decision making
  • Quality control sampling
  • Concept demo shown at booth 320

21
Behavior Patterns
Define the actions and resources for a job Given
to planner
  • ltbehavior name"SensorDemo"gt
  • ltaction name"DemoInstigator"
    endpoint"nodeinstigator/COB/sensormain.cob"gt
  • ltmessage destination"SensorProducer/"/gt
  • lt/actiongt
  • ltaction name"SensorProducer"
    endpoint"nodesensor/COB/sensor.cob"/gt
    ltrepeat count"100" Period"P1.5S"/gt
  • ltmessage destination"SensorConsumer"/gt
  • lt/actiongt
  • ltaction name"SensorConsumer
  • endpoint"nodeconsumer/COB/sensor.cob"/
    gt
  • ltrepeat count"100" periodP1.5S/gt
  • lt/actiongt
  • ltsampling destination"nodeinstigator
  • interval"20" number"2"/gt
  • lt/behaviorgt

22
Task Instance of Pattern
Specific time and place Sent to worker by planner
  • lttask name"SensorDemo-123456"gt
  • ltaction name"SensorProducer
  • deadline2004-12-11T025148.7001508Z
  • toleranceP0.005S durationP0.02Sgt
  • lttrigger maxCount"100
  • offset"P1.5S"gtSensorProducerlt/trigge
    rgt
  • lt/actiongt
  • ltsampling destinationhttp//10.10.10.10/feedbac
    k
  • interval"20" number"2"/gt
  • lt/taskgt

23
Resource and Time Estimation
  • Application specifies confidence needed
  • Higher confidence costs more resources

estimate mean confidence
24
Action Plan
  • Estimate is predicted by statistical model
  • Tolerance is medium dependent

earliest start
latest start
deadline
tolerance
estimate mean confidence
25
Action Plan
Measurements are fed into statistical model Model
predicts future needs
Period k
Fixed producer deadline
1
Time t
kt0
kt2
kt1
Producer
Transmission
Consumer
26
Timing Adjustment
Measurements are fed into statistical model Model
predicts future needs
Period k
Fixed producer deadline
1
Time t
kt0
kt2
kt1
Producer
Transmission
Consumer
27
Timing Adjustment
Measurements are fed into statistical model Model
predicts future needs
Period k
Fixed producer deadline
1
Time t
kt0
kt2
kt1
Producer
Transmission
Consumer
28
Timing Adjustment
Measurements are fed into statistical model Model
predicts future needs
Period k
Fixed producer deadline
1
Time t
kt0
kt2
kt1
Producer
Transmission
Consumer
29
Timing Adjustment
Measurements are fed into statistical model Model
predicts future needs
Period k
Fixed producer deadline
1
Time t
kt0
kt2
kt1
Producer
Transmission
Consumer
30
Timing Adjustment
Measurements are fed into statistical model Model
predicts future needs
Period k
Fixed producer deadline
Steady state
1
Time t
kt0
kt2
kt1
Producer
Transmission
Consumer
31
Timing Adjustment
Measurements are fed into statistical model Model
predicts future needs
Fixed consumer deadline
Fixed producer deadline
1
1
Time t
Time t
kt0
kt2
kt1
kt0
kt1
kt2
CD player to speaker
Sensor to recorder
32
Outline
  • Invisible Computing Devices
  • Why Web Services?
  • Our approach
  • Table driven serialization
  • Compressed SOAP
  • Trust and secure discovery
  • Distributed real-time
  • Componentized RTOS
  • Real-time C
  • Result
  • Call to action

33
Componentized RTOS
  • Support for web services on a chip
  • General purpose in the abstract. Code and
    interface reuse
  • Special in the concrete. Only take what you need.
  • Component-based objects everywhere
  • Real-time scheduling with application feedback
  • XML-based configuration and communication
  • Hardware platforms
  • ARM (many), PPC, i386, MIPS, TriMedia, Map1000,
    H8, eCOG1
  • Numerous development boards, prototype gadgets,
    smart I/O cards
  • Perfect research platform elusive

34
Real-Time C
  • CLR desirable option for embedded systems
  • Great for extensions, games, apps
  • Not practical as the exclusive solution in
    embedded systems
  • Our real-time scheduling extensions
  • Prototype C API implemented
  • Work-item Scheduler allows mixing native and
    managed threads
  • Interpreter execution stacks are multiplexed
  • No ROM size penalty

35
Outline
  • Invisible Computing Devices
  • Why Web Services?
  • Our approach
  • Table driven serialization
  • Compressed SOAP
  • Trust and secure discovery
  • Distributed real-time
  • Componentized RTOS
  • Real-time C
  • Result
  • Call to action

36
Microsoft Invisible Computing
  • A software platform for low cost embedded
    systems that communicate with each other and with
    big computers
  • Research prototype
  • Has actively been used by academia
  • Community source license
  • Complete TCP/IP, HTTP, SOAP, compressed SOAP,
    real-time SOAP, automation, discovery, trust
    security, RTOS (dynamic memory, threads,
    drivers, etc.), application.
  • ? Runs in computer with 32KB of RAM, 256KB of
    ROM.
  • Fewer components ? smaller footprint. TCP/IP is
    biggest hog. Crypto not optimized for size.

37
Call to Action
  • Visit booth 320
  • Download software from http//research.microsoft.
    com/invisible
  • Use it in products and research
  • Make your product interoperate with low-cost
    devices
  • Talk to jvh
Write a Comment
User Comments (0)
About PowerShow.com