IP Library Granted Patent US 12,652,221
Granted Patent B2
US 12,652,221 · App. 18/886,762 · Granted Jun 9, 2026

Systems and methods for updating the configuration of a cloud service

Inventors: Craig M. Fulton (Clearwater, FL); Stephen Burgess (St. Petersburg, FL); Arnold Bellini, III (Tampa, FL)
Assignee: ConnectWise, LLC
H04L41/0895G06F8/65H04L41/0631H04L41/0645H04L41/0686H04L41/069H04L41/0816H04L41/40H04L41/5025H04L41/5061H04L41/5074H04L41/5093H04L41/5096H04L43/0817H04L43/20H04L67/34H04L41/149
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,652,221
App. No.
18/886,762
Granted
Jun 9, 2026
Kind
B2
Abstract

The present disclosure facilitates improving the operation of a cloud service by updating its configuration information and its resource requirements. The resource utilization of the cloud service can be monitored, and a decision logic module can determine whether action is required. When action is required, an update can be prepared and applied, and notifications can be generated about the condition and its resolution. Resolutions can require correlation of multiple cloud services to provide real-time access to information that is not otherwise available to a single entity. Resolutions can be learned and predicted in a number of ways using a predictive engine.

Claims (76)

1 . A method for improving performance of a cloud service, comprising:

receiving, by a service configuration system, state information and an event stream from a cloud service;

canonically transforming, by the service configuration system, the state information and event stream to a filtered event stream;

querying, by the service configuration system, a database of known problems and solutions using the filtered event stream, thereby generating a query result;

inputting, by the service configuration system, the filtered event stream into a predictive engine;

generating, by the predictive engine, a confidence estimate of a predicted repair;

determining, by the service configuration system, that the confidence estimate exceeds a threshold;

generating, by the service configuration system, a machine-readable script based on the predicted repair when the confidence estimate exceeds the threshold;

generating, by the service configuration system, a human-readable description of the predicted repair;

applying, by the service configuration system, the machine-readable script to the cloud service to resolve an operational issue; and

creating or updating, by the service configuration system, an entry in a customer support system with the human-readable description using an application programming interface (API).

2 . The method of claim 1 , further comprising:

training the predictive engine by:

comparing, by the service configuration system, an output from the database with the predicted repair from the predictive engine;

generating, by the service configuration system, a correction for the predictive engine based on the comparison.

3 . The method of claim 2 , further comprising:

updating the prediction engine using the correction.

4 . The method of claim 1 , further comprising:

canonically transforming, by the service configuration system, resource utilization to the filtered event stream.

5 . The method of claim 1 , further comprising:

identifying, based on the predicted repair, an available resource to perform the predicted repair; and

assign the predicted repair to the available resource.

6 . The method of claim 1 , further comprising:

generate, at a project planning module, automatically, based on the predicted repair, the predicted repair comprising a plurality of tasks, a project plan.

7 . The method of claim 1 , further comprising:

generating, at a ticketing system, based on the predicted repair, a service ticket for the ticketing system.

8 . A system for improving performance of a cloud service, comprising:

a service configuration system, executing on at least one processor of a server, the service configuration system configured to execute a method comprising:

receiving state information and an event stream from a cloud service;

canonically transforming the state information and event stream to a filtered event stream;

querying a database of known problems and solutions using the filtered event stream, thereby generating a query result; inputting the filtered event stream into a predictive engine;

generating, by the predictive engine, a predicted repair from the filtered event stream;

generating, by the predictive engine, a confidence estimate of the predicted repair;

determining, by the service configuration system, that the confidence estimate exceeds a threshold; generating, by the service configuration system, a machine-readable script based on the predicted repair when the confidence estimate exceeds the threshold;

generating, by the service configuration system, a human-readable description of the predicted repair;

applying, by the service configuration system, the machine-readable script to the cloud service to resolve an operational issue; and creating or updating, by the service configuration system, an entry in a customer support system with the human-readable description using an application programming interface (API).

