Skip to content

Service architecture#

Component interaction diagram#

LUNA CLEMENTINE 2.0 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.

Table 1. Service components and VisionLabs products

Name of the component/system Interaction description
FACESTREAM 5
FaceStream 5 FaceStream 5 is required to work with event sources. FaceStream 5 has multiple functions: reading video streams; processing of video streams (searching and tracking of faces and bodies in the video stream until they leave the frame or are blocked); sending images of faces as HTTP requests to external components or systems
LUNA Streams LUNA Streams is required to work with video streams. LUNA Streams has multiple functions: setting video stream parameters (stream type, stream source address, filtering parameters, etc.); creating a video stream. Parameters are set by sending requests with a body in JSON format to the LUNA Streams service. FaceStream 5 takes settings from LUNA Streams for further processing
LUNA PLATFORM 5
LUNA Licenses LUNA Licenses 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 streams for LUNA Streams. LUNA Licenses is required for the operation of the Service components and their interaction with the LP5 components
LUNA API Provides a RESTful interface for interacting with other LP5 components. Receives requests, distributes tasks among other LP5 components
luna_events database The database of the LUNA Events component. The database is used: to store all created events; to store descriptors created for events
LUNA CLEMENTINE 2.0
CLEMENTINE API The component provides an interface for the interaction of LUNA CLEMENTINE 2.0 with all components shown in the component interaction diagram. Nginx server is required to route requests
CLEMENTINE UI The graphical interface that provides information transfer between the user and LUNA CLEMENTINE 2.0 hardware and software components
CLEMENTINE AUTH The component provides user accounts management
clementine_auth database The database of the CLEMENTINE AUTH. The database is used: to store user account data; to store data for authentication; for partial authorization by storing the user role (direct authorization of requests is not performed)
CLEMENTINE DEPARTMENTS The component provides departments management, binding event sources, and users to departments
clementine_departments database The database of the CLEMENTINE DEPARTMENTS. The database is used: to store department and event source identifiers; to store department names; to store data about the grouping of event sources, departments, and users
VL NOTIFIER The component provides notifications management: sending notifications to the Service interface; sending email notifications; sending notifications to Telegram
TIME TRACKING
VL TIMETRACKER The component is used for creating, displaying, and downloading reports on the clock ins, clock outs, and work activity of persons (for example, company employees): creating reports

For more information about the LP5 components, see “VisionLabs LUNA PLATFORM 5. Administrator Manual”.