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).
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 | 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 components, see administrator manual of LUNA PLATFORM 5 and FaceStream.