9 . The system of claim 8 , wherein the method executed by the service configuration system further comprises:

training the predictive engine by:

comparing, by the service configuration system, an output from the database with the predicted repair from the predictive engine;

generating, by the service configuration system, a correction for the predictive engine based on the comparison.

10 . The system of claim 9 , wherein the method executed by the service configuration system further comprises:

updating the prediction engine using the correction.

11 . The system of claim 8 , wherein the method executed by the service configuration system further comprises:

canonically transforming resource utilization to the filtered event stream.

12 . The system of claim 8 , wherein the method executed by the service configuration system further comprises:

identifying, based on the predicted repair, an available resource to perform the predicted repair; and

assign the predicted repair to the available resource.

13 . The system of claim 8 , further comprising:

a project planning module executing on at least one processor of the server, the project planning module configured to generate automatically, based on the predicted repair, the predicted repair comprising a plurality of tasks, a project plan.

14 . The system of claim 8 , further comprising:

a ticketing system executing on at least one processor of the server, the ticketing system configured to generate, based on the predicted repair, a service ticket for the ticketing system.

15 . A computer program product for improving performance of a cloud service, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a server to cause the server to perform a method comprising:

receiving, by a service configuration system, state information and an event stream from a cloud service;

canonically transforming, by the service configuration system, the state information and event stream to a filtered event stream;

querying, by the service configuration system, a database of known problems and solutions using the filtered event stream, thereby generating a query result;

inputting, by the service configuration system, the filtered event stream into a predictive engine;

generating, by the predictive engine, a predicted repair from the filtered event stream;

generating, by the predictive engine, a confidence estimate of the predicted repair;

determining, by the service configuration system, that the confidence estimate exceeds a threshold;

generating, by the service configuration system, a machine-readable script based on the predicted repair when the confidence estimate exceeds the threshold;

generating, by the service configuration system, a human-readable description of the predicted repair;

applying, by the service configuration system, the machine-readable script to the cloud service to resolve an operational issue; and

creating or updating, by the service configuration system, an entry in a customer support system with the human-readable description using an application programming interface (API).

16 . The computer program product of claim 15 , wherein the method further comprises:

training the predictive engine by:

comparing, by the service configuration system, an output from the database with the predicted repair from the predictive engine;

generating, by the service configuration system, a correction for the predictive engine based on the comparison.

17 . The computer program product of claim 16 , wherein the method further comprises:

updating the prediction engine using the correction.

18 . The computer program product of claim 15 , wherein the method further comprises:

canonically transforming, by the service configuration system, resource utilization to the filtered event stream.

19 . The computer program product of claim 15 , wherein the method further comprises:

identifying, based on the predicted repair, an available resource to perform the predicted repair; and

assign the predicted repair to the available resource.

20 . The computer program product of claim 15 , wherein the method further comprises:

