Skip to main content
Version: 2.5.0

ChronoVisor

ChronoVisor is the orchestrating component of the ChronoLog system. There is only one ChronoVisor process in a ChronoLog deployment, typically running on its own node.

ChronoVisor acts as the client-facing portal, managing client connections and metadata management requests. It also maintains the registry of active recording processes and distributes the load of data recording across the recording process groups.

CLIENT RPC CALLSClientPortalServiceRPC LAYERCHRONOVISOR PROCESSVisorClientPortalCentral orchestrator for all client operationsClientRegistryManagerTracks active client connectionsand story acquisition sessionsChronicleMetaDirectoryManages chronicle and story metadata,coordinates data acquisitionKeeperRegistryManages recording groups,assigns stories to groupsAuthentication check(stub in v2.5.0)REGISTRATION RPCKeeperRegistryServiceRPC listener for process registrationKeepersGraphersPlayersRECORDING GROUP 1KeeperProcessEntry 1KeeperProcessEntry 2GrapherProcessEntryPlayerProcessEntryEach entry holds a DataStoreAdminClient for RPC to that processRECORDING GROUP 2KeeperProcessEntry 1KeeperProcessEntry 2GrapherProcessEntryPlayerProcessEntryEach entry holds a DataStoreAdminClient for RPC to that processstart/stop storyrecording via RPCstart/stop storyrecording via RPC...KeeperRegistry selects a recording group for each acquired story using uniform random distribution,then issues start/stop recording RPCs to all processes in that group via DataStoreAdminClient
ComponentDescription
Client Portal RPC ServiceManages communication sessions between client applications and ChronoVisor using a Thallium RPC engine configured for efficient concurrent connections.
Client Authentication ModuleDefines the authentication and authorization interface for client access control. In v2.5.0 all checks are implemented as stubs that grant access unconditionally; full role-based authentication is planned for a future release.
Client RegistryKeeps track of all active client connections and clients' data acquisition requests for Chronicles and Stories.
RecordingProcessRegistryServiceListens to RPC Registration and heartbeat/statistics messages coming from ChronoKeeper, ChronoGrapher, and ChronoPlayer processes and passes these messages to the Recording Group Registry to act upon.
Recording Group RegistryMonitors and manages the Recording Groups process composition and activity status. ChronoVisor uses this information to distribute the load of data recording by assigning each newly acquired story to a specific recording group using a uniform random distribution. Recording Group Registry maintains DataStoreAdminClient connections to all registered ChronoKeepers, ChronoGraphers, and ChronoPlayers and uses them to issue RPC notifications about the start and stop of story recording to all recording processes involved.
Chronicle and Story Meta DirectoryManages the Chronicle and Story metadata for the ChronoLog system, coordinating with Client Registry to track client data acquisition sessions for specific Chronicles and Stories, and with the Recording Group Registry for distributing data access tasks between the recording process groups.