IP Library › Granted Patent US 12,561,151
Granted Patent B1
US 12,561,151 · App. 19/085,158 · Granted Feb 24, 2026

Modular data acquisition and analysis system and methods thereof

Inventors: Bharathwaj Raghunathan (Oakville, CA); Abhishek Garhia (Bangalore, IN); Raghubansh Bahadur Gupta (Bangalore, IN); Suhash Gerald (Bengaluru, IN); Venkata Veera Lokeshkumar Puvvada (Guntur, IN); Prateek Jain (Karnataka, IN); Falgun Meshram (Toronto, CA); Huai-An Jeng (Toronto, CA); Prasanth Perugupalli (Cary, NC)
Assignee: Pramana, Inc.
G06F9/451G06F3/0482G06F40/205G06Q10/06316
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,561,151
App. No.
19/085,158
Filed
Mar 20, 2025
Granted
Feb 24, 2026
Kind
B1
Art Unit
2178
USPC
715/764
Abstract

A modular data acquisition and analysis system may include at least a processor and a memory communicatively connected to the at least a processor, wherein the memory contains instructions configuring the at least a processor to receive, from a module database, a library of interoperable modules, receive, from a user interface, a module selection, generate an interface, receive a user input through the interface, update the interface as a function of the user input, define a customized workflow as a function of the user input, and save the customized workflow for subsequent execution.

Claims (106)

1 . A modular data acquisition and analysis system, wherein the system comprises:

at least a processor; and

a memory communicatively connected to the at least a processor, wherein the memory contains instructions configuring the at least a processor to:

receive, from a module database, a library of interoperable modules, wherein each module of the library of interoperable modules is configured to perform at least a specific data processing task;

receive, from a user interface, a module selection, wherein the module selection comprises a selection of a plurality of interoperable modules of the library of interoperable modules;

generate an interface, wherein the interface comprises a plurality of visual elements each associated with an interchangeable module of the module selection;

receive a user input through the interface;

update the interface as a function of the user input, wherein updating the interface comprises displaying at least a connective element as a function of the user input, wherein the at least a connective element visually connects at least a first visual element of the plurality of visual elements to at least a second visual element of the plurality of visual elements, wherein the at least a first visual element is associated with a first module and the at least a second visual element is associated with a second module;

define a customized workflow as a function of the user input, wherein defining the customized workflow comprises operatively connecting an output of the first module to an input of the second module;

save the customized workflow for subsequent execution;

manage a custom workflow execution, wherein managing a custom workflow execution comprises:

interpreting the customized workflow, wherein interpreting the custom workflow comprises:

parsing a workflow definition file to extract module dependencies, execution order, and resource requirements;

generating a representative data structure as a function of parsing the workflow definition file; and

determining an optimized execution strategy as a function of the representative data structure; and

executing the customized workflow, wherein executing the customized workflow comprises:

assigning each module of the customized workflow an execution state as a function of at least a workflow dependency;

queuing modules for execution, wherein:

sequential tasks are scheduled in order; and

parallel tasks are executed concurrently as a function of dependency resolution; and

invoking each module by sending execution commands and input data to a corresponding module.

2 . The system of claim 1 , further comprising an imaging device, wherein:

the imaging device is communicatively connected to the at least a processor; and

the at least a processor is further configured to adjust one or more parameters of the imaging device as a function of an output of the customized workflow.

3 . The system of claim 1 , wherein the interoperable modules comprise:

containerized software components; and

one or more application programming interfaces configured to facilitate communication and data exchange between the first module, the second module, and other system components.

4 . The system of claim 1 , wherein wherein validating the compatibility of the first module and the second module comprises comparing an output type of the first module to an input type of the second module.

5 . The system of claim 1 , wherein managing a custom workflow execution further comprises handling error conditions, wherein handling error conditions comprises:

detecting one or more errors as a function of monitoring execution progress;

identifying one or more failure causes, wherein failure causes comprise one or more of missing dependencies, timeout events, and resource exhaustion; and

triggering a predefined resolution mechanism.

6 . The system of claim 1 , wherein the at least a processor is further configured to execute a saved custom workflow as a function of a detected prompt.

7 . A method for modular data acquisition and analysis, wherein the method comprises:

receiving, from a module database, a library of interoperable modules, wherein each module of the library of interoperable modules is configured to perform at least a specific data processing task;

receiving, from a user interface, a module selection, wherein the module selection comprises a selection of a plurality of interoperable modules of the library of interoperable modules;

generating a interface, wherein the interface comprises a plurality of visual elements each associated with an interchangeable module of the module selection;

receiving a user input through the interface;

