IP Library Granted Patent US 12,265,815
Granted Patent B2
US 12,265,815 · App. 17/727,534 · Granted Apr 1, 2025

Conditional update recommendations based on local system state

Inventors: William Trevor King (Olympia, WA); Douglas Richard Hellmann (Atlanta, GA); Scott C. Dodson (Raleigh, NC); Benjamin Michael Parees (Raleigh, NC); Lalatendu Shishusankar Mohanty (Boston, MA); Vadim Pavlovich Rutkovsky (Brno, CZ)
Assignee: Red Hat, Inc.
G06F8/65G06F8/656G06F16/212G06Q30/02H04L9/40
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,265,815
App. No.
17/727,534
Granted
Apr 1, 2025
Kind
B2
Abstract

Processing logic may obtain a version of software that is running on a client. Processing logic may obtain a second version of the software which is an update to the version of software that is running on the client. Processing logic may send the second version to the client with one or more conditions that are associated with the second version, for the client to determine whether or not to update to the second version.

Claims (31)

1. A method comprising:

obtaining a current version of software that is running on a client, wherein the client comprises software components that are hosted on a plurality of network nodes of a platform provider, the plurality of network nodes forming a cluster;

obtaining a graph comprising a plurality of nodes joined by respective one or more edges, wherein each node is associated with a respective version of the software and each of the respective one or more edges is associated with one or more conditions that are associated with migrating to the respective version of the software, wherein one of the plurality of nodes is associated with a second version of the software which is an update to the current version of software that is running on the client; and

sending to the client over a network, by a processing device, data that is representative of the graph comprising the plurality of nodes and edges, the graph including the one of the plurality of nodes that is associated with the second version and the respective edge that is associated with the one or more conditions that are associated with migrating to the second version from the current version, wherein the data comprises the one or more conditions and the one or more conditions includes a risk condition associated with a number of network nodes that the client is hosted on and with the platform provider, for the client to traverse the graph and to determine, based on the number of network nodes in the cluster that the client is hosted on, and the platform provider that the client is hosted on, whether to update to the second version.

2. The method of claim 1 , wherein the one or more conditions indicate a risk of updating to the second version if the one or more conditions are matched to the client.

3. The method of claim 1 , wherein the one or more conditions indicate a benefit of updating to the second version if the one or more conditions are matched to the client.

4. The method of claim 1 , further comprising sending the second version to the client with one or more additional versions and one or more additional conditions that are associated with the one or more additional versions.

5. The method of claim 1 , wherein the one or more conditions includes a network node ID of the client.

6. The method of claim 1 , wherein the one or more conditions includes a static attribute of the client.

7. The method of claim 1 , wherein the one or more conditions includes a dynamic attribute of the client.

8. The method of claim 1 , wherein the one or more conditions includes a CPU architecture of the client.

9. The method of claim 1 , wherein the one or more conditions are set through user input.

10. The method of claim 1 , wherein the client does not share client attributes with the processing device.

11. The method of claim 1 , wherein the client updates the software to the second version, in response to the one or more conditions not being matched to the client.

12. The method of claim 1 , wherein, in response to the one or more conditions being matched to the client, the client sends a notification to a user and receives a decision by the user that indicates whether the client is to perform an update to the second version.

13. A system comprising:

a memory; and

a processing device operatively coupled to the memory, the processing device to:

obtain a current version of software that is running on a client, wherein the client comprises software components that are hosted on a plurality of network nodes of a platform provider, the plurality of network nodes forming a cluster;

obtain a graph comprising a plurality of nodes joined by respective one or more edges, wherein each node is associated with a respective version of the software and each of the respective one or more edges is associated with one or more conditions that are associated with migrating to the respective version of the software, wherein one of the plurality of nodes is associated with a second version of the software which is an update to the version of software that is running on the client; and

send to the client over a network, by the processing device, data that is representative of the graph comprising the plurality of nodes and edges, the graph including the one of the plurality of nodes that is associated with the second version and the respective edge that is associated with the one or more conditions that are associated with migrating to the second version from the current version, wherein the data comprises the one or more conditions and the one or more conditions includes a risk condition associated with a number of network nodes that the client is hosted on and with the platform provider, for the client to traverse the graph and to determine, based on the number of network nodes in the cluster and the platform provider that the client is hosted on, whether to update to the second version.

