IS4: Storage System for Physical Data Jorge Ortiz System Architecture Semantic graphs Physical data...

download IS4: Storage System for Physical Data Jorge Ortiz System Architecture Semantic graphs Physical data management  What is physical.

If you can't read please download the document

Transcript of IS4: Storage System for Physical Data Jorge Ortiz System Architecture Semantic graphs Physical data...

IS4: Storage System for Physical Data Jorge Ortiz System Architecture Semantic graphs Physical data management What is physical data Produced by sensors in physical environment Sensor devices change over time Physical environment changes over time HTTP/RESTful interface Future Work Pub/Sub System Metadata schema Object description Logic description Context graphs Context graph capture entity relationships Nodes/edges represent logical or physical relationships Nodes/edges associated with devices Devices produce time series data Query interface Semantic + time series queries Semantic graph constraints Time series data processing Interpolation, extrapolation, signal processing Picture 1: Sensors embedded in Load Tree Electrical Humidity PAR/TSR Temperature Circuit/breaker panel level power monitoring Vibration Load Tree CT mains power monitoring ACme: plug load energy monitor and controller 2001:252:0:1::2008:6 and 2001:252:0:1::2008:8Make: ACme Model: Revision 1 Storage HTTP/REST Publish Manager Subscribe Manager Proxy Manage r Humidity PAR/TSR Temperature Vibration CT mains power monitoring ACme: plug load energy monitor and controller Publish Subscribe Context Manager / #root status information [GET] /is4 # a particular channel [GET] /info # statistical system information [GET] /publish # publishing resource [GET/PUT] /all # list of all publishers [GET] /id # sub-children [GET] / # id of publisher [GET/POST] /name # name alias for this id [GET] /mysubs# l ist/add to pub subscriptions [GET/PUT/DELETE] /metadata# returns publisher-associate metadata [GET] POST requests: supply JSON objects as arguments: POST:{ SubscribeTo":[ ,234213, ], UnsubscribeFrom":[45432,567365, , ] } Publisher Id Username and pw hash { "description":logic_stream_schema", "type":"object", "properties": { type":{"type":"string","optional":false, "options":[{"value":logic"}]}, $schema:logic_stream_schema.json, address:{type:string, format:[string, ipv4, ipv6, url], optional:false}, functions:{type:array, options:[{ function_name:{type:string}, operation:{type:string, optional:true}, parameters:{type:array, options:[object, string, $ref]} } { "description":logic_stream_schema", "type":"object", "properties": { type":{"type":"string","optional":false, "options":[{"value":logic"}]}, $schema:logic_stream_schema.json, address:{type:string, format:[string, ipv4, ipv6, url], optional:false}, functions:{type:array, options:[{ function_name:{type:string}, operation:{type:string, optional:true}, parameters:{type:array, options:[object, string, $ref]} } Logic schema { "description":"object_stream_schema", "type":"object", "properties": { type":{"type":"string","optional":false, "options":[{"value":"object_stream"}]}, "device_name":{"type":"string", "optional":"false"}, "model":{"type":"string","optional":false}, "desc":{"type":"string","optional":true}, url":{"type":"string",format:url,"optional":true } { "description":"object_stream_schema", "type":"object", "properties": { type":{"type":"string","optional":false, "options":[{"value":"object_stream"}]}, "device_name":{"type":"string", "optional":"false"}, "model":{"type":"string","optional":false}, "desc":{"type":"string","optional":true}, url":{"type":"string",format:url,"optional":true } Object schema Context graph schema Context Node: { "label":{"type":"string", "optional":false}, "name":{"type":"string", "optional":false}, "type":{"type":"string","options":[{"value":"context_node"}], "optional":false}, "description":{"type":"string", "optional":false}, "properties": { "AssociatedDevices":{ "type":"array", "options":[{"value":"string","format":"UUID"}], "optional":true }, "parents":{ "type":"array", "options":[{"value":"string", "properties":{"$ref":"#.properties.cnid"}}], "optional":true }, "children":{ "type":"array", "options":[{"value":"string", "properties":{"$ref":"#.properties.cnid"}}], "optional":true }, "cnid": { "type":[string"] "description":"local node identifier", "optional":false }}} Context Edge { "label":{"type":"string", "optional":false, "description":"String with spaces"}, "name":{"type":"string", "optional":false, "description":"String without space"}, "sourceNode":{"type":[string"], "description":"local node identifier", "optional":false}, "destinationNode":{"type":[string"], "description":"local node identifier", "optional":false}, "AssociatedDevices":{ "type":"array", "options":[{"value":"string","format":"UUID"}], "optional":true }} Context Node: { "label":{"type":"string", "optional":false}, "name":{"type":"string", "optional":false}, "type":{"type":"string","options":[{"value":"context_node"}], "optional":false}, "description":{"type":"string", "optional":false}, "properties": { "AssociatedDevices":{ "type":"array", "options":[{"value":"string","format":"UUID"}], "optional":true }, "parents":{ "type":"array", "options":[{"value":"string", "properties":{"$ref":"#.properties.cnid"}}], "optional":true }, "children":{ "type":"array", "options":[{"value":"string", "properties":{"$ref":"#.properties.cnid"}}], "optional":true }, "cnid": { "type":[string"] "description":"local node identifier", "optional":false }}} Context Edge { "label":{"type":"string", "optional":false, "description":"String with spaces"}, "name":{"type":"string", "optional":false, "description":"String without space"}, "sourceNode":{"type":[string"], "description":"local node identifier", "optional":false}, "destinationNode":{"type":[string"], "description":"local node identifier", "optional":false}, "AssociatedDevices":{ "type":"array", "options":[{"value":"string","format":"UUID"}], "optional":true }} Graph representation Graph time snapshots