Skip to content

Service architecture#

Component interaction diagram#

LUNA POINT has a microservice architecture, where each component (component or system) provides access to an independent group of Service functions.

Component interaction diagram is shown below (Figure 1).

Component interaction diagram
Figure 1. Component interaction diagram

Service components, as well as a description of their purpose and interaction with VisionLabs products, are presented in Table 1. The source of events in the context of component interaction can be a stream from an IP camera or a video file.

Table 1. Service components and VisionLabs products

Name of the component Interaction description
FaceStream
FaceStream FaceStream is required to work with event sources
and has multiple functions:

- reading sources;
- processing of sources (searching and tracking of faces and bodies
until they leave the frame or are blocked);
- sending images of faces to LUNA PLATFORM 5.
Stream service Stream service is required to work with sources. Stream service has multiple functions:

- setting source parameters (stream type, stream source address, filtering parameters, etc.);
- creating a source.

Parameters are set by sending requests with a body in JSON format to the Stream service service.
FaceStream takes settings from Stream service for further processing.
LUNA PLATFORM 5
LUNA API Provides a RESTful interface for interacting with other LUNA PLATFORM 5 components. Receives
requests, distributes tasks among other LUNA PLATFORM 5 components.
LUNA License service License service contains information about available licensed features and their limitations,
provides information about license conditions to LUNA PLATFORM 5 components:

- license expiration date;
- maximum number of created faces with descriptors;
- information about the availability of Liveness;
- the ability to work with bodies, evaluate the conformity of the image to the ISO / IEC 19794-5 standard,
work with the LUNA Index Module, the number of sources for Stream service.

License service is required for the operation of the Service components and their
interaction with the LUNA PLATFORM 5 components.
Video Manager Stores information about available analytics and passes it to agents.
Agent Processes video analytics.

An agent accepts streams, executes the
specified analytics, and sends the results via the Callback mechanism as well as web sockets and the Sender service.
Each agent can support the execution of one or more analytics, depending on its configuration and capabilities.
Sender The service, that the agent uses to send processing results in accordance with the
selected Callback type, for example:

- via HTTP, after configuring the server to receive messages;
- via a web socket connection, after establishing it.
LUNA POINT
POINT API The component provides an interface for the interaction of LUNA POINT with all components shown
in the component interaction diagram. Nginx server is required to route requests.
POINT UI The graphical interface that provides information transfer between the user and LUNA POINT hardware
and software components.
CLEMENTINE AUTH Provides user account management. The CLEMENTINE AUTH component's database is designed to:

- store user account data;
- store authentication data;
- perform partial authorization by storing the user's role (requests are not directly authorized).
VL NOTIFIER The component provides notifications management:

- sending notifications to the Service interface;
- sending email notifications;
- sending notifications to Telegram.

For more information about the components, see administrator manual of LUNA PLATFORM 5 and FaceStream.