Skip to content
Of Ash and Fire Logo

DepthSync: Real-Time Collaborative Seismic Data Processing in Rust

Engineering a high-performance seismic data platform with a custom Rust-based OpenVDS decompressor and Notion-like real-time collaborative editing for geoscience and oil & gas teams.

The Problem: Geoscience Teams Working in Silos

Seismic interpretation has a collaboration problem. Geoscientists working with subsurface volumetric data — stored in formats like OpenVDS (Volumetric Data Store) — typically work on isolated workstations with expensive proprietary software. When they need to share findings, they export static images or PDF reports, losing the interactive context that makes the data meaningful.

This workflow creates bottlenecks. Senior interpreters can't review junior work in real-time. Field teams can't collaborate with office-based geophysicists. And every handoff between team members means re-loading multi-gigabyte datasets from scratch.

DepthSync was built to solve this: a web-based platform where geoscience teams can collaboratively view, annotate, and interpret seismic data in real-time.

Why Rust: Performance Without Compromise

The first technical decision was the most consequential. OpenVDS files use sophisticated compression — wavelet-based algorithms optimized for volumetric data. The reference C++ implementation works, but it's designed for batch processing, not the real-time streaming that a collaborative web application demands.

We chose Rust for the decompression engine for three reasons:

  1. Performance — Rust compiles to native code with zero runtime overhead. Our decompressor achieves sub-millisecond decompression per VDS brick, enabling smooth viewport navigation through gigabyte-scale volumes.

  2. Memory safety — Seismic data files come from diverse sources with varying quality. Rust's ownership model prevents the buffer overflows and use-after-free bugs that plague C/C++ parsers processing untrusted data.

  3. Concurrency — Rust's async runtime and thread-safety guarantees let us decompress multiple bricks in parallel across CPU cores, scaling throughput linearly with hardware.

The Decompression Pipeline

The custom decompressor implements the VDS brick format specification with several optimizations:

  • Memory-mapped I/O for zero-copy file access — the OS handles paging, eliminating redundant memory copies
  • SIMD instructions for parallel decompression of wavelet coefficients
  • Brick caching with LRU eviction tuned to the typical navigation patterns of seismic interpreters
  • Streaming architecture that begins sending partial results before full decompression completes

Collaborative Editing: CRDTs for Seismic Data

The collaborative layer was the second major engineering challenge. Real-time editing systems like Google Docs use Operational Transformation (OT), but OT assumes a central server that can serialize all operations. For geoscience teams working in remote field locations with unreliable connectivity, we needed something more resilient.

DepthSync uses CRDTs (Conflict-free Replicated Data Types) for its annotation and interpretation layers. CRDTs guarantee that concurrent edits from multiple users will always converge to the same state, regardless of network ordering or temporary disconnections.

This means a geoscientist can mark a horizon interpretation while offline, and when they reconnect, their work merges automatically with changes made by colleagues — no conflicts, no lost work.

WebSocket Synchronization

The real-time communication layer uses WebSocket connections with a custom binary protocol optimized for the types of operations common in seismic interpretation:

  • Viewport updates — compact messages indicating which data slice each user is viewing
  • Annotation operations — CRDT operations for horizon picks, fault traces, and free-form annotations
  • Presence indicators — showing where each team member is currently looking in the volume

Lessons from the SEG-Y Era

DepthSync builds directly on our earlier work with SEG-Y seismic data parsing. That project taught us the nuances of legacy geoscience data formats — the inconsistencies between format versions, the obscure floating-point representations (IBM HFP), and the importance of performance when dealing with large scientific datasets.

The OpenVDS work takes those lessons further. Where SEG-Y is a sequential trace format, VDS is a multi-dimensional volumetric format with sophisticated compression. The jump from JavaScript-based SEG-Y parsing to Rust-based VDS decompression reflects both the increased performance requirements and our commitment to using the right tool for each job.

See our earlier SEG-Y visualization work →

Project Highlights

1. Custom Rust VDS Decompressor

The existing OpenVDS C++ library wasn't designed for the real-time streaming use case DepthSync required. We implemented a custom decompressor in Rust that achieves sub-millisecond decompression times for VDS bricks, using zero-copy memory mapping and SIMD-optimized algorithms. The Rust implementation provides memory safety guarantees critical for processing untrusted data files without sacrificing performance.

2. Notion-Like Collaborative Editing

DepthSync brings real-time collaborative editing — the kind you'd expect from Notion or Google Docs — to seismic data interpretation. Multiple geoscientists can annotate, mark horizons, and add comments to the same volumetric dataset simultaneously. The system uses CRDTs (Conflict-free Replicated Data Types) to merge concurrent edits without conflicts, even across unstable field connections.

3. High-Performance Data Pipeline

Seismic volumes routinely exceed tens of gigabytes. DepthSync streams only the data bricks needed for the current viewport, decompressing them on-the-fly in the Rust backend and delivering rendered slices to the browser via WebSocket. This architecture keeps the browser lightweight while handling the heavy computation server-side, enabling field teams to work with massive datasets on standard hardware.

Key Features

Custom Rust OpenVDS decompressor

Real-time collaborative editing

CRDT-based conflict resolution

Volumetric data streaming

WebSocket synchronization

Sub-millisecond decompression

Get In Touch

For Fast Service, Email Us:

info@ofashandfire.com

Our Approach

Discovery & Planning

We begin each project with a thorough understanding of client needs and careful planning of the solution architecture.

Implementation

Our experienced team executes the solution using modern technologies and best practices in software development.

Results & Impact

We measure success through tangible outcomes and the positive impact our solutions have on our clients' businesses.

Ready to Ignite Your Digital Transformation?

Let's collaborate to create innovative software solutions that propel your business forward in the digital age.