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 in Figure 1.

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 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 biometric templates; 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, 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 Events component. The database is used: to store all created events; to store biometric templates 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) |
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”.