Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Overview For Developers

Spin is a general framework for constructing federated networks of data sources.  Spin's core feature is data-agnostic support for broadcasting queries and aggregating results, allowing collections of data sources to be treated as a single conceptual unit.  These data sources may be located anywhere, as long as they're accessible via a network.

Spin evolved from the Shared Pathology Information Network (SPIN), a federated database and query tool for data about pathology specimens.  Over time, one of the core problems solved by Spin - broadcasting queries and aggregating results - came up several times, and the data-agnostic parts of SPIN were extracted and developed into the Spin framework.  Spin provides a plug-in architecture for interfacing with specific data sources, and a general client API for querying networks.

Nothing in the Spin framework is specific to biomedical research, but Spin developed out of the biomedical research community.  Early use cases dealt with protected, identifying data about hospital patients, which shaped the Spin's design.   

Core Features

  • Runs on the JVM
  • Broadcasting queries and aggregating results
  • Flexible routing with support for multiple network topologies: hub-and-spoke, fully-meshed, trees, and more.
  • Pluggable federated authentication and authorization
  • Robust behavior in the face of nodes coming on and offline.
  • Support for encrypting results.

Overview For Researchers

Motivation

For decades, health information systems have been rapidly deployed across the nation serving a wide range of clinical, research, and public health applications.  Because these efforts reflect the various needs and prerogatives of each institution, real-time query and aggregation of heterogeneous databases has become increasingly difficult. As a result, few investigators are able to obtain the sample sizes necessary for robust analysis.

...