Skip to content

Technical architecture

The Midstreamly monitoring stack, from historian to alert.

Purpose-built for midstream rotating equipment — not retooled from manufacturing or HVAC analytics. Every layer designed around oil and gas operational constraints.

System architecture

Three-layer monitoring stack

Data sources at the edge, ML engine at the core, actionable outputs at the operations layer.

Midstreamly three-layer architecture: data sources, ML engine, alert outputs
Data ingestion

Read-only historian access. No SCADA modifications required.

Midstreamly connects via your historian's native read API — OSIsoft PI Asset Framework, OPC-UA, OPC-DA, or vendor REST endpoints. The collector agent runs on-premise at your facility and initiates all outbound connections. We never write back to SCADA or DCS systems.

OSIsoft PI Asset Framework
Connects to PI AF element trees to resolve asset-to-tag mapping automatically. Honors PI server access controls.
OPC-UA / OPC-DA polling
Configurable poll rate (default 1 Hz vibration, 10 s process). Handles historian downtime and reconnect automatically.
OT network compatible
Outbound HTTPS only. No inbound firewall rules required. Compatible with Purdue Model network segmentation.
Collector config — pi-connector.yaml
historian:
 type: osisoft_pi_af
 server: pi-srv-01.corp.local
 port: 5450
 auth: kerberos
 af_database: MidstreamOps
 af_template_filter:
 - CentrifugalCompressor
 - PipelinePump
 - GasTurbineDriver

collection:
 poll_interval_vibration_ms: 1000
 poll_interval_process_s: 10
 backfill_on_reconnect: true
 max_backfill_hours: 4

tags:
 vibration_channels: ["VIB_X", "VIB_Y", "VIB_Z"]
 process_channels: ["SUCT_P", "DISCH_P", "INLET_T", "BRG_T"]

outbound:
 endpoint: https://ingest.midstreamly.com/v1
 tls: "1.3"
 compression: gzip

Bandwidth: ~2–8 KB/s per asset at default poll rates

FFT Spectrum — COMPR-04 · 12.4 Hz running speed
Running-speed harmonics Bearing defect frequencies (BPFO)
ML pipeline

Feature extraction and model inference at the asset level.

Vibration signals are processed in two domains. Time-domain features — RMS velocity, kurtosis, crest factor — provide early-warning statistics. Frequency-domain FFT spectra expose specific fault signatures at bearing defect frequencies, gear mesh harmonics, and impeller pass frequencies.

Anomaly scoring uses a multivariate isolation forest trained on each asset's baseline operating envelope. Alerts trigger when feature-space deviation exceeds configurable sigma thresholds — not just individual tag crossings.

Time-domain features
RMS velocity (in/s), kurtosis, crest factor, peak-to-peak displacement. ISO 20816 band overlay on velocity.
Frequency-domain (FFT)
Bearing defect frequencies (BPFO, BPFI, BSF, FTF), gear mesh frequency, impeller pass frequency. Envelope demodulation for early bearing fault detection.
RUL trajectory
LSTM model projects degradation trajectory. Weibull survival model computes failure probability at 7-day, 14-day, and 30-day horizons.
Alert engine

Three severity levels. Configurable routing. Low false-positive design.

Alerts route to DCS operator console, reliability engineer email, or a REST webhook for CMMS work order creation. A holdout window and confirmation count filter suppress transient noise — the same event must persist across multiple consecutive scoring windows before escalating.

Advisory Deviation detected. Monitor trend. No immediate action required.
Warning Significant anomaly confirmed. Schedule inspection within 48–72 hours.
Critical Imminent failure risk. Controlled shutdown recommended. CMMS work order auto-created.

False-positive suppression: alerts require threshold crossing in N consecutive scoring windows (default N=3, configurable 2–5) before notification dispatch.

Data & OT security

Designed with OT network security constraints in mind.

Oil and gas operations teams have strict controls on data leaving the plant network. Midstreamly is designed to operate within those constraints — not around them.

Read-only historian access

The on-premise collector only reads from historian APIs. No write access to SCADA, DCS, or PLC systems is requested or used. OT system integrity is never at risk from the monitoring connection.

OT/IT network segmentation

Collector agent runs in your DMZ or data diode zone. Outbound HTTPS on port 443 only. No inbound connections, no VPN requirement to plant network from cloud. Purdue Model Level 3.5 compatible.

Encryption in transit and at rest

All data transmitted over TLS 1.3. Data at rest encrypted with AES-256. Tag names and asset identifiers are tokenized before leaving the collector — raw SCADA tag names are not stored in the cloud platform.

On-premise deployment option

For air-gapped or high-security facilities, the full ML processing stack can be deployed on-premise. Data never leaves the plant network. Alerting routes to your internal systems only. Available for enterprise engagements.

Deployment timeline

From access to first alert in five weeks

No on-site hardware installation. The deployment team works remotely through your existing historian API once read-only credentials are provisioned.

W1
Week 1
Connectivity audit + historian access

Historian API connectivity test, tag inventory review, asset list validation. IT/OT security review of collector network requirements. Read-only credentials provisioned.

W2
Week 2
Collector deployment + data validation

Collector agent deployed in your network perimeter. Tag mapping configured. Data quality validation — completeness, timestamp integrity, units, signal noise floor.

W3–4
Weeks 3–4
Baseline learning period

ML models learn normal operating envelope for each asset under typical load conditions. 14–21 days required for statistically robust baselines on compressors and pumps with variable load.

W5
Week 5
Model activation + first alerts

Live anomaly scoring activated. Alert routing configured for your reliability team. First test alert generated and verified through full notification chain.

W6
Week 6
Tuning + handoff to reliability team

Alert threshold tuning based on first-week feedback. Holdout window calibration. Formal handoff to your reliability engineers with documentation and escalation runbook.

Book a Technical Session

Talk to a reliability engineer on our team — not a sales rep. Bring your historian configuration and equipment list. We'll tell you exactly what we can and cannot do with your existing data.

Book a Technical Session

No hardware procurement  ·  No PLC changes  ·  Typical time-to-alert: 5 weeks