IP Library › Granted Patent US 12,047,467
Granted Patent B2
US 12,047,467 · App. 18/321,880 · Granted Jul 23, 2024

Flexible and efficient communication in microservices-based stream analytics pipeline

Inventors: Giuseppe Coviello (Robbinsville, NJ); Kunal Rao (Monroe, NJ); Srimat Chakradhar (Manalapan, NJ)
Assignee: NEC Corporation
H04L67/55H04L67/563
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,047,467
App. No.
18/321,880
Granted
Jul 23, 2024
Kind
B2
Abstract

A pull-based communication method for microservices-based real-time streaming video analytics pipelines is provided. The method includes receiving a plurality of frames from a plurality of cameras, each camera including a camera sidecar, arranging a plurality of detectors in layers such that a first detector layer includes detectors with detector sidecars and detector business logic, and the second detector layer includes detectors with only sidecars, arranging a plurality of extractors in layers such that a first extractor layer includes extractors with extractor sidecars and extractor business logic, and the second extractor layer includes extractors with only sidecars, and enabling a mesh controller, during registration, to selectively assign inputs to one or more of the detector sidecars of the first detector layer and one or more of the extractor sidecars of the first extractor layer to pull data items for processing.

Claims (36)

1. A computer-implemented method for microservices-based real-time streaming video analytics pipelines, the method comprising:

receiving a plurality of frames from a plurality of cameras, each camera corresponding to a respective camera driver, and each camera including a camera sidecar;

arranging a plurality of detectors in layers such that a first detector layer includes detectors with detector sidecars and detector business logic, and the second detector layer includes detectors with only sidecars;

arranging a plurality of extractors in layers such that a first extractor layer includes extractors with extractor sidecars and extractor business logic, and the second extractor layer includes extractors with only sidecars; and

enabling a mesh controller to communicate with the detector sidecars and extractor sidecars of the first layer only, the mesh controller, during registration, selectively assigning inputs to one or more of the detector sidecars of the first detector layer and one or more of the extractor sidecars of the first extractor layer to pull data items for processing.

2. The computer-implemented method of claim 1 , wherein the plurality of detectors and the plurality of extractors are packaged as Kubernetes pods.

3. The computer-implemented method of claim 1 , wherein the camera sidecars of the plurality of cameras directly communicate only with the detector sidecars of the first detector layer.

4. The computer-implemented method of claim 1 , wherein the sidecars of the second detector layer directly communicate only with the extractor sidecars of the first extractor layer.

5. The computer-implemented method of claim 1 , wherein the first detector layer includes detector replicas and the first extractor layer includes extractor replicas, where the detector replicas are prevented from directly communicating with the extractor replicas.

6. The computer-implemented method of claim 1 , wherein, during registration, the second detector layer provides a name of a detector stream and a name of an input stream to the mesh controller.

7. The computer-implemented method of claim 1 , wherein, during registration, the first detector layer provides a name of a replica and a pod name to the mesh controller.

8. A computer program product for microservices-based real-time streaming video analytics pipelines, the computer program product comprising a non-transitory computer readable storage medium having program instructions embodied therewith, the program instructions executable by a computer to cause the computer to perform a method comprising:

receiving a plurality of frames from a plurality of cameras, each camera corresponding to a respective camera driver, and each camera including a camera sidecar;

arranging a plurality of detectors in layers such that a first detector layer includes detectors with detector sidecars and detector business logic, and the second detector layer includes detectors with only sidecars;

arranging a plurality of extractors in layers such that a first extractor layer includes extractors with extractor sidecars and extractor business logic, and the second extractor layer includes extractors with only sidecars; and

enabling a mesh controller to communicate with the detector sidecars and extractor sidecars of the first layer only, the mesh controller, during registration, selectively assigning inputs to one or more of the detector sidecars of the first detector layer and one or more of the extractor sidecars of the first extractor layer to pull data items for processing.

9. The computer program product of claim 8 , wherein the plurality of detectors and the plurality of extractors are packaged as Kubernetes pods.

10. The computer program product of claim 8 , wherein the camera sidecars of the plurality of cameras directly communicate only with the detector sidecars of the first detector layer.

11. The computer program product of claim 8 , wherein the sidecars of the second detector layer directly communicate only with the extractor sidecars of the first extractor layer.

12. The computer program product of claim 8 , wherein the first detector layer includes detector replicas and the first extractor layer includes extractor replicas, where the detector replicas are prevented from directly communicating with the extractor replicas.

13. The computer program product of claim 8 , wherein, during registration, the second detector layer provides a name of a detector stream and a name of an input stream to the mesh controller.

14. The computer program product of claim 8 , wherein, during registration, the first detector layer provides a name of a replica and a pod name to the mesh controller.

15. A computer processing system for microservices-based real-time streaming video analytics pipelines, comprising:

a memory device for storing program code; and

a processor device, operatively coupled to the memory device, for running the program code to:

receive a plurality of frames from a plurality of cameras, each camera corresponding to a respective camera driver, and each camera including a camera sidecar;

arrange a plurality of detectors in layers such that a first detector layer includes detectors with detector sidecars and detector business logic, and the second detector layer includes detectors with only sidecars;

arrange a plurality of extractors in layers such that a first extractor layer includes extractors with extractor sidecars and extractor business logic, and the second extractor layer includes extractors with only sidecars; and

enable a mesh controller to communicate with the detector sidecars and extractor sidecars of the first layer only, the mesh controller, during registration, selectively assigning inputs to one or more of the detector sidecars of the first detector layer and one or more of the extractor sidecars of the first extractor layer to pull data items for processing.

16. The computer processing system of claim 15 , wherein the plurality of detectors and the plurality of extractors are packaged as Kubernetes pods.

17. The computer processing system of claim 15 , wherein the camera sidecars of the plurality of cameras directly communicate only with the detector sidecars of the first detector layer.

18. The computer processing system of claim 15 , wherein the sidecars of the second detector layer directly communicate only with the extractor sidecars of the first extractor layer.

19. The computer processing system of claim 15 , wherein the first detector layer includes detector replicas and the first extractor layer includes extractor replicas, where the detector replicas are prevented from directly communicating with the extractor replicas.

20. The computer processing system of claim 15 ,

wherein, during registration, the second detector layer provides a name of a detector stream and a name of an input stream to the mesh controller; and

wherein, during registration, the first detector layer provides a name of a replica and a pod name to the mesh controller.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 24, 2024
From: NEC LABORATORIES AMERICA, INC.
To: NEC CORPORATION
Reel/Frame 067813/0424 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 23, 2023
From: COVIELLO, GIUSEPPE; RAO, KUNAL; CHAKRADHAR, SRIMAT
To: NEC LABORATORIES AMERICA, INC.
Reel/Frame 063725/0818 →
Continuity (2)
Provisional Application 63351803 · Jun 13, 2022
Related Publication 20230403340A1 · Dec 14, 2023