What is GEP?.

Slides:



Advertisements
Similar presentations
Internet for multimedia content Yogendra Pal Chief Engineer, All India Radio.
Advertisements

Adobe’s Real Time Messaging Protocol
CCNA – Network Fundamentals
IS333, Ch. 26: TCP Victor Norman Calvin College 1.
UDP & TCP Where would we be without them!. UDP User Datagram Protocol.
Chapter 5: TCP/IP and OSI Business Data Communications, 5e.
BZUPAGES.COM 1 User Datagram Protocol - UDP RFC 768, Protocol 17 Provides unreliable, connectionless on top of IP Minimal overhead, high performance –No.
Csc333 Data communication & Networking Credit: 2.
Reliable Networking Systems The goals: Implement a reliable network application of a file sharing network. Implement a reliable network application of.
EE 4272Spring, 2003 Protocols & Architecture A Protocol Architecture is the layered structure of hardware & software that supports the exchange of data.
1 Networking Basics: A Review Carey Williamson iCORE Professor Department of Computer Science University of Calgary.
OPC Alarm.NET.
Gursharan Singh Tatla Transport Layer 16-May
Lecture slides prepared for “Business Data Communications”, 7/e, by William Stallings and Tom Case, Chapter 8 “TCP/IP”.
Fundamentals of Computer Networks ECE 478/578 Lecture #2 Instructor: Loukas Lazos Dept of Electrical and Computer Engineering University of Arizona.
Data Communications and Networks
CIS679: RTP and RTCP r Review of Last Lecture r Streaming from Web Server r RTP and RTCP.
OSI Model Routing Connection-oriented/Connectionless Network Services.
Midterm Review - Network Layers. Computer 1Computer 2 2.
Chapter 17 Networking Dave Bremer Otago Polytechnic, N.Z. ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E William Stallings.
Presentation on Osi & TCP/IP MODEL
Remote Access Chapter 4. Learning Objectives Understand implications of IEEE 802.1x and how it is used Understand VPN technology and its uses for securing.
Introduction to Networks CS587x Lecture 1 Department of Computer Science Iowa State University.
Chapter Three Network Protocols By JD McGuire ARP Address Resolution Protocol Address Resolution Protocol The core protocol in the TCP/IP suite that.
 Protocols used by network systems are not effective to distributed system  Special requirements are needed here.  They are in cases of: Transparency.
1 The Internet and Networked Multimedia. 2 Layering  Internet protocols are designed to work in layers, with each layer building on the facilities provided.
1 Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
Data and Computer Communications Chapter 11 – Asynchronous Transfer Mode.
ECEN “Internet Protocols and Modeling”, Spring 2012 Course Materials: Papers, Reference Texts: Bertsekas/Gallager, Stuber, Stallings, etc Class.
TCP/IP (Transmission Control Protocol / Internet Protocol)
Lecture 4 Overview. Ethernet Data Link Layer protocol Ethernet (IEEE 802.3) is widely used Supported by a variety of physical layer implementations Multi-access.
Department of Electronic Engineering City University of Hong Kong EE3900 Computer Networks Protocols and Architecture Slide 1 Use of Standard Protocols.
AMQP, Message Broker Babu Ram Dawadi. overview Why MOM architecture? Messaging broker like RabbitMQ in brief RabbitMQ AMQP – What is it ?
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
CIS 173 Networking Week #9 OBJECTIVES Chapter #6 Network Communications Protocols.
Synchrophasor Project Updates. 2 Typical Synchrophasor Data Architecture Grid Protection Alliance Solutions.
Copyright © 2011 Grid Protection Alliance, Inc. 1 September 7, 2011 Russell Robertson openPG GPA User’s Forum 2011 – Atlanta, Georgia.
Data and Computer Communications Chapter 2 – Protocol Architecture, TCP/IP, and Internet-Based Applications.
The Transport Layer Implementation Services Functions Protocols
Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
Security in the layers 8: Network Security.
Possible options of using DDS in oneM2M
5. End-to-end protocols (part 1)
Direct Attached Storage and Introduction to SCSI
Transport Layer.
Process-to-Process Delivery, TCP and UDP protocols
Communication Topics Jason Hill –
Layered Architectures
TCP/IP Transmission Control Protocol / Internet Protocol
Understand the OSI Model Part 2
Emitter: Scalable, fast and secure pub/sub in Go
The Medium Access Control Sublayer
NET323 D: Network Protocols
Direct Attached Storage and Introduction to SCSI
Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
Multimedia and Networks
Falling Back! … and: a Functional Decomposition of Post-Sockets
NET323 D: Network Protocols
Process-to-Process Delivery:
File Transfer Issues with TCP Acceleration with FileCatalyst
Advanced Computer Networks
TCP/IP Protocol Suite: Review
Net 323 D: Networks Protocols
Chapter 4 Network Layer Computer Networking: A Top Down Approach 5th edition. Jim Kurose, Keith Ross Addison-Wesley, April Network Layer.
Building A Network: Cost Effective Resource Sharing
Beyond FTP & hard drives: Accelerating LAN file transfers
Process-to-Process Delivery: UDP, TCP
Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
Lightweight Security Scheme for Vehicle Tracking System Using CoAP
Network Basics and Architectures Neil Tang 09/05/2008
Presentation transcript:

What is GEP?

Gateway Design Challenges Performance given system complexity Support multiple data types efficiently and securely Support multiple priorities Minimize latency and maximize throughput High availability assurance Horizontal and vertical scalability SIEGate stability and reliability Graceful performance degradation Security assurance Maximize security performance Minimize security breach impact Configurable security levels Security versus simplicity/usability tradeoff