generating automatically, based on the predicted repair, the predicted repair comprising a plurality of tasks, a project plan.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 31, 2024
From: FULTON, CRAIG M.; BURGESS, STEPHEN; BELLINI III, ARNOLD
To: CONNECTWISE, INC.
Reel/Frame 069707/0116 →
CHANGE OF NAME Recorded Dec 31, 2024
From: CONNECTWISE, INC.
To: CONNECTWISE, LLC
Reel/Frame 069826/0986 →
Continuity (6)
Continuation 17992075 · Nov 22, 2022
Continuation 16901400 · Jun 15, 2020
Continuation 16105099 · Aug 20, 2018
Continuation 15809715 · Nov 10, 2017
Provisional Application 62421057 · Nov 11, 2016
Related Publication 20250088436A1 · Mar 13, 2025
References Cited (50)
US 6718137B1 · Chin · 2004 [cited by examiner]
US 9229800B2 · Jain et al. · 2016 [cited by applicant]
US 9350681B1 · Kitagawa et al. · 2016 [cited by applicant]
US 9794117B2 · Narasimhan · 2017 [cited by examiner]
US 10057140B2 · Fulton et al. · 2018 [cited by applicant]
US 10225208B1 · Prahlad et al. · 2019 [cited by applicant]
US 10333782B1 · Kitagawa et al. · 2019 [cited by applicant]
US 10382266B1 · Balakrishnan et al. · 2019 [cited by applicant]
US 10686676B2 · Fulton et al. · 2020 [cited by applicant]
US 11516093B2 · Fulton et al. · 2022 [cited by applicant]
US 11611488B2 · Yoon · 2023 [cited by examiner]
US 11615115B2 · Horowitz et al. · 2023 [cited by applicant]
US 11811645B1 · Reth · 2023 [cited by examiner]
US 12095631B2 · Fulton et al. · 2024 [cited by applicant]
US 12483909B2 · Venkatarao · 2025 [cited by examiner]
US 20140075239A1 · Prathipati · 2014 [cited by examiner]
US 20140136690A1 · Jain · 2014 [cited by applicant]
US 20140280800A1 · Verchere · 2014 [cited by examiner]
US 20140358944A1 · Brower, Jr. et al. · 2014 [cited by applicant]
US 20150050925A1 · Tapia · 2015 [cited by applicant]
US 20150227405A1 · Jan et al. · 2015 [cited by applicant]
US 20150228003A1 · Iyoob et al. · 2015 [cited by applicant]
US 20170178038A1 · Guven et al. · 2017 [cited by applicant]
US 20170353543A1 · Baltar et al. · 2017 [cited by applicant]
US 20180054356A1 · Narasimhan et al. · 2018 [cited by applicant]
US 20180139108A1 · Fulton et al. · 2018 [cited by applicant]
US 20180359158A1 · Fulton et al. · 2018 [cited by applicant]
US 20190102160A1 · Shogaki et al. · 2019 [cited by applicant]
US 20210135956A1 · Fulton et al. · 2021 [cited by applicant]
US 20210351989A1 · Toy · 2021 [cited by examiner]
US 20230155900A1 · Fulton et al. · 2023 [cited by applicant]
EP 2801938A1 · 2014 [cited by applicant]
Office Action for AU Application No. 2024287241 dated Apr. 16, 2025. [cited by applicant]
Notice of Allowance for U.S. Appl. No. 17/992,075 dated Feb. 1, 2024. [cited by applicant]
Notice of Allowance for U.S. Appl. No. 17/992,075 dated May 16, 2024. [cited by applicant]
Office Action for AU Application No. AU2024287241 dated Feb. 25, 2025. [cited by applicant]
Examination Report for AU Application No. 2017357775 dated Sep. 17, 2021. [cited by applicant]
Extended European Search Report for EP Application No. 21206041.2 dated Feb. 25, 2022. [cited by applicant]
International Preliminary Report on Patentability for International Application No. PCT/US17/61141 dated May 23, 2019. [cited by applicant]
International Search Report and Written Opinion for International Application No. PCT/US17/61141 dated Jan. 23, 2018. [cited by applicant]
Non Final Office Action for U.S. Appl. No. 16/901,400 dated Nov. 10, 2021. [cited by applicant]
Non Final Office Action for U.S. Appl. No. 17/992,075 dated May 17, 2023. [cited by applicant]
Notice of Allowance for U.S. Appl. No. 15/809,715 dated Apr. 25, 2018. [cited by applicant]
Notice of Allowance for U.S. Appl. No. 16/105,099 dated Feb. 5, 2020. [cited by applicant]
Notice of Allowance for U.S. Appl. No. 16/901,400 dated Jul. 29, 2022. [cited by applicant]
Notice of Allowance for U.S. Appl. No. 17/992,075 dated Jun. 24, 2024. [cited by applicant]
Office Action for AU Application No. 2022200380 dated Dec. 24, 2024. [cited by applicant]
Office Action for AU Application No. 2022200380 dated May 30, 2024. [cited by applicant]
Office Action for CA Application No. 3046468 dated Sep. 11, 2019. [cited by applicant]
Office Action for EP Application No. 17808672.4 dated Aug. 14, 2020. [cited by applicant]