IP Library Granted Patent US 12,340,249
Granted Patent B2
US 12,340,249 · App. 16/671,140 · Granted Jun 24, 2025

Methods and system for throttling analytics processing

Inventors: Zhipeng Gong (San Jose, CA); Xiongwei He (San Jose, CA); Francis Niestemski (Longmeadow, MA); Devin Blinn Avery (Madbury, NH); Ryan E. Perkowski (Middletown, DE); Nicholas York (San Ramon, CA)
Assignee: Virtual Instruments Worldwide, Inc.
G06F9/5038G06F9/4881G06F9/505
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,340,249
App. No.
16/671,140
Granted
Jun 24, 2025
Kind
B2
Abstract

A method comprising: receiving an analytic task which includes a priority indicator associated with the analytic task, determining a position of the analytic task in a task queue, the task queue arranged in an order according to their priority indicators, selecting the analytic task based on the order of the task queue, sending the analytic task to an analytics service to determine if the analytics service has sufficient available resources to perform the analytic task, receiving an indication that the analytics service does not have sufficient available resources to perform the analytic task, repositioning the analytic task within the task queue, selecting the analytic task from the task queue based on the order of the task queue and a new position of the analytic task, sending the analytic task to the analytics service, and retrieving another analytic task to send to the analytics service.

Claims (51)

1. A system comprising:

one or more processors; and

memory containing instructions configured to control the one or more processors to:

receive, from an analytic service, assessed available resources of an analytic software of the analytic service;

receive, by an analytics task submitter of an application-centric infrastructure management system, a first data flow analysis task of a plurality of data flow analysis tasks, the first data flow analysis task including a priority indicator associated with the first data flow analysis task, the application-centric infrastructure management system including a digital device that manages the plurality of data flow analysis tasks, the first data flow analysis task being responsible for monitoring an application of an enterprise network;

determine, by the analytic task submitter, a position of the first data flow analysis task in a task queue, the task queue including the plurality of data flow analysis tasks arranged in an order according to their respective priority indicators, the determining the position of the first data flow analysis task being based at least on the priority indicator of the first data flow analysis task;

select, by an analytic task manager of the application-centric infrastructure management system, the first data flow analysis task from the task queue based on the order of the task queue;

estimate, by the analytic task manager, a number of analytic service resources required to execute the first data flow analysis task;

determine, by the analytic task manager-if the analytics service has sufficient available analytical resources to perform the first data flow analysis task based on the estimated number of analytic resources required to execute the first data flow analysis task and the assessed available resources of the analytic software;

in response to determining that there is insufficient analytic resources to perform the first data flow analysis task:

reposition the first data flow analysis task within the task queue to a position lower down the task queue, wherein the repositioning the first data flow analysis task within the task queue includes lowering the priority indicator of the first data flow analysis task by one level of less significant priority, and wherein the position lower down in the task queue is determined based on an estimated time frame of when the analytic service may have sufficient analytic resource to execute the analytic task; and

after repositioning the first data flow analysis task, retrieve a second data flow analysis task of the plurality of data flow analysis tasks having lower priority than an original priority of the first data flow analysis task from the task queue, thereby reducing instances of over burdening the analytic service.

2. The system of claim 1 wherein when there is insufficient analytic resources to perform the first data flow analysis task, the analytic task manager receives a rejection signal.

3. The system of claim 1 comprising memory further containing instructions configured to control the one or more processor to: send, by the analytics service, a utilization indication signal if a current workload of the analytic service is greater than a predetermined threshold.

4. The system of claim 1 , comprising memory further containing instructions configured to control the one or more processor to:

perform, by the analytic service, the second data flow analysis task; and

receive, by the analytic task manager, a second indication that the analytics service does have sufficient available analytical resources to perform the second data flow analysis task.

5. The system of claim 4 wherein the second indication is an acceptance signal.

6. The system of claim 1 , wherein determining the position of the first data flow analysis task is further based on a time that the first data flow analysis task is received by the analytic task submitter.

7. The system of claim 1 , wherein determining the position of the first data flow analysis task is further based on a tier of service of one or more entities of the enterprise network associated with the first data flow analysis task.

8. A method comprising:

