IP Library Granted Patent US 12,386,674
Granted Patent B2
US 12,386,674 · App. 18/738,246 · Granted Aug 12, 2025

Systems and methods for optimized execution of program operations on cloud-based services

Inventors: Alexander Tormasov (Moscow, RU); Serguei Beloussov (Costa del Sol, SG); Stanislav Protasov (Singapore, SG)
Assignee: Acronis International GmbH
G06F9/5055G06F9/4881G06F9/5077G06N20/00
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,386,674
App. No.
18/738,246
Granted
Aug 12, 2025
Kind
B2
Abstract

Disclosed herein are systems and method efficiently executing a program operation on a cloud-based service. In an exemplary aspect, a method comprises receiving a request to perform a program operation on a cloud-based service and at least one user constraint for performing the program operation, and determining a plurality of sub-operations that are comprised in the program operation. The method comprises identifying a plurality of service component combinations offered by the service provider that can execute the program operation, and identifying at least one processing constraint of each service component. The method comprises determining a service component combination from the plurality of service component combinations for executing the program operation based on the at least one user constraint and processing constraints. The method comprises executing the program operation by the determined service component combination.

Claims (71)

1. A method for scheduling program operations on cloud-based services, the method comprising:

receiving request to perform, based on at least one user constraint, a program operation comprising a plurality of sub-operations on a cloud-based service of a service provider, wherein the at least one user constraint comprises a deadline for completing the program operation;

identifying a plurality of service component combinations with service components that can execute the plurality of sub-operations; and

determining at least one processing constraint of each service component in the plurality of service component combinations, by:

determining a maximum processing speed, maximum memory, and accessible network bandwidth of each service component; and

assigning, as the at least one processing constraint, a confidence score to each service component indicative of whether the deadline will be met based on the maximum processing speed, the maximum memory, and the accessible network bandwidth;

identifying a service component combination that meets the at least one user constraint despite any processing constraints associated with respective service components of the service component combination; and

executing the program operation by the service component combination.

2. The method of claim 1 , wherein the at least one processing constraint is identified based on a type of the at least one user constraint.

3. The method of claim 2 , wherein the type of the at least one user constraint is financial, and wherein the at least one user constraint comprises a budget for completing the program operation, further comprising identifying at least one processing constraint of each service component by:

retrieving a pricing model that indicates various pricing options for performing each sub-operation of the plurality of sub-operations by each service component;

determining a respective cost for each of the plurality of service component combinations; and

assigning, as the at least one processing constraint, a budgetary score to each of the plurality of service component combinations indicative of whether the budget will be met based on the respective cost.

4. The method of claim 1 , wherein a machine learning algorithm is executed to identify the service component combination for executing the program operation.

5. The method of claim 4 , wherein the machine learning algorithm assigns weights to the at least one user constraint and the at least one processing constraint such that one constraint has a greater influence than another constraint.

6. The method of claim 4 , wherein a queried status of each service component indicates an availability of each service component to perform a sub-operation, further comprising:

determining that a subset of service components are unavailable to perform the plurality of sub-operations such that the machine learning algorithm cannot determine an appropriate service component combination; and

in response to determining that the machine learning algorithm cannot determine an appropriate service component combination:

estimating when the subset of service components will be available;

determining a schedule that indicates when to select a given service component to perform a sub-operation of the plurality of sub-operations based on the estimation;

evaluating whether the schedule satisfies the at least one user constraint; and

in response to determining that the schedule satisfies the at least one user constraint, executing the program operation in accordance with the schedule.

7. The method of claim 6 , further comprising in response to determining that the schedule does not satisfy the at least one user constraint, transmitting an error message for performing the program operation.

8. A system for scheduling program operations on cloud-based services, the system comprising:

at least one memory; and

at least one hardware processor coupled with the at least one memory and configured, individually or in combination, to:

receive request to perform, based on at least one user constraint, a program operation comprising a plurality of sub-operations on a cloud-based service of a service provider, wherein the at least one user constraint comprises a deadline for completing the program operation;

identify a plurality of service component combinations with service components that can execute the plurality of sub-operations; and

determine at least one processing constraint of each service component in the plurality of service component combinations, by:

determining a maximum processing speed, maximum memory, and accessible network bandwidth of each service component; and

assigning, as the at least one processing constraint, a confidence score to each service component indicative of whether the deadline will be met based on the maximum processing speed, the maximum memory, and the accessible network bandwidth;

identify a service component combination that meets the at least one user constraint despite any processing constraints associated with respective service components of the service component combination; and

execute the program operation by the service component combination.

9. The system of claim 8 , wherein the at least one processing constraint is identified based on a type of the at least one user constraint.

10. The system of claim 9 , wherein the type of the at least one user constraint is financial, and wherein the at least one user constraint comprises a budget for completing the program operation, wherein the at least one hardware processor is configured to identify at least one processing constraint of each service component by:

retrieving a pricing model that indicates various pricing options for performing each sub-operation of the plurality of sub-operations by each service component;