updating the interface as a function of the user input, wherein updating the interface comprises displaying at least a connective element as a function of the user input, wherein the at least a connective element visually connects at least a first visual element of the plurality of visual elements to at least a second visual element of the plurality of visual elements, wherein the at least a first visual element is associated with a first module and the at least a second visual element is associated with a second module;

defining a customized workflow as a function of the user input, wherein defining the customized workflow comprises operatively connecting an output of the first module to an input of the second module;

saving the customized workflow for subsequent execution;

managing a custom workflow execution, wherein managing a custom workflow execution comprises:

interpreting the customized workflow, wherein interpreting the custom workflow comprises:

parsing a workflow definition file to extract module dependencies, execution order, and resource requirements;

generating a representative data structure as a function of parsing the workflow definition file; and

determining an optimized execution strategy as a function of the representative data structure; and

executing the customized workflow, wherein executing the customized workflow comprises:

assigning each module of the customized workflow an execution state as a function of at least a workflow dependency;

queuing modules for execution, wherein:

sequential tasks are scheduled in order; and

parallel tasks are executed concurrently as a function of dependency resolution; and

invoking each module by sending execution commands and input data to a corresponding module.

8 . The method of claim 7 , further comprising adjusting, using at least a processor, one or more parameters of an imaging device as a function of an output of the customized workflow.

9 . The method of claim 7 , wherein the interoperable modules comprise:

containerized software components; and

one or more application programming interfaces configured to facilitate communication and data exchange between the first module, the second module, and other system components.

10 . The method of claim 7 , wherein validating the compatibility of the first module and the second module comprises comparing an output type of the first module to an input type of the second module.

11 . The method of claim 7 , wherein managing a custom workflow execution further comprises handling error conditions, wherein handling error conditions comprises:

detecting one or more errors as a function of monitoring execution progress;

identifying one or more failure causes, wherein failure causes comprise one or more of missing dependencies, timeout events, and resource exhaustion; and

triggering a predefined resolution mechanism.

12 . The method of claim 7 , further comprising executing a saved custom workflow as a function of a detected prompt.

13 . A modular data acquisition and analysis system, wherein the system comprises:

at least a processor; and

a memory communicatively connected to the at least a processor, wherein the memory contains instructions configuring the at least a processor to:

receive, from a module database, a library of interoperable modules, wherein each module of the library of interoperable modules is configured to perform at least a specific data processing task;

receive, from a user interface, a module selection, wherein the module selection comprises a selection of a plurality of interoperable modules of the library of interoperable modules;

generate an interface, wherein the interface comprises a plurality of visual elements each associated with an interchangeable module of the module selection;

receive a user input through the interface;

update the interface as a function of the user input, wherein updating the interface comprises displaying at least a connective element as a function of the user input, wherein the at least a connective element visually connects at least a first visual element of the plurality of visual elements to at least a second visual element of the plurality of visual elements, wherein the at least a first visual element is associated with a first module and the at least a second visual element is associated with a second module;

update at least an operational parameter of the first module and the second module as a function of the user input, wherein updating at least an operational parameter comprises:

receiving a user input, wherein the user input comprises one or more selections of parameters and options that define at least an operational parameter of the first module and the second module, wherein the one or more selections of parameters and options are:

visually displayed at the user interface; and

comprise a drop-down menu;

setting an input and an output specification for each module as a function of the at least an operational parameter;

defining at least a processing criterion for each module as a function of the at least an operational parameter;

establishing one or more execution conditions that govern an operation of each module within a customized workflow; and

applying the at least an operational parameter to the first module and the second module to configure their operation within the customized workflow;

define the customized workflow as a function of the user input, wherein defining the customized workflow comprises operatively connecting an output of the first module to an input of the second module; and

validate a compatibility of the first module and the second module;

suggest one or more incompatibility resolutions as a function of validating a compatibility of the first module and the second module, wherein suggesting one or more incompatibility resolutions comprises:

determining at least one resolution strategy as a function of an identified incompatibility;

providing to a user, using the user interface, one or more incompatibility resolutions, wherein the suggested resolutions comprise recommended changes to module configurations, alternative module selections, or middleware integration options; and

facilitating implementation of a selected incompatibility resolution by updating at least an operational parameter of the first module and the second module to restore compatibility; and

save the customized workflow for subsequent execution.

14 . A method for modular data acquisition and analysis, wherein the method comprises:

receiving, from a module database, a library of interoperable modules, wherein each module of the library of interoperable modules is configured to perform at least a specific data processing task;

receiving, from a user interface, a module selection, wherein the module selection comprises a selection of a plurality of interoperable modules of the library of interoperable modules;

