BOSS Building Operating System Services Stephen DawsonHaggerty 2
BOSS: Building Operating System Services Stephen Dawson-Haggerty
2 motivation 1/11/13 SDB Pretreat
3 motivation 1/11/13 SDB Pretreat
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 Open. ADR 1. Standardized communications protocols 2. Completely partitioned implementation 3. “It’s a box” Watt. Stopper 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 SDB Pretreat HPL
10 hardware presentation lots of underlying diversity & heterogeneity Physical Information s. MAP 1/11/13 Electrical Geographical Water Structural Weather SDB Pretreat Environmental Occupancy Actuator
11 considerations and related work • Pub/Sub – JMS, TIBCO, AMQP, CORBA – Tiny. DB • Management – SNMP • Syndication – RSS/Atom, Pub. Sub. Hubbub – XMPP, Sense. Andrew, Sense. Web • Embeddability – Co. AP/CORE, Tiny. Web. Services • Industrial protocols – BACnet, OPC, Device. Net 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… Wireless. HART 2007 802. 15. 4 e Industrial control, wire replacement 1/11/13 Zigbee SEP 2. 0 2012? 802. 15. 4 SDB Pretreat Plug-load monitoring
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" : ["sensor 0"], “Metadata” : { “Source. Name” : “Example s. MAP Source” }, }, "/sensor 0" : { "Contents” : ["channel 1"] }, "/sensor 0/channel 0" : { "uuid" : "a 7 f 63910 -ddc 6 -11 e 0 -8 ab 9 -13 c 4 da 852 bbc", "Readings" : [ [1315890624000, 12. 5 ] ] } } 1/11/13 SDB Pretreat 12
13 RS-485 bus Bac. NET/IP OPC-DA s. MAP BMS Integration Database integration Commercial building retrofit Residential deployment and automation Large wireless network s. MAP – – – 6 lowpan networks s. MAP 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 6 lowpan mesh 344 EECS submetering project Dent Instruments Power. Scout 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 p. Qube, Veris Industries E 30 Mosbus/Ethernet, HTTP 4269 Sutardja Dai, Brower Hall BMS Siemens Apogee BMS, Legrand Watt. Stopper, Johnson Control BMS BACnet/IP 4064 UC Davis submetering feeds Misc. , Schneider Electric ION OPC-DA 34 (+) Weather feeds Vaisala WXT 520 rooftop weather station; Wunderground SDI-12, Lab. Jack/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/m 29708/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 Open. TSDB = HBase + HDFS OPC+HDA, OSI Pi, System S, Flume MRO, Spark streaming Medusa, Fjord, Telegraph[CQ] Sci. DB • 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 1 st 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 readingdb 6 Importing old data: 150 k points/sec 10 1/11/13 Continuous write load: 300 -500 pts/sec billion readings, 40 k streams, 3. 5 bytes/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: 245 cfm 245 writer 2 value: 280 cfm 245 SDB Pretreat
280 BACnet priorities 1 writer 1 value: 245 cfm priority: 3 writer 2 value: 280 cfm priority: 1 priority array 245 <time passes> writer 2 clear writer 1 crashes 16 1/11/13 SDB Pretreat present value: 280 cfm 245 cfm 27
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 portable, robust applications for the physical environment 1. Hardware presentation layer: s. MAP 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 1/11/13 SDB Pretreat
- Slides: 29