Search Unity

Lightstreamer: Real-Time Data Push / Streaming for Unity applications

Discussion in 'Assets and Asset Store' started by Lightstreamer, Sep 29, 2011.

  1. Lightstreamer

    Lightstreamer

    Joined:
    Sep 29, 2011
    Posts:
    2
    NASA has been using the Unity engine for rendering 3D models of spacecrafts in real time, based on telemetry data pushed by Lightstreamer Server.

    NASA's Undergraduate Student Research Program site recently published an interesting paper with full details of that project: Rendering Flight Telemetry in Platform-Independent Three-Dimensional Touch-Interactive Simulations.

    On page 5, the paper says:
    Lightstreamer provides clients for many diff erent software environments, including .NET, Java, and HTML/Javascript. Due to clients' reliability on libraries unsupported by UNITY, a custom socket interface was designed for iMorpheus until Lightstreamer releases a proper UNITY client.

    I confirm that the Lightstreamer engineering team has been working on a specific client library for UNITY, via a port of the Lightstreamer .NET Client library. It is still in beta stage and we are looking for testers. Anybody who is interested in using UNITY together with Lightstreamer, please email support@lightstreamer.com and we will send the library file for testing.

    Lightstreamer may be used for multiplayer games, where law-latency real-time data exchange is important.

    Thanks,

    The Lightstreamer Team
    www.lightstreamer.com
     
  2. duke

    duke

    Joined:
    Jan 10, 2007
    Posts:
    763
    How does the serialization/deserialization performance compare with, say, google's protocol buffers (which outperform json with newtonsofts json.net by a mile)?
     
  3. Lightstreamer

    Lightstreamer

    Joined:
    Sep 29, 2011
    Posts:
    2
    The Lightstreamer protocol exchanges text-based data in tabular format, but it does not use JSON or other redundant syntax's. Lightstreamer sends small deltas for the changed fields only, with a position-based protocol that avoids the redundancy of syntax's based on name/value pairs.

    You can find the details of the protocol in the "Network Protocol Tutorial.pdf" document, available in the "\DOCS-SDKs\sdk_client_generic\doc" folder of the Lightstreamer distribution.

    Apart from that, Lightstreamer provides adaptive streaming and automatic throttling. In other words, it adapts the update rate to the available or configured bandwidth, while conflating, filtering, or buffering events, based on the preferred behavior.

    Consider that before being used in the aerospace and military verticals, Lightstreamer has been used for many years in the financial industry, for low-latency push of stock quotes, where fast delivery and fast deserialization are key features. The gaming industry is now moving towards similar needs.

    To see the serialization/deserialization mechanisms in action, you might want to launch a Lightstreamer demo and inspect the network traffic with WireShark. For example, you could check out the .NET Stock-List Demo, which uses the Lightstreamer client library from which the Unity beta lib was derived.