Towards a generic orchestrator: The VRTogether project experience
Part 1/3: overview
VRTogether is a world class consortium of research entities and companies looking at evaluating the “togetherness” in VR. The VRTogether project is focused on the real-time photo-realistic 3D capture and the integration of a live-avatar into complex scenarios allowing to share virtual experience together.
Since the main goal of the VRTogether project is to share virtual experience between multiples users that provide to and receive from other users real-time photo-realistic 3D capture live avatar, the maximum of the effort has been concentrated on the research and development of user 3D capture & encoding modules and the delivery chain of all live 3D avatar streams between users.
But having a component to orchestrate the users, to handle the initialization of sessions with scenarios, to manage delivery chain that deals with streams transmission, to take care of scenario events and users events appeared to be essential. Like a gaming engine, the Orchestrator component became the heart of the complete VRTogether solution that schedules and controls the full execution of components and communication between users.The schema below shows the central role of the orchestrator component:
As shown above the orchestrator provides a complete set of services to build and deploy easily a smart and unified collaborative platform and to let the developers concentrate on user modules implementation and scenarios specification for having a great final shared virtual experience. The different services provided by our VRT orchestrator can be split into seven categories of services:
- Authentication and logging: Validating credentials sent by the users and log them on the orchestrator.
- Session management: Handling users into sessions and room according to scenarios and manage the execution of a scenario.
- Messages communication: handle messages communication between users.
- Pilot and monitor delivery components: instantiate media distribution component according to session and monitoring the streams management.
- Common time provider: for helping synchronization of media on user side.
- Logs and Analytics framework: the orchestrator provides full logging and analytic services to help developers to tune their user components.
- Media transmission backup layer: orchestration includes some specific functions to provide backup generic streams transmission functions.
In the next article we’ll investigate the technological choices for the VRT orchestration component. Stay safe and looking forward to seeing you soon!
Author: Motion Spell
Cover image: Freepik
Come and follow us in this VR journey with i2CAT, CWI, TNO, CERTH, Artanim, Viaccess-Orca, TheMo and Motion Spell.
This project has been funded by the European Commission as part of the H2020 program, under the grant agreement 762111.