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.

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 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
POINT AUTH The component provides user accounts management
clementine_auth database The database of the POINT 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

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