IP Library › Granted Patent US 12,379,914
Granted Patent B2
US 12,379,914 · App. 17/852,043 · Granted Aug 5, 2025

Controlling operating system upgrades based on usage data of client device

Inventors: Wei Huang (Redmond, WA); ZhongYuan Li (Redmond, WA); Brian A. Pokrifka (Redmond, WA); William P. Donkervoet (Mandeville, LA); Carla M. DiFranco (Seattle, WA); Christian A. Hernandez Sanchez (Seattle, WA)
Assignee: Microsoft Technology Licensing, LLC
G06F8/65G06F11/0706G06F11/076G06F11/079
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,379,914
App. No.
17/852,043
Granted
Aug 5, 2025
Kind
B2
Abstract

Systems and methods for selectively allowing or blocking operating system upgrades based on probabilities that the upgraded operating system may result in a fault condition. In an example, the technology may perform a method that includes receiving usage data from a client device to evaluate providing an operating system upgrade for the client device; accessing a root-cause factor that is likely to lead to a fault condition with the operating system upgrade; based on the usage data, identifying a fault probability for the root-cause factor; comparing the fault probability to a fault threshold for the root-cause factor; based on the comparison of the fault probability and the fault threshold, performing one of: blocking the operating system upgrade from being installed on the client device; or providing the operating system upgrade for installation on the client device.

Claims (51)

1. A system for providing operating system updates, the system comprising:

at least one processor; and

memory storing instructions that, when executed by the at least one processor cause the system to perform operations comprising:

receiving application launch data from a client device to evaluate providing an operating system upgrade to the client device, the application launch data including a frequency of launches of a particular application over a pre-determined time period that occurs before the operating system upgrade is provided to the client device;

accessing a set of root-cause factors that are likely to lead to a fault condition with the operating system upgrade, the set of root-cause factors including at least a first root-cause factor and a second root-cause factor;

based on the application launch data, identifying a first fault probability for the first root-cause factor and a second fault probability for the second root-cause factor;

comparing the first fault probability to a first fault threshold for the first root-cause factor;

comparing the second fault probability to a second fault threshold for the second root-cause factor;

based on the comparison of the first fault probability and the first fault threshold and the comparison of the second fault probability and the second fault threshold, performing one of:

blocking the operating system upgrade from being installed on the client device; or

providing the operating system upgrade for installation on the client device.

2. The system of claim 1 , wherein:

the first fault probability exceeds the first fault threshold;

the second fault probability exceeds the second fault threshold; and

the operating system upgrade is blocked.

3. The system of claim 1 , wherein:

the first fault probability exceeds the first fault threshold;

the second fault probability does not exceed the second fault threshold; and

the operating system upgrade is blocked.

4. The system of claim 1 , wherein:

the first fault probability exceeds the first fault threshold;

the second fault probability does not exceed the second fault threshold; and

the operating system upgrade is provided for installation.

5. The system of claim 1 , wherein the operating system upgrade is blocked and the operations further comprise transmitting mitigation data to provide actions that can be performed to allow for the operating system upgrade to be provided.

6. The system of claim 1 , wherein the operating system upgrade is provided for installation and the operations further comprise providing a software patch with a trigger rule including a trigger condition that when satisfied by an operation of the client device causes the software patch to be applied.

7. The system of claim 6 , wherein the trigger condition is a launch of an application.

8. The system of claim 7 , wherein the software patch is configured to alter at least one of the operating system or the application.

9. A computer-implemented method for providing operating system updates, the method comprising:

receiving application launch data from a client device to evaluate providing an operating system upgrade to the client device, the application launch data including a frequency of launches of a particular application over a pre-determined time period that occurs before the operating system upgrade is provided to the client device;

accessing a root-cause factor that is likely to lead to a fault condition with the operating system upgrade;

based on the application launch data, identifying a fault probability for the root-cause factor;

comparing the fault probability to a fault threshold for the root-cause factor;

based on the comparison of the fault probability and the fault threshold, performing one of:

blocking the operating system upgrade from being installed on the client device; or

providing the operating system upgrade for installation on the client device.

10. The method of claim 9 , wherein the fault probability exceeds the fault threshold and the operating system upgrade is blocked.

11. The method of claim 9 , wherein the fault probability does not exceed the fault threshold and the operating system upgrade is provided for installation.

