IP Library Granted Patent US 12,229,031
Granted Patent B2
US 12,229,031 · App. 17/807,197 · Granted Feb 18, 2025

Generating, aggregating, and querying virtualization service execution metrics for cloud diagnostics at scale

Inventors: Satish Goswami (Redmond, WA); Harish Srinivasan (Sammamish, WA); Omar Cardona (Bellevue, WA); Alexander Malysh (Bothell, WA); Chenyan Liu (Redmond, WA); Tom Xanthos (Redmond, WA)
Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
G06F11/3075G06F11/301G06F11/3082G06F11/3409G06F11/3452G06N20/00G06F11/3419G06F11/3476
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,229,031
App. No.
17/807,197
Filed
Jun 16, 2022
Granted
Feb 18, 2025
Kind
B2
Art Unit
2113
USPC
714/37
Abstract

Techniques for aggregating execution metrics during virtualization are provided. In some embodiments, aggregated execution metrics (e.g., average execution time) are generated and stored for different types of supported virtualization service operations executed by a virtualization service provider (VSP) in a virtualization stack handling requests from a virtualization service client (VSC) running in a computer system emulator. For example, execution calls to the VSP are intercepted, and execution metrics for a triggered virtualization service operation are generated and aggregated into an aggregation entry that represents aggregated performance (e.g., average execution time) of all instances of the virtualization service operation that were completed during an interval (e.g., 1 hour). Aggregated execution metrics may be stored for any number of historical intervals. Since aggregated execution metrics are effectively compressed, diagnostic information about a variety of different types of virtualization service operations may be stored and used to diagnose and repair underperforming components.

Claims (37)

1. A computer system comprising:

a processor; and

memory comprising computer executable instructions that, when executed, perform operations to:

intercept an execution call from a virtualization service client running in a second partition to a virtualization service provider running in a first partition, wherein the virtualization service client runs in a computer system emulator on a host machine and the execution call requests access to resources of the host computer for the computer system emulator, and wherein the virtualization service provider is provisioned with an execution metrics tool;

determine, using the execution metrics tool, an execution metric representing performance of the virtualization service provider in executing a virtualization service operation triggered by the execution call;

aggregate, using the execution metrics tool, the execution metric into an aggregation entry based on an operation type of the virtualization service operation, the aggregation entry representing aggregated performance of instances of the virtualization service operation that were completed during a current interval; and

store the aggregation entry in a data structure comprising stored execution metrics for a previous interval.

2. The computer system of claim 1 , wherein storing the aggregation entry in the data structure comprises allocating the aggregation entry in the data structure in response to detecting completion of a first instance of the instances of the virtualization service operation.

3. The computer system of claim 1 , wherein the aggregation entry stores an execution count and an average execution duration of the instances of the virtualization service operation that were completed during the current interval.

4. The computer system of claim 1 , wherein the execution metrics tool is used to allocate the aggregation entry to the data structure.

5. The computer system of claim 1 , the memory further comprising a machine learning model configured to detect anomalous performance based on an encoded representation of the aggregated performance of the instances of the virtualization service operation that were completed during the current interval.

6. The computer system of claim 1 , wherein the virtualization service client is configured to redirect device requests to the virtualization service provider executing in a management operating system executing in the first partition.

7. The computer system of claim 1 , wherein the virtualization service client is configured to utilize hardware resources provided by the virtualization service provider.

8. The computer system of claim 1 , wherein the virtualization service client is configured to communicate with the virtualization service provider to satisfy device input/output requests of the second partition.

9. A method comprising:

intercepting an execution call from a virtualization service client running in a child partition to a virtualization service provider running in a parent partition, wherein the virtualization service client runs in a computer system emulator on a host machine and the execution call requests access to resources of the host computer for the computer system emulator, and wherein the virtualization service provider is provisioned with an execution metrics tool;

determining, using the execution metrics tool, an execution metric representing performance of the virtualization service provider in executing a virtualization service operation triggered by the execution call;

aggregating, using the execution metrics tool, the execution metric into an aggregation entry based on an operation type of the virtualization service operation, the aggregation entry representing aggregated performance of instances of the virtualization service operation that were completed during an interval; and

detecting anomalous behavior of the virtualization service operation based on the aggregation entry.

10. The method of claim 9 , further comprising allocating the aggregation entry in a data structure in response to detecting completion of a first instance of the instances of the virtualization service operation.

11. The method of claim 9 , wherein the aggregation entry stores an execution count and an average execution duration of the instances of the virtualization service operation that were completed during the interval.

12. The method of claim 9 , wherein the execution metrics tool is further used for intercepting the execution call.

13. The method of claim 9 , wherein the virtualization service client is configured to redirect device requests to the virtualization service provider executing in a management operating system executing in the parent partition.

14. The method of claim 9 , wherein the virtualization service client is configured to utilize hardware resources provided by the virtualization service provider.

15. A device comprising:

a processor; and

memory comprising computer executable instructions that, when executed, perform operations comprising:

intercepting an execution call from a virtualization service client running in a second partition to a virtualization service provider running in a first partition, wherein the virtualization service client runs in a computer system emulator on a host machine and the execution call requests access to resources of the host computer for the computer system emulator, and wherein the virtualization service provider is provisioned with an execution metrics tool;

