Volume Data

Scalable volume data storage for the cloud

Durwella's Volume Data library allows the storage of arbitrarily-large volumes of data on the cloud, with very high performance and low cost.

Overview

Durwella's Volume Data library allows the storage of arbitrarily-large volumes of data on the cloud, with very high performance and low cost.

Software Architecture

Durwella Volume Data is a PCL .NET Core library, so it supports a variety of platforms, including macOS, iOS, Android, Linux, and Windows. It has been cross-compile to JavaScript using Bridge.NET, allowing integration with web apps.

It uses the Azure REST API for data access, and we've used it to build apps using WebGL (on the web) and Unplugged Viz (on mobile) for visualization. Data are encrypted both at rest and during transfer.

Scalable Storage

User volumes are bricked, downsampled using Azure Functions, and stored as separate blobs in Azure block storage. This strategy allows reading and writing of bricks completely in parallel. This strategy is scalable to any size volume (e.g. several terabytes) with no degradation in performance!

Volumes are compressed using multidimensional wavelet compressiong (Haar and CDF9/7) allowing up to a 10x reduction in storage volume. We have created a very high-performance SIMD implementation with micro-optimized quantizer using deflate encoding allowing decompression at up to 400 MB/s.

Sample Code

Volume data are retrieved using a simple and intuitive api.

var volumeReader = await repository.GetVolumeReaderAsync("volumeName");
var dimensions = volumeReader.Volume.Dimensions;
var max = dimensions - Index3.One;
var lod = 0; //full resolution
var subVolume = await volume.GetSubVolumeAsync(Index3.Zero, max, lod);
var sampleValue = subVolume[1, 2, 3];

Petrel Plugin

Durwella's Volume Data Plugin for Schlumberger's Petrel platform allows secure, high-performance access to seismic volume data stored on the cloud. With the plugin, you can:

  • Log in to your cloud storage securely from Petrel
  • Upload seismic data from Petrel to the cloud
  • Share your volume with other users
  • Connect to a cloud-based volume and use it like any other seismic volume, without having to download the volume to your local storage space.
  • Store a reference to your cloud volume within your Petrel project

Mobile Viewer

We built a cross-platform iOS and Android application using the Unplugged Viz Xamarin.Forms components. The current implementation allows viewing 2D slices, and allows the user to select the slice number, axis, and level of detail.

This viewer is not a released product; it is used for testing and demonstration of the volume data storage API on mobile. However, 2D or 3D visualization of cloud-stored mobile data can be easily integrated into any Xamarin app using Durwella's Volume data and Unplugged Viz.

Durwella is a software solutions company that focuses on scientific and engineering projects. We are currently working on projects related to radar systems, seismic processing, FPGA, GIS, pattern recognition, and distributed computing. Our unique specialties include data visualization, pattern recognition, computer vision, augmented reality, topology, and signal processing.

Interested in getting your volume data into the cloud? Check out our website or email us at info@durwella.com.