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).
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”.