14. The system of claim 13 , wherein the one or more conditions indicate a risk of updating to the second version if the one or more conditions are matched to the client.

15. The system of claim 13 , wherein the one or more conditions indicate a benefit of updating to the second version if the one or more conditions are matched to the client.

16. The system of claim 13 , wherein the processing device is further to configure the apparatus to send the second version to the client with one or more additional versions and one or more additional conditions that are associated with the one or more additional versions.

17. A non-transitory computer-readable storage medium including instructions that, when executed by a processing device, cause the processing device to:

obtain a current version of software that is running on a client, wherein the client comprises software components that are hosted on a plurality of network nodes of a platform provider, the plurality of network nodes forming a cluster;

obtain a graph comprising a plurality of nodes joined by respective one or more edges, wherein each node is associated with a respective version of the software and each of the respective one or more edges is associated with one or more conditions that are associated with migrating to the respective version of the software, wherein one of the plurality of nodes is associated with a second version of the software which is an update to the current version of software that is running on the client; and

send to the client over a network, by the processing device, data that is representative of the graph comprising the plurality of nodes and edges, the graph including the one of the plurality of nodes that is associated with the second version and the respective edge that is associated with the one or more conditions that are associated with migrating to the second version from the current version, wherein the data comprises the one or more conditions and the one or more conditions includes a risk condition associated with a number of network nodes that the client is hosted on and with the platform provider, for the client to traverse the graph and to determine, based on the number of network nodes in the cluster and the platform provider that the client is hosted on, whether to update to the second version.

18. The non-transitory computer-readable storage medium of claim 17 , wherein the one or more conditions indicate a risk of updating to the second version if the one or more conditions are matched to the client.

19. The non-transitory computer-readable storage medium of claim 17 , wherein the one or more conditions indicate a benefit of updating to the second version if the one or more conditions are matched to the client.

20. The non-transitory computer-readable storage medium of claim 17 , wherein the processing device is further to send the second version to the client with one or more additional versions and one or more additional conditions that are associated with the one or more additional versions.

Assignments (2)
CHANGE OF NAME Recorded Mar 3, 2026
From: RED HAT, INC.
To: RED HAT, LLC
Reel/Frame 074913/0759 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 22, 2022
From: KING, WILLIAM T.; HELLMANN, DOUGLAS R.; DODSON, SCOTT C.; PAREES, BENJAMIN M.; MOHANTY, LALATENDU S.; RUTKOVSKY, VADIM P.
To: RED HAT, INC.
Reel/Frame 059686/0440 →
Continuity (1)
Related Publication 20230342140A1 · Oct 26, 2023
References Cited (20)
US 7191435B2 · Lau et al. · 2007 [cited by applicant]
US 8209564B2 · Vidal et al. · 2012 [cited by applicant]
US 8402452B2 · Baratti et al. · 2013 [cited by applicant]
US 10310842B1 · Miller et al. · 2019 [cited by applicant]
US 10579371B2 · Agarwal et al. · 2020 [cited by applicant]
US 11029938B1 · Sethi et al. · 2021 [cited by applicant]
US 11038784B2 · Nickolov et al. · 2021 [cited by applicant]
US 11237818B1 · Bross · 2022 [cited by examiner]
US 20050132350A1 · Markley · 2005 [cited by examiner]
US 20050273779A1 · Cheng · 2005 [cited by examiner]
US 20120253990A1 · Skala · 2012 [cited by examiner]
US 20140101647A1 · Huang · 2014 [cited by applicant]
US 20150143355A1 · Tingstrom · 2015 [cited by examiner]
US 20170255885A1 · Whiteside · 2017 [cited by examiner]
US 20180351991A1 · Jones · 2018 [cited by examiner]
US 20210011700A1 · Aderton et al. · 2021 [cited by applicant]
US 20210034776A1 · Landman · 2021 [cited by examiner]
Ludwig et al., CN 104756076, (translation), Feb. 22, 2019, 14 pgs <CN_104756076.pdf>. [cited by examiner]
Kelly NP, CN 104380302, (translation), Oct. 20, 2017, 12 pgs <CN_104380302.pdf>. [cited by examiner]
JP 6667430, (translation), Mar. 18, 2020, 23 pgs <JP_6667430.pdf>. [cited by examiner]