receiving, from an analytic service, assessed available resources of an analytic software of the analytic service;

receiving, by an analytics task submitter of an application-centric infrastructure management system, a first data flow analysis task of a plurality of data flow analysis tasks, the first data flow analysis task including a priority indicator associated with the first data flow analysis task, the application-centric infrastructure management system including a digital device that manages the plurality of data flow analysis tasks, the first data flow analysis task being responsible for monitoring an application of an enterprise network;

determining, by the analytic task submitter, a position of the first data flow analysis task in a task queue, the task queue including a plurality of data flow analysis tasks arranged in an order according to their respective priority indicators, the determining the position of the first data flow analysis task being based at least on the priority indicator of the first data flow analysis task;

selecting, by an analytic task manager of the application-centric infrastructure management system, the first data flow analysis task from the task queue based on the order of the task queue;

estimating, by the analytic task manager, a number of analytic service resources required to execute the first data flow analysis task;

determining, by the analytic task manager, if the analytics service has sufficient available analytic resources to perform the first data flow analysis task based on the estimated number of analytic resources required to execute the first data flow analysis task and the assessed available resources of the analytic software;

in response to determining that there is insufficient analytic resources to perform the first data flow analysis task:

repositioning the first data flow analysis task within the task queue to a position lower down the task queue, wherein the repositioning the first data flow analysis task within the task queue includes lowering the priority indicator of the first data flow analysis task by one level of less significant priority, and wherein the position lower down in the task queue is determined based on an estimated time frame of when the analytic service may have sufficient analytic resource to execute the analytic task; and

after repositioning the first data flow analysis task, retrieving a second data flow analysis task of the plurality of data flow analysis tasks having lower priority than an original priority of the first data flow analysis task from the task queue, thereby reducing instances of over burdening the analytic service.

9. The method of claim 8 wherein when there is insufficient analytic resources to perform the first data flow analysis task, the analytic task manager receives a is rejection signal.

10. The method of claim 8 further comprising: sending, by the analytics service, a utilization indication signal if the current workload of the analytic service is greater than a predetermined threshold.

11. The method of claim 8 further comprising:

performing, by the analytic service, the second data flow analysis task; and

receiving, by the analytic task manager, a second indication that the analytics service does have sufficient available analytical resources to perform the second data flow analysis task.

12. The method of claim 11 wherein the second indication is an acceptance signal.

13. The method of claim 8 , wherein determining the position of the first data flow analysis task is further based on a time that the first data flow analysis task is received by the analytic task submitter.

14. The method of claim 8 , wherein determining the position of the first data flow analysis task is further based on a tier of service of one or more entities of the enterprise network associated with the first data flow analysis task.

15. A non-transitory computer readable medium including executable instructions, the instructions being executable by a processor to perform a method, the method comprising:

receiving, from an analytic service, assessed available resources of an analytic software of the analytic service;

receiving, by an analytics task submitter of an application-centric infrastructure management system, a first data flow analysis task of a plurality of data flow analysis tasks, the first data flow analysis task including a priority indicator associated with the first data flow analysis task;

determining, by the analytic task submitter, a position of the first data flow analysis task in a task queue, the task queue including a plurality of analytic tasks arranged in an order according to their respective priority indicators, the determining the position of the first data flow analysis task being based at least on the priority indicator of the first data flow analysis task, the application-centric infrastructure management system including a digital device that manages the plurality of data flow analysis tasks, the first data flow analysis task being responsible for monitoring an application of an enterprise network;

selecting, by an analytic task manager of an application-centric infrastructure management system, the first data flow analysis task from the task queue based on the order of the task queue;

estimating, by the analytic task manager, a number of analytic service resources required to execute the first data flow analysis task;

determining, by the analytic task manager, if the analytics service has sufficient available analytical resources to perform the first data flow analysis task based on the estimate number of analytic resources required to execute the first data flow analysis task and the assessed available resources of the analytic software;

in response to determining that there is insufficient analytic resources to perform the first data flow analysis task:

repositioning the first data flow analysis task within the task queue to a position lower down the task queue, wherein the repositioning the first data flow analysis task within the task queue includes lowering the priority indicator of the first data flow analysis task by one level of less significant priority, and wherein the position lower down in the task queue is determined based on an estimated time frame of when the

