Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
DETAILED ACTION
The following NON-FINAL Office action is in response to application 18754618 filed 06/26/2024.
37 CFR § 1.105 - Requirement for Information
Applicant and the assignee of this application are required under 37 CFR 1.105 to provide the following information that the examiner has determined is reasonably necessary to the examination of this application.
PNG
media_image1.png
854
660
media_image1.png
Greyscale
Examiner’s search entitled TATA consultancy services TCS search, August 6, 2026
and incorporated herein, suggests the Applicant sold or publicly used the following products or services: TCS Cloud Counsel, TCS Cloud 10 Methodology, TCS third party integrations, TCS pre-migration validation and TCS MasterCraftTM etc. for assessing cloud migration readiness as evidenced by at least the following references:
i. TCS to enhance High Performance Application and Cloud offerings; acquires Pune-based start-up CRL, Mumbai, August 16, 2012;
ii. Accelerating data migration to AWS cloud, tcs webpages, 2021 with emphasis on its Annotated page 7 extracted below:
PNG
media_image2.png
570
1006
media_image2.png
Greyscale
iii. TATA Cloud 10 Methodology, TCS webpages, archives org March 22, 2023
iv. TATA Cloud Transformation Accelerators, TCS pages, archive org, April 02,2023
The information is required to identify products and services embodying the disclosed subject matter of assessing cloud readiness of a high performance computing application to be migrated on a cloud platform, and identify properties of similar products and services found in the prior art.
-> In response to this requirement, please provide any additional citation and a copy of each publication that any of the applicants relied upon to develop the disclosed subject matter that describes the applicant’s invention, particularly as to developing the assessing cloud readiness of a high performance computing application to be migrated on a cloud platform. For each publication, please provide a concise explanation of the reliance placed on that publication in the development of the disclosed subject matter. Specifically, the Examiner requests brochures, manuals, white papers, training materials, demos, sales presentations or the like related to the aforementioned product(s) software and/or other software directed to the assessing cloud readiness of a high performance computing application to be migrated on a cloud platform.
-> In response to this requirement, please provide the citation and a copy of each publication that any of the applicants relied upon to draft the claimed subject matter. For each publication, please provide a concise explanation of the reliance placed on that publication in distinguishing the claimed subject matter from the prior art.
-> In response to this requirement, please provide the names of any products or services that have incorporated the disclosed prior art of assessing cloud readiness of a high performance computing application to be migrated on a cloud platform.
-> In response to this requirement, please provide the names of any products or services that have incorporated the claimed subject matter.
In responding to those requirements that require copies of documents, where the document is a bound text or a single article over 50 pages, the requirement may be met by providing copies of those pages that provide the particular subject matter indicated in the requirement, or where such subject matter is not indicated, the subject matter found in applicant’s disclosure. The fee and certification requirements of 37 C.F.R. § 1.97 are waived for those documents submitted in reply to this requirement. This waiver extends only to those documents within the scope of this requirement under 37 C.F.R. § 1.105 that are included in the applicant’s first complete communication responding to this requirement. Any supplemental replies subsequent to the first communication responding to this requirement and any information disclosures beyond the scope of this requirement under 37 C.F.R. § 1.105 are subject to the fee and certification requirements of 37 C.F.R. § 1.97. The applicant is reminded that the reply to this requirement must be made with candor and good faith under 37 CFR 1.56. Where the applicant does not have or cannot readily obtain an item of required information, a statement that the item is unknown or cannot be readily obtained will be accepted as a complete response to the requirement for that item. This requirement is an attachment of the enclosed Office action. A complete response to the enclosed Office action must include a complete response to this requirement. The time period for reply to this requirement coincides with the time period for reply to the enclosed Office action, which is 3 months.
/PATRICIA H MUNSON/Supervisory Patent Examiner, Art Unit 3624
Status of Claims
Claims 1-12 are currently pending and have been rejected as follows.
Priority
Receipt is acknowledged of papers submitted under 35 U.S.C. 119(a)-(d), which papers have been placed of record in the file.
IDS
The information disclosure statement filed on 06/26/2024 complies with the provisions of 37 CFR 1.97, 1.98 and MPEP § 609 and is considered by the Examiner.
Claim Rejections - 35 USC § 112
The following is a quotation of 35 U.S.C. 112(b):
(B) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention.
The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph:
The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention.
Claims 3,7,11 are rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor, or for pre-AIA the applicant regards as the invention.
Claims 3,7,11 are dependent and each recite, among others: “wherein the recommendation for the one or more cloud instances is generated based on (i) content of a configuration file comprising the plurality of user inputs and (ii) a criterion selected by the optimization algorithm between the execution cost and the execution time tradeoff”.
Claims 3,7,11 are rendered vague and indefinite because there is insufficient antecedent basis for “the execution time tradeoff”. [bolded emphasis added]
Claims 3,7,11 are recommended to be amended, to recite as an example only: wherein the recommendation for the one or more cloud instances is generated based on (i) content of a configuration file comprising the plurality of user inputs and (ii) a criterion selected by the optimization algorithm for a tradeoff between the execution cost and the execution time .
Clarification and correction are required.
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claims 1-12 are rejected under 35 U.S.C. 101 because the claimed invention is directed to a judicial exception (i.e., a law of nature, a natural phenomenon, or an abstract idea, here abstract idea) without significantly more. The claim(s) recite(s) describe or set forth the abstract idea of “assessing” “readiness” in a computer environment as tested per MPEP 2106.04(a)(2) III C # 2. Here, following the MPEP 2106.04(a)(2) III C # 2, Examiner finds such computer environment to be set forth by the “cloud readiness of a high performance computing (HPC) application to be migrated on a cloud platform” at Claims 1-2,4-6,8-10,12 Also here, following MPEP 2106.04(a)(2) III, Examiner finds “assessing” “readiness” [of an asset] classif[ied] [on] “at least one of (i) a best-suited category, (ii) average-suited category, and (iii) worst-suited category”, and “generating”, “a recommendation for one or more” [asset] “instances” in accordance with a plurality of user inputs using an optimization algorithm” at independent Claims 1,5,9, later associated to equally abstract “tradeoff” between “cost” and “time” (dependent Claims 4,7,11), fall within computer-aided, cognitive functions of observation, evaluation and judgment within the broad mental processes grouping, using equally abstract1 mathematical relationships in words as broadly defined by MPEP 2106.04(a)(2) I A. Such computer aided, mathematical evaluation is set forth as assess[ment] for ensuing judgment or recommendation at independent Clams 1,5,9 and “tradeoff” analysis between “cost” and “time” at dependent Claims 4,7,11.
- Such computer-aided evaluation is set forth by “generating” “(i)… profile traces vector by combining one or more profile features extracted from the plurality of profile trace data and (ii)… instances matrix using a plurality of” “features obtained from an extended and transformed dataset of the” “instances”; then “computing”, “a suitability score using the” “profile traces vector and each record of the” “instances matrix, wherein the suitability score is computed by calculating a Euclidean distance and a cosine similarity between the” “profile traces vector and the” “instances matrix; then “classifying”, “the dataset of” “instances into at least one of (i) a best-suited category, (ii) an average-suited category, and (iii) a worst-suited category, wherein classification is performed by applying K-means clustering method on the dataset of the” “instances updated based on the generated suitability score”; “predicting”,” an execution time and an execution cost of the” “on one or more combinations of one or more” “specifications”, at Claims 1,5,9.
- Also here, such computer-aided judgment is set forth by “generating” “a recommendation for one or more” “instances from the updated dataset of the” “instances in accordance with a plurality of user inputs using an optimization algorithm” at independent Claims 1,5,9, and then subsequent evaluation on such judgment is set forth as “readiness” “assessed based on the generated recommendations for the one or more” “instances” at dependent Claims 4,8,12.
To be clear, MPEP 2106.04(a)(2) III C stresses that:
# 1. Performing a mental process on a generic computer,
# 2. Performing a mental process in a computer environment,
# 3. Using a computer as a tool to perform a mental process,
-> are still considered to recite a mental process.
Such rationale is corroborated by MPEP 2106.04(a)(2) III D, which found as abstract the processes that include the wide-area real-time performance monitoring system for monitoring and assessing dynamic stability of [a technological environment], citing Electric Power Group, 830 F.3d at 1351 and n.1, 119 USPQ2d at 1740 and n.1.
Thus here, the “high performance computing (HPC) application” upon which its “cloud instances” are assessed to culminate with a “recommendation”, represents such a computer environment of MPEP 2106.04(a)(2) III C #2, upon which, the mathematical evaluation, as identified and mapped above, and its ensuing judgment or “recommendation” as also identified and mapped above are being performed. In a similar vein, the us[e] “of one or more profiling tools”, the us[e] “of a performance analyzer”, the us[e] of “a trained machine learning engine” and possibly even the memory instruct[e]d “one or more hardware processors” as recited at independent Claims 1,5,9 could perhaps be argued as the tools of MPEP 2106.04(a)(2) III C #3 to perform the abstract processes identified above. In an abundance of caution the degree of computerization or automation to implement such functions, will be further and more granularly, scrutinized, at the subsequent steps below. For now, for the purpose of Step 2A prong one, it is clear that, given the preponderance of legal evidence as demonstrated above, the current claims do recite, or at a minimum describe or set forth the abstract exception. Step 2A prong one.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
This judicial exception is not integrated into a practical application because per Step 2A prong two, the individual, or combination, of the additional, computer-based elements are/is found, per MPEP 2106.05(f), to merely apply the above abstract idea and/or narrow the abstract idea to a field of use or technological environment per MPEP 2106.05(h). Here, the Examiner identified the computer aids above as tools, computer environments etc. to aid performing the abstract processes as recognized above. Now, even when more granularly scrutinizing the above computerization as representative of additional, computer-based elements, such additional computer-based elements, when tested per MPEP2106.05(f), would merely apply the abstract exception, by monitoring audit log data executed on a computer [MPEP 2106.05(f)(2) iii], applying algorithms on the computer, [MPEP 2106.05(f)(2) i] and tailoring information and providing it to the user on a generic computer [MPEP 2106.05(f)(2)v], which according to MPEP 2106.05(f)(2) iii, i, and v respectively represent mere invocation of computer components and associated machinery which does not integrate the abstract exception into a practical application.
- Here, monitoring audit log data executed on a computer [MPEP 2106.05(f)(2) iii], would refer to the capabilities “via one or more hardware processors” in “obtaining” “a plurality of profile trace data of the HPC application and a dataset of cloud instances, wherein the plurality of profile trace data is obtained by performing application profiling using one or more profiling tools”; and “generate (i) an application profile traces vector” [as example of monitoring] “by combining one or more profile features extracted from the plurality of profile trace data and (ii) a cloud instances matrix using a plurality of cloud features obtained from an extended and transformed dataset of the cloud instances”; at independent Claims 1,5,9; “obtaining one or more attributes and the one or more machine specifications associated with the HPC application” at dependent Claims 2,6,10
- Here, applying algorithms on the computer, [MPEP 2106.05(f)(2) i] would refer to capabilities “via one or more hardware processors” to “compute a suitability score using the application profile traces vector and each record of the cloud instances matrix, wherein the suitability score is computed by calculating a Euclidean distance and a cosine similarity between the application profile traces vector and the cloud instances matrix”; then “classify the dataset of cloud instances into at least one of (i) a best-suited category, (ii) an average-suited category, and (iii) a worst-suited category, wherein classification is performed by applying K-means clustering method on the dataset of the cloud instances updated based on the generated suitability score;” then “predict an execution time and an execution cost of the HPC application on one or more combinations of one or more machine specifications associated with the HPC application using a performance analyzer, wherein the performance analyzer utilizes a trained machine learning engine for predicting the execution time and the execution cost of the HPC application;” then “update the dataset of the cloud instances with the predicted execution time and the predicted execution cost of the HPC application;” at independent Claims 1,5,9, and capabilities of “the trained machine learning engine” in “preparing a training dataset comprising (i) the one or more attributes associated with the HPC application, (ii) the one or more combinations of one or more machine specifications associated with the HPC application, and (iii) and the execution time of the HPC application on each of the one or more combinations of the one or more machine specifications associated with the HPC application; training a grid of models on the prepared training dataset, wherein the grid of models is created by using one or more machine learning based regression models with a set of hyperparameters; and evaluating the grid of models in terms of an accuracy metric to obtain an optimal model from the grid of models” at dependent Claims 2,6,10
- Also here, the tailoring information and providing it to user on computer [MPEP 2106.05(f) (2)v] would refer to “via the one or more hardware processors” “generating” “a recommendation for one or more cloud instances from the updated dataset of the cloud instances in accordance with a plurality of user inputs using an optimization algorithm” at independent Claims 1,5,9
- Finally here, recitations of “high performance computing (HPC) application to be migrated on a cloud platform” at the preamble of independent Claims 1,5,9 and “wherein the cloud readiness of the HPC application to be migrated on the cloud platform is assessed based on the generated recommendations for the one or more cloud instances” at dependent Claims 4,8,12, as tested per MPEP 2106.05(f)(3) would represent generality of the application of the abstract exception.
None of these invocations of computer components or machinery, as tested per MPEP 2106.05(f), integrate the abstract exception into a practical application.
Additionally or alternatively, the “cloud readiness of a high performance computing (HPC) application to be migrated on a cloud platform” the us[e] “of one or more profiling tools”, the us[e] “of a performance analyzer”, the us[e] of “a trained machine learning engine”, when similarly tested per MPEP 2106.05(h), could also be viewed as forms a technological environment narrowing the combination of collecting information, analyzing it, and displaying [here recommending] certain results of the collection and analysis2.
Based on such preponderance of legal evidence, the Examiner reasons that, none of the above additional elements, when tested per MPEP 2106.05(f), and/or (h), integrate either alone or in combination, the abstract exception into a practical application. Step 2A prong two.
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
The claim(s) does/do not include additional elements that are sufficient to amount to significantly more than the judicial exception because as shown above, the additional computer-based elements merely apply the already recited abstract idea [MPEP 2106.05(f)] and/ or narrow it to a field of use or technological environment [MPEP 2106.05(h)]. Specifically, Examiner points to MPEP 2106.05 (d) II and carries over the finings tested per MPEP 2106.05 (f) and (h), and submits that here, the additional computer-based elements also do not provide significantly more. Examiner submits that the above tests show the applying of the abstract idea [MPEP 2106.05 (f)] and narrowing the abstract idea to a field of use or technological environment [MPEP 2106.05 (h)], suffice in showing that the additional computer-based elements also do not provide significantly more without having to rely on the conventionality test [MPEP 2106.05(d)].
Yet, assuming arguendo, further evidence would be required to demonstrate conventionality of the additional, computer-based elements, Examiner would further point to MPEP 2106.05(d) II demonstrating conventionality of the additional computer-based elements as follows: electronic extracting data3, receiving and transmitting data 4, electronic recordkeeping5, arranging hierarchy of groups and sorting information6, performing repetitive calculations7. For example, the repetitive calculations is reflected here in recitation of “the performance analyzer utilizes a trained machine learning engine for predicting the execution time and the execution cost of the HPC application; updating, via the one or more hardware processors, the dataset of the cloud instances with the predicted execution time and the predicted execution cost of the HPC application” at independent Claims 1,5,9, and “preparing a training dataset comprising (i) the one or more attributes associated with the HPC application, (ii) the one or more combinations of one or more machine specifications associated with the HPC application, and (iii) and the execution time of the HPC application on each of the one or more combinations of the one or more machine specifications associated with the HPC application; training a grid of models on the prepared training dataset, wherein the grid of models is created by using one or more machine learning based regression models with a set of hyperparameters; and evaluating the grid of models in terms of an accuracy metric to obtain an optimal model from the grid of models” at dependent Claims 2,6,10. This rationale is corroborated by MPEP 2106.05(d) I 2.b explaining that a court citation establishing conventionality of the additional elements can be relied upon. Examiner follows MPEP 2106.05(d) I 2.b by pointing to Recentive Analytics, Inc. v. Fox Corp., 134 F.4th 1205, 1212 (Fed. Cir. 2025), and cited by PTAB Appeal 2025-003304, ruling that: “The requirements that the machine learning model be ‘iteratively trained’ or dynamically adjusted based on real time changes do not represent a technological improvement” at least because they are “incident to the very nature of machine learning”. It then follows that here; “updating, via the one or more hardware processors, the dataset of the cloud instances with the predicted execution time and the predicted execution cost of the HPC application” at independent Claims 1,5,9, and “training a grid of models on the prepared training dataset,…by using one or more machine learning based regression models with a set of hyperparameters” at dependent Claims 2,6,10, would similar to Recentive Analytics and PTAB Appeal 2025-003304, be incident to the very nature of machine learning.
Additionally, or alternatively, in the arguendo, and if necessary, the Examiner would also establish conventionality of the additional elements by following MPEP 2106.05(d) I 2. to point to the high level of generality of the claimed additional computer elements when read in light of:
- Original Specification ¶ [035] 1st-2nd sentences, reciting at high level to generality: At step 210 of the present disclosure, the one or more hardware processors are configured to predict an execution time and an execution cost of the HPC application on one or more combinations of one or more machine specifications associated with the HPC application using a performance analyzer. The performance analyzer utilizes a trained machine learning engine for predicting the execution time and the execution cost of the HPC application
- Original Specification ¶ [041] to ¶ [042] 1st sentence, reciting at high level to generality:
A working example of HPC application for the present disclosure is explained by way of following description provided as an exemplary explanation. AutoDock® is a molecular modeling simulation software (suite of automated docking tools).
- Original Specification ¶ [046] 5th-7th sentences: Alternatives (including equivalents, extensions, variations, deviations, etc., of those described herein) will be apparent to persons skilled in the relevant art(s) based on the teachings contained herein. Such alternatives fall within the scope of the disclosed embodiments. Also, the words “comprising,” “having,” “containing,” and “including,” and other similar forms are intended to be equivalent in meaning and be open ended in that an item or items following any one of these words is not meant to be an exhaustive listing of such item or items, or meant to be limited to only the listed item or items.
- Original Specification ¶ [047] reciting at high level to generality: “Furthermore, one or more computer-readable storage media may be utilized in implementing embodiments consistent with the present disclosure. A computer-readable storage medium refers to any type of physical memory on which information or data readable by a processor may be stored. Thus, a computer-readable storage medium may store instructions for execution by one or more processors, including instructions for causing the processor(s) to perform steps or stages consistent with the embodiments described herein. The term “computer-readable medium” should be understood to include tangible items and exclude carrier waves and transient signals, i.e., be non-transitory. Examples include random access memory (RAM), read-only memory (ROM), volatile memory, nonvolatile memory, hard drives, CD ROMs, DVDs, flash drives, disks, and any other known physical storage media”.
In conclusion, Claims 1-12 although directed to statutory categories (“method” or process at Claims 1-4, “system” or machine at Claims 5-8, “non-transitory medium” or computer product or article of manufacture Claims 9-12) they still recite or set forth the abstract idea (Step 2A prong one), with their additional, computer-based elements not integrating the abstract idea into a practical application (Step 2A prong two) or providing significantly more than what was already found to be the abstract idea itself (Step 2B). Therefore, Claims 1-12 are patent ineligible.
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Claim Rejections - 35 USC § 102
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale or otherwise available to the public before the effective filing date of the claimed invention.
Claims 1-12 are rejected under 35 U.S.C. 102(a)(1) based upon a public use or sale or other public availability of the invention as disclosed by: Lisa Her et al, A2Cloud-cc: A Machine Learning Council to Guide Cloud Resource Selection for Scientific Applications, n2020 IEEE 19th International Symposium on Network Computing and Applications (NCA), pp 1-5, Nov 24, 2020, also cited in the EPO Search Opinion dated 08/13/2024, hereinafter Her.
Claims 1,5,9 Her teaches: “A processor implemented method for assessing cloud readiness of a high performance computing (HPC) application to be migrated on a cloud platform, comprising:” / “A system for assessing cloud readiness of a high performance computing (HPC) application to be migrated on a cloud platform, comprising: a memory storing instructions; one or more communication interfaces; and one or more hardware processors coupled to the memory via the one or more communication interfaces, wherein the one or more hardware processors are configured by the instructions to:” / “One or more non-transitory computer readable mediums comprising one or more instructions which when executed by one or more hardware processors cause:” (Her p.1, 1st column ¶1-¶2: We present A2Cloud-Council-of-Classifiers (A2Cloudcc) as ever learning, multi-agent Cloud recommender system wherein multiple machine-learning (ML) agents collaborate with a decision-making agent to recommend an effective instance for the scientific application. The suite comprises two components: a A2Cloud framework and a Council-of-Classifiers (CC). For example, at Fig.2 b, d, f, h and p.3 2nd column ¶3: statistically execute the applications from the database and two target applications: … data-migration with space constraints (DM) simulations p.4 2nd column ¶2: The figure shows that t3a.medium (circled small dot) is most cost-effective instance for DM [data-migration] as per the execution data. These scenarios highlight AHP’s efficacy to select an effective recommendation from the ML agents).
- “obtaining, via one or more hardware processors, a plurality of profile trace data of the HPC application and a dataset of cloud instances, wherein the plurality of profile trace data is obtained by performing application profiling using one or more profiling tools”;
(Her p.1, 1st column ¶3-p.1 2nd column ¶1: The A2Cloud framework independently profiles the target application and selected Cloud instances. Using well known benchmarks, it extracts key application characteristics including computation and communication requirements that affect its execution time on any computing system. Using hardware benchmarks, the framework extracts stochastic Cloud instance characteristics including computation, memory, and disk performance. The framework uses the application and Cloud instance characteristics to generate the A2Cloud score, which is a representative of application’s execution time on a given instance.
Her p.5 1st column, ¶1, the suite’s Cloud trace engine statistically profiles the instance characteristics, capturing their stochastic nature for precise predictions. For example, at
Her p.1 2nd column last ¶-p.2, 1st column: the framework profiles the selected Cloud instances by executing benchmarks including LINPACK, STREAM, and Linux dd to statistically extract their performance parameters. These parameters include the single/double precision floating-point performance, memory and disk read-write bandwidths)
- “generating, via the one or more hardware processors”,
= “(i) an application profile traces vector by combining one or more profile features extracted from the plurality of profile trace data” (Her p.1, 2nd column ¶6-p.2 1st column ¶2: The framework writes these parameters to an application vector. Next, the framework profiles the selected Cloud instances by executing benchmarks including LINPACK, STREAM, and Linux dd to statistically extract their performance parameters. These parameters include the single/double precision floating-point performance, memory and disk read-write bandwidths. The framework writes these parameters to a Cloud matrix. The framework multiplies the application vector and the statistical Cloud matrix to yield the best-case, average-case, and worst-case A2Cloud score vectors, ScoreA~2Cloud. These three types of vectors denote the best-case, average, and worst-case instance performance. For all instances, the framework multiplies their cost per second (cost model) with the corresponding best-case, average, and worst-case A2Cloud scores to generate the best-case, average-case, and worst-case cost vectors, ScoreCost. CC inputs the best-case, average-case, and worst-case A2Cloud score and cost vectors for training and analysis…The ML agents download these tuples (as individual vectors) from the database for training. In what follows, we explain the ML training methodology. p.2 1st column last ¶ - p.2 2nd column 1st ¶: To identify applications similar to the target application, CF employs cosine similarity by treating rows of rui as vectors. P.2 2nd column ¶2: MLR employs the softmax function (characterized by a feature weight vector [3] to determine the probability that the class (yi) of an application-instance pair (i) with features, X = (ScoreA2Cloud; ScoreCost), is class, k) “and
= “(ii) a cloud instances matrix using a plurality of cloud features obtained from an extended and transformed dataset of the cloud instances”;
(Her p.2, 1st column ¶1: The framework writes these parameters to a Cloud matrix. The framework multiplies the application vector and the statistical Cloud matrix to yield the best-case, average-case, and worst-case A2Cloud score vectors, ScoreA2Cloud. P.2 1st column ¶2: We use the
A2Cloud framework to generate the A2Cloud and cost scores for 500 application-Cloud instance pairs, resulting in 1500 (ScoreA2Cloud, ScoreCost) tuples (500 pairs x {best-case, average-case, worst-case}). p.2 1st column ¶3: Each entry y(i;j) represents the (ScoreA2Cloud, ScoreCost) tuple for the application, i and the instance, j CF randomly initializes the user and item matrices, pu and
qi along k = 100 dimensions to capture the variance in feedback matrix [2]. P.2 2nd column ¶2: For each instance classified as E the instance selector calculates Euclidean distance of that instance’ (ScoreA2Cloud; ScoreCost) from ideal tuple (1; 1) (ideal A2Cloud and cost scores are equal to 1).
- “computing, via the one or more hardware processors, a suitability score using the application profile traces vector and each record of the cloud instances matrix wherein the suitability score is computed by calculating a Euclidean distance” (Her p.2 2nd column, ¶2: For each instance classified as E, the instance selector calculates Euclidean distance of that instance’ (ScoreA2Cloud; ScoreCost) from ideal tuple (1;1) (the ideal A2Cloud and cost scores are equal to 1). The instance selector recommends an instance with least Euclidean distance) “and a cosine similarity between the application profile traces vector and the cloud instances matrix”; (Her p.2 1st column last ¶ - 2nd column ¶1: CF employs cosine similarity by treating rows of rui as vectors. The target application X (row x) is most similar to application Y (row y), if their cosine similarity measure is least. CF uses the (ScoreA2Cloud, ScoreCost) of Y as the estimated feedback for X).
- “classifying, via the one or more hardware processors, the dataset of cloud instances into at least one of (i) a best-suited category, (ii) an average-suited category, and (iii) a worst-suited category” (Her p.2, 1st column ¶1 - ¶2: The framework multiplies the application vector and statistical Cloud matrix to yield best-case, average-case, and worst-case A2Cloud score vectors, ScoreA2Cloud. These 3 types of vectors denote the best-case, average, and worst-case instance performance. For all instances, the framework multiplies their cost per second (cost model) with the best-case, average, and worst-case A2Cloud scores to generate best-case, average case, and worst-case cost vectors, ScoreCost. CC inputs best-case, average-case, and worst-case A2Cloud score and cost vectors for training and analysis… We use A2Cloud framework to generate the A2Cloud and cost scores for 500 application-Cloud instance pairs, resulting in 1500 (ScoreA2Cloud,ScoreCost) tuples (500 pairsx{best-case, average-case, worst-case}).
Her p.2 2nd column ¶2: invoking the k-means clustering for four instance classes: Excellent (E), Good (G), Okay (O), and Bad (B) where E is the most desirable class and B is the least desirable class. Using the clustering data, NB undergoes the training phase wherein it constructs a frequency table that contains the frequencies with which the feature points (A2Cloud and cost scores) appear in a given class. The NB testing phase (Figure 1.b) inputs the A2Cloud and cost scores for the target application and selected instances. The testing phase classifies the instances for the application as E,G,O, or B and passes this classification to the instance selector, which
selects an optimal instance from the class, E. For each instance classified as E, the instance selector calculates the Euclidean distance of that instance’s (ScoreA2Cloud; ScoreCost) from the ideal tuple (1; 1) (the ideal A2Cloud and cost scores are equal to 1). The instance selector recommends an instance with the least Euclidean distance
Her Figs.1-2. p.3, 2nd column ¶2-¶3: perform these real executions on 20 instances and extract normalized best-case, average-case, and worst-case execution times and costs, (runtime; cost) on a scale of 1 (most desirable) to 10 (least desirable). We term this as execution data and compare the predictions made by ML agents using (ScoreA2Cloud; Scorecost) data (henceforth ML predictions) with the predictions made using the execution data (henceforth execution predictions.
Her p.4 2nd column ¶1: Figure 2.g provides runtime score versus actual cost score for 20 instances when tested with Qode. The figure shows that t3a.large (see circled data-point) is the 2nd best cost-effective instance as per the execution data)
- “wherein classification is performed by applying K-means clustering method on the dataset of the cloud instances updated based on the generated suitability score”;
(Her p.2 2nd column ¶2: invoking the k-means clustering for four instance classes: Excellent (E), Good (G), Okay (O), and Bad (B) where E is the most desirable class and B is the least desirable class. Using the clustering data, NB undergoes the training phase wherein it constructs a frequency table that contains the frequencies with which the feature points (A2Cloud and cost scores) appear in a given class. The NB testing phase (Fig1.b) inputs the A2Cloud and cost scores for the target application and selected instances. The testing phase classifies the instances for the application as E, G, O, or B and passes this classification to the instance selector, which
selects an optimal instance from the class, E. For each instance classified as E, the instance selector calculates the Euclidean distance of that instance’s (ScoreA2Cloud; ScoreCost) from the ideal tuple (1; 1) (the ideal A2Cloud and cost scores are equal to 1). The instance selector recommends an instance with the least Euclidean distance)
- “predicting, via the one or more hardware processors, an execution time and an execution cost of the HPC application on one or more combinations of one or more machine specifications associated with the HPC application using a performance analyzer”
(Her p.3 2nd column ¶2, 2nd-4th sentences: We perform these real executions on 20 instances and extract the normalized best-case, average-case, and worst-case execution times and costs, (runtime; cost) on a scale of 1 (most desirable) to 10 (least desirable). We term this data as the execution data. We compare the predictions made by ML agents using (ScoreA2Cloud; Scorecost) data (henceforth ML predictions) with the predictions made using the execution data (henceforth execution predictions). We use Qode and DM as case studies to compare the ML and execution predictions. p.4 2nd column ¶1-¶2: Figure 2.g provides runtime score versus actual cost score for 20 instances when tested with Qode. The figure shows that t3a.large (see circled data-point) is 2nd best cost-effective instance as per the execution data. For 2nd scenario, AHP weighs the 4 criteria as: 0.12, 0.31, 0.39, and 0.16 and provides weighted scores to the three alternatives as 0.33, 0.334, and 0.334. Because both NB and MLR have highest weighted scores, we arbitrarily break ties and select NB’s recommendation for DM: t3a.medium. Figure 2.h provides runtime score versus actual cost score for the 20 instances. The figure shows that t3a.medium (see circled small dot) is the most cost-effective instance for DM as per the execution data. These scenarios highlight AHP’s efficacy to select an effective recommendation from the ML agents).
“wherein the performance analyzer utilizes a trained machine learning engine for predicting the execution time and the execution cost of the HPC application”; (Her p.3 2nd column ¶3: perform these real executions on 20 instances and extract the normalized best-case, average-case, and worst-case execution times and costs, (runtime; cost) on a scale of 1 (most desirable) to 10 (least desirable). We term this data as execution data and compare the predictions made by ML agents using (ScoreA2Cloud; Scorecost) data (henceforth ML predictions) with the predictions made using execution data (henceforth execution predictions). We use Qode and DM as case studies to compare the ML and execution predictions). Her p.4 2nd column ¶1: Figure 2.g provides runtime score versus actual cost score for 20 instances when tested with Qode. The figure shows that t3a.large (see circled data-point) is the 2nd best cost-effective instance as per the execution data)
- “updating, via the one or more hardware processors, the dataset of the cloud instances with the predicted execution time and the predicted execution cost of the HPC application”;
(Her Fig.1A and p.2 1st column ¶3: The training methodology includes 3 iterative steps. First, the agent downloads the A2Cloud score and cost vectors from the database to create the feedback matrix, y. Each entry y(i; j) represents (ScoreA2Cloud, ScoreCost) tuple for application, i and the instance, j. CF randomly initializes the user and item matrices, pu and qi along k = 100 dimensions to capture the variance in the feedback matrix [2]. Second, the agent uses y to perform gradient descent and update the pu and qi matrices. For training efficiency, we set the gradient-descent learning rate equal to 5e-4 and regularization constant (λ) equal to 0. Third, CF multiplies pu and qi to obtain the user-item matrix, rui. The iterations terminate when the change in root mean square error (ΔRMSE) between rui and y is marginal across the iterations
Her Section III Testing: p.3 2nd column ¶3- p.4 2nd column ¶2: perform these real executions on 20 instances and extract the normalized best-case, average-case, and worst-case execution times and costs, (runtime; cost) on a scale of 1 (most desirable) to 10 (least desirable). We term this data as the execution data. Then, compare the predictions made by ML agents using the (ScoreA2Cloud; Scorecost) data (henceforth ML predictions) with the predictions made using the execution data (henceforth execution predictions). We use Qode and DM as case studies to compare the ML and execution predictions. Nothing the following subsequent testing
- CF testing-We use the execution data and perform collaborative filtering to obtain instance recommendations (execution predictions) for all the applications from the database and Qode. Figure 2.a provides the confusion matrix comparing the CF predictions and execution predictions. The figure shows that both predictions recommend t3a.medium, t3a.large, and t3.small as the top-performing instances with 77 total hits. CF misses for 4 cases where the recommendations do not match the execution predictions. We obtain the F1-score and accuracy values of 95%, showing CF’s efficacy to recommend instances. CF recommends t3a.large for this application. Figure 2.b provides the confusion matrix comparing the CF ML predictions and execution predictions for all the applications in the database and DM. The ML predictions match the execution predictions for 76 cases. The ML predictions disagree with execution predictions for 5 cases. CF observes high F1-score and accuracy values equal to 93%, showing CF’s ability to recommend instances. CF recommends t3a.medium for the DM application. NB testing - We use the execution data and perform kmeans clustering to classify instances as Excellent (E), Good (G), Okay (O), or Bad (B). This classification constitutes the execution predictions used to gauge the NB’s classification (ML predictions). Figure 2.c shows the confusion matrix comparing the execution and ML predictions for Qode. Out of 20 classified instances, NB miss-classifies and over-estimates only two instances (classifies them as G and E whereas the execution classification rates them as O and G, respectively). We observe low F1-score (88%) due to false positives. Albeit, NB generally predicts the correct instance classes (accuracy equal to 90%). NB recommends c5.large for Qode application. Figure 2.d shows the confusion matrix for NB when tested with the DM application. NB observes high F1-score (only one false negative below the diagonal) and accuracy values equal to 95%, showing it’s effectiveness to classify instances. NB recommends t3a.medium for this application.
- MLR testing-use same execution predictions as NB to evaluate MLR’s predictions. Figure 2.e provides the confusion matrix for MLR when tested with Qode. MLR observes high F1-score equal to 92% with 2 false negative predictions, and accuracy = 90%. Figure 2.f provides the confusion matrix for MLR when tested with DM. For this application, MLR observes high F1-score (one false positive) and accuracy values of 95%, showing the suitability of MLR for instance classification. MLR recommends c5.large and t3a.medium for Qode and DM, respectively.
- AHP Testing-evaluate the AHP’s ability to employ ML recommendations via two scenarios: 1) a Qode user with a moderately-strong preference for performance over cost (pre fuser = 6); and 2) a DM user with a moderately-strong preference for cost over performance (pre fuser = 1/6). For the first scenario, AHP weighs the four criteria: A2Cloud score, cost score, F1-score, and accuracy equal to 0.37, 0.11, 0.36, and 0.15, respectively. We obtain the weighted scores for the three alternatives CF, NB, and MLR as 0.48, 0.20, and 0.28, respectively. Because CF obtains the highest weighted score, AHP chooses CF’s instance recommendation for Qode: t3a.large. Figure 2.g provides runtime score versus actual cost score for 20 instances when tested with Qode. The figure shows that t3a.large (see circled data-point) is the 2nd best cost-effective instance as per the execution data. For the second scenario, AHP weighs the four criteria as: 0.12, 0.31, 0.39, and 0.16 and provides weighted scores to the three alternatives as 0.33, 0.334, and 0.334. Because both NB and MLR have the highest weighted scores, we arbitrarily break ties and select NB’s recommendation for DM: t3a.medium. Figure 2.h provides runtime score versus
actual cost score for the 20 instances. The figure shows that t3a.medium (see circled small dot) is the most cost-effective instance for DM as per the execution data. These scenarios highlight AHP’s efficacy to select an effective recommendation from the ML agents) “and”
- “generating, via the one or more hardware processors, a recommendation for one or more cloud instances from the updated dataset of the cloud instances in accordance with a plurality of user inputs using an optimization algorithm”.
(Her p.2, 2nd column ¶2: The testing phase classifies the instances for the application as E,G,O, or B and passes this classification to instance selector, which selects an optimal instance from the class, E. For each instance classified as E, the instance selector calculates the Euclidean distance of that instance’s (ScoreA2Cloud; ScoreCost) from ideal tuple (1;1) (ideal A2Cloud and cost scores=1). The instance selector recommends an instance with least Euclidean distance).
PNG
media_image3.png
204
894
media_image3.png
Greyscale
Her, Fig.1. ML training methodology: a) CF; b) NB classifier; and c) MLR classifier in support of rejection arguments
PNG
media_image4.png
304
1110
media_image4.png
Greyscale
Her Fig.2. The confusion matrices for the three ML members when tested with Qode and data-migration (DM): a) CF and Qode, b) CF and DM, c) NB and Qode, d) NB and DM, e) MLR and Qode, f) MLR and DM; and runtime vs. cost scores for 20 instances: g) user’s preference for performance with Qode, and h) user’s preference for cost with DM.
Claims 2,6,10 Her teaches all the limitations in claims 1,5,9 above. Furthermore,
Her teaches wherein training steps for the trained machine learning engine comprises
- “obtaining one or more attributes and the one or more machine specifications associated with the HPC application”; (Her p. 2 1st column ¶2: CC inputs best-case, average-case, and worst-case A2Cloud score and cost vectors for training and analysis. For ML training, we use a collection of 8 scientific applications with different computation-to-communication requirements. These applications include: LULESH (3 problem sizes) [5], 3 spiking neural networks (SNNs) (3 problem sizes each) [6], 3 data-migration simulations without space constraints (3 problem sizes each) [7], and digital rotoscope (4 problem sizes) [8]. We test these applications with 20 Cloud instances from providers including Amazon [9], Google [10], Microsoft [11], and Linode [12]. We use the A2Cloud framework to generate the A2Cloud and cost scores for 500 application-Cloud instance pairs, resulting in 1500 (ScoreA2Cloud, ScoreCost) tuples (500 pairs x fbest-case, average-case, worst-caseg). The ML agents download these tuples (as individual vectors) from the database for training. In what follows, we explain the ML training methodology.
Her p.2 1st column ¶3: the agent downloads the A2Cloud score and cost vectors from the database to create the feedback matrix, y. Each entry y(i;j) represents the (ScoreA2Cloud, ScoreCost) tuple for the application, i and the instance, j. CF randomly initializes the user and item matrices, pu and qi along k = 100 dimensions to capture the variance in the feedback matrix [2]. Second, the agent uses y to perform gradient descent and update the pu and qi matrices. For training
efficiency, we set the gradient-descent learning rate equal to 5e-4 and regularization constant (λ) equal to 0. Third, CF multiplies pu and qi to obtain the user-item matrix, rui. The iterations terminate when the change in root mean square error (ΔRMSE) between rui and y is marginal across the iterations. Upon completion, rui contains the estimates of the missing feedback values (A2Cloud and cost scores) for the target application and selected instances)
- “preparing a training dataset comprising (i) the one or more attributes associated with the HPC application” (Her p.2 1st column ¶3: CF uses three matrices: pu and qi along k dimensions [2] [13], and the feedback matrix, y, to denote users, items, and available feedback values for the selected items, respectively. The training methodology includes 3 iterative steps. First, the agent downloads the A2Cloud score and cost vectors from the database to create the feedback matrix, y. Each entry y(i; j) represents the (ScoreA2Cloud, ScoreCost) tuple for the application, i and instance, j. CF randomly initializes the user and item matrices, pu and qi along k = 100 dimensions to capture the variance in the feedback matrix [2]. Second, the agent uses y to perform gradient descent and update the pu and qi matrices. For training efficiency, we set the gradient-descent learning rate equal to 5e-4 and regularization constant (λ) equal to 0. Third, CF multiplies pu and qi to obtain the user-item matrix, rui. The iterations terminate when the change in root mean square error (Δ RMSE) between rui and y is marginal across the iterations. Upon completion, rui contains the estimates of the missing feedback values (A2Cloud and cost scores) for the target application and selected instance), “(ii) the one or more combinations of one or more machine specifications associated with the HPC application” (Her Figs.1-2, p.2 1st column ¶3: the agent uses y to perform
gradient descent and update the pu and qi matrices. For training efficiency, we set the gradient-descent learning rate equal to 5e-4 and regularization constant (λ) equal to 0. Third, CF multiplies pu and qi to obtain the user-item matrix, rui. The iterations terminate when the change in root mean square error (Δ RMSE) between rui and y is marginal across the iterations. p.4 2nd column ¶1-¶2: Fig.2.g provides runtime score versus actual cost score for 20 instances when tested with Qode. The figure shows that t3a.large (see circled data-point) is 2nd best cost-effective instance as per the execution data. For 2nd scenario, AHP weighs the 4 criteria as: 0.12, 0.31, 0.39, and 0.16 and provides weighted scores to the three alternatives as 0.33, 0.334, and 0.334. Because both NB and MLR have highest weighted scores, we arbitrarily break ties and select NB’s recommendation for DM: t3a.medium. Fig 2.h provides runtime score versus actual cost score for the 20 instances. The figure shows t3a.medium (see circled small dot) is most cost-effective instance for DM as per the execution data. These scenarios highlight AHP’s efficacy to select effective recommendation from the ML agents) “and (iii) and the execution time of the HPC application on each of the one or more combinations of the one or more machine specifications associated with the HPC application” (Her p.3 2nd column ¶3: We perform these real executions on 20 instances and extract the normalized best-case, average-case, and worst-case execution times and costs, (runtime; cost) on a scale of 1 (most desirable) to 10 (least desirable). We term this data as the execution data. p.4 2nd column ¶1-¶2: Figure 2.g provides runtime score versus actual cost score for 20 instances when tested with Qode. The figure shows that t3a.large (see circled data-point) is the 2nd best cost-effective instance as per the execution data. For the second scenario, AHP weighs the 4 criteria as: 0.12, 0.31, 0.39, and 0.16 and provides weighted scores to the 3 alternatives as 0.33, 0.334, and 0.334. Because both NB and MLR have highest weighted scores, we arbitrarily break ties and select NB’s recommendation for DM: t3a.medium. Fig 2.h provides runtime score versus actual cost score for the 20 instances. The figure shows that t3a.medium (see circled small dot) is the most cost-effective instance for DM as per the execution data. These scenarios highlight AHP’s efficacy to select an effective recommendation from the ML agents);
- “training a grid of models on the prepared training dataset, wherein the grid of models is created by using one or more machine learning based regression models with a set of hyperparameters”; (Her p.5 1st column, ¶2, 2nd sentence: the A2Cloud-cc suite uses AHP in a multi-agent setting where multiple ML techniques perform instance recommendation. p.2 1st column ¶3 For training efficiency, set gradient-descent learning rate equal to 5e-4 and regularization constant (λ) equal to 0 as exemplary hyperparameters.
Her p.2 2nd column ¶2: invoking the k-means clustering for 4 instance classes, as exemplary hyperparameters: Excellent (E), Good (G), Okay (O), and Bad (B) where E is the most desirable class and B is the least desirable class. Then testing phase classifies instances for the application as E, G, O, or B and passes this classification to the instance selector, which selects an optimal instance from the class, E. For each instance classified as E, the instance selector calculates the Euclidean distance of that instance’s (ScoreA2Cloud; ScoreCost) from the ideal tuple (1; 1) (the ideal A2Cloud and cost scores are equal to 1).
Her p.2, 2nd column ¶3: Multinomial Logistic Regression (MLR)-MLR (Fig.1.c) downloads the A2Cloud and cost scores to generate 4 instance-classes: E,G,O, and B. MLR employs the softmax function (characterized by feature weight vector, [3]) to determine probability that class (yi) of an application-instance pair (i) with features, X = (ScoreA2Cloud; ScoreCost), is class, k. To identify β, we use scikit-learn’s lbfgs solver [14]. To promote accuracy, we set the tolerance for stopping equal to 1e-5, maximum number of iterations to 1000, and regularization strength (1/λ) to 10. Once MLR finishes training, it inputs (ScoreA2Cloud, ScoreCost) for the target application and selected instances, and applies the softmax function. MLR classifies the application-instance pairs into one of 4 classes with highest probability. MLR sends this classification to the instance selector, which uses the procedure outlined for NB to generate an instance recommendation.
Her p.2, 2nd column ¶4: We use accuracy and F1-score to evaluate the ML performance. Accuracy is ratio of correct predictions to total number of predictions. To penalize the ML agents on false positives (FP) and false negatives (FN), we use the F1-score, which is a harmonic mean of precision and recall. Precision is ratio of TP to sum of TP and false positives (FP), and recall is the ratio of TP to the sum of TP and FN
Her p.3 1st column last ¶: To create the Ac matrices over F1-score and accuracy, AHP applies Equation 2. This equation penalizes the less-performing MLs (low F1-score and accuracy) and rewards high-performing MLs, as exemplary hyperparameters) “and”
- “evaluating the grid of models in terms of an accuracy metric to obtain an optimal model from the grid of models” (Her p.1, 1st column ¶2: The A2Cloud-cc suite is an everlearning, multi-agent Cloud recommender system wherein multiple machine-learning (ML) agents collaborate with a leader (a decision-making agent) to recommend an effective instance for the scientific application. The suite comprises two components: our previously proposed A2Cloud framework [1] and a Council-of-Classifiers (CC) (present contribution). p.2 2nd column ¶2: testing phase classifies instances for the application as E,G,O, or B and passes this classification to the instance selector, which selects optimal instance from the class, E. For each instance classified as E, the instance selector calculates Euclidean distance of that instance’s (ScoreA2Cloud; ScoreCost) from the ideal tuple (1; 1) (the ideal A2Cloud and cost scores are equal to 1).
Her p.2, 2nd column ¶3: Multinomial Logistic Regression (MLR)-MLR (Fig.1.c) downloads the A2Cloud and cost scores to generate 4 instance-classes: E,G,O, and B. MLR employs the softmax function (characterized by feature weight vector, [3]) to determine probability that class (yi) of an application-instance pair (i) with features, X = (ScoreA2Cloud; ScoreCost), is class, k. To identify β, we use scikit-learn’s lbfgs solver [14]. To promote accuracy, we set the tolerance for stopping equal to 1e-5, maximum number of iterations to 1000, and regularization strength (1/λ) to 10. Once MLR finishes training, it inputs (ScoreA2Cloud, ScoreCost) for the target application and selected instances, and applies the softmax function. MLR classifies the application-instance pairs into one of 4 classes with highest probability. MLR sends this classification to the instance selector, which uses the procedure outlined for NB to generate an instance recommendation.
Her p.2, 2nd column ¶4: We use accuracy and F1-score to evaluate the ML performance. Accuracy is ratio of correct predictions to total number of predictions. To penalize the ML agents on false positives (FP) and false negatives (FN), we use the F1-score, which is a harmonic mean of precision and recall. Precision is ratio of TP to sum of TP and false positives (FP), and recall is the ratio of TP to the sum of TP and FN.
Her p.3, 1st column -p.3 2nd column ¶2: To create the Ac matrices over F1-score and accuracy, AHP applies Equation 2. This equation penalizes less-performing MLs (low F1-score and accuracy) and rewards high-performing MLs. Consider the hypothetical F1-scores for NB and CF equal to 0:92 and 0:95, respectively. In this case, the judgement for NB over CF (Ac[NB][CF]) is equal to min(9; (|92 - 95j + 1)sgn(-3)) = 4-1 = 1/4 and consequently, the judgement for CF over NB (Ac[CF] [NB]) is equal to 4. AHP scores the three alternatives on the four criteria by applying Equation 1a on the respective Ac matrices. After weighing the criteria and scoring the alternatives on each of the criteria, AHP applies Equation 1b to obtain the weighted scores (ws) for the alternatives. AHP selects the alternative (ML agent) with the highest ws for recommending a Cloud instance for the target application).
Claims 3,7,11 Her teaches all the limitations in claims 1,5,9 above. Furthermore,
Her teaches “wherein the recommendation for the one or more cloud instances is generated based on (i) content of a configuration file comprising the plurality of user inputs” (Her
p.1 2nd column ¶2: for training, CC (council-of-classifiers) downloads previous analyses conducted by the A2Cloud framework on multiple applications and Cloud instances from a user-contributed database. p.2 1st column ¶3: Collaborative Filtering (CF)- Fig.1. shows CF training methodology. the agent employs users, items and feedback values (user ratings) to generate recommendations. CF uses 3 matrices: pu and qi along k dimensions [2] [13], and the feedback matrix, y, to denote users, items, and available feedback values for the selected items, respectively. The training methodology includes three iterative steps. First, the agent downloads the A2Cloud score and cost vectors from the database to create the feedback matrix, y. Each entry y(i; j) represents the (ScoreA2Cloud, ScoreCost) tuple for the application, i and the instance, j. CF randomly initializes the user and item matrices, pu and qi along k = 100 dimensions to capture the variance in the feedback matrix [2]. Second, the agent uses y to perform gradient descent and update the pu and qi matrices. For training efficiency, we set the gradient-descent learning rate equal to 5e-4 and regularization constant (λ) equal to 0. Third, CF multiplies pu and qi to obtain the user-item matrix, rui. Also Fig. 2 g), h) and p.4 1st column ¶4: AHP Testing - We evaluate the AHP’s ability to employ ML recommendations via two scenarios: 1) a Qode user with a moderately-strong preference for performance over cost (prefuser=6); and 2) a DM user with a moderately-strong preference for cost over performance (prefuser=1/6) “and (ii) a criterion selected by the optimization algorithm between the execution cost and the execution time tradeoff” (Her p.2, 2nd column ¶2: The testing
phase classifies the instances for the application as E, G, O, or B and passes this classification to the instance selector, which selects an optimal instance from the class, E. For each instance
classified as E, the instance selector calculates the Euclidean distance of that instance’s (ScoreA2Cloud; ScoreCost) from ideal tuple (1; 1) (the ideal A2Cloud and cost scores=1). The instance selector recommends an instance with the least Euclidean distance. p.4 2nd column ¶1-¶2 Fig.2g provides runtime score versus actual cost score for 20 instances when tested with Qode. The figure shows that t3a.large (see circled data-point) is the 2nd best cost-effective instance as per the execution data. For the second scenario, AHP weighs the 4 criteria as: 0.12, 0.31, 0.39, and 0.16 and provides weighted scores to the 3 alternatives as 0.33, 0.334, and 0.334. Because both NB and MLR have highest weighted scores, we arbitrarily break ties and select NB’s recommendation for DM: t3a.medium. Figure 2.h provides runtime score versus [or as tradeoff] actual cost score for the 20 instances. The figure shows that t3a.medium (see circled small dot) is the most cost-effective instance for DM as per the execution data. These scenarios highlight AHP’s efficacy to select an effective recommendation from the ML agents).
Claims 4,8,12 Her teaches all the limitations in claims 1,5,9 above. Furthermore,
Her teaches“ wherein the cloud readiness of the HPC application to be migrated on the cloud platform is assessed based on the generated recommendations for the one or more cloud instances” (Her Fig.2 b,d,f,h and p. 3 2nd column ¶3: statistically execute the applications from database and 2 target applications:…data-migration with space constraints (DM) simulations p.4 2nd column ¶2: The figure shows that t3a.medium (see circled small dot) is the most cost-effective instance for DM [data-migration] as per the execution data. These scenarios highlight AHP’s efficacy to select an effective recommendation from the ML agents).
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Conclusion
This Office action has an attached requirement for information under 37 C.F.R. § 1.105. A complete response to this Office action must include a complete response to the attached requirement for information. The time period for reply to the attached requirement coincides with the time period for reply to this Office action.
Following art is made of record and considered pertinent to Applicant’s disclosure:
* Chahal D et al, High performance serverless architecture for deep learning workflows. In2021 IEEE/ACM 21st International Symposium on Cluster, Cloud and Internet Computing (CCGrid) p790-p796, IEEE, May 10th, 2021
* WO 2012027478 A1 teaching Distributing Cloud Compute Jobs In Marketplace, Involves Providing Access To Portion Of Executed Task Over Communication Network, Where Computer Based Task Is Scheduled To Be Executed According To Condition
* Sheoran et al, US 20220129316 A1 hereinafter Sheoran teaching or suggesting:
- obtaining, via one or more hardware processors, a plurality of profile trace data of the HPC application and a dataset of cloud instances, wherein the plurality of profile trace data is obtained by performing application profiling using one or more profiling tools;
(Sheoran ¶ [0055] workload representation [or profiling] 220 is a description [or profile] of resource usage of requested workload over an amount of time… workload representation [or profile] 220 is generated using any of a variety of different workload representation [or profiling] techniques discussed below. The workload representation generation module 202 generates the workload representation 220, using various resource usage history of the workload request 106, in same manner as is done when generating a workload representation to train the equivalence class prediction module 204 as discussed in more detail below. Specifically, at ¶ [0059] 2nd-4th sentences: training system 300 receives as input workload thousands or tens of thousands workload resource usage histories 320 describing usage of different resources (e.g memory, processor, I/O) over time as the workload is performed. The resource usage is recorded at various time intervals, such as every 100 milliseconds, every 10 seconds, every 1 minute, every 5 minutes, and so forth to generate the workload resource usage history for a workload)
- “generating, via the one or more hardware processors”,
= “(i) an application profile traces vector by combining one or more profile features extracted from the plurality of profile trace data”
(Sheoran ¶ [0026] 1st sentence: including the workload representations [or profiles] in training data allows the training module to train the machine learning system to generate equivalence classes based on actual workload resource usage histories.
Sheoran ¶ [0032] 1st sentence: allow temporal-aware vector representations of workloads to be generated resulting in efficient resource usage prediction over time. Specifically, per
Sheoran ¶ [0039] workload representation [profiling] refers to description [or profile] of resource usage of workload over time in vector form. Examples of workload representations include aggregate [or combined] features of the workload resource usage (e.g. total [or combined] average CPU usage, total [or combined] and average memory usage), temporal characteristics derived from resource usage (e.g. temporal aspects of shape, trend, diurnality). etc. Similar
Sheoran ¶ [0055] 1st sentence: workload representation 220 is description [or profile] of resource usage of workload over time in vector form. ¶ [0089] workload representations for the multiple workloads are generated using selected distance metric (block 406). These workload representations are in vector form) “and
= “(ii) a cloud instances matrix using a plurality of cloud features obtained from an extended and transformed dataset of the cloud instances”;
(Sheoran ¶ [0021] 3rd-4th sentences and ¶ [0065] 2nd-3rd sentences: using dynamic time warping [stretching or extending] technique to find minimum cost path between the complete matrix of pairwise distances of the two workloads. The dynamic time warping distance between both CPU usages and memory usages is determined and these two distances are combined, such as by taking an average of the normalized [or transformed] distances).
- “computing, via the one or more hardware processors, a suitability score using the application profile traces vector and each record of the cloud instances matrix”
(Sheoran ¶ [0089] workload representations for t multiple workloads are generated using the selected distance metric (block 406). These workload representations are, in vector form.
Sheoran ¶ [0090] A number of clusters to include in a set of multiple clusters into which the multiple workloads are grouped is determined (408). Each of the multiple clusters corresponds to one of multiple equivalence classes for workloads in the digital environment…this determination is made by selecting the number of clusters having a highest silhouette score. For example per,
Sheoran ¶ [0070] 1st-5th sentences: clustering module 304 evaluates clusters generating for each value of k, a silhouette score for k clusters. The silhouette score measures how similar elements of a cluster are to their own cluster compared to other clusters, e.g., taking into account both the intra-cluster (point-to-mean) and inter-cluster (point-to-neighboring-cluster) distances. The silhouette score ranges, from −1 to +1 with higher silhouette score values indicating an element is more similar to its own cluster and lower silhouette score values indicating an element is less similar to its own cluster. The silhouette score for a cluster value of k is generated by combining the silhouette scores for the elements in the clusters generated for the cluster value of k, such as by averaging the silhouette scores for elements in the clusters generated for the cluster value of k. The clustering module 304 selects the value of k having highest silhouette score)
- “wherein the suitability score is computed by calculating a Euclidean distance”
(Sheoran ¶ [0021] 5th sentence: The distances are determined using a baseline distance metric that is the Euclidean distance on the workload representations including total and average CPU usage, total and average memory usage, job duration and average, standard deviation and normalized standard deviation of the memory-CPU ratio. Similarly ¶ [0066] noting distance determination module 326 determines a baseline distance metric that is the Euclidean distance on the workload representations 324 including total and average CPU usage, total and average memory usage, job duration and average, standard deviation and normalized standard deviation of the memory-CPU ratio) “and a cosine similarity between the application profile traces vector and the cloud instances matrix”; (Sheoran ¶ [0070] 3rd sentence: the silhouette score ranges, from −1 to +1 with higher silhouette score values indicating an element is more similar to its own cluster and lower silhouette score values indicating an element is less similar to its own cluster)
- “classifying, via the one or more hardware processors, the dataset of cloud instances into at least one of” (Sheoran ¶ [0070] 3rd sentence: the silhouette score ranges, from −1 to +1 with higher silhouette score values indicating an element is more similar to its own cluster and lower silhouette score values indicating an element is less similar to its own cluster. ¶ [0090] 2nd sentence: each of the multiple clusters corresponds to one of multiple equivalence classes for workloads in digital environment…. this determination is made by selecting the number of clusters having a highest silhouette score) “(i) a best-suited category” (Sheoran ¶ [0070] 3rd sentence: +1 highest silhouette score similarity. ¶ [0070] 5th sentence: clustering module 304 selects value of k having the highest silhouette score. Similarly, ¶ [0078] 3rd sentence: distance metric determination module 306 selects equivalence class prediction module 310 having highest or largest effective prediction gain as the equivalence class prediction module 310 to use for the digital environment 100. The distance metric determination module 306 outputs an indication 340 of the selected distance metric generation system 302 (the distance metric generation system 302 corresponding to the selected equivalence class prediction module 310)) , “(ii) an average-suited category”, “and” “(iii) a worst-suited category” (Sheoran ¶ [0070] 3rd sentence: -1 least silhouette score similarity)
- “wherein classification is performed by applying K-means clustering method on the dataset of the cloud instances updated based on the generated suitability score”;
(Sheoran ¶ [0067] 1st-3rd sentences: each distance metric generation system 302 provides, to clustering module 304, the distances 328 determined by the distance metric generation system 302. The clustering module 304 implements functionality to cluster, for each distance metric generation systems 302, the workload resource usage histories 320 into multiple different clusters using k-means clustering techniques (e.g. k-means++) etc. clustering module 304 uses distances 328 between the workloads as determined by distance metric generation systems 302 to perform the clustering)
- “predicting, via the one or more hardware processors, an execution time and an execution cost of the HPC application on one or more combinations of one or more machine specifications associated with the HPC application using a performance analyzer”
(Sheoran ¶ [0032] 1st sentence: The techniques discussed herein allow temporal-aware vector representations of workloads to be generated resulting in efficient resource usage prediction over time. ¶ [0039] 1st sentence: the term workload representation refers to description of the resource usage of a workload over an amount of time, in a vector form. For example ¶ [0038] 3rd sentence, ¶ [0059] 4th sentence: resource usage is recorded every 100 milliseconds, every 1 second, every 10 seconds etc. ¶ [0021] 3rd-4th sentences: the distances are determined using a dynamic time warping technique to find a minimum cost path between the complete matrix of pairwise distances of the 2 workload. The dynamic time warping distance between both the CPU usages and memory usages is determined and these 2 distances are combined, by taking average of the normalized distances. Similarly, ¶ [0065] 2nd-3rd sentences: distance determination module 326 uses a dynamic time warping technique to find a minimum cost path between the complete matrix of pairwise distances of the two workloads. The dynamic time warping distance between both the CPU usages and memory usages is determined and these 2 distances are combined, such as by taking an average of the normalized distances. ¶ [0014] The equivalence-class-based resource usage prediction system implements functionality to assign each workload request to one of multiple equivalence classes. This allows multiple different workloads with similar characteristics to be assigned to the same equivalence class and treated similarly by the scheduling system (e.g. scheduled based on an expected amount of resources used by the workload over time). Thus, rather than expending the time and computational effort to treat each workload individually, the scheduling system treats multiple similar workloads similarly)
- “wherein the performance analyzer utilizes a trained machine learning engine for predicting the execution time and the execution cost of the HPC application”;
(Sheoran ¶ [0018] 1st-3rd sentences: machine learning system is trained by receiving workload resource usage histories history for a workload referring to data describing usage of different resources (e.g. memory, processor, I/O) over time as the workload is performed. i.e. every 100 milliseconds, every 10 seconds, every 1, 5 minutes, etc. to generate the workload resource usage history for a workload. Similarly, ¶ [0059] 4th sentence. Then at ¶ [0061] 1st sentence: The training module 308 trains the equivalence class prediction module 310 corresponding to the distance metric generation system 302 to predict an equivalence class for a workload request 106 using as training data the workload representations for the workload resource usage histories 320 as generated by the distance metric generation system 302. ¶ [0065] 1st-2nd sentences: A distance determination module 326 determines the distance 328 between two workload representations in any of a variety of different manners. In one or more implementations, a distance determination module 326 uses a dynamic time warping technique to find a minimum cost path between the complete matrix of pairwise distances of the two workloads)
- “updating, via the one or more hardware processors, the dataset of the cloud instances with the predicted execution time and the predicted execution cost of the HPC application”
(Sheoran Fig.3 below emphasis on steps 304-> 326(1), (y) -> step 306 -> 334 -> 308 [Wingdings font/0xDF]> equivalence class prediction module 310(1),(y). First ¶[0065] 2nd sentence distance determination module 326 uses a dynamic time warping technique to find a minimum cost path between the complete matrix of pairwise distances of the two workloads. Then, at ¶ [0059] 1st – 2nd sentences: training system 300 includes multiple (y) distance metric generation systems 302(1), . . . , 302(y), a clustering module 304, a distance metric determination module 306, a training module 308, and multiple (y) equivalence class prediction modules 310(1),…, 310(y). The training system 300 receives as input one or more workload resource usage histories 320.
Sheoran ¶ [0078] the distance metric determination module 306 generates a gain in prediction accuracy between an equivalence class prediction module and a technique that does not employ equivalence classes, also referred to as an effective prediction gain (EG), as follows:
PNG
media_image5.png
78
346
media_image5.png
Greyscale
where n is the total number of workloads being analyzed, e is equivalence class from a set of equivalence classes (ECs) that an equivalence class prediction module 310 is being trained for (e.g., the number of clusters for the corresponding distance metric generation systems 302), |e| is the size of equivalence class e (the number of workloads assigned to equivalence class e), and G (e) is the gain for the equivalence class e. The value G(e) is the gain in the correlation between the predicted and actual resource usages of the equivalence class prediction module 310 trained on EC e with respect to a resource usage prediction module that does not employ equivalence classes (e.g., an EC-agnostic model that takes all the examples of resource usage from the workload resource usage histories into account irrespective of the EC). The distance metric determination module 306 selects the equivalence class prediction module 310 having the highest or largest effective prediction gain as the equivalence class prediction module 310 to use for the digital environment 100. The distance metric determination module 306 outputs an indication 340 of the selected distance metric generation system 302 (the distance metric generation system 302 corresponding to the selected equivalence class prediction module 310). In response, the selected equivalence class prediction module 310 is used as the equivalence class prediction module 204 of Fig.2, and the workload representation generation module 202 generates workload representation 220 in the same manner as the workload representation generation module 322 of the selected distance metric generation system 302).
* US 20100125473 A1 Cloud computing assessment tool
* US 8782241 B2 Cloud computing assessment tool
* US 20120131591 A1 Method and apparatus for clearing cloud compute demand
* US 20220004174 A1 Predictive analytics model management using collaborative filtering
* US 20150341240 A1 Assessment of best fit cloud deployment infrastructures
* US 20250004903 A1 Method and system for optimizing data placement in high-performance computers
* US 11847496 B2 System and method for training and selecting equivalence class prediction modules for resource usage prediction
* US 10417226 B2 Estimating the cost of data-mining services
* US 9813486 B2 Assessment of cloud hosting suitability for multiple applications
Any inquiry concerning this communication or earlier communications from the examiner should be directed to OCTAVIAN ROTARU whose telephone number is (571)270-7950. The examiner can normally be reached on 571.270.7950 from 9AM to 6PM. If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, PATRICIA H MUNSON, can be reached at telephone number (571)270-5396. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300. Information regarding the status of an application may be obtained from Patent Center. Status information for published applications may be obtained from Patent Center. Status information for unpublished applications is available through Patent Center for authorized users only. Should you have questions about access to Patent Center, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) Form at https://www.uspto.gov/patents/uspto-automated- interview-request-air-form.
/OCTAVIAN ROTARU/
Primary Examiner, Art Unit 3624 A
August 6th, 2026
1 MPEP 2106.04(a): “…examiners should identify at least one abstract idea grouping, but preferably identify all groupings to the extent possible…”.
2 Electric Power Group, LLC v. Alstom S.A., 830 F.3d 1350, 1354, 119 USPQ2d 1739, 1742 (Fed. Cir. 2016);
3 Content Extraction and Transmission,LLC v. Wells Fargo Bank,776 F.3d 1343,1348,113 USPQ2d 1354,1358 (Fed Cir. 2014)
4 Symantec, 838 F.3d at 1321, 120 USPQ2d at 1362; TLI Communications LLC v. AV Auto. LLC, 823 F.3d 607, 610, 118 USPQ2d 1744, 1745 (Fed. Cir. 2016); OIP Techs., Inc., v. Amazon.com, Inc., 788 F.3d 1359, 1363, 115 USPQ2d 1090, 1093 (Fed. Cir. 2015); buySAFE, Inc. v. Google, Inc., 765 F.3d 1350, 1355, 112 USPQ2d 1093, 1096 (Fed. Cir. 2014)
5 Alice Corp. Pty. Ltd. v. CLS Bank Int'l, 573 U.S. 208, 225, 110 USPQ2d 1984 (2014); Ultramercial, 772 F.3d at 716, 112 USPQ2d at 1755
6 Versata Dev. Group, Inc. v. SAP Am., Inc., 793 F.3d 1306, 1331, 115 USPQ2d 1681, 1699 (Fed. Cir. 2015).
7 Flook, 437 U.S. at 594, 198 USPQ2d at 199; Bancorp Services v. Sun Life, 687 F.3d 1266,1278, 103 USPQ2d 1425,1433 (Fed. Cir. 2012)