Demanded a New Protocol Highly Performant Really fast Really efficient Scale to millions of points per second in a single stream Leverage common IP transmission unit size to reduce datagram fragmentation Non-fixed payload contents, i.e., points in one packet can be different than the next

Protocol Requirements GEP must move a continually variable set of points at low latency – to be successful, around 1 million points per second. 1 million assumes 12 associations and 100 PMUs (in and out) = ~ 0.5 M points in / sec ~ 0.5 M points out / sec GEP supports over 4,000,000 measurements per second.

Gateway Exchange Protocol Open and non-proprietary True pub/sub, measurement-based protocol Automated exchange of authorized metadata Tightly-compressed, binary serialization of time-series values ID, time-stamp, value, flags Adapters provided in .NET, C/C++ and Java for convenient native integration in other systems Available transports include TLS, TCP, TCP with UDP, TLS with AES key-rotated UDP, or ZeroMQ Lossless compression is also supported.

Typical GEP Payload Structure* Serialized Measurement Structure – 9 Bytes: Unique ID 2 Bytes Timestamp 2 Bytes Value 4 Bytes Quality 1 Byte 128-bit Guid ID mapped to 16-bit runtime ID 64-bit full resolution timestamp mapped to 16-bit offset 32-bit floating point value 8-bit quality flags Generally the unique ID is a Guid globally unique identifier – a 128-bit random integer that is statistically unique in the world (hence “global”). The other common name for these values is UUID, or universally unique identifier. Microsoft was the one that coined the term “globally” unique identifier since they felt the computer generated values with likely to be unique on Earth by the odds of having a duplicate anywhere in the universe was too high. Several serialized measurements are grouped together to create a message payload. Total size is adjusted to reduce fragmentation. * Free form payloads also supported.

Subscribing to Measurements Show several screens inside openPDC where measurement “subscription” is being used.

Publication APIs Subscription APIs Primary Data Flow Publication APIs Subscription APIs

Primary Data Flow (cont.) Publication APIs Subscription Subscription APIs Publication

Internal/External

Gateway Exchange Protocol (GEP) GEP is an extremely simple, small and fast wire format than can be used to exchange data points without a fixed predefined configuration – that is: Points arriving in one data packet can be different than those arriving in another data packet. This can be due to each point having a different delivery schedule – or a dynamic schedule (e.g., alarms). GEP is a signal level publish/subscribe protocol with two available channels: Command Channel (TCP) Data Channel (UDP or TCP)

Synchrophasor Data Protocol Comparisons IEEE C37.118 IEC 61850 Deployment Zones Today Substation Control Center Inter-company Preconfigured Data Packet Format Yes Yes – but client definable Security Options No Signal Level Publish / Subscribe Yes – but not dynamic GEP Control Center Inter-company No Yes

Example Interoperability Layers Utility Layer Example Challenges Inter-Reliability Coordinator GEP High Volume at Low Latency Dynamic Configuration Inter-Operating Center IEEE C37.118 Configuration Management Control Center System Integration Device / Substation IEC 61850 Device interoperability Device performance

Simple Optimizable Structure Measurement data is well structured and can be safely condensed into a simple data structure (per signal): 16-bit ID (established at connection) Time (condensed where possible) Value (32-bit real number) Flags A highly effective lossless data compression is optionally enabled for the time-series data: Implements an Xor based back-tracking compression algorithm to remove repeating bytes

Buffer Block Buffer block measurements define a block of data, rather than a simple measurement value GEP can transmit buffer blocks to transfer serialized data in chunks SIEGate uses buffer blocks for file-based transfers through GEP Order of data is preserved Develop your own wire protocol on top of GEP

Options for Connecting with GEP To get data “into” an application you can use GEP using a variety of API options: C++ Java .NET Mono.NET Unity 3D

GEP Security Modes Transport Layer Security Mode TCP command channel is secured using TLS – certificates exchanged out of band Optional UDP data channel is secured using rotating keys exchanged over TLS command channel Measurement access restricted on a per subscriber basis Gateway-to-Gateway Security Mode TCP command channel is secured using symmetric AES encryption – keys exchanged out of band Optional UDP data channel is secured using rotating keys exchanged over encrypted command channel Internal Access Mode (No Encryption) Data transferred openly (ideal for internal connections or VPN transfers when connection is already encrypted) Measurement access is unrestricted Back to subscriber screens to show off internal/external subscription pages

Steps to Exchange Data Subscriber creates an authorization request Generates an SRQ file Send the SRQ file out-of-band (email, thumb drive, CD, etc.) Publisher imports SRQ file Authorizes subscriber to connect, but still cannot subscribe Publisher authorizes subscriber to subscribe to measurements Publisher can control which measurements that subscriber can see Subscriber subscribes to measurements Subscriber can control which measurements that subscriber needs to see

Subscriber Creates an Authorization Request You Me Email SRQ SRQ

Publisher Imports SRQ File You SRQ

Publisher Authorizes Subscriber to Subscribe to Measurements You

Subscriber Subscribes to Measurements I’ll take the Shelby frequency, medium-rare. You Me

DataPublisher API Usage Attach to publisher events Initialize publisher Start publisher Queue new measurements for processing Purpose: SEND

Example DataPublisher API Code Jump to code example in Visual Studio…

DataSubscriber API Usage Attach to subscriber events Set up subscription info objects Initialize subscriber Start subscriber connection cycle Handle new measurement data Purpose: Receive

Example DataSubscriber API Code

GEP Demo Demonstrate GEP operation over an asynchronous .NET socket based transport using high-speed, high-bandwidth message distribution. GEP Subscription Tester