Multi-Domain Analytics

ENSIGN solves a critical problem in the application of machine learning in data science – how to gain deep insight from the entirety of massive-scale multidimensional unlabeled data while supporting, but not requiring, heroic up-front feature engineering. The approach builds on advanced, well-founded techniques from the field of spectral hypergraph analytics.

These techniques have been extended and made computationally tractable using Reservoir’s patented data structures and proprietary algorithmic advances. Combined with supporting tools, these advances enable a broad range of potential use cases, scalable and streaming operation, and the ability to leverage a variety of computing configurations.

Learn more about ENSIGN

Core Capabilities

ENSIGN is written in ANSI C and can run on any size platform from desktop PCs to massive shared and distributed-memory supercomputers with or without GPUs. Using Dask for parallelism and an in-memory Python workflow, ENSIGN supports massive scale data from end to end.

Hypergraphs are more than just expanded graphs. The time of being limited to statistical measures and basic graph metrics like centrality is over. ENSIGN provides a way to make smarter use of large-volume linked data that exploits rather than flattens intrinsic multidimensional correlations.

ENSIGN includes support for generating reports and visualizing results. With ENSIGN, it is possible to see the patterns in data and understand the influence of specific actors.

No need for labeling or heroic feature engineering. Just ingest and go. ENSIGN supports a variety of multi-domain use cases in security, forensic analysis, and scientific discovery. Exploratory tools provide novel ways to examine and visualize interesting correlations.

Joint analysis allows two or more datasets with overlapping dimensions to be analyzed together without the combinatorial explosion of a relational join. Streaming analysis allows new data to be added to an existing analysis. Both operations provide massive, practical computational efficiency for modern use cases.

ENSIGN is callable from a Python interface and includes supporting analytic tools written in Python. This means ENSIGN can seamlessly interoperate with leading edge data science tools and packages such as Anaconda.

See it in Action

Tensor Decomposition with ENSIGN

In this notebook, we introduce the ENSIGN Python API and demonstrate how to use tensor decomposition to analyze data.

COVID-19 and Workplace Closure

Study the relationship between daily COVID-19 cases and workplace closures and how it varies over space and time.

Finding "Patterns of Life" in NYC Taxi Traffic

Use ENSIGN in order to find coherent "patterns of life" in NYC taxi trip records.

Network Analysis and Anomaly Detection

Use ENSIGN to build and decompose a Bro/Zeek connections ("conn") tensor in order to gain insight into the activity occurring on a medium-sized network.

Tensor Completion for Cancer Drug Repositioning

Leverage ENSIGN's ability to find the low-rank structure of multi-dimensional data in order to propose novel drug-target-disease relationships.

Understanding Fake News

Show that ENSIGN can be used to learn latent variable models, or statistical models relating observed variables to unseen "hidden" variables.


Finding Deep Patterns at Enterprise Scale

ENSIGN is used by security administrators and threat specialists to mine large volumes of unlabeled multidimensional data, such as spreadsheets or logs, for patterns that cue investigations.

These patterns are used in day-to-day operations to discover “what has changed” and support skilled hunt teams who use them to make directed, efficient use of big-graph platforms and search tools. In both cases, ENSIGN’s advanced unsupervised machine learning capability connects key dots that make clear who the relevant actors are.

In this way, ENSIGN is the ultimate forensics tool for navigating big data.

Core Capabilities

Organizations collect more data than they can effectively analyze. ENSIGN provides a singular tool to make use of all the data you are collecting now, without the need for time-consuming labeling or complex feature engineering.

Whether you are using Elastic, Splunk, Neo4j or something else, ENSIGN provides the forensic trailheads necessary to make smart, focused use of modern search tools. Form queries relevant to your data. No more boiling the ocean to get thousands of hits against abstract patterns.

Today’s attackers are smart. Security professionals make mistakes. Rules can be incomplete and outdated. With ENSIGN see the real story in your data, without bias. Discover what you thought you were protected against.

Statistics only tell part of the story. With ENSIGN you can see the patterns that make up your data, over any time interval. Learn to separate the normal from the suspicious, the high-volume activity from the low and slow, and find what you didn’t know you were looking for.

Meet Some of Our Team

James Ezick

VP Engineering

Muthu Baskaran

Fellow & Managing Engineer

Dimitri Leggas

Research Engineer

Brendan von Hofe

Research Engineer

Get in touch with one of our experts today

The Latest

Reservoir Labs Presents New Research at IEEE HPEC 2020

The 2020 IEEE High Performance Extreme Computing Conference, happening virtually from September 22 – 24, will feature novel, breakthrough research on an array of Reservoir Labs’ R&D including R-Stream, ENSIGN, and Algorithms. Reservoir engineers will be presenting their findings during

Read More »

Recent Publications

Efficient and scalable computations with sparse tensors

In a system for storing in memory a tensor that includes at least three modes, elements of the tensor are stored in a mode-based order for improving locality of references when the elements are accessed during an operation on the tensor. To facilitate efficient data reuse in a tensor transform

Read More »

Systems and methods for selective expansive recursive tensor analysis

A system for performing tensor decomposition in a selective expansive and/or recursive manner, a tensor is decomposed into a specified number of components, and one or more tensor components are selected for further decomposition. For each selected component, the significant elements thereof are identified, and using the indices of the

Read More »