Method and apparatus for selection between multiple candidate clouds for job processing
First Claim
1. A method comprising:
- receiving, via an application client on a user device, one or more user-specified quality of service (QoS) metrics for performance of a given processing job;
initiating, via the application client, a first application server on at least a first cloud responsive to receiving the user-specified QoS metrics, the first application server being configured to interact with one or more additional application servers running on a plurality of candidate clouds to collect respective sets of parameters from the plurality of candidate clouds, the respective sets of parameters comprising information characterizing available capabilities of each of the plurality of candidate clouds;
determining that a service provider of a given one of the plurality of candidate clouds does not expose one or more operating parameters needed to determine the predicted QoS available for the given candidate cloud;
directing, via the application client, the first application server to run one or more monitoring applications on the given candidate cloud responsive to determining that the service provider of the given candidate cloud does not expose the one or more operating parameters needed to determine the predicted QoS available for the given candidate cloud;
the first application server utilizing the one or more monitoring applications running on the given candidate cloud to determine the predicted QoS available for the given candidate cloud;
presenting, via the application client on the user device, a comparison of the user-specified QoS metrics to a predicted QoS available for each of the plurality of candidate clouds, the predicted QoS available for each of the plurality of candidate clouds being determined by the first application server based on the collected sets of parameters;
receiving, at the application client, a selection of at least one of the plurality of candidate clouds to execute the given processing job, the first application server being configured to execute the given processing job on the selected cloud responsive to the selection;
monitoring, via the application client, performance metrics of the given processing job as it executes on the selected candidate cloud;
determining, via the application client, that execution of the given processing job on the selected candidate cloud is not meeting one or more of the user-specified QoS metrics based on the monitored performance metrics;
identifying, via the application client, one or more reasons that the execution of the given processing job is not meeting one or more of the user-specified QoS metrics; and
providing, via the application client, a warning indicating the one or more reasons that the execution of the given processing job on the selected candidate cloud is not meeting one or more of the user-specified QoS metrics.
9 Assignments
0 Petitions
Accused Products
Abstract
A processing device of an information processing system is configured to identify different candidate clouds for performing a processing job for a requesting user, to collect respective sets of parameters from the different candidate clouds with each such set of parameters characterizing at least one aspect of a manner in which the processing job would be performed in the corresponding candidate cloud, and to compile information characterizing the collected sets of parameters so as to permit informed selection by the requesting user or another system entity of at least a particular one of the candidate clouds for performing the processing job. The processing device may be further configured to permit the requesting user to monitor and/or control the processing job as it is executing in the selected cloud(s). For example, warnings may be provided to the user if execution of the processing job is not meeting specified user requirements.
40 Citations
21 Claims
-
1. A method comprising:
-
receiving, via an application client on a user device, one or more user-specified quality of service (QoS) metrics for performance of a given processing job; initiating, via the application client, a first application server on at least a first cloud responsive to receiving the user-specified QoS metrics, the first application server being configured to interact with one or more additional application servers running on a plurality of candidate clouds to collect respective sets of parameters from the plurality of candidate clouds, the respective sets of parameters comprising information characterizing available capabilities of each of the plurality of candidate clouds; determining that a service provider of a given one of the plurality of candidate clouds does not expose one or more operating parameters needed to determine the predicted QoS available for the given candidate cloud; directing, via the application client, the first application server to run one or more monitoring applications on the given candidate cloud responsive to determining that the service provider of the given candidate cloud does not expose the one or more operating parameters needed to determine the predicted QoS available for the given candidate cloud; the first application server utilizing the one or more monitoring applications running on the given candidate cloud to determine the predicted QoS available for the given candidate cloud; presenting, via the application client on the user device, a comparison of the user-specified QoS metrics to a predicted QoS available for each of the plurality of candidate clouds, the predicted QoS available for each of the plurality of candidate clouds being determined by the first application server based on the collected sets of parameters; receiving, at the application client, a selection of at least one of the plurality of candidate clouds to execute the given processing job, the first application server being configured to execute the given processing job on the selected cloud responsive to the selection; monitoring, via the application client, performance metrics of the given processing job as it executes on the selected candidate cloud; determining, via the application client, that execution of the given processing job on the selected candidate cloud is not meeting one or more of the user-specified QoS metrics based on the monitored performance metrics; identifying, via the application client, one or more reasons that the execution of the given processing job is not meeting one or more of the user-specified QoS metrics; and providing, via the application client, a warning indicating the one or more reasons that the execution of the given processing job on the selected candidate cloud is not meeting one or more of the user-specified QoS metrics. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computer program product comprising a non-transitory processor-readable storage medium having encoded therein executable code of one or more software programs, wherein the one or more software programs when executed cause at least one processing device to implement an application client configured:
-
to receive one or more user-specified quality of service (QoS) metrics for performance of a given processing job; to initiate a first application server on at least a first cloud responsive to receiving the user-specified QoS metrics, the first application server being configured to interact with one or more additional application servers running on a plurality of candidate clouds to collect respective sets of parameters from the plurality of candidate clouds, the respective sets of parameters comprising information characterizing available capabilities of each of the plurality of candidate clouds; to determine that a service provider of a given one of the plurality of candidate clouds does not expose one or more operating parameters needed to determine the predicted QoS available for the given candidate cloud; to direct the first application server to run one or more monitoring applications on the given candidate cloud responsive to determining that the service provider of the given candidate cloud does not expose the one or more operating parameters needed to determine the predicted QoS available for the given candidate cloud; the first application server utilizing the one or more monitoring applications running on the given candidate cloud to determine the predicted QoS available for the given candidate cloud; to present a comparison of the user-specified QoS metrics to a predicted QoS available for each of the plurality of candidate clouds, the predicted QoS available for each of the plurality of candidate clouds being determined by the first application server based on the collected sets of parameters; to receive a selection of at least one of the plurality of candidate clouds to execute the given processing job, the first application server being configured to execute the given processing job on the selected cloud responsive to the selection; to monitor performance metrics of the given processing job as it executes on the selected candidate cloud; to determine that execution of the given processing job on the selected candidate cloud is not meeting one or more of the user-specified QoS metrics based on the monitored performance metrics; to identify one or more reasons that the execution of the given processing job is not meeting one or more of the user-specified QoS metrics; and to provide a warning indicating the one or more reasons that the execution of the given processing job on the selected candidate cloud is not meeting one or more of the user-specified QoS metrics. - View Dependent Claims (13, 14, 15, 16)
-
-
17. An apparatus comprising:
-
at least one processing device comprising a processor coupled to a memory; the at least one processing device being configured to implement an application client configured; to receive one or more user-specified quality of service (QoS) metrics for performance of a given processing job; to initiate a first application server on at least a first cloud responsive to receiving the user-specified QoS metrics, the first application server being configured to interact with one or more additional application servers running on a plurality of candidate clouds to collect respective sets of parameters from the plurality of candidate clouds, the respective sets of parameters comprising information characterizing available capabilities of each of the plurality of candidate clouds; to determine that a service provider of a given one of the plurality of candidate clouds does not expose one or more operating parameters needed to determine the predicted QoS available for the given candidate cloud; to direct the first application server to run one or more monitoring applications on the given candidate cloud responsive to determining that the service provider of the given candidate cloud does not expose the one or more operating parameters needed to determine the predicted QoS available for the given candidate cloud; the first application server utilizing the one or more monitoring applications running on the given candidate cloud to determine the predicted QoS available for the given candidate cloud; to present a comparison of the user-specified QoS metrics to a predicted QoS available for each of the plurality of candidate clouds, the predicted QoS available for each of the plurality of candidate clouds being determined by the first application server based on the collected sets of parameters; to receive a selection of at least one of the plurality of candidate clouds to execute the given processing job, the first application server being configured to execute the given processing job on the selected cloud responsive to the selection; to monitor performance metrics of the given processing job as it executes on the selected candidate cloud; to determine that execution of the given processing job on the selected candidate cloud is not meeting one or more of the user-specified QoS metrics based on the monitored performance metrics; to identify one or more reasons that the execution of the given processing job is not meeting one or more of the user-specified QoS metrics; and to provide a warning indicating the one or more reasons that the execution of the given processing job on the selected candidate cloud is not meeting one or more of the user-specified QoS metrics. - View Dependent Claims (18, 19, 20, 21)
-
Specification