determining a respective cost for each of the plurality of service component combinations; and

assigning, as the at least one processing constraint, a budgetary score to each of the plurality of service component combinations indicative of whether the budget will be met based on the respective cost.

11. The system of claim 8 , wherein a machine learning algorithm is executed to identify the service component combination for executing the program operation.

12. The system of claim 11 , wherein the machine learning algorithm assigns weights to the at least one user constraint and the at least one processing constraint such that one constraint has a greater influence than another constraint.

13. The system of claim 11 , wherein a queried status of each service component indicates an availability of each service component to perform a sub-operation, wherein the at least one hardware processor is configured to:

determine that a subset of service components are unavailable to perform the plurality of sub-operations such that the machine learning algorithm cannot determine an appropriate service component combination; and

in response to determining that the machine learning algorithm cannot determine an appropriate service component combination:

estimate when the subset of service components will be available;

determine a schedule that indicates when to select a given service component to perform a sub-operation of the plurality of sub-operations based on the estimation;

evaluate whether the schedule satisfies the at least one user constraint; and

in response to determining that the schedule satisfies the at least one user constraint, execute the program operation in accordance with the schedule.

14. The system of claim 13 , wherein the at least one hardware processor is configured to in response to determining that the schedule does not satisfy the at least one user constraint, transmit an error message for performing the program operation.

15. A non-transitory computer readable medium storing thereon computer executable instructions for scheduling program operations on cloud-based services, including instructions for:

receiving request to perform, based on at least one user constraint, a program operation comprising a plurality of sub-operations on a cloud-based service of a service provider, wherein the at least one user constraint comprises a deadline for completing the program operation;

identifying a plurality of service component combinations with service components that can execute the plurality of sub-operations; and

determining at least one processing constraint of each service component in the plurality of service component combinations, by:

determining a maximum processing speed, maximum memory, and accessible network bandwidth of each service component; and

assigning, as the at least one processing constraint, a confidence score to each service component indicative of whether the deadline will be met based on the maximum processing speed, the maximum memory, and the accessible network bandwidth;

identifying a service component combination that meets the at least one user constraint despite any processing constraints associated with respective service components of the service component combination; and

executing the program operation by the service component combination.

16. The non-transitory computer readable medium of claim 15 , wherein the at least one processing constraint is identified based on a type of the at least one user constraint.

17. The non-transitory computer readable medium of claim 16 , wherein the type of the at least one user constraint is financial, and wherein the at least one user constraint comprises a budget for completing the program operation, further comprising instructions for identifying at least one processing constraint of each service component by:

retrieving a pricing model that indicates various pricing options for performing each sub-operation of the plurality of sub-operations by each service component;

determining a respective cost for each of the plurality of service component combinations; and

assigning, as the at least one processing constraint, a budgetary score to each of the plurality of service component combinations indicative of whether the budget will be met based on the respective cost.

18. The non-transitory computer readable medium of claim 15 , wherein a machine learning algorithm is executed to identify the service component combination for executing the program operation.

19. The non-transitory computer readable medium of claim 18 , wherein the machine learning algorithm assigns weights to the at least one user constraint and the at least one processing constraint such that one constraint has a greater influence than another constraint.

20. The non-transitory computer readable medium of claim 18 , wherein a queried status of each service component indicates an availability of each service component to perform a sub-operation, further comprising instructions for:

determining that a subset of service components are unavailable to perform the plurality of sub-operations such that the machine learning algorithm cannot determine an appropriate service component combination; and

in response to determining that the machine learning algorithm cannot determine an appropriate service component combination:

estimating when the subset of service components will be available;

determining a schedule that indicates when to select a given service component to perform a sub-operation of the plurality of sub-operations based on the estimation;

evaluating whether the schedule satisfies the at least one user constraint; and

in response to determining that the schedule satisfies the at least one user constraint, executing the program operation in accordance with the schedule.

21. The non-transitory computer readable medium of claim 20 , further comprising instructions for in response to determining that the schedule does not satisfy the at least one user constraint, transmitting an error message for performing the program operation.

Continuity (3)
Continuation 17307058 · May 4, 2021
Provisional Application 63020098 · May 5, 2020
Related Publication 20240330067A1 · Oct 3, 2024
References Cited (11)
US 9043658B1 · Marr · 2015 [cited by examiner]
US 10419483B1 · Allen · 2019 [cited by examiner]
US 20130031559A1 · Alicherry · 2013 [cited by examiner]
US 20130185433A1 · Zhu · 2013 [cited by examiner]
US 20140237477A1 · Cadambi · 2014 [cited by examiner]
US 20150213470A1 · Rush · 2015 [cited by examiner]
US 20150220871A1 · Rajan · 2015 [cited by examiner]
US 20190163517A1 · Fontoura · 2019 [cited by examiner]
US 20200404051A1 · Guniguntala · 2020 [cited by examiner]
US 20210019194A1 · Bahl · 2021 [cited by examiner]
US 20210294661A1 · Turner · 2021 [cited by examiner]