determining, using the execution metrics tool, an execution metric representing performance of the virtualization service provider in executing a virtualization service operation triggered by the execution call;

aggregating, using the execution metrics tool, the execution metric into an aggregation entry based on an operation type of the virtualization service operation, the aggregation entry representing aggregated performance of instances of the virtualization service operation that were completed during a current interval; and

storing the aggregation entry in a data structure comprising stored execution metrics for a previous interval.

16. The device of claim 15 , wherein storing the aggregation entry in the data structure comprises allocating the aggregation entry in the data structure in response to detecting completion of a first instance of the instances of the virtualization service operation.

17. The device of claim 15 , wherein the aggregation entry stores at least one of an execution count and an average execution duration of the instances of the virtualization service operation that were completed during the current interval.

18. The device of claim 15 , the operations further comprising:

detecting anomalous behavior of the virtualization service operation based on the aggregation entry.

19. The device of claim 18 , wherein the anomalous behavior is detected based on an encoded representation of the aggregated performance of the instances of the virtualization service operation that were completed during the current interval.

20. The device of claim 19 , wherein the anomalous behavior is detected by a machine learning model that is trained to detect anomalous behavior based on manually tagged instances of anomalous behavior.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 25, 2022
From: CARDONA, OMAR; GOSWAMI, SATISH; LIU, CHENYAN; MALYSH, ALEXANDER; SRINIVASAN, HARISH; XANTHOS, TOM
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 060610/0801 →
Continuity (1)
Related Publication 20230409458A1 · Dec 21, 2023
References Cited (36)
US 9081829B2 · Bhave et al. · 2015 [cited by applicant]
US 9172608B2 · Zeyliger et al. · 2015 [cited by applicant]
US 9507682B2 · Buxbaum et al. · 2016 [cited by applicant]
US 9614745B2 · Mathur et al. · 2017 [cited by applicant]
US 10305758B1 · Bhide · 2019 [cited by examiner]
US 11375012B2 · Alshawabkeh · 2022 [cited by applicant]
US 11900169B1 · Dhandhania · 2024 [cited by examiner]
US 12093709B1 · Chraim · 2024 [cited by applicant]
US 20080320122A1 · Houlihan · 2008 [cited by examiner]
US 20090132602A1 · Brown · 2009 [cited by examiner]
US 20110246171A1 · Cleeton et al. · 2011 [cited by applicant]
US 20120216207A1 · Krishnakumar · 2012 [cited by examiner]
US 20130013953A1 · Eck et al. · 2013 [cited by applicant]
US 20140215464A1 · Birke · 2014 [cited by examiner]
US 20140280970A1 · Pijewski · 2014 [cited by applicant]
US 20140337429A1 · Asenjo et al. · 2014 [cited by applicant]
US 20150121365A1 · Nowatzki · 2015 [cited by applicant]
US 20150195182A1 · Mathur · 2015 [cited by examiner]
US 20160034295A1 · Cochran · 2016 [cited by applicant]
US 20160266920A1 · Atanasov · 2016 [cited by applicant]
US 20160323377A1 · Einkauf et al. · 2016 [cited by applicant]
US 20170373937A1 · Hovhannisyan et al. · 2017 [cited by applicant]
US 20180081704A1 · Hirt · 2018 [cited by examiner]
US 20190026210A1 · Buxbaum · 2019 [cited by examiner]
US 20190132190A1 · Jeyakumar · 2019 [cited by applicant]
US 20210271506A1 · Ganguly · 2021 [cited by applicant]
US 20220382610A1 · Miller · 2022 [cited by examiner]
US 20230409361A1 · Goswami · 2023 [cited by applicant]
US 20230409455A1 · Goswami · 2023 [cited by applicant]
“Google Cloud Metrics”, Retrieved from: https://web.archive.org/web/20220213104810/https://cloud.google.com/monitoring/api/metrics_gcp, Feb. 13, 2022, 221 Pages. [cited by applicant]
“Poor Performance While Deploying Virtual Machines over the Network (2052302)”, Retrieved from: https://web.archive.org/web/20220127195548/https://kb.vmware.com/s/article/2052302, Jan. 27, 2022, 5 Pages. [cited by applicant]
“Using Performance Hub to Analyze Database Performance”, Retrieved from: https://web.archive.org/web/20210516002854/https:/docs.oracle.com/en-us/iaas/Content/Database/Tasks/perfhub.htm, May 16, 2021, 4 Pages. [cited by applicant]
“International Search Report and Written Opinion Issued in PCT Application No. PCT/US23/022292”, Mailed Date: Aug. 18, 2023, 13 Pages. [cited by applicant]
“International Search Report and Written Opinion Issued in PCT Application No. PCT/US23/023288”, Mailed Date: Aug. 30, 2023, 13 Pages. [cited by applicant]
“International Search Report and Written Opinion issued in PCT Application No. PCT/US23/022291”, Mailed Date: Sep. 8, 2023, 12 Pages. [cited by applicant]
Non-Final Office Action mailed on Dec. 20, 2024, in U.S. Appl. No. 17/807,205, 15 pages. [cited by applicant]