News & Events

Towards a generic orchestrator: The VRTogether project experience

Part 2/3: technological choices

This is the second of a series of articles about the VRTogeter Orchestrator. Read Part 1 here.

In terms of technologies the central Orchestrator component relies on the Node.js open-source platform where its integrated API is implemented in JavaScript. The protocol exchange benefits from the socket.io API, distributed under MIT licensing model, which enables real-time communication over connected nodes. The Core orchestrator has been implemented by Motion Spell and is provided as an open source module.

On the user side, the orchestrator framework is integrated thanks to a glue layer. This layer developed within the Unity Game Engine is implemented in C# to provide the necessary client-side API to be wrapped in order to connect the Orchestrator. The glue layer is a proprietary software component which can be requested from Viaccess-Orca and relies on the BestHTTP Unity framework dependency to support the socket.io communication.

The API uses JSON schemas to define the structure of client requests and server response.
This way, it will be possible to validate the compliance of the messages exchanged between the orchestrator (server) and the users (clients). This means that for each command, a JSON schema will be defined for both the client request and the server response.

The scheme below shows how the orchestrator has been integrated into the full architecture of the VRT platform.

In the next article we’ll investigate the details of the current orchestrator API. Stay safe and looking forward to seeing you soon!

Author: Motion Spell

Cover image: Freepik

Come and follow us in this VR journey with i2CATCWITNOCERTHArtanimViaccess-OrcaTheMo and Motion Spell.

This project has been funded by the European Commission as part of the H2020 program, under the grant agreement 762111.