IP Library Granted Patent US 12,259,787
Granted Patent B1
US 12,259,787 · App. 18/362,350 · Granted Mar 25, 2025

Monitoring automated virtual machine reclamation

Inventors: Ahmad Ali Shaik (Austin, TX); Arturo Zuniga (San Antonio, TX)
Assignee: United Services Automobile Association (USAA)
G06F11/1435G06F11/079G06F11/1471
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,259,787
App. No.
18/362,350
Granted
Mar 25, 2025
Kind
B1
Abstract

Aspects of the present disclosure provide a monitoring algorithm that ensures that each step of an automated virtual machine reclamation process executes correctly before moving on to the next step. After each step of the process, some implementations can determine whether the resulting data is correct. If the resulting data is incorrect, some implementations can initially revert any fields updated by the process to their correct value. Some implementations can further decide whether to resubmit the virtual machine for reclamation automatically, or queue it for manual review based on, for example, multiple or repeated failures, server or data center failures, etc. Thus, some implementations can not only automate each step of the reclamation process, but also provide process evaluation and error detection for the reclamation process.

Claims (67)

1. A method for monitoring automated virtual machine reclamation, the method comprising:

automatically determining that a step, for a virtual machine of multiple virtual machines, of a virtual machine reclamation process has failed by analyzing metadata, associated with the virtual machine, resulting from the step, wherein the virtual machine reclamation process is performed for the multiple virtual machines which are stored on respective computing devices associated with respective users assigned to the multiple virtual machines, the virtual machine reclamation process including:

placing the multiple virtual machines in maintenance mode,

tagging the multiple virtual machines for removal,

unassigning the respective users assigned to the multiple virtual machines,

disabling the multiple virtual machines, and

facilitating deletion of the multiple virtual machines from the respective computing devices;

automatically reverting at least some of the metadata associated with the virtual machine to a previous state, the previous state being associated with the step having not been performed; and

automatically resubmitting the virtual machine for reclamation including attempting to reperform the step.

2. The method of claim 1 , further comprising:

based on determining that the step failed for the virtual machine, generating a log indicating that the step failed for the virtual machine.

3. The method of claim 1 , further comprising:

after attempting to reperform the step, determining that the step failed; and

placing the virtual machine in a queue for manual review.

4. The method of claim 1 , further comprising:

after determining that the step failed, determining a type of failure; and

based on the type of failure, placing the virtual machine in a queue for manual review.

5. The method of claim 4 , wherein the type of failure is an infrastructure outage.

6. The method of claim 1 , further comprising:

after attempting to reperform the step, determining that the step failed again;

after determining that the step failed again, determining a type of failure; and

based on the type of failure, placing the virtual machine in a queue for manual review.

7. The method of claim 1 , further comprising:

after the step, analyzing a log of multiple failures in reclaiming the virtual machine; and

based on a number of the multiple failures exceeding a threshold, placing the virtual machine in a queue for manual review.

8. The method of claim 1 , wherein the multiple virtual machines are automatically selected for reclamation by applying one or more rules, the one or more rules being applied to one or more of: a) inactivity data with respect to the respective users of the multiple virtual machines, b) availability, of the respective users, to use the multiple virtual machines, or c) both.

9. The method of claim 1 , wherein the virtual machine reclamation process further includes:

facilitating deletion of the multiple virtual machines from a computing system providing the multiple virtual machines, the computing system being associated with a first entity.

10. The method of claim 9 , wherein the virtual machine reclamation process further includes:

facilitating deletion of the multiple virtual machines from one or more other computing systems associated with one or more second entities other than the first entity.

11. The method of claim 9 , wherein the multiple virtual machines are automatically identified as being eligible to be reclaimed by analyzing contractual obligations and legal holds associated with the first entity.

12. A non-transitory computer-readable storage medium storing instructions that, when executed by a computing system, cause the computing system to perform a process for monitoring automated virtual machine reclamation, the process comprising:

automatically determining that a step, for a virtual machine of multiple virtual machines, of a virtual machine reclamation process has failed by analyzing metadata, associated with the virtual machine, resulting from the step, wherein the virtual machine reclamation process is performed for the multiple virtual machines, stored on respective computing devices associated with respective users assigned to the multiple virtual machines, the virtual machine reclamation process including:

