openPDC   Hosting Requirements

The openPDC is a high-performance data concentrator platform for managing streaming synchrophasor and other time-series data in real-time.

The openPDC has been in production use since 2004. It has a proven performance record and it continues to be on a steep improvement curve. Like all GPA products, the openPDC is open source, with no licensing costs so that the system can be easily tested prior to making production implementation commitments.

See: openPDC Overview

The openPDC is a windows service. It includes a WPF-based configuration application; an optional web-based configuration application; a console application to monitor and issue commands to the windows service; a relational data base to hold configuration information; and a performance historian to frequently log information on each active connection. See: Getting Started with openPDC for step-by-step installation instructions.

A historian such as the openHistorian or Pi is used to to save the synchrophasor data processed by the openPDC. This phasor data historian is typically implemented on separate hardware.

 

openPDC Version 2.8+

open Phasor Data Concentrator (c) Grid Protection Alliance 2010-2021
GitHub Repository: https://github.com/GridProtectionAlliance/openPDC
License: MIT

Hosting Hardware Requirements

  • System Memory: Min: 8 GB; Recommended: 32 GB
  • Processing Resources: Minimum: 2 cores, 2 GHz; Recommended: 4+ cores, 3 GHz
  • Local Storage Space: Typically less than 1 GB. This includes the space required for openPDC Connection Performance Historian.
  • See openHistorian Hosting Requirements for space requirements for saving the phasor data processed by the openPDC.

Hosting Systems Requirements

  • Minimum OS: Windows Server 2012 R2 – newer versions are recommended, latest tested version Windows Server 2019. openPDC requires a 64-bit OS.
  • Minimum Relational Database1: Microsoft SQL Server 2012 – newer versions recommended, latest tested version SQL Server 2019. PostgreSQL, MySQL, Oracle and SQLite databases are also supported. Note that SQLite is useful for initial or test installation since it requires no externally installed software. However, SQLlite is not recommended for large test installations or for production deployment at any scale.
  • Prerequisite Software: .NET 4.6+
  • Supported Browsers (for the optional browser-based administration tool): Google Chrome or Microsoft Edge (Chromium-based version)

Service Account

Default Service Account: NT SERVICE\openPDC

The “NT SERVICE\openPDC” is a managed local account, also known as a “virtual account”. The openPDC virtual account has only the rights assigned to it by the installer, at a minimum, read-write access to the openPDC install folder. If the openPDC needs more specific domain-level access, e.g., an account for database access, it is recommended to use a Group Managed Service Account or gMSA. A gMSA will provide similar security and password-free administrative features as a virtual account, but operates at a domain level.

The openPDC virtual account provides the following features:

  • It is automatically managed
  • It can be setup to access the network in a domain environment as “<domain-name>\<computer-name>$”
  • It requires no password management (password is not known nor accessible to users)

Default Ports

Service Protocol Port
Primary Web Interface http 8280
Service Console Access tsf-ssr2 8500
Alarm Data Webservice http 5018
PPA Metadata Webservice http 6151
PPA Time-series Webservice http 6152
PPA Grafana API http 6452
STAT Metadata Webservice http 6051
STAT Time-series Webservice http 6052
STAT Grafana API http 6352
STTP sttp 7165
STTPS sttp 7167
GEP (Internal) gep 6165
GEP (External) gep 6166
GEP (TLS) gep 6167

Embedded Third-Party Code Components

The components listed below are embedded within GPA's installation package and do not need to be installed seperately. They are shown here to provide transparency and to faciliate integration, operability, and security assessments.

  • AjaxMin - Microsoft-provided utility to reduce size of JS and CSS files
  • Antlr - A generalized parser
  • DotNetZip - Zip file manipulation libraries
  • BouncyCastle - Cryptology libraries
  • ExpressionEvaluator - Mathmatical expression evaluator
  • EzDnaApi - eDNA Historian API
  • FLEE - Fast expression evaluator
  • Json.NET - Json framework for use within .NET
  • Misakai.Kafka - High-performance C# client for Apache Kafka
  • MongoDB - Supported, but optional, no-SQL database
  • NAudio - .NET library to play back audio files (used for product demonstrations)
  • NModbus4 - C# Modbus Protocol tools
  • Npgsql - Provides .NET access to PostrgeSQL database systems
  • OSIsoft.AFSDK - Pi Asset Framework API
  • Owin - Interface between .NET web servers and applications
  • Protobuf - Libraries for using Google's mechanism for serializing structured data
  • RazorEngine - Microsoft's Razor parsing engine
  • Report.NET - Ritchie Carroll's fork of Otto Mayer's Report.NET that is used to create PDF reports
  • System.Data.SQLite - Supported, but optional, relational database
  • ZeroMQ - Supported, but optional, light weight message bus
  • SIsoft.PISDK Pi Historian API

1. The relational database is only used to hold configuration and metadata, it is not used to archive received streaming time-series data. As a result, database size is directly related to relatively small.
2. Time-series Framework Secure Service Remoting