BOSS-Stephen.Kickoff

Report
BOSS: Building Operating System Services
Stephen Dawson-Haggerty
2
motivation
1/11/13
SDB Pretreat
3
motivation
B' 27' ,' #$G' 125\ ] ' 3$"&3$^&' _M' &-+8' $E 9*>$
%' -1P' 3$A52$C&' 2: #$CK D+' &D#$`BG^%Ca$
Cool Air
AC
LoCal
Computer
AC
Signal
Energy
Data
Control
Computer
Sensor Data "
Sensor Data "
! AC Control
! AC Control
Thermostat
Sensor
Data
Sensor, Wind,
Weather Data
sMAP
•! TZW$-L S$OS$D5< M61' 2$,"P52"152#$
•! / ' 1. 527' 3$1=' 2< 5-1"1$
•! / ' . 15&b-$,". $5A$D55,+&: $. +1=$=' "F&: $,5"3$
Weather
Forecast
(Aswani, et al., Proc. IEEE, 2011); (Taneja, et al., submitted, 2012)!
1/11/13
SDB Pretreat
NWS
4
motivation
1/11/13
SDB Pretreat
5
outline
• Problem overview
– Use networked resources
– Enable multiple control applications
– Maintain system properties (robustness, discoverability…)
• Architecture components
–
–
–
–
–
1/11/13
Hardware abstraction
Directory
Historian
Transaction manager
Control processes
SDB Pretreat
6
SCADA architecture
Does not address
reliability when
controlling across a
networked
head-end
supervisory
panel
direct
device
1/11/13
SDB Pretreat
7
existing solutions work around this issue
OpenADR
1. Standardized
communications protocols
2. Completely partitioned
implementation
3. “It’s a box”
WattStopper
head-end
BACNet
panel
device
1/11/13
SDB Pretreat
8
design goals
• Fault tolerance
– Between domains
• Isolation
– Between processes, systems
• Scheduling
multiprogramming
– Of users, changes
• Security and authorization
– Manage the principals
• Hardware abstraction
– Capture component relationships
– Provide a namespace
• Historical data
– Process, query, reduce
1/11/13
SDB Pretreat
9
Control processes
History
“Kernel” interface
Abstraction
Isolation + Scheduling
Fault tolerance
Security
boss: a proposed architecture
1/11/13
Directory
History
Trans. mgr.
Hardware Abstraction Layer
HPL
HPL
SDB Pretreat
HPL
HPL
10
hardware presentation
lots of underlying diversity & heterogeneity
Physical Information
sMAP
1/11/13
Electrical
Geographical
Water
Weather
Structural
SDB Pretreat
Environmental
Occupancy
Actuator
11
considerations and related work
• Pub/Sub
– JMS, TIBCO, AMQP, CORBA
– TinyDB
• Management
– SNMP
• Syndication
– RSS/Atom, PubSubHubbub
– XMPP, SenseAndrew, SenseWeb
• Embeddability
– CoAP/CORE, TinyWebServices
• Industrial protocols
– BACnet, OPC, DeviceNet
Protocol
Year
Network
Example Applications
Modbus
1979
RS-485, TCP/IP
Panel monitoring, alarms
Fieldbus/HART
1988
various
Industrial Control
BACnet
1995
ARCNET, Ethernet, IP,
RS-232, etc.
HVAC, Lighting, Fire…
WirelessHART
2007
802.15.4e
Industrial control, wire replacement
1/11/13
Zigbee
SEP 2.0
2012? 802.15.4
SDB Pretreat
Plug-load monitoring
12
HPL: Represent sensors and actuators
•
•
•
•
Objects are time-series and collections
Represent the underlying sense and actuation points
Expose over HTTP
Time-series are durably identified
timeseries collections
–
–
A collection of structured key-value pairs, data
Data is (time, value[, seqno]) vector
{
"/" : {
"Contents" : ["sensor0"],
“Metadata” : { “SourceName” : “Example sMAP Source” },
},
"/sensor0" : { "Contents” :["channel1"] },
"/sensor0/channel0" : {
"uuid" : "a7f63910-ddc6-11e0-8ab9-13c4da852bbc",
"Readings" : [ [1315890624000, 12.5 ] ]
}
}
1/11/13
SDB Pretreat
13
RS-485 bus
BacNET/IP
OPC-DA
sMAP
BMS Integration
Database integration
Commercial building retrofit
Residential deployment and automation
Large wireless network
sMAP
–
–
–
–
–
6lowpan
network
s
sMAP
meet data acquisition needs
Name
Sensor Type
Access Method
Channels
ISO Data
CAISO, NYISO, PJM, MISO, ERCOT
Web scrape
1211
ACme devices
Plug-load electric meter
Wireless 6lowpan mesh
344
EECS submetering project
Dent Instruments PowerScout 18 electric meters
Modbus
4644
EECS steam and condensate
Cadillac condensate; Central Station steam meter
Modbus/TCP
13
UC Berkeley submetering
feeds
ION 6200, Obvius Aquisuite; PSL pQube, Veris
Industries E30
Mosbus/Ethernet, HTTP
4269
Sutardja Dai, Brower Hall BMS
Siemens Apogee BMS, Legrand WattStopper,
Johnson Control BMS
BACnet/IP
4064
UC Davis submetering feeds
Misc., Schneider Electric ION
OPC-DA
34 (+)
Weather feeds
Vaisala WXT520 rooftop weather station;
Wunderground
SDI-12, LabJack/Modbus,
web scrape
33
CBE PMP toolkit
Dust motes; New York Times BMS
CSV import; serial
874
1/11/13
SDB Pretreat
14
1/11/13
SDB Pretreat
15
outline
• Problem overview
– Extend control loops to cloud
– Enable pluggable control applications
– Maintain system properties (robustness, discoverability…)
• Architecture components
–
–
–
–
–
Hardware abstraction
Directory
Historian
Transaction manager
Control processes
• Timeline
1/11/13
SDB Pretreat
16
additional layer of complexity not in a computer OS
Nguyen Thi Hoang Lan, http://cnx.org/content/m29708/1.1/
1/11/13
SDB Pretreat
17
outline
• Problem overview
– Extend control loops to cloud
– Enable pluggable control applications
– Maintain system properties (robustness, discoverability…)
• Architecture components
–
–
–
–
–
Hardware abstraction
Directory
Historian
Transaction manager
Control processes
• Timeline
1/11/13
SDB Pretreat
18
historian
modeling requires a log of sensor data
• Limited real, open systems which do this well
–
–
–
–
–
–
–
Time series systems: wavelet systems, quick computations
Lookup table-based floating point compression
OpenTSDB = HBase + HDFS
OPC+HDA, OSI Pi, System S, Flume
MRO, Spark streaming
Medusa, Fjord, Telegraph[CQ]
SciDB
• Write pattern
– Append data to streams
– Occasionally bulk-load
• Read pattern
– Range-query on timestamp
• Process pattern
– Clean, “join”, compute
– SQL is quite clumsy for time-series processing…
1/11/13
SDB Pretreat
Larry Ellison’s query
1.
2.
3.
4.
5.
Extract data from 100 streams
Interpolate onto a 5-minute time basis
Filter missing data
Combine the streams into a matrix
Load into MATLAB/R/numpy
looks like pipes to me
1/11/13
SDB Pretreat
19
20
Principles for physical data storage
– Data is mostly array-like
– Efficient “views” of data: subsampled/cleaned
• Treat as 1st class objects
• Use to govern retention and privacy
– Flexible operators for repairing timestamps, unit conversion, time
sampling
– Compression/materialization control
Something like append-only RDD’s
sum < paste < window(mean, field="hour")
of data
1/11/13
SDB Pretreat
21
write load on readingdb6
Importing old data: 150k points/sec
10 billion
1/11/13
Continuous write load: 300-500pts/sec
readings, 40k streams, 3.5bytes/record
on disk
SDB Pretreat
22
1/11/13
SDB Pretreat
23
outline
• Problem overview
– Extend control loops to cloud
– Enable pluggable control applications
– Maintain system properties (robustness, discoverability…)
• Architecture components
–
–
–
–
–
Hardware abstraction
Directory
Historian
Transaction manager
Control processes
• Timeline
1/11/13
SDB Pretreat
24
control
transactions
want cloud
applications…
with old-fashioned
reliability
1/11/13
SDB Pretreat
25
idea
Use transaction
metaphor to
update state of the
building
• Adjust set points
• Replace control
logic
1/11/13
SDB Pretreat
26
1/11/13
writer 1 value: 245cfm
245
writer 2 value: 280cfm
245
SDB Pretreat
280
BACnet priorities
27
1
writer 1 value: 245cfm priority: 3
writer 2 value: 280cfm priority: 1
priority array
245
<time passes>
writer 2 clear
writer 1 crashes
16
1/11/13
SDB Pretreat
present value: 280cfm
245cfm
28
future work
• Transaction building blocks
– Lease time
– Priority level
– Abort/rollback notifications
• Define levels of transaction isolation
– Actuator: just prevent concurrent writes
– System: use pre-defined hierarchal locking
– Model-based: learn interaction model
1/11/13
SDB Pretreat
29
Thank You
application logic
control process
Model Training
Runtime Logic
Time-series Client
system
libraries
Transaction Client
portable, robust applications for
the physical environment
Authorization token
BOSS boundary
r equest
cal l back
hi st or i cal
dat a
submi t
aut hor i ze
2
ver i f y
5
HAL Service
Auth Service
Time Series Service
Transaction Manager
4
3
command
publ i sh
1
sMAP
sMAP
XML/HTTP OPC-DA
1/11/13
sMAP
sMAP
sMAP
6loWPAN
RS-485
BACnet/IP
SDB Pretreat
1. Hardware presentation
layer: sMAP
2. Hardware abstraction layer:
device-specific logic
3. Time-series service: the
archiver
4. Reliable control inputs: the
transaction manager
5. Security: the authorization
service

similar documents