analytic service may have sufficient analytic resource to execute the analytic task; and after repositioning the first data flow analysis task, retrieving a second data flow analysis task of the plurality of data flow analysis tasks having lower priority than an original priority of the first data flow analysis task from the task queue, thereby reducing instances of over burdening the analytic service.

16. The non-transitory computer readable medium of claim 15 including executable instructions, the instructions being executable by a process to perform the method, the method further comprising:

performing, by the analytic service, the second data flow analysis task; and

receiving, by the analytic task manager, a second indication that the analytics service does have sufficient available resources to perform the second data flow analysis task.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 19, 2022
From: VIRTUAL INSTRUMENTS CORPORATION
To: VIRTUAL INSTRUMENTS WORLDWIDE, INC.
Reel/Frame 059964/0258 →
SECURITY INTEREST Recorded Jan 10, 2022
From: VIRTUAL INSTRUMENTS CORPORATION; VIRTUAL INSTRUMENTS WORLDWIDE, INC.; XANGATI, INC.
To: MIDTOWN MADISON MANAGEMENT LLC
Reel/Frame 058668/0268 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 13, 2020
From: GONG, ZHIPENG; HE, XIONGWEI; NIESTEMSKI, FRANCIS; AVERY, DEVIN BLINN; PERKOWSKI, RYAN; YORK, NICHOLAS
To: VIRTUAL INSTRUMENTS CORP.
Reel/Frame 053492/0270 →
Continuity (4)
Continuation In Part 16234424 · Dec 27, 2018
Provisional Application 62753360 · Oct 31, 2018
Provisional Application 62611892 · Dec 29, 2017
Related Publication 20200142746A1 · May 7, 2020
References Cited (121)
US 6421809B1 · Wuytack · 2002 [cited by examiner]
US 6480470B1 · Breivik · 2002 [cited by examiner]
US 6499107B1 · Gleichauf · 2002 [cited by examiner]
US 7185192B1 · Kahn · 2007 [cited by applicant]
US 7193968B1 · Kapoor et al. · 2007 [cited by applicant]
US 7634595B1 · Brown · 2009 [cited by applicant]
US 7711822B1 · Duvur · 2010 [cited by examiner]
US 7783740B2 · Siorek · 2010 [cited by examiner]
US 8065133B1 · Asbridge · 2011 [cited by applicant]
US 8495611B2 · McCarthy · 2013 [cited by applicant]
US 8589552B1 · Jones et al. · 2013 [cited by applicant]
US 8738972B1 · Bakman et al. · 2014 [cited by applicant]
US 9026687B1 · Govande · 2015 [cited by applicant]
US 9462077B2 · Zohar · 2016 [cited by examiner]
US 9928183B2 · Svendsen · 2018 [cited by applicant]
US 10044566B1 · Grisco · 2018 [cited by applicant]
US 10216812B2 · Witkop · 2019 [cited by applicant]
US 10505959B1 · Wang · 2019 [cited by applicant]
US 10735430B1 · Stoler · 2020 [cited by applicant]
US 20020083169A1 · Aki · 2002 [cited by applicant]
US 20020156883A1 · Natarajan · 2002 [cited by applicant]
US 20030095504A1 · Ogier · 2003 [cited by applicant]
US 20030167327A1 · Baldwin · 2003 [cited by applicant]
US 20040083285A1 · Nicolson · 2004 [cited by applicant]
US 20050081208A1 · Gargya · 2005 [cited by applicant]
US 20050229182A1 · Grover · 2005 [cited by applicant]
US 20060129415A1 · Thukral · 2006 [cited by examiner]
US 20060184626A1 · Agapi · 2006 [cited by applicant]
US 20060242647A1 · Kimbrel · 2006 [cited by applicant]
US 20060271677A1 · Mercier · 2006 [cited by applicant]
US 20070136541A1 · Herz · 2007 [cited by applicant]
US 20070169125A1 · Qin · 2007 [cited by examiner]
US 20080019499A1 · Benfield · 2008 [cited by applicant]
US 20080104248A1 · Yahiro · 2008 [cited by applicant]
US 20090016236A1 · Alcala · 2009 [cited by applicant]
US 20090025004A1 · Barnard et al. · 2009 [cited by applicant]
US 20090106256A1 · Safari · 2009 [cited by applicant]
US 20090125909A1 · Li et al. · 2009 [cited by applicant]
US 20090241113A1 · Seguin · 2009 [cited by applicant]
US 20090259749A1 · Barrett · 2009 [cited by applicant]
US 20090319580A1 · Lorenz · 2009 [cited by applicant]
US 20100248771A1 · Brewer et al. · 2010 [cited by applicant]
US 20100275212A1 · Saha · 2010 [cited by examiner]
US 20110107148A1 · Franklin · 2011 [cited by applicant]
US 20110141119A1 · Ito · 2011 [cited by applicant]
US 20110225017A1 · Radhakrishnan · 2011 [cited by applicant]
US 20120030352A1 · Sauma Vargas · 2012 [cited by applicant]
US 20120044811A1 · White · 2012 [cited by applicant]
US 20120076001A1 · Saitou · 2012 [cited by applicant]
US 20120089726A1 · Doddavula · 2012 [cited by applicant]
US 20120131593A1 · DePetro · 2012 [cited by applicant]
US 20120192197A1 · Doyle · 2012 [cited by applicant]
US 20120221810A1 · Shah · 2012 [cited by examiner]
US 20130054221A1 · Artzi · 2013 [cited by examiner]
US 20130060932A1 · Ofek · 2013 [cited by applicant]
US 20130067089A1 · Synytskyy et al. · 2013 [cited by applicant]
US 20130117847A1 · Friedman · 2013 [cited by applicant]
US 20130152200A1 · Alme · 2013 [cited by applicant]
US 20130185729A1 · Vasic et al. · 2013 [cited by applicant]
US 20130285855A1 · Dupray · 2013 [cited by examiner]
US 20130340079A1 · Gottlieb et al. · 2013 [cited by applicant]
US 20140052610A1 · Aggarwal · 2014 [cited by examiner]
US 20140112187A1 · Kang · 2014 [cited by applicant]
US 20140164957A1 · Shin · 2014 [cited by examiner]
US 20140173034A1 · Liu · 2014 [cited by applicant]
US 20140173113A1 · Vemuri et al. · 2014 [cited by applicant]
US 20140181839A1 · Xu · 2014 [cited by examiner]
US 20140331277A1 · Frascadore · 2014 [cited by applicant]
US 20140358972A1 · Guarrieri et al. · 2014 [cited by applicant]
US 20150046920A1 · Allen · 2015 [cited by examiner]
US 20150074251A1 · Tameshige · 2015 [cited by applicant]
US 20150222527A1 · Shah et al. · 2015 [cited by applicant]
US 20160004475A1 · Beniyama · 2016 [cited by applicant]
US 20160044035A1 · Huang · 2016 [cited by applicant]
US 20160055038A1 · Ghosh et al. · 2016 [cited by applicant]
US 20160100066A1 · Yamada · 2016 [cited by applicant]
US 20160119234A1 · Valencia Lopez · 2016 [cited by applicant]
US 20160275642A1 · Abeykoon · 2016 [cited by examiner]
US 20160359897A1 · Yadav · 2016 [cited by applicant]
US 20170034207A1 · Low et al. · 2017 [cited by applicant]
US 20170053076A1 · Lulla et al. · 2017 [cited by applicant]
US 20170085456A1 · Whitner · 2017 [cited by applicant]
US 20170123849A1 · Tian · 2017 [cited by applicant]
US 20170168866A1 · Kono · 2017 [cited by applicant]
US 20170201574A1 · Luo · 2017 [cited by applicant]
US 20170293414A1 · Pierce et al. · 2017 [cited by applicant]
US 20170317899A1 · Taylor · 2017 [cited by applicant]
US 20180067776A1 · Chen · 2018 [cited by applicant]
US 20180081501A1 · Johnston · 2018 [cited by applicant]
US 20180115585A1 · Rubakha · 2018 [cited by applicant]
US 20180130202A1 · Wang · 2018 [cited by examiner]
US 20180165451A1 · Kawakita · 2018 [cited by applicant]
US 20180262432A1 · Ozen · 2018 [cited by applicant]
US 20180322415A1 · Bendre · 2018 [cited by examiner]
US 20180324045A1 · Grisco · 2018 [cited by applicant]
US 20180329794A1 · Prieto et al. · 2018 [cited by applicant]
US 20190065230A1 · Tsirkin · 2019 [cited by applicant]
US 20190073239A1 · Konnath · 2019 [cited by applicant]
US 20190089617A1 · Raney · 2019 [cited by applicant]
US 20190163589A1 · McBride · 2019 [cited by applicant]
US 20190171509A1 · Hardy · 2019 [cited by examiner]
US 20190207837A1 · Malhotra · 2019 [cited by applicant]
US 20190207841A1 · Perkowski · 2019 [cited by applicant]
US 20190243671A1 · Yadav · 2019 [cited by applicant]
US 20190311629A1 · Sierra · 2019 [cited by examiner]
EP 2262173 · 2010 [cited by applicant]
International Application No. PCT/US2019/058976, Search Report and Written Opinion dated Mar. 25, 2020. [cited by applicant]
International Application No. PCT/US2019/059282, Search Report and Written Opinion dated Apr. 7, 2020. [cited by applicant]
Chandramouli, Ramaswamy, “Security Assurance Requirements for Hypervisor Deployment Features,” Seventh International Conference on Digital Society, Feb. 2013. [cited by applicant]
Ramamoorthy, S. et al. “A Preventive Method for Host Level Security in Cloud Infrastructure,” Proceedings of the 3rd International Symposium on Big Data and Cloud Computing Challenges, Feb. 2016. [cited by applicant]
Sethi, Chhabi et al., “Trusted-Cloud: A Cloud Security Model for Infrastructure as a Service (IaaS), ” International Journal of Advanced Research in Computer Science and Software Engineering, vol. 6, No. 3, Mar. 2016. [cited by applicant]
Urias, Vincent E. et al., “Hypervisor Assisted Forensics and Incident Response in the Cloud,” 2016 IEEE International Conference on Computer and Information Technology, Dec. 2016. [cited by applicant]
International Application No. PCT/US2018/067760, Search Report and Written Opinion dated Mar. 8, 2019. [cited by applicant]
Androulidakis, G. et al., “Improving Network Anomaly Detection via Selective Flow-Based Sampling,” IET Communications, vol. 2, No. 3, pp. 399-409, Mar. 2008. [cited by applicant]
Cejka, Tomas et al., “NEMEA: A Framework for Network Traffic Analysis,” Proceedings of the 12th Conference on Network and Service Management (CNSM 2016), pp. 195-201, Nov. 2016. [cited by applicant]
Kind, Andreas et al., “Histogram-Based Traffic Anomaly Detection,” IEEE Transactions on Network Service Management, vol. 6, No. 2, pp. 110-121, Jun. 2009. [cited by applicant]
Wang, Wei et al., “Network Traffic Monitoring, Analysis and Anomaly Detection,” Guest Editorial, IEEE Network, pp. 6-7, May 2011. [cited by applicant]
Bhumip Khasnabish “Emerging Enterprise Storage Systems: Storage or System Area Networks (SANs)”, [Online], pp. 192-195, [Retrieved from Internet on Aug. 25, 2021], , (Year: 2002). [cited by applicant]
Suresh Muknahallipatna et al., “The Effect of End to End Latency in a Distributed Storage Area Network on Microsoft Exchangew Server 2003 Performance”, [Online], pp. 1-9, [Retrieved from Inter3ent on Aug. 25, 2021], (Ye… [cited by applicant]
T. Brothers, N. Mandagere et al., “Microsoft Exchange Implementation on A Distributed Storage Area Network”, [Online], pp. 251-251, [Retrieved from Internet on Aug. 25, 2021], , (Year: 2008). [cited by applicant]
Vladimir V. Riabov, “Storage Area Networks (SANs)”, [Online], pp. 1-11, [Retrieved from Internet on Aug. 25, 2021], (Year: 2005). [cited by applicant]