placing the multiple virtual machines in maintenance mode,

tagging the multiple virtual machines for removal,

unassigning the respective users assigned to the multiple virtual machines,

disabling the multiple virtual machines, and

facilitating deletion of the multiple virtual machines from the respective computing devices;

automatically reverting at least some of the metadata associated with the virtual machine to a previous state, the previous state being associated with the step having not been performed; and

automatically resubmitting the virtual machine for reclamation including attempting to reperform the step.

13. The non-transitory computer-readable storage medium of claim 12 , wherein the process further comprises:

based on determining that the step failed for the virtual machine, generating a log indicating that the step failed for the virtual machine.

14. The non-transitory computer-readable storage medium of claim 12 , wherein the process further comprises:

after attempting to reperform the step, determining that the step failed; and placing the virtual machine in a queue for manual review.

15. The non-transitory computer-readable storage medium of claim 12 , wherein the process further comprises:

after determining that the step failed, determining a type of failure; and based on the type of failure, placing the virtual machine in a queue for manual review.

16. The non-transitory computer-readable storage medium of claim 15 , wherein the type of failure is an infrastructure outage.

17. A computing system for monitoring automated virtual machine reclamation, the computing system comprising:

one or more processors; and

one or more memories storing instructions that, when executed by the one or more processors, cause the computing system to perform a process comprising:

automatically determining that a step, for a virtual machine of multiple virtual machines, of a virtual machine reclamation process has failed by analyzing metadata, associated with the virtual machine, resulting from the step, wherein the virtual machine reclamation process is performed for the multiple virtual machines, stored on respective computing devices associated with respective users assigned to the multiple virtual machines, the virtual machine reclamation process including:

placing the multiple virtual machines in maintenance mode,

tagging the multiple virtual machines for removal,

unassigning the respective users assigned to the multiple virtual machines,

disabling the multiple virtual machines, and

facilitating deletion of the multiple virtual machines from the respective computing devices;

automatically reverting at least some of the metadata associated with the virtual machine to a previous state, the previous state being associated with the step having not been performed; and

automatically resubmitting the virtual machine for reclamation including attempting to reperform the step.

18. The computing system of claim 17 , wherein the process further comprises:

after attempting to reperform the step, determining that the step failed again;

after determining that the step failed again, determining a type of failure; and

based on the type of failure, placing the virtual machine in a queue for manual review.

19. The computing system of claim 17 , wherein the process further comprises:

after the step, analyzing a log of multiple failures in reclaiming the virtual machine; and

based on a number of the multiple failures exceeding a threshold, placing the virtual machine in a queue for manual review.

20. The computing system of claim 17 , wherein the virtual machine reclamation process further includes:

facilitating deletion of the multiple virtual machines from a computing system providing the multiple virtual machines.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 18, 2025
From: UIPCO, LLC
To: UNITED SERVICES AUTOMOBILE ASSOCIATION (USAA)
Reel/Frame 070240/0186 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 31, 2023
From: SHAIK, AHMAD ALI; ZUNIGA, ARTURO
To: UIPCO, LLC
Reel/Frame 064437/0330 →
References Cited (15)
US 8219769B1 · Wilk · 2012 [cited by examiner]
US 8479194B2 · Rangegowda · 2013 [cited by examiner]
US 10379922B1 · Bell · 2019 [cited by examiner]
US 11621882B1 · Wilkinson et al. · 2023 [cited by applicant]
US 11740969B2 · Moorthy · 2023 [cited by examiner]
US 20060188011A1 · Goldszmidt et al. · 2006 [cited by applicant]
US 20160196158A1 · Nipane · 2016 [cited by examiner]
US 20160261523A1 · Razack et al. · 2016 [cited by applicant]
US 20170147690A1 · Mastrio · 2017 [cited by applicant]
US 20170364404A1 · Yang et al. · 2017 [cited by applicant]
US 20190372900A1 · Chen et al. · 2019 [cited by applicant]
US 20210019406A1 · Chistyakov et al. · 2021 [cited by applicant]
US 20210181739A1 · Chen et al. · 2021 [cited by applicant]
US 20230120629A1 · Cui et al. · 2023 [cited by applicant]
US 20230294620A1 · Lowe et al. · 2023 [cited by applicant]