12. The method of claim 9 , wherein the operating system upgrade is blocked and the method further comprises transmitting mitigation data to provide actions that can be performed to allow for the operating system upgrade to be provided.

13. The method of claim 9 , wherein the operating system upgrade is provided for installation and the method further comprises providing a software patch with a trigger rule including a condition that when satisfied by an operation of the client device causes the software patch to be applied.

14. The method of claim 13 , wherein the condition is a launch of an application.

15. The method of claim 14 , wherein the software patch is configured to alter the application.

16. A computer-implemented method for providing operating system updates, the method comprising:

receiving application launch data from a client device to evaluate providing an operating system upgrade to the client device, the application launch data indicating a launch frequency for a particular application installed on the client device, the launch frequency comprising a frequency of launches that occur before the operating system upgrade is provided to the client device;

accessing a root-cause factor that is likely to lead to a fault condition with the operating system upgrade, wherein the root-cause factor relates to the particular application;

based on the application launch data, identifying a launch frequency for the particular application over a pre-determined time period;

comparing the launch frequency to a fault threshold for the root-cause factor;

based on the comparison of the launch frequency and the fault threshold, performing one of:

blocking the operating system upgrade from being installed on the client device; or

providing the operating system upgrade for installation on the client device.

17. The method of claim 16 , wherein the launch frequency exceeds the fault threshold, and the operating system upgrade is blocked.

18. The method of claim 16 , wherein the launch frequency does not exceed the fault threshold, and the operating system upgrade is provided for installation.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2025
From: POKRIFKA, BRIAN A.; DONKERVOET, WILLIAM P.; DIFRANCO, CARLA M.; HERNANDEZ SANCHEZ, CHRISTIAN A.
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 071364/0841 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 28, 2022
From: HUANG, WEI; LI, ZHONGYUAN
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 060341/0756 →
Continuity (1)
Related Publication 20230418584A1 · Dec 28, 2023
References Cited (23)
US 6038586A · Frye · 2000 [cited by examiner]
US 7735138B2 · Zhao · 2010 [cited by applicant]
US 9058251B1 · Dorwin · 2015 [cited by examiner]
US 11106520B2 · Abdelhalim et al. · 2021 [cited by applicant]
US 11782785B2 · Sethi · 2023 [cited by examiner]
US 12032461B2 · Tan · 2024 [cited by examiner]
US 20160266890A1 · Aleksandrov · 2016 [cited by examiner]
US 20160294940A1 · Ma · 2016 [cited by examiner]
US 20180013912A1 · Melo · 2018 [cited by examiner]
US 20180322290A1 · Anglin · 2018 [cited by examiner]
US 20190095059A1 · Wang · 2019 [cited by examiner]
US 20190369977A1 · Wiswall · 2019 [cited by examiner]
US 20190384589A1 · Du · 2019 [cited by examiner]
US 20200204468A1 · Nickolov · 2020 [cited by examiner]
US 20200241868A1 · Murthy · 2020 [cited by examiner]
US 20200334102A1 · Abdelhalim · 2020 [cited by examiner]
US 20240095111A1 · Chawla · 2024 [cited by examiner]
IN 201741031070A · 2019 [cited by applicant]
“Troubleshooting: Handling Crashes and Boot Failures”, Retrieved from: https://www.oreilly.com/library/view/essential-system-administration/0596003439/ch04s04.html, May 10, 2022, 12 Pages. [cited by applicant]
Fisher, Tim, “How to Prevent Windows Updates from Crashing Your PC”, Retrieved from: https://www.lifewire.com/how-to-prevent-windows-updates-from-crashing-your-pc-2625776, Apr. 13, 2021, 10 Pages. [cited by applicant]
Lai, Lillian, “[Fixed] Windows 10 Crashing Issues—2022 Guide”, Retrieved from: https://www.drivereasy.com/knowledge/how-to-fix-windows-10-crashing-issues-easily/, Oct. 27, 2021, 28 Pages. [cited by applicant]
Parmar, Mayank, “Microsoft Warns Users: Uninstall Windows 11 KB5012643 if it Crashes Your Apps”, Retrieved from: https://www.windowslatest.com/2022/05/04/microsoft-warns-users-uninstall-windows-11-kb5012643-if-it-crashe… [cited by applicant]
“International Search Report and Written Opinion Issued in PCT Application No. PCT/US23/022183”, Mailed Date: Sep. 15, 2023, 16 Pages. [cited by applicant]