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
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/system

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 LUNA PLATFORM 5 components, see “LUNA PLATFORM 5. Administrator Manual".