generating a interface, wherein the interface comprises a plurality of visual elements each associated with an interchangeable module of the module selection;

receiving a user input through the interface;

updating the interface as a function of the user input, wherein updating the interface comprises displaying at least a connective element as a function of the user input, wherein the at least a connective element visually connects at least a first visual element of the plurality of visual elements to at least a second visual element of the plurality of visual elements, wherein the at least a first visual element is associated with a first module and the at least a second visual element is associated with a second module;

updating at least an operational parameter of the first module and the second module as a function of the user input, wherein updating at least an operational parameter comprises:

receiving a user input, wherein the user input comprises one or more selections of parameters and options that define at least an operational parameter of the first module and the second module, wherein the one or more selections of parameters and options are:

visually displayed at the user interface; and

comprise a drop-down menu;

setting an input and an output specification for each module as a function of the at least an operational parameter;

defining at least a processing criterion for each module as a function of the at least an operational parameter;

establishing one or more execution conditions that govern an operation of each module within a customized workflow; and

applying the at least an operational parameter to the first module and the second module to configure their operation within the customized workflow;

defining a customized workflow as a function of the user input, wherein defining the customized workflow comprises operatively connecting an output of the first module to an input of the second module;

validating a compatibility of the first module and the second module;

suggesting one or more incompatibility resolutions as a function of validating a compatibility of the first module and the second module, wherein suggesting one or more incompatibility resolutions comprises:

determining at least one resolution strategy as a function of an identified incompatibility;

providing to a user, using the user interface, one or more incompatibility resolutions, wherein the suggested resolutions comprise recommended changes to module configurations, alternative module selections, or middleware integration options; and

facilitating implementation of a selected incompatibility resolution by updating at least an operational parameter of the first module and the second module to restore compatibility; and

saving the customized workflow for subsequent execution.

Assignments (2)
CORRECTIVE ASSIGNMENT TO CORRECT THE 2ND INVENTOR NAME PREVIOUSLY RECORDED AT REEL: 70831 FRAME: 704. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Sep 22, 2025
From: RAGHUNATHAN, BHARATHWAJ; GARHIA, ABHISHEK; GUPTA, RAGHUBANSH BAHADUR; GERALD, SUHASH; PUVVADA, VENKATA VEERA LOKESHKUMAR; JAIN, PRATEEK; MESHRAM, FALGUN; JENG, HUAI-AN; PERUGUPALLI, PRASANTH
To: PRAMANA, INC.
Reel/Frame 072924/0433 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 14, 2025
From: RAGHUNATHAN, BHARATHWAJ; GHARIA, ABHISHEK; GUPTA, RAGHUBANSH BAHADUR; GERALD, SUHASH; PUVVADA, VENKATA VEERA LOKESHKUMAR; JAIN, PRATEEK; MESHRAM, FALGUN; JENG, HUAI-AN; PERUGUPALLI, PRASANTH
To: PRAMANA, INC.
Reel/Frame 070831/0704 →
References Cited (23)
US 8515920B2 · Peyton · 2013 [cited by examiner]
US 9563861B2 · Weatherhead et al. · 2017 [cited by applicant]
US 10776686B1 · Jacob et al. · 2020 [cited by applicant]
US 12169802B1 · Eldan · 2024 [cited by examiner]
US 12265801B1 · Geigel · 2025 [cited by examiner]
US 20050282137A1 · Sasinowski · 2005 [cited by examiner]
US 20080097816A1 · Freire · 2008 [cited by examiner]
US 20100299631A1 · Chow · 2010 [cited by examiner]
US 20110276915A1 · Freire · 2011 [cited by examiner]
US 20130246345A1 · Eisler · 2013 [cited by examiner]
US 20130290963A1 · Simske et al. · 2013 [cited by applicant]
US 20140089825A1 · Lee · 2014 [cited by examiner]
US 20140282177A1 · Wang · 2014 [cited by examiner]
US 20160085399A1 · Jain · 2016 [cited by examiner]
US 20160098037A1 · Zornio · 2016 [cited by examiner]
US 20160358130A1 · Capurro · 2016 [cited by examiner]
US 20170236067A1 · Tjiong · 2017 [cited by examiner]
US 20180089591A1 · Zeiler · 2018 [cited by examiner]
US 20200241852A1 · Vidan · 2020 [cited by examiner]
US 20240095006A1 · Waterman · 2024 [cited by applicant]
US 20240265275A1 · Zhang · 2024 [cited by examiner]
US 20250077067A1 · Khanna · 2025 [cited by examiner]
US 20250130545A1 · Zhou · 2025 [cited by examiner]