Corelink is a real time low latency network framework that facilitates connecting users, data, and applications with computational resources. Corelink software is open source and licensed under the MIT license.
The Corelink distributed stream management platform allows users to define, send and receive real-time data in virtually any format - audio, motion capture, video, floorplans, maps, facial capture, virtual reality tracking, and many more.
We are in the process of updating these pages. Please refer to the new Corelink Documentation at https://corelink-docs.hsrn.nyu.edu
Audio through Corelink to audio and text.
Motion tracking point cloud through Corelink to VR rendering of skeleton.
Multiple users shared data through Corelink.
Corelink is designed to provide low latency cross platform stream processing. Computers can connect to Corelink to send and receive streams via web application or command line script, or via a VR headset, or GUI software interface.
Corelink uses a very small fixed header (8 bytes) to minimize data transfer latencies , with development capacity to add a flexible header for specific applications loads. Though servers inherently add a certain amount of latency overhead to the run time on the fiber, tests show a current NYU network latency below 5ms (depending on packet size and functional overhead on the server).
The Corelink protocol defines a federated model that shares user and workspace information across many locations, permitting the system to minimize stream transport latencies locally (in the same network or city) and globally (across longer distances).
Corelink manages all the routing needed to create a pipeline, a broadcast, a multicast, or any other web of connection possibilities. Corelink also incorporates a user and workspace management capability to restrict streams to specific applications, functions or users.
Custom plugins help the user to process streams in real-time. Examples include video transcoders, audio spatialization functions, data encoding but users can create their own plugins and processing pipelines.
Corelink has developed client libraries that simplify developing and integrating real time applications including: NodeJS, Browser, C++, C#. A dynamically linked C++ library allows other languages, like Python, to use the Corelink bindings to enable high speed low latency data transfers.
Under the hood, Corelink uses user authentication, a publish-subscribe model, and selective data transmission to get data from point A to point B, C, D, etc. The authentication and control messages are secured and encrypted through websockets-secure, while the data can be sent using UDP, TCP, and websockets-secure depending on the users or applications needs (fastest option, no loss, encrypted, etc.). As each packet reaches the server, the server can route that packet to any user who has requested and has permission to access the data.
Corelink was initially developed as a transport layer for the NYU-Holodeck project with funding from the National Science Foundation (NSF MRI award. #1626098)
The Corelink team continues to work on future functionality, and adding features like asset management, a web-based admin interface to manage the server, fine grained permissions and enhanced configuration management for users and applications.!