Microservices#

See below for an illustration of how microservices are interconnected, and what data flows through each connection.

Architecture Overview with Microservices

See below for a complete list of microservices used in a Tokkio system

Microservices#

Microservice

Description

Category

Stateful/Stateless

VST

Audio-video stream provider

Media Service

Stateless

Avatar Renderer

The Avatar Renderer is used for rendering bot animation

Graphics and Rendering

Stateful

UE Renderer

Unreal-based renderer as an alternative to the default Avatar Renderer

Graphics and Rendering

Stateful

LivePortrait

2D renderer as an alternative to the default Avatar Renderer

Graphics and Rendering

Stateful

Audio2Face

Accepts streaming audio, and injects facial expression into bot animation

Graphics and Rendering

Stateless

Animation Graph

Animation graph compiles and buffers the animation data provided by all the animation sources and send the current chunk of audio and the current avatar pose/frame to the renderer

Graphics and Rendering

Stateful

UMIM

UMIM service accepts events from vision, audio, and UI pipeline and instructs the animation pipeline and UI server to perform certain actions

Graphics and Rendering

Stateless

Chat Engine

Accepts textual query, events, multimodal metadata and generates detailed bot response which can be used to drive TTS, avatar, UI visualization.

Speech AI

Stateless

Chat Controller

Accepts realtime audio, passes the audio through bot-pipeline and returns synthesized speech to downstream

Speech AI

Stateful

Riva Speech Skills

Imparts NLP (Natural Language Processing), TTS (Text to Speech) and ASR (Automatic Speech Recognition) related features to Tokkio pipeline

Speech AI

Stateless

SDR

Provides a way to distribute media streams to the individual pods and responsible for the routing and stream state management. A separate instance of SDR is created for each stateful microservice

Foundationa

Stateless

Tokkio Cart Manager

Part of a reference app for Retail. Used for user cart management

App-Specific

Stateless

Metropolis Occupancy and Alerts

Detection of a user within the Field Of View (FOV)

AI Analytics

Stateless

Metropolis Occupancy Alerts API

WebAPI for Metropolis Occupancy Alerts

Web API

Stateless

Tokkio Ingress Controller

A specialized load balancer for Tokkio deployment

App-Specific

Stateless

DS Vision AI

DeepStream Vision AI component imparts Face Detection and Tracking

Vision AI

Stateless

Tokkio Catalog RAG

Part of a reference app for Retail. Used for Catalog based RAG pipeline

App-Specific

Stateless

Tokkio UI Server

Part of a reference app for Retail. Web UI Server for Tokkio

App-Specific

Stateless

Plugin Server

Part of a reference app for Retail. Handles food ordering for Retail bots by interacting with Catalog RAG, Cart Manager and UI Server

App-Specific

Stateless

Internal Ingress Proxy

Load balancing and routing gRPC calls from clients to A2F-2D Microserivices

Foundation

Stateless

Signaling Proxy

Initiate UDP ports negotiation with VST from RTP/UDP streaming

Foundation

Stateless

MongoDB

Data storage used to persist information from various components

Foundation

Stateless

Redis Timeseries

Message bus used to facilitate inter-service communication, and temporarily store timeseries data

Foundation

Stateless

Redis

Used as a cache to store session stats and other routing related information.

Foundation

Stateless