SNC (Spatial Networking Cloud) is a purpose-built edge network infrastructure designed to support ubiquitous sensing, processing, storage, retrieval and visualization over physically diverse sub spaces. SNC will run on all kinds of processors, from Raspberry Pis up to server clusters.
An important feature of SNC is autonomously optimized multicasting that ensures that the SNC switching network multicasts data at the last possible physical opportunity to avoid unnecessary duplication. Extensive use can be made of multicasting without significantly loading the infrastructure.
The ability to embed rt-ai Stream Processing Networks directly within an SNC network means that it is easy to enhance or distill sensor data streams using machine learning and artificial intelligence blocks. Special rt-ai Stream Processing Elements facilitate the transfer of real time and historic data to and from the SNC network. In this way, rt-ai Stream Processing Networks leverage the data collection capabilities of SNC in a seamless fashion.
The SNC network is dynamic in nature, making extensive use of auto-discovery and auto-configuration whenever possible.
SNC uses a small set of components in order to build complete systems. The heart of the system is SNCControl. This provides message switching and multicasting services and also supports an automatically managed publisher database. This database is regularly forwarded to all components, making discovery of new services available to components such as viewers with out extensive configuration.
SNCManager is a utility that can be used to configure SNC components from a central location. It can also be used to deploy new components to SNC nodes.
SNCExec is a component that exists on every node in an SNC network. It provides management services for other components on the node – starting them, configuring them and restarting them if they fail to maintain operational status. SNCExec has been kept as minimal as possible to ensure high reliability.
SNCIVStore is the component that provides timestamped data storage for an SNC network. There can be multiple instances of SNCIVStore in use, at potentially distinct physical locations and also potentially redundantly storing data at distinct physical locations. Each SNCIVStore provides a directory of available data allowing viewers and other data consumers to easily locate storage for historical data display, no matter where it resides.
Edge components are typically sensors of some sort along with viewers and other consumers of data. Since network configuration is dynamic, edge components can be added in an ad-hoc manner without extensive pre-configuration apart from security and authentication controls. This means that nomadic edge components (such as robots) can move between SNC sub spaces while retaining connection and functionality.
Examples of sensors include:
- Traditional cameras (MJpeg, H.264, H.265 etc).
- Stereo cameras.
- Depth-sensing, RGBD cameras.
- Microphones and other audio sources.
- Environmental sensors (e.g. temperature, light, humidity, pressure and air quality).
- Motion sensors (e.g. accelerometers, gyroscopes etc).