XMPP, Big Data, and the Smart Grid 2013 R12 - IEEE · XMPP, Big Data, and the Smart Grid William J....
Transcript of XMPP, Big Data, and the Smart Grid 2013 R12 - IEEE · XMPP, Big Data, and the Smart Grid William J....
1
Tutorial(30-Aug-2013, 13:30-2:30pm)
XMPP, Big Data, and the Smart GridWilliam J. Miller, President, MaCT
IEEE International Conference on Smart Grid Engineering(SEGE’13)
28-30 August, 2013
UOIT, Oshawa, ON (Canada)
Sponsored by IEEE Toronto (NPSS & PES) and MITACS
2
XMPP, Big Data, and the Smart Grid
ISO/IEC/IEEE P21451-1-4eXtensible Markup and Presence Protocol Interface Standard
for Sensors, Actuators, and Networked Devices for M2M and theInternet of Things (IoT)
WILLIAM J. MILLERChairman
August 28-30, 2013
3
Agenda
• Internet of Things (IoT)
• ISO/IEC/IEEE P21451-1-4 Sensei/Iot*
• Big Data for the Smart Grid
• Use Cases for the Smart Grid
5
Smart Grid
Fault Detection/voltage optimization
(Current, Voltage, temperature,
Weather station)
Electric
Interface
Communication
Interface
Domain
Current
sensor
Voltage
sensor Temperature
sensor
Structure &
Equipment
Monitoring
Power usage monitoring
(Heating, Cooling Equipment, Appliance)
Current
sensor
Voltage
sensor
Temperature
sensor Weather Station
Current
sensorVoltage
sensor
Temperature
sensor
Weather Station
High Voltage Line Monitoring
Current
sensorVoltage
sensor
Temperature
sensor
Weather Station
9
UNIVERAL UNIQUE IDENTIFIER
• ISO/IEC/IEEE P21451-1-4 will use a JID(EUI-64) which is a Universal Unique IDentifier(UUID), defined in ISO 29161 AutomaticIdentification for the Internet of Thingsdeveloped by ISO JTC1 SG31 WG2 AutomaticIdentification & Data Capture and TC122Internet of Things (IoT).
• jid = [ node “@” ] domain [ “/” resource{device} ]
11
ISO/IEC/IEEE P21451-1-4• XMPP Interface Standard also known as
“Sensei/IoT*” is the first joint effortbetween ISO, IEC, and IEEE, known asP21451-1-4 XMPP Interface Standard forSensor Networks, Machine-to-Machine(M2M), and the Internet of Things (IoT) asa first Semantic Web 3.0 Sensor Standard.
• Hosted by Dr. Kang Lee, Chairman ofIEEE TC-9 Sensor Technology, and CraigHarmon Chairman of ISO JTC1/SC31Automatic Identification/data capture and
TC122 Internet of Things
12
P21451-1-1TCP/IP
P21451-1-2HTTP
P21451-1-3SOAP
P21451-1-4XMPP
(Provides a virtual tunnel for TCP/IP, HTTP, SOAP, and Abstracted Interface Services)
ABSI(Future)
P21451-1CommonNetworkServices
DISCOSERVICES
TRANDUCERACCESS
SERVICES
TEDSACCESS
SVC
User Network Wired/Wireless including Internet
Network Interface
EVENTNOTIFICATION
SERVICE
TRANSDUCERMANAGEMENT
SERVICES
21451-0Transducer Services
21451-2 or 21451-5Module Communications
21451-2 or 21451-5Physical Interface
21451-2 or 21451-5Communications Protocol
21450-001Signal Treatment and Conditioning
21450 TEDS 21451-2 &21451-5 PHY INTFC21450
21451-4TRANSDUCER
TRANSDUCERS(Sensors & Actuators)
21451-7TRANSDUCER
Mixed ModeInterface
RFInterface
ISO/IEC/IEEE P21450LOGICAL CONNECTION DIAGRAM
NCAP/TIM
13
What is XMPP?
• XMPP StandardsFoundation (XSF) is thefoundation in charge of thestandardization of theprotocol known asextensions of eXtensibileMessaging and PresenceProtocol (XMPP), the openstandard of instantmessaging and presence ofthe IETF.
14
IETF XMPP
• IETF XMPP Working Group produced a number of documents:
• RFC 3920 – XMPP: Core, which describes client-servermessaging using two open-ended XML streams. A connectionis authenticated with Simple Authentication and SecurityLayer (SASL) and encrypted Transport Layer Security (TLS).
• RFC 3921 – XMPP: Instant Messaging and Presence.
• RFC 3922 – Mapping the XMPP to Common Presence andInstant Messaging
• RFC 3923 – End-to-End Signing and Object Encryption forXMPP.
• http://www.xmpp.org/about-xmpp/xsf
16
Scalability of
Cloud Services
ServiceBroker
XMPP
XMPP
XMPPMultiple
Channels
XMPPI
XMPPI
IdP
XMPPS2S
TCP/IPSingle
Channel
VPN
VPN
XSB XSB
XSBXMPPS2S
XMPPS2S
XMPP
XMPP
XMPPS2S
XMPP XMPP
XG XG
XG XGXG
XMPP XMPP
XMPPS2S
IdP
XMPP IoT Abstraction Types
• Gateway (P21451-1 over XMPP)
• Direct I/O (XMPP)
• Legacy Device Adapters (MODBUS over XMPP)
• Server-to-Server (OPC UA over XMPP)
NCAP/TIM Discovery(Request)
• The MCAP asks for a list of NCAP/TIM Resources with this message}• • <iq type=’get’• • from=’[email protected]’
to=’[email protected]’id=’info1>
<query xmlns=’https://jabber.org/protocol/disco#info><identity category’gateway’ type=’ncap name=’ncapid’/><feature var=’urn:xmpp:iot:interoperability'/><feature var=’urn:xmpp:iot:sensordata'/<feature var=’http://jabber.org/protocol/disco#info’/><feature var=’http://jabber.org/protocol/disco#items’/><identity>
</guery></iq>
NCAP/TIM Discovery(Response)
• • The NCAP/TIM provides the following response message
• • <iq type=’result’
• • from=’[email protected]’
• • to=’[email protected]’
• • <accepted xmins=‘urn:xmpp:iot:interoperability'
• • <accepted xmins='urn:xmpp:iot:sensordata'
• • <iq type
27
Getinterfaces(Request)
• <iq type='get'
from=’[email protected]’
• to=’[email protected]
• id='1'><getInterfaces xmlns='urn:xmpp:sn:interoperability'/>
</iq>
Getinterfaces(Response)
• <getInterfacesResponse xmlns='urn:xmpp:sn:interoperability'>
• • <interface name='XMPP.IoT.Sensor.Temperature'/>
• • <interfacename='XMPP.IoT.Sensor.Temperature.History'/>
<interface name='XMPP.IoT.Identity.Clock'/><interface name='XMPP.IoT.Identity.Location'/><interface name='XMPP.IoT.Identity.Manufacturer'/><interface name='XMPP.IoT.Identity.Name'/><interface name='XMPP.IoT.Identity.Version'/>
</getInterfacesResponse>
</iq>
29
SensorData(Request)
• If you have interface XMPP.IoT.Identity.* (ID for NCAPs), read that datausing XEP sensor-data (for instance read identity information only)
• <iq type='get‘
from=’[email protected]’
to=’[email protected]’ >
id='1'><req xmlns='urn:xmpp:iot:sensordata' seqnr='1' identity='true'/>
</iq>
30
Sensordata(Response)
• <messagefrom=’[email protected]’to=’[email protected]’ >
<fields xmlns='urn:xmpp:iot:sensordata' seqnr='1' done='true'><node nodeId=‘Device01'>
<timestamp value='2013-03-07T16:24:30'><string name='...ID' identity='true' automaticReadout='true'
value='1234567'/></timestamp>
</node></fields>
</message>
If not concentrator: Done
31
New URI
• HTTP over XMPP and EXI will be used totransport HTTP traffic utilizing a new URI.
• Ex. httpx://www.xmpp.org
• HTTPX will establish a secure XMPP sessionwith a Service Broker where a device,application, or user can exchange informationwith anyone who is registered and authorizedto share their information.
• Ref. XEP-0332
33
Big Data Definition
• Big Data refers to digital datavolume, velocity and/or variety[veracity] that: enable novelapproaches to frontier questionspreviously inaccessible orimpractical using current orconventional methods; and/orexceed the capacity or capabilityof current or conventionalmethods and systems.
34
Big DataCharacteristics
• HADOOP MapReduce breaks up a task into smaller tasks andbeing able to act upon a large data set to provide datacollection, data analytics, visualization, and logisticsinformation moving intelligence to the edge
• Big Data generally makes use of unstructured data but can becombined with structured relational database access usingSQL
• HADOOP is often referred to as NOSQL since it acts uponunstructured data
• HADOOP is not a protocol like SQL it is an architecturedesigned to provide high performance using commoditycomputers to provide clustered parallel processing over high-speed Ethernet
• Data Compression is key to transfer and storage of Big Data
35
exi
• XML Interchange (Efficient EXI) is as a BinaryXML format which was adopted asa recommendation by the World Wide WebConsortium (W3C) in March 2011. It wasdeveloped by the W3C's Efficient XMLInterchange and is one of the most prominentbinary XML efforts to encode XML in a binarydata format, rather than plain text.
• EXI can use any data compressor .• Ref: XEP-0322
Stream Compression
• <stream:features><starttls xmlns='urn:ietf:params:xml:ns:xmpp-
tls'/> {Inovkes TLS session}
<compressionxmlns='http://jabber.org/features/compress'>
<method>zlib</method><method>lzw</method><method>exi</method><method>exi:54321</method>
</compression></stream:features>
37
bzip2
• bzip2 is a free and open source filecompressor that uses the Burrow-Wheeleralgorithm. The compressor uses HuffmanEncoding. The bzip2 is used in HADOOPMapReduce for efficient storage and transferof information for Big Data applications.Sensordata can send data to a Big Data storeand retained in an unstructured dataset, suchas AMI, or DER
38
qzipx
• qzipx is a new approach combining HuffmanEncoding/LZW (zipx) and block sorting forstoring data within constrained memorydevices such as RFID. qzipx is still in research,but offers key benefits including fast“reconstruction” of data at rest using aminimal set of information.
45
Key Challenges
slowing adoption of Smart Grid
1. Effectiveness - Internet is not effectively utilized for Smart Grid
2. Implementation - Software has implementation variances
3. Interoperability - Interoperability issues with standard protocols
4. Scalability - Peer-to-peer connections limit scalability
5. Session Persistency - Sessions are not persistent using web services
6. Cyber Vulnerabilities - Cyber vulnerabilities are often built-in
7. Cyber Exposure - IP addresses present cyber exposure
8. Legacy Devices - Legacy devices must be supported
9. Presence Detection - Lack of “Presence” requiring polling forinformation
10.Security - Security is layered on which increases complexity
11.Cost/Complexity - The resulting costs and complexity escalateexponentially
46
Sensei/IoT* XMPP Cyber Defensemeeting the challenges of the Smart Grid
• Sensei/IoT* is technology agnostic and protocolindependent
• Sensei/IoT* uses Transport Layer Security (TLS) toencrypt data traffic which is built-in to the protocol
• Sensei/IoT* is firewall friendly utilizing port translationeliminating exposures common to use of Port 80
• Sensei/IoT* utilizes Semantic Web 3.0 (XML metadatato provide a semantic conversation between devices)
• Sensei/IoT* can utilize a Service Broker as an trustedintermediary to establish a trust relationship betweenusers, applications, and devices
• Sensei/IoT* can use an Identity Provider (IdP) toprovide Single Sign On (SSO) capability
• Sensei/IoT* includes end-to-end digital signing andencryption (RFC 3923) using Efficient XML Interchange(EXI)