IP Library Granted Patent US 11,606,602
Granted Patent B2
US 11,606,602 · App. 16/815,453 · Granted Mar 14, 2023

Automatic profiling of video analytics applications

Inventors: Utsav Drolia (Milipitas, CA); Min Feng (Monmouth Junction, NJ); Wang-pin Hsiung (Santa Clara, CA); Srimat Chakradhar (Manalapan, NJ); Oliver Po (San Jose, NJ); Kunal Rao (Monroe, NJ)
H04N21/44008G06F11/3447G06F16/9024G06Q10/0639G06V20/52H04N21/44012
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 11,606,602
App. No.
16/815,453
Granted
Mar 14, 2023
Kind
B2
Abstract

Methods and systems for deploying a video analytics system include determining one or more applications for a security system in an environment, including one or more constraints. Each functional module in a directed graph representation of one or more applications is profiled to generate one or more configurations for each functional module. The nodes of each graph representation represent functional modules of the respective application, and repeated module configurations are skipped. Resource usage for each of the one or more applications is estimated using the one or more configurations of each functional module and the one or more constraints. The one or more applications are deployed in the environment.

Claims (31)

1. A method for deploying a video analytics system, comprising:

determining one or more applications for a security system in an environment, including one or more constraints;

profiling each functional module in a directed graph representation of one or more applications to generate one or more configurations for each functional module using a hardware processor, where the nodes of each graph representation represent functional modules of the respective application, with repeated module configurations being skipped;

estimating resource usage for each of the one or more applications using the one or more configurations of each functional module and the one or more constraints;

deploying the one or more applications in the environment; and

performing a security action in the environment using the one or more applications.

2. The method of claim 1 , wherein profiling each functional module comprises running each module under a plurality of different configurations and inputs.

3. The method of claim 2 , wherein profiling each functional module further comprises storing a respective output for each combination of a configuration and an input for the module.

4. The method of claim 3 , wherein estimating resource usage for each of the one or more applications comprises identifying outputs for each module, based at least one feasible configuration of the module, in accordance with stored outputs that correspond to the at least one feasible configuration.

5. The method of claim 4 , wherein estimating resource usage for each of the one or more applications further comprises performing a depth-first traversal of each respective graph representation.

6. The method of claim 5 , wherein estimating resource usage for each of the one or more applications further comprises applying an output, associated with each respective module, as an input to child modules associated with the respective module in the graph representation.

7. The method of claim 2 , wherein profiling each functional module further comprises storing performance metrics for each combination of a configuration and an input for the module.

8. The method of claim 7 , wherein estimating resource usage for each of the one or more applications comprises comparing the stored performance metrics for each combination of a configuration and an input for each module to the one or more constraints and excluding combinations that cannot satisfy the one or more constraints.

9. The method of claim 1 , wherein estimating resource usage for each of the one or more applications comprises selecting an optimal configuration for each module according to one or more optimization criteria.

10. The method of claim 1 , wherein the graph representation of each of the one or more application is a single, condensed graph representation with redundant modules removed.

11. A system for deploying a video analytics system, comprising:

a hardware processor; and

a memory that stores a computer program, which, when executed by the hardware processor, causes the hardware processor to:

determine one or more applications for a security system in an environment, including one or more constraints, and to profile each functional module in a directed graph representation of the one or more applications to generate one or more configurations for each functional module, where the nodes of each graph representation represent functional modules of the respective application, with repeated module configurations being skipped;

estimate resource usage for each of the one or more applications using the one or more configurations of each functional module and the one or more constraints;

deploy the one or more applications in the environment; and

perform a security action in the environment using the one or more applications.

12. The system of claim 11 , wherein the module profiler is further configured to run each module under a plurality of different configurations and inputs.

13. The system of claim 12 , wherein the module profiler is further configured to store a respective output for each combination of a configuration and an input for the module.

14. The system of claim 13 , wherein the resource estimator is further configured to identify outputs for each module, based at least one feasible configuration of the module, in accordance with stored outputs that correspond to the at least one feasible configuration.

15. The system of claim 14 , wherein the resource estimator is further configured to perform a depth-first traversal of each respective graph representation.

16. The system of claim 15 , wherein the resource estimator is further configured to apply an output, associated with each respective module, as an input to child modules associated with the respective module in the graph representation.

17. The system of claim 12 , wherein the module profiler is further configured to store metrics for each combination of a configuration and an input for the module.

18. The system of claim 17 , wherein the resource estimator is further configured to compare the stored performance metrics for each combination of a configuration and an input for each module to the one or more constraints and to exclude combinations that cannot satisfy the one or more constraints.

19. The system of claim 11 , wherein the resource estimator is further configured to select an optimal configuration for each module according to one or more optimization criteria.

20. The system of claim 11 , wherein the graph representation of each of the one or more application is a single, condensed graph representation with redundant modules removed.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 18, 2023
From: NEC LABORATORIES AMERICA, INC.
To: NEC CORPORATION
Reel/Frame 062403/0866 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 11, 2020
From: DROLIA, UTSAV; FENG, MIN; HSIUNG, WANG-PIN; CHAKRADHAR, SRIMAT; PO, OLIVER; RAO, KUNAL
To: NEC LABORATORIES AMERICA, INC.
Reel/Frame 052084/0314 →
Continuity (2)
Provisional Application 62816463 · Mar 11, 2019
Related Publication 20200296452A1 · Sep 17, 2020