Nucleus Architecture¶
Introduction¶
Ultimately, NVIDIA Omniverse™ Nucleus is a collection of services that avail themselves on a network and allow Client applications ( Apps, Connectors, and others) to connect to those services. Note that Clients can be desktop, user manipulated, applications (ie, CAD or content creation software), as well as microservices - automated processes (rendering, content manipulation and generation, or whatever else one might desire).

Within Omniverse Nucleus, there are a number of components, each one communicating with
multiples of others. Most important of those communications are shown
on the diagram. Some lines are omitted for clarity. One example of such
an omission would be the Tagging Service
using Authentication Service
to
generate a ticket for later comms with Nucleus Core
.
Externally, some of those services expose API endpoints (open ports) for Clients to talk to them directly. Those ports and endpoints would depend on your installation configuration.
One notable feature is Caching - Clients can (and should) be configured to utilize at least one Cache to optimize downloads of heavy assets. Omniverse Cache is covered in it’s own section.
Services¶
Nucleus Core¶
At the center of Nucleus is it’s Core - a set of services for storing and retrieving data (files).
Nucleus Core is exposed to other parts of Omniverse via it’s API, over HTTP and Websockets connections.
On the backend, it utilizes a data directory configured by an administrator to store it’s data. This directory is opaque to the user, and does not represent the actual file tree in Nucleus.
Nucleus Core consists of the following components:
Nucleus Core API Responder: the primary component exposing Nucleus Core API
Nucleus Core LFT (Large File Transfer) Service: exposes an HTTP endpoint for upload and download of files of larger sizes
In Docker setups, Core would include some miscellanea for exposing metrics, processing and rotating logs, etc
Discovery¶
Discovery service rides “alongside” Nucleus and enables other services to register and advertise themselves to Clients.
Auth and User Management Service¶
The name of this service speaks for itself, and it’s configuration and operation is described more widely in it’s own section.
Utility Services¶
Other services included in Nucleus are:
Search Service: indexes items in Nucleus, and provides API for searching them
Snapshot Service: enables snapshotting functionality in Navigator
Thumbnail Service: creates thumbnails for data formats it supports
Tagging Service: exposes API to allow users to tag files in Nucleus file tree
Client Assumptions and Expectations¶
All Omniverse components that connect to Nucleus make the following two assumptions:
Nucleus Core API is available on port
3009
Nucleus Discovery is available on the same host on port
3333
For example, if a Client is trying to connect
to my-omniverse.my-company.com
instance of Nucleus, the two assumptions
it makes are that the Core API will be at
my-omniverse.my-company.com:3009
, and Discovery will be at my-omniverse.my-company.com:3333
.
The above is of utmost importance when planning deployments of |nuc_short|. All other ports and things generally can be moved around, but the two main “entry points” outlined above can not.