DETAILED ACTION
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 .
Response to Amendment/Arguments
1. Applicant’s arguments filed on May 4, 2026 regarding the rejection under 35 U.S.C. 101 have been fully considered but are not persuasive. Applicant’s initial statement that claims 1-20 were rejected as being directed to “non-statutory subject matter” mischaracterizes the rejection. The Examiner did not reject the claims for failing to fall within a statutory category. Rather, the Examiner expressly determined at Step 1 the claims 1-13 fall within the statutory category of a process and claims 14-20 fall within the statutory category of a machine. The claims were rejected because they recite an abstract idea without integrating the abstract idea into a practical application or providing significantly more than the abstract idea. Accordingly, Applicant’s assertion that the claims were amended to “recite statutory subject matter” does not address the actual basis of the rejection.
Applicant further argues that the independent claims 1, 14, and 18, considered as a whole, cannot recite a mental process since the claims include executing and training a machine learning operation, executing a serviceability prediction engine implementing machine learning models, and transferring programming logic between cloud and edge computing platforms. However, the Examiner did not characterize those computer-implemented operations are mental processes. Rather, the Examiner identified the limitations directed to analyzing operational data, including training results, the amount of data being processed, and the frequency of execution requests, and determining from that analysis whether the machine learning operation should be relocated to and additionally trained on the edge computing platform. These limitations involve observations, evaluations, and judgements that can be practically performed in the human mind, with the aid of pen and paper or basic computational tools, and therefore fall within the mental process grouping of abstract ideas.
Applicant’s reliance on the August 4, 2025 Memorandum does not establish otherwise. The Memorandum expects that a claim recites a mental process when it contains limitations that can be practically performed in the human mind, including observations, judgements, and opinions. It also cautions examiners not to characterize as mental processes particular limitations that cannot practically be performed mentally. Consistent with the guidance, the Examiner has not characterized the execution, training, or transfer limitations as mental processes.
Further, MPEP 2106.04(a)(2)(III)(C) explains that a claim requiring a computer may nevertheless recite a mental process when the mental process is performed on a generic computer, within a computer environment, or using a computer as a tool. Thus, the presence of separately recited computer-implemented limitations does not establish that the claims fail to recite the identified observations, evaluations, and judgements.
Here, the cloud computing platform, serviceability prediction engine, execution and training of the machine learning operation, and transfer of programming logic are separately evaluated as additional elements. As set forth in the rejection, those elements merely use generic computer components to implement the result of the abstract analysis and determination and do not recite a particular technological mechanism that improves the functioning of the cloud computing platform, edge computing platform, serviceability prediction engine, or another technology. The additional elements therefore do not integrate the identified mental process into a practical application or amount to significantly more than the judicial exception.
Accordingly, Applicant’s contention that the eligibility analysis ends under Step 2A, Prong One is not persuasive. Claims 1, 14, and 18 recite the identified mental processes. As set forth in the rejection, the additional elements were evaluated under Step 2A, Prong Two and Step 2B and do not integrate the identified abstract idea into a practical application or amount to significantly more than the abstract idea. Applicant has no presented separate eligibility requirements for the dependent claims beyond their dependency from claims 1, 14, and 18. Therefore, the rejection of claims 1-20 under 35 U.S.C. 101 is maintained.
2. Applicant’s argument filed on May 4, 2026 regarding the rejection under 35 U.S.C. 103 has been fully considered but are not persuasive. Applicant argues that Sharma trains a machine learning model in the cloud, and after training is completed, transfers the trained model to the edge platform for execution, and therefore does not teach the amended limitations requiring analysis of operation should be relocated to and additionally trained on the edge platform, and transfer programming logic in response to that determination. However, the present rejection is under 35 U.S.C. 103 over Sharma in view of Dirac further in view of Kinnaird and does not rely on Sharma alone to teach every limitation of claim 1.
Sharma teaches executing and training a machine learning operation on a cloud computing platform, mobility of machine learning applications and models between cloud and edge platforms, containerizing the machine learning application with code, runtime, system tools, and libraries required for execution, and deploying, executing, and training the machine learning operation at the edge platform.
Dirac teaches collecting predictive-effectiveness metrics and information concerning parameters changed during training iterations, which corresponds to training results indicating the state of the machine learning operation. Dirac further teaches model-execution requests specifying data sets containing one million records and expected frequency of one hundred prediction requests per day, which corresponds to the claimed amount of data being processed and frequency of requests received for execution of the machine learning operation.
Kinnaird teaches applying a machine learning algorithm to analyze workload information, including describing applications, virtual machines, dependencies, metadata, and peak-hour characteristics, and identifying an edge computing environment as a target for a workload migration. Kinnaird further teaches communicating the workload to the edge computing environment identified by the machine learning prediction. When applied to Sharma’s machine learning operation, Kinnaird’s analysis and migration determination teach determining, based on the analyzed operational data, whether the machine learning operation should be relocated to the edge computing platform, while Sharma teaches further training and execution of the transferred machine learning operation at the edge platform.
Accordingly, the combined teachings of Sharma, Dirac, and Kinnaird teach or suggest analyzing the claimed operational data, determining based on the analysis whether the machine learning operation should be relocated to and additionally trained on the edge computing platform, and transferring the programming logic to the edge computing platform for further training and execution in response to that determination. It would have been obvious to use Dirac’s training-performance and operational-demand information as inputs to Kinnaird’s machine learning based migration technique in Sharma’s cloud-to-edge system to base the relocation decision on the training state and operational demands of the machine learning operation, yielding predictable results of determining whether the operation should be transferred to the edge platform for further training and execution.
Claims 14 and 18 recite corresponding limitations in apparatus and computer-readable-medium form and remain rejected for the same reasons. Applicant’s general assertion that the dependent claims are patentable by virtue of their dependencies does not separately address the additional teachings relied upon for those claims. Therefore, the rejections under 35 U.S.C. 103 are maintained.
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-20 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) without significantly more.
101 Subject Matter Eligibility Analysis
Step 1: Claims 1-20 are within the four statutory categories (a process, machine, manufacture or composition of matter).
Claims 1-13 are directed to a method consisting of a series of steps, meaning that it is directed to the statutory category of process. Claims 14-20 are directed to storage mediums and processors which are machines.
Step 2A Prong One, Step 2A Prong Two, and Step 2B Analysis:
Step 2A Prong One asks if the claim recites a judicial exception (abstract idea, law of nature, or natural phenomenon). If the claim recites a judicial exception, analysis proceeds to Step 2A Prong Two, which asks if the claim recites additional elements that integrate the abstract idea into a practical application. If the claim does not integrate the judicial exception, analysis proceeds to Step 2B, which asks if the claim amounts to significantly more than the judicial exception. If the claim does not amount to significantly more than the judicial exception, the claim is not eligible subject matter under 35 U.S.C. 101.
None of the claims represent an improvement to technology.
Regarding claim 1, the following claim elements are abstract ideas:
analyze operational data associated with the machine learning operation to determine a state of the machine learning operation, wherein analyzing the operational data comprising analyzing training results of training the machine learning operation executing on the cloud platform, and analyzing at least one of an amount of data being processed by the machine learning operation and a frequency of requests received for execution of the machine learning operation (This is an abstract idea of a mental process. A person could observe model training results, the amount of data being processed, and the frequency of execution requests, and evaluate the information to form a judgement regarding the state of the machine learning operation, such as whether the model is sufficiently trained, requires further training, or requires additional computational resources. These observations, evaluations, and judgements can be practically performed in the human mind, with the aid of pen and paper or basic computational tools, and therefore falls within the mental process grouping of abstract ideas. See MPEP 2106.04(a)(2)(III).)
determine based at least in part on the analysis of the operational data, whether the machine learning operation should be relocated to, and additionally trained on, an edge computing platform (This is an abstract idea of a mental process. A person could evaluate the observed training results, processing demands, and request frequency and form a judgement regarding whether the machine learning operation is sufficiently trained and suitable for relocation to the edge platform or requires additional training at the edge platform. These evaluations and judgements can be practically performed in the human mind, with the aid of pen and paper or basic computational tools, and therefore fall within the mental process grouping of abstract ideas.);
The following claim elements are additional elements which, taken alone or in combination with the other elements, do not integrate the judicial exception into a practical application nor amount to significantly more than the judicial exception:
executing, by a cloud computing platform, a machine learning operation which is deployed on the cloud computing platform (This limitation constitutes mere instructions to apply the abstract idea and insignificant extra-solution activity. See MPEP 2106.05(f) and 2106.05(g).);
training, by the cloud computing platform, the machine learning operation executing on the cloud computing platform (This limitation constitutes mere instructions to apply the abstract idea and insignificant extra-solution activity. See MPEP 2106.05(f) and 2106.05(g).)
executing, by the cloud computing platform, a serviceability prediction engine which implements one or more machine learning models to (This limitation constitutes mere instructions to apply the abstract idea and insignificant extra-solution activity. See MPEP 2106.05(f) and 2106.05(g).):
a serviceability prediction engine (This a high-level recitation of generic computer components for performing the abstract idea. See MPEP 2106.05(f).)
transferring, by the cloud computing platform, programming logic of the machine learning operation to the edge computing platform for further training and execution of the machine learning operation on the edge computing platform, in response to determining that the machine learning operation should be relocated to, and additionally trained on, the edge computing platform (The step of transferring the programming logic is merely a generic data-transmission operation that is well-understood, routine, and conventional activity. The further training and execution of the machine learning operation on the edge computing platform merely instructs generic computer components to apply the result of the abstract determination and does not impose a meaningful limitation on the judicial exception.)
Regarding claim 2, the rejection of claim 1 is incorporated herein. Further, claim 2 recites the following additional elements, which taken alone or in combination with other elements, do not integrate the judicial exception into a practical application nor amount to significantly more than the judicial exception:
generating, by a cloud computing platform, a request that the further training of the machine learning operation be performed on the edge computing platform (The step of generating the request merely instructs a generic computer component to carry out the result of abstract determination that further training should be performed on the edge computing platform and does impose a meaningful limitation to the judicial exception.)
transmitting, by the cloud computing platform, the request to the edge computing platform (The step of transmitting the request is merely a generic data transmission operation that is well-understood, routine, and conventional activity. See MPEP 2106.05(d)(II)(i).).
Regarding claim 3, the rejection of claim 1 is incorporated herein, the following claim elements are abstract ideas:
determining… based at least in part on the edge device resource availability, whether the machine learning operation should be relocated to, and additional trained on the edge computing platform (This is an abstract idea of a mental process. A person could observe the processing, memory, and storage resources available, evaluate whether those resources are sufficient to support the machine learning operation and its further training, and form a judgement regarding whether the operation should be relocated to and additionally trained on the edge computing platform. These observations, evaluations, judgements can be practically performed in the human mind, with the aid of pen and paper or computational tools, and therefore fall within the mental process grouping of abstract ideas.)
The following claim elements are additional elements which, taken alone or in combination with the other elements, do not integrate the judicial exception into a practical application nor amount to significantly more than the judicial exception:
serviceability prediction engine (This a high-level recitation of generic computer components for performing the abstract idea. See MPEP 2106.05(f).)
receiving, by the serviceability prediction engine, data corresponding to edge device resource availability from the edge computing platform (The step of “receiving” data is merely generic data transmission operation that is well-understood, routine, and conventional activity.);
Regarding claim 4, the rejection of claim 1 is incorporated herein. Further, claim 2 recites the following additional elements, which taken alone or in combination with other elements, do not integrate the judicial exception into a practical application nor amount to significantly more than the judicial exception:
wherein the operational data comprises data corresponding to the amount of data being processed by the machine learning operation executing on the cloud computing platform (This limitation merely specifies data gathered for the abstract analysis and amounts to insignificant extra-solution activity.)
Regarding claim 5, the rejection of claim 1 is incorporated herein, the following claim elements are abstract ideas:
wherein the operational data comprises: data corresponding to the frequency of requests for execution of the machine learning operation on the cloud computing platform (This limitation merely specifies data gathered for the abstract analysis and amounts to insignificant extra-solution activity.);
Regarding claim 6, the rejection of claim 1 is incorporated herein, the following claim elements are abstract ideas:
wherein analyzing the training results of training the machine learning operation comprises computing a prediction error of the machine learning operation over a period of time (This is an abstract idea of a mental process and mathematical concept. Computing a prediction error involves mathematically comparing predicted results with actual results over time. A person could observe the predicted and actual results, calculate the differences using pen and paper or basic computational tools, and evaluate the resulting error. These mathematical calculations, observations, and evaluations fall within the mental process and mathematical concept grouping of abstract ideas.).
Regarding claim 7, the rejection of claim 6 is incorporated herein, the following claim elements are abstract ideas:
wherein computing the prediction error of the machine learning operation over the period of time is performed for a testing data set and a training data set (This is an abstract idea of a “mental process.” It involves performing basic computations to compare predicted and actual results for two different data sets over a period of time. A person could compute such prediction errors using pen and paper or simple tools, and thus constitutes an abstract idea of a mental process.).
Regarding claim 8, the rejection of claim 7 is incorporated herein, the following claim elements are abstract ideas:
generating a learning curve based at least in part on the prediction error (This is an abstract idea of a “mental process.” It involves creating a visual representation of model performance over time by plotting prediction errors, and could be performed by using pen and paper. Such activity – computing a prediction error and drawing the corresponding curve – can be readily performed mentally or with simple tools, and thus constitutes an abstract idea of a mental process.)
Regarding claim 9, the rejection of claim 8 is incorporated herein, the following claim elements are abstract ideas:
identifying a point on the learning curve corresponding to where the machine learning operation is between underfitting and overfitting the training data set (This is an abstract idea of a “mental process.” It involves reviewing a plotted graph of the learning curve, locating a specific point that represents the balance between underfitting and overfitting, and could be performed by a person entirely in the mind or using pen and paper. Such analysis and identification from a visual plot can be readily performed mentally or with simple tools, and thus constitutes an abstract idea of a mental process.);
determining whether the machine learning operation should be relocated to, and additionally trained on, an edge computing platform, based at least in part on the identified point on the learning curve (This is an abstract idea of a mental process. A person could observe the identified point on the learning curve, evaluate what the point indicates about the model’s training progress, and form a judgement regarding whether the machine learning operation should be relocated to and additionally trained on the edge computing platform. These observations, evaluations, and judgements can be practically performed in the human mind, with the aid of pen and paper or basic computational tools, and therefore fall within the mental process grouping of abstract ideas.).
Regarding claim 10, the rejection of claim 1 is incorporated herein, the following claim elements are abstract ideas:
generating…a confidence score for making the determination on whether the machine learning operation should be relocated to, and additionally trained on, the edge computing platform (This is an abstract idea of a mental process. A person could observe and evaluate the information concerning the machine learning operation and form a judgement regarding the degree of confidence that relocation and additional edge training are appropriate. These observations, evaluations, and judgements can be practically performed in the human mind, with the aid of pen and paper or basic computational tools, and therefore falls within the mental process grouping of abstract ideas.).
The following claim elements are additional elements which, taken alone or in combination with the other elements, do not integrate the judicial exception into a practical application nor amount to significantly more than the judicial exception:
by the serviceability prediction engine (This limitation constitutes mere instructions to apply the abstract idea and insignificant extra-solution activity. See MPEP 2106.05(f) and 2106.05(g).)
Regarding claim 11, the rejection of claim 10 is incorporated herein, the following claim elements are abstract ideas:
wherein the confidence score is computed using a conformal prediction model (This is an abstract idea of a “mental process.” It involves performing mathematical calculations to generate a confidence score based on a statistical model. Such computations could be carried out by a person using pen and paper or simple tools, and thus constitutes an abstract idea of a mental process.).
Regarding claim 12, the rejection of claim 10 is incorporated herein, the following claim elements are abstract ideas:
wherein generating…a recommendation for transferring the programming logic of the machine learning operation to the edge computing platform, based at least in part on the confidence score (This is an abstract idea of a mental process. A person could observe and evaluate the confidence score and form a judgement or opinion recommending whether the programming logic should be transferred to the edge computing platform. These observations, evaluations, judgements, and opinions can be practically performed in the human mind, with the aid of pen and paper or basic computational tools and therefore falls within the mental process grouping of abstract ideas.).
Regarding claim 13, the rejection of claim 12 is incorporated herein. Further, claim 13 recites the following additional elements, which taken alone or in combination with other elements, do not integrate the judicial exception into a practical application nor amount to significantly more than the judicial exception:
cloud computing platform (This a high-level recitation of generic computer components for performing the abstract idea. See MPEP 2106.05(f).)
transmitting the recommendation to one or more user devices (This limitation amounts to adding insignificant extra-solution activity to a judicial exception, as discussed in MPEP 2106.05(g). Transmitting to a user (i.e., mere data gathering in conjunction with the abstract idea) is directed to a well understood routine conventional activity data transmission see 2106.05(d)(II)(i).);
Regarding claim 14, the following claim elements are abstract ideas:
analyze operational data associated with the machine learning operation to determine a state of the machine learning operation, wherein analyzing the operational data comprising analyzing training results of training the machine learning operation executing on the cloud platform, and analyzing at least one of an amount of data being processed by the machine learning operation and a frequency of requests received for execution of the machine learning operation (This is an abstract idea of a mental process. A person could observe model training results, the amount of data being processed, and the frequency of execution requests, and evaluate the information to form a judgement regarding the state of the machine learning operation, such as whether the model is sufficiently trained, requires further training, or requires additional computational resources. These observations, evaluations, and judgements can be practically performed in the human mind, with the aid of pen and paper or basic computational tools, and therefore falls within the mental process grouping of abstract ideas. See MPEP 2106.04(a)(2)(III).)
determine based at least in part on the analysis of the operational data, whether the machine learning operation should be relocated to, and additionally trained on, an edge computing platform (This is an abstract idea of a mental process. A person could evaluate the observed training results, processing demands, and request frequency and form a judgement regarding whether the machine learning operation is sufficiently trained and suitable for relocation to the edge platform or requires additional training at the edge platform. These evaluations and judgements can be practically performed in the human mind, with the aid of pen and paper or basic computational tools, and therefore fall within the mental process grouping of abstract ideas.);
The following claim elements are additional elements which, taken alone or in combination with the other elements, do not integrate the judicial exception into a practical application nor amount to significantly more than the judicial exception:
at least one processor (This a high-level recitation of generic computer components for performing the abstract idea. See MPEP 2106.05(f).)
at least one memory storing computer program instructions (This a high-level recitation of generic computer components for performing the abstract idea. See MPEP 2106.05(f).)
executing, by a cloud computing platform, a machine learning operation which is deployed on the cloud computing platform (This limitation constitutes mere instructions to apply the abstract idea and insignificant extra-solution activity. See MPEP 2106.05(f) and 2106.05(g).);
training, by the cloud computing platform, the machine learning operation executing on the cloud computing platform (This limitation constitutes mere instructions to apply the abstract idea and insignificant extra-solution activity. See MPEP 2106.05(f) and 2106.05(g).)
executing, by the cloud computing platform, a serviceability prediction engine which implements one or more machine learning models to (This limitation constitutes mere instructions to apply the abstract idea and insignificant extra-solution activity. See MPEP 2106.05(f) and 2106.05(g).):
a serviceability prediction engine (This a high-level recitation of generic computer components for performing the abstract idea. See MPEP 2106.05(f).)
transferring, by the cloud computing platform, programming logic of the machine learning operation to the edge computing platform for further training and execution of the machine learning operation on the edge computing platform, in response to determining that the machine learning operation should be relocated to, and additionally trained on, the edge computing platform (The step of transferring the programming logic is merely a generic data-transmission operation that is well-understood, routine, and conventional activity. The further training and execution of the machine learning operation on the edge computing platform merely instructs generic computer components to apply the result of the abstract determination and does not impose a meaningful limitation on the judicial exception.)
Regarding claim 15, the rejection of claim 14 is incorporated herein, the following claim elements are abstract ideas:
wherein analyzing the training results of training the machine learning operation comprises computing a prediction error of the machine learning operation over a period of time (This is an abstract idea of a mental process and mathematical concept. Computing a prediction error involves mathematically comparing predicted results with actual results over time. A person could observe the predicted and actual results, calculate the differences using pen and paper or basic computational tools, and evaluate the resulting error. These mathematical calculations, observations, and evaluations fall within the mental process and mathematical concept grouping of abstract ideas.).
Regarding claim 16, the rejection of claim 15 is incorporated herein, the following claim elements are abstract ideas:
generating a learning curve based at least in part on the prediction error (This is an abstract idea of a “mental process.” It involves creating a visual representation of model performance over time by plotting prediction errors, and could be performed by using pen and paper. Such activity – computing a prediction error and drawing the corresponding curve – can be readily performed mentally or with simple tools, and thus constitutes an abstract idea of a mental process.)
Regarding claim 17, the rejection of claim 16 is incorporated herein, the following claim elements are abstract ideas:
identifying a point on the learning curve corresponding to where the machine learning operation is between underfitting and overfitting the training data set (This is an abstract idea of a “mental process.” It involves reviewing a plotted graph of the learning curve, locating a specific point that represents the balance between underfitting and overfitting, and could be performed by a person entirely in the mind or using pen and paper. Such analysis and identification from a visual plot can be readily performed mentally or with simple tools, and thus constitutes an abstract idea of a mental process.);
determining whether the machine learning operation should be relocated to, and additionally trained on, an edge computing platform, based at least in part on the identified point on the learning curve (This is an abstract idea of a mental process. A person could observe the identified point on the learning curve, evaluate what the point indicates about the model’s training progress, and form a judgement regarding whether the machine learning operation should be relocated to and additionally trained on the edge computing platform. These observations, evaluations, and judgements can be practically performed in the human mind, with the aid of pen and paper or basic computational tools, and therefore fall within the mental process grouping of abstract ideas.).
Regarding claim 18, the following claim elements are abstract ideas:
analyze operational data associated with the machine learning operation to determine a state of the machine learning operation, wherein analyzing the operational data comprising analyzing training results of training the machine learning operation executing on the cloud platform, and analyzing at least one of an amount of data being processed by the machine learning operation and a frequency of requests received for execution of the machine learning operation (This is an abstract idea of a mental process. A person could observe model training results, the amount of data being processed, and the frequency of execution requests, and evaluate the information to form a judgement regarding the state of the machine learning operation, such as whether the model is sufficiently trained, requires further training, or requires additional computational resources. These observations, evaluations, and judgements can be practically performed in the human mind, with the aid of pen and paper or basic computational tools, and therefore falls within the mental process grouping of abstract ideas. See MPEP 2106.04(a)(2)(III).)
determine based at least in part on the analysis of the operational data, whether the machine learning operation should be relocated to, and additionally trained on, an edge computing platform (This is an abstract idea of a mental process. A person could evaluate the observed training results, processing demands, and request frequency and form a judgement regarding whether the machine learning operation is sufficiently trained and suitable for relocation to the edge platform or requires additional training at the edge platform. These evaluations and judgements can be practically performed in the human mind, with the aid of pen and paper or basic computational tools, and therefore fall within the mental process grouping of abstract ideas.);
The following claim elements are additional elements which, taken alone or in combination with the other elements, do not integrate the judicial exception into a practical application nor amount to significantly more than the judicial exception:
a non-transitory computer-readable medium (This a high-level recitation of generic computer components for performing the abstract idea. See MPEP 2106.05(f).)
one processing device (This a high-level recitation of generic computer components for performing the abstract idea. See MPEP 2106.05(f).)
executing, by a cloud computing platform, a machine learning operation which is deployed on the cloud computing platform (This limitation constitutes mere instructions to apply the abstract idea and insignificant extra-solution activity. See MPEP 2106.05(f) and 2106.05(g).);
training, by the cloud computing platform, the machine learning operation executing on the cloud computing platform (This limitation constitutes mere instructions to apply the abstract idea and insignificant extra-solution activity. See MPEP 2106.05(f) and 2106.05(g).)
executing, by the cloud computing platform, a serviceability prediction engine which implements one or more machine learning models to (This limitation constitutes mere instructions to apply the abstract idea and insignificant extra-solution activity. See MPEP 2106.05(f) and 2106.05(g).):
a serviceability prediction engine (This a high-level recitation of generic computer components for performing the abstract idea. See MPEP 2106.05(f).)
transferring, by the cloud computing platform, programming logic of the machine learning operation to the edge computing platform for further training and execution of the machine learning operation on the edge computing platform, in response to determining that the machine learning operation should be relocated to, and additionally trained on, the edge computing platform (The step of transferring the programming logic is merely a generic data-transmission operation that is well-understood, routine, and conventional activity. The further training and execution of the machine learning operation on the edge computing platform merely instructs generic computer components to apply the result of the abstract determination and does not impose a meaningful limitation on the judicial exception.)
Regarding claim 19, the rejection of claim 18 is incorporated herein, the following claim elements are abstract ideas:
wherein analyzing the training results of training the machine learning operation comprises computing a prediction error of the machine learning operation over a period of time (This is an abstract idea of a mental process and mathematical concept. Computing a prediction error involves mathematically comparing predicted results with actual results over time. A person could observe the predicted and actual results, calculate the differences using pen and paper or basic computational tools, and evaluate the resulting error. These mathematical calculations, observations, and evaluations fall within the mental process and mathematical concept grouping of abstract ideas.).
Regarding claim 20, the rejection of claim 18 is incorporated herein, the following claim elements are abstract ideas:
generating a learning curve based at least in part on the prediction error (This is an abstract idea of a “mental process.” It involves creating a visual representation of model performance over time by plotting prediction errors, and could be performed by using pen and paper. Such activity – computing a prediction error and drawing the corresponding curve – can be readily performed mentally or with simple tools, and thus constitutes an abstract idea of a mental process.)
Claim Rejections - 35 USC § 103
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 (i.e., changing from AIA to pre-AIA ) 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.
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 1-7, 14-15, and 18-19 are rejected under the 35 U.S.C. 103 as being unpatentable over Sharma et al., (Pub. No.: US 20200327371 A1 (File: 2019)) in view of Dirac et al., (Pub. No.: US 20150379424 A1 (Filed: 2014)) further in view of Kinnaird et al., (Pub. No: US 20230125491 A1 (Filed: 2021)).
Regarding claim 1, Sharma discloses:
A method, comprising: executing, by a cloud computing platform, a machine learning operation which is deployed on the cloud computing platform (Sharma, paragraph [0105] “Applications developed using the software development kit can be containerized and thus made mobile so that they can be deployed and executed not only on the edge platform for which they were developed, but also on other edge platform implementations, as well as in the cloud…Similarly, applications developed on the edge can be run in the cloud and vice versa, and this is true for essentially all applications, including machine learning applications” – Sharma teaches that machine learning applications may be deployed and executed in the cloud. Under BRI, the disclosed machine learning application corresponds to the claimed machine learning operation.);
training, by the cloud computing platform, the machine learning operation executing on the cloud computing platform (Sharma, paragraph [0105] “Similarly, applications developed on the edge can be run in the cloud and vice versa, and this is true for essentially all applications, including machine learning applications” [0180] “Accordingly, a machine learning model to be deployed to and executed on the example edge platform 406, 609 may be suitably developed and trained in the cloud 412 using a model creation component 902, model training component 904, and data storage and aggregation component 573.” – Sharma teaches a machine learning application that may execute in the cloud and a machine learning model associated with the application that is developed and trained in the cloud. Under BRI. The disclosed machine learning application and its associated model correspond to the claimed machine learning operation. Thus, Sharma teaches training, by the cloud computing platform, the machine learning operation executing on the cloud computing platform.)
However, Sharma does not teach but Sharma in view of Dirac further in view of Kinnaird teaches the following limitations:
executing a serviceability prediction engine which implements one or more machine learning models to: analyze operational data associated with the machine learning operation to determine a state of the machine learning operation, wherein analyzing the operational data comprises analyzing training results of training the machine learning operation executing on the cloud computing platform, and analyzing at least one of an amount of data being processed by the machine learning operation and a frequency of requests received for execution of the machine learning operation (Sharma, paragraph [0105] “ Applications developed using the software development kit can be containerized and thus made mobile so that they can be deployed and executed not only on the edge platform for which they were developed, but also on other edge platform implementations, as well as in the cloud… Similarly, applications developed on the edge can be run in the cloud and vice versa, and this is true for essentially all applications, including machine learning applications” [0180] “a machine learning model to be deployed to and executed on the example edge platform 406, 609 may be suitably developed and trained in the cloud 412 using a model creation component 902, model training component 904, and data storage and aggregation component 573.” Kinnaird, paragraph [0036] “More specifically, embodiments of the present invention provide concepts for automatically identifying an edge computing environment location as a target for workload migration, and such identification may employ machine learning techniques to analyze workload information (and suggest/predict one or more edge computing environments (i.e., edge locations) for migrating the workload.” [0094] “ In embodiments, the training input data entries for the machine learning algorithm correspond to descriptions of training workloads. By way of example, a description of a workload may comprise, wherein the workload data is converted as time series of multiple variables: [0095] V = {A set of VMs to migrate} [0096] A = {A set of applications to migrate} [0097] D = {A set of dependencies to migrate} [0098] T= {A set of metadata for different application, peak hour and others}” [0132] “ For example, MCMP, as deployed on an edge layer, has a cloud component to it that may execute the algorithms to undertake the proposed workload migration concepts.” Dirac, paragraph [0077] “ the MLS control plane may comprise a set of monitoring agents that collect performance and other metrics from the resources used for the various phases of machine learning operations… quantitative measures of model predictive effectiveness such as the area under receiver operating characteristic (ROC) curves for various classifiers may also be collected… some of the information regarding quality may be deduced or observed implicitly by the MLS instead of being obtained via explicit client feedback, e.g., by keeping track of the set of parameters that are changed during training iterations before a model is finally used for a test data set.” [0066] “a client may indicate via a parameter of the model execution/creation request that up to 100 prediction requests per day are expected on data sets of 1 million records each, and the servers selected for the model may be chosen to handle the specified request rate.” – Sharma teaches a machine learning application deployed and executed in the cloud and a machine learning model associated with the application that is trained in the cloud. Under BRI, Sharma’s machine learning application and associated model correspond to the claimed machine learning operation executing and being trained on the cloud computing platform. Kinnaird teaches a cloud component executing machine learning based migration algorithms that analyze information describing an application. The analyzed information includes the application, associated virtual machines, dependencies, metadata, and peak-hour characteristics. When Kinnaird’s technique is applied to Sharma’s machine learning application, the application corresponds to the claimed machine learning operation, and the variables describing the application represent operational data indicating the state of the operation. Under BRI, Kinnaird’s cloud executed machine learning analysis corresponds to the claimed serviceability prediction engine implementing one or more machine learning models. Dirac teaches collecting predictive-effectiveness metrics and tracking parameters changed during training iterations. These collected metrics and parameter changes correspond to training results indicating the state of the machine learning operation. Dirac further teaches that each model execution request specifies up to 100 prediction requests per day on data sets containing one million records each. The one-million-record data sets represent the amount of data to be processed during the model executions, while the 100 prediction requests per day represent the frequency of requests received for execution of the machine learning operation. Thus, Sharma in view of Dirac further in view of Kinnaird teaches the claimed analysis of the operational data.); and
determine based at least in part on the analysis of the operational data whether the machine learning operation should be relocated to, and additionally trained on, an edge computing platform (Kinnaird, paragraph [0014] “The method comprises providing a description of a workload to a machine learning algorithm for identifying an edge computing environment location as a target for workload migration. The method also comprises obtaining a prediction result from the machine learning algorithm based on the description of the workload, the prediction result including an identifier of an edge location.” [0036] “embodiments of the present invention provide concepts for automatically identifying an edge computing environment location as a target for workload migration, and such identification may employ machine learning techniques to analyze workload information (and suggest/predict one or more edge computing environments (i.e., edge locations) for migrating the workload.” [0094] “In embodiments, the training input data entries for the machine learning algorithm correspond to descriptions of training workloads. By way of example, a description of a workload may comprise, wherein the workload data is converted as time series of multiple variables: [0095] V = {A set of VMs to migrate} [0096] A = {A set of applications to migrate} [0097] D = {A set of dependencies to migrate} [0098] T= {A set of metadata for different application, peak hour and others}“ Sharma, paragraph [0118] “ Applications developed using the SDK can be heterogeneous (e.g., developed in multiple different languages) and can nevertheless be deployed on the edge or in the cloud, thereby providing dynamic application mobility between the edge and cloud… The same dynamic mobility feature also can be applied to…machine learning models, so that they also can reside and execute on either the edge platform or the cloud.” [0120] “For example, a wide variety of data analytics and applications 639 can be developed to perform a wide variety of functions including machine learning” [0163] “The software edge platform also is capable to provide real-time model training and selection at the edge based on the above-described workflow of pre-processing sensor data, query-based model execution on pre-processed sensor data, and feature based data segmentation and intelligent matching.” – Kinnaird teaches that the analyzed workload includes an application and associated operational information, including virtual machines, dependencies, metadata, and peak-hour information. When Kinnaird’s technique is applied to Sharma’s machine learning application, the application corresponds to the claimed machine learning operation, and the information describing the application corresponds to the operational data analyzed in the preceding limitation. Kinnaird further teaches applying a machine learning algorithm to the workload description and outputting an identifier of an edge location as the target for migration. Under BRI, identifying an edge location as the migration target constitutes determining, based on the analyzed operational information, that the machine learning operation should be relocated to the identified edge computing platform. Sharma further teaches that the machine learning application and models may be deployed to the edge platform and that the edge platform performs real-time model training. Thus, Sharma in view of Kinnaird teaches determining whether the machine learning operation should be relocated to, and additionally trained on, an edge computing platform.)
transferring programming logic of the machine learning operation to the edge computing platform for further training and execution of the machine learning operation on the edge computing platform in response to determining that the machine learning operation should be relocated to, and additionally trained on, the edge computing platform (Kinnaird, [0014] “The method comprises providing a description of a workload to a machine learning algorithm for identifying an edge computing environment location as a target for workload migration. The method also comprises obtaining a prediction result from the machine learning algorithm based on the description of the workload, the prediction result including an identifier of an edge location.” [0016] “ Some embodiments may be configured to communicate the workload to an edge computing environment associated with the identifier of an edge location included in the prediction result.” Sharma, paragraph [0104] “ the software development kit can access aggregated time-series sensor data stored locally in the time-series database to facilitate developing and training machine learning models on the edge platform without the need to transmit to a remote cloud facility.” [0105] “Docker containers wrap up a piece of software in a complete file system that contains everything the software needs to run: code, runtime, system tools, and system libraries—anything that can be installed on a server. This ensures the software will always run the same, regardless of the environment in which it is running. Thus, by incorporating a container technology such as Docker in the SDK, applications developed using the SDK can be deployed and executed not only on the edge platform for which they were developed, but also on other edge platform implementations, as well as in the cloud… this is true for essentially all applications, including machine learning applications” – Kinnaird teaches obtaining a machine learning prediction identifying an edge location as the target for migration and, in response to that prediction, communicating the workload to the identified edge computing environment. When Kinnard’s migration technique is applied to Sharma’s machine learning application, the communicated workload corresponds to the claimed machine learning operation. Sharma teaches containerizing the machine learning application in a complete file system containing the code, runtime, system tools, and system libraries required to run the application. Under BRI, these software components constitute programming logic of the machine learning operation. Sharma further teaches deploying and executing the containerized machine learning application on the edge platform and training the machine learning model using data stored at the edge platform. Thus, Sharma in view of Kinnaird teaches transferring the programming logic of the machine learning operation to the identified edge computing platform for further training and execution in response to the determination to relocate and additionally train the operation at the edge.)
Accordingly, it would have been obvious to a person of ordinary skill in the art, before the effective filing date of the claimed invention, having Sharma, Dirac, and Kinnaird before them, to apply Kinnaird’s machine learning based workload migration decision technique to the cloud-to-edge machine learning system of Sharma and to use Dirac’s training performance information, data set size, and expected request frequency as operational inputs to the decision technique. One would have been motivated to make such a combination in order to base Sharma’s cloud-to-edge relocation decision on the training state and operational demands of the machine learning operation. In the combination, Dirac’s information would continue to indicate model performance and expected processing demands, while Kinnard’s machine learning technique would continue to determine whether migration to an edge computing environment is appropriate. The combination would therefore yield the predictable result of determining, from information describing the machine learning operation, whether the operation should be transferred to the edge platform for further training and execution.
Regarding claim 2, Sharma in view of Dirac further in view of Kinnaird, as outlined above, teaches all the elements of claim 1, therefore is rejected for the same reasons as those presented for claim 1, mutatis mutandis. Sharma in view of Dirac further in view of Kinnaird teaches the following limitations:
generating, by the cloud computing platform, a request that the further training of the machine learning operation be performed on the edge computing platform; and transmitting, by the cloud computing platform, the request to the edge computing platform (Sharma, paragraph [0081] “the cloud 412 may comprise edge provisioning and orchestration 443 functionality. Such functionality incorporates a remote management console backed by microservices to remotely manage various hardware and software aspects of one or more edge computing platforms in communication with the cloud. Using this functionality, multiple different edge installations can be configured, deployed, managed and monitored via the remote management console.” [0082] “The management services may reside and run on the edge platform, in the cloud, on on-premises computing environments, or a combination of these. The management services provide for remotely deploying, setting up, configuring, and managing edge platforms and components…The management services also may manage, for example, developing, deploying and configuring applications and analytics expressions.” [0104] “the software development kit can access aggregated time-series sensor data stored locally in the time-series database to facilitate developing and training machine learning models on the edge platform without the need to transmit to a remote cloud facility. This might be the case when there is sufficient compute capability available on the edge platform and the model can be adequately trained or adjusted without requiring a very large data set.” – Sharma teaches cloud-based provisioning and orchestration functionality that remotely deploys, configures, and manages applications and components on an edge platform in communication with the cloud. Sharma further teaches training or adjusting a machine-learning model using data locally available at the edge platform. Under BRI, a remote management instruction generated by the cloud platform directing the edge platform to deploy and configure the machine learning application for local training or adjustment corresponds to a request that further training of the machine learning operation be performed on the edge platform. Communicating the remote management instruction from the cloud-based orchestration functionality to the edge platform corresponds to transmitting the request to the edge computing platform.).
Regarding claim 3, Sharma in view of Dirac further in view of Kinnaird, as outlined above, teaches all the elements of claim 1, therefore is rejected for the same reasons as those presented for claim 1, mutatis mutandis. Sharma in view of Dirac further in view of Kinnaird teaches the following limitations:
receiving, by the serviceability prediction engine, data corresponding to edge device resource availability from the edge computing platform (Sharma, paragraph [0081] “the cloud 412 may comprise edge provisioning and orchestration 443 functionality. Such functionality incorporates a remote management console backed by microservices to remotely manage various hardware and software aspects of one or more edge computing platforms in communication with the cloud. Using this functionality, multiple different edge installations can be configured, deployed, managed and monitored via the remote management console.” [0082] “The management services may reside and run on the edge platform, in the cloud, on on-premises computing environments, or a combination of these. The management services provide for remotely deploying, setting up, configuring, and managing edge platforms and components, including resource provisioning.” [0083] “This translation enables models that would otherwise require substantial compute and storage assets to execute efficiently in an edge computing environment with constrained compute and storage resources.” Kinnaird, paragraph [0014] “The method comprises providing a description of a workload to a machine learning algorithm for identifying an edge computing environment location as a target for workload migration.” [0038] “Embodiments may also be able to adapt to feedback and/or changing resources for future instances/occurrences of the same workload(s).” – Sharma teaches cloud-based orchestration functionality that communicates with and monitors edge computing platforms and performs resource provisioning for the edge platforms. The monitored hardware and software aspects, including constrained compute and storage resources, correspond to data indicating edge device resource availability received from the edge computing platform. Kinnaird teaches providing information concerning an operation to the machine-learning migration algorithm and adapting the migration analysis in view of changing resources. As explained with respect to claim 1, Kinnaird’s machine learning migration algorithm corresponds to the claimed serviceability prediction engine. Applying Sharma’s monitored edge resource information as an input to Kinnaird’s machine learning migration algorithm teaches receiving, by the serviceability prediction engine, data corresponding to edge device resource availability from the edge computing platform.); and
determining, by the serviceability prediction engine, based at least in part on the edge device resource availability, whether the machine learning operation should be relocated to, and additional trained on the edge computing platform (Kinnaird, paragraph [0036] “embodiments of the present invention provide concepts for automatically identifying an edge computing environment location as a target for workload migration, and such identification may employ machine learning techniques to analyze workload information (and suggest/predict one or more edge computing environments (i.e., edge locations) for migrating the workload.” [0038] “ Embodiments may also be able to adapt to feedback and/or changing resources for future instances/occurrences of the same workload(s).” Sharma, paragraph [0104] “the software development kit can access aggregated time-series sensor data stored locally in the time-series database to facilitate developing and training machine learning models on the edge platform without the need to transmit to a remote cloud facility. This might be the case when there is sufficient compute capability available on the edge platform and the model can be adequately trained or adjusted without requiring a very large data set.” – Kinnaird teaches using a machine learning based migration algorithm to analyze information concerning an operation and identify an edge computing environment as a target for relocation. Kinnaird further teaches adapting the migration analysis in view of changing resources. Sharma teaches that a machine learning model may be trained or adjusted at the edge platform when sufficient edge computing capability is available. Thus, when Sharma’s edge-resource availability information is provided to Kinnaird’s machine learning migration algorithm, the algorithm determines whether the machine learning operation should be relocated to and additionally trained on the edge based platform based at least in part on whether the edge platform has sufficient computing resources.).
Regarding claim 4, Sharma in view of Dirac further in view of Kinnaird, as outlined above, teaches all the elements of claim 1, therefore is rejected for the same reasons as those presented for claim 1, mutatis mutandis. Sharma in view of Dirac further in view of Kinnaird teaches the following limitations:
wherein the operational data comprises: data corresponding to the amount of data being processed by the machine learning operation executing on the cloud computing platform (Dirac, paragraph [0066] “a client may indicate via a parameter of the model execution/creation request that up to 100 prediction requests per day are expected on data sets of 1 million records each, and the servers selected for the model may be chosen to handle the specified request rate.” – Dirac teaches that a model-execution request includes a parameter specifying data sets containing one million records for each prediction request. Thes specified number of records corresponds to the amount of data to be processed during execution of the machine learning operation. Since the data set size is included as a parameter used in managing execution of the model, it constitutes operational data corresponding to the amount of data being processed by the machine learning operation.).
Regarding claim 5, Sharma, as outlined above, teaches all the elements of claim 1, therefore is rejected for the same reasons as those presented for claim 1, mutatis mutandis. Sharma in view of Dirac further in view of Kinnaird teaches the following limitations:
wherein the operational data comprises: data corresponding to the frequency of requests for execution of the machine learning operation on the cloud computing platform (Sharma, paragraph [0105] “ Applications developed using the software development kit can be containerized and thus made mobile so that they can be deployed and executed not only on the edge platform for which they were developed, but also on other edge platform implementations, as well as in the cloud…this is true for essentially all applications, including machine learning applications” Dirac, paragraph [0066] “In the depicted embodiment, a client 164 of the MLS may submit a model execution request 812 to the MLS control plane 180 via a programmatic interface 861… For example, a client may indicate via a parameter of the model execution/creation request that up to 100 prediction requests per day are expected on data sets of 1 million records each, and the servers selected for the model may be chosen to handle the specified request rate.” – Sharma teaches a machine learning application deployed and executed in the cloud. Dirac teaches that a model execution request specifies an expected number of 100 prediction requests per day and that this request rate is used in selecting resources for execution of the model. The expected number of prediction requests per day corresponds to data indicating the frequency of requests for execution of Sharma’s machine learning operation on the cloud computing platform.).
Regarding claim 6, Sharma in view of Dirac further in view of Kinnaird, as outlined above, teaches all the elements of claim 1, therefore is rejected for the same reasons as those presented for claim 1, mutatis mutandis. Sharma in view of Dirac further in view of Kinnaird teaches the following limitations:
wherein analyzing the training results of training the machine learning operation comprises computing a prediction error of the machine learning operation over a period of time (Sharma, paragraph [0234] “The analytics expressions can be selected to effectively define what constitutes an unacceptable level of drift or degradation of accuracy for the model in response to selected input sensor data and to track the model output to determine if the accuracy has degraded or drifted beyond the acceptable limit. For example, the analytics expressions may determine a statistical characteristic of the inferences over time, such as a mean, average, statistically significant range, or statistical variation.” – Sharma teaches tracking the outputs of the machine learning model and computing statistical characteristics of the model’s inferences over time to determine whether the model’s accuracy has degraded or drifted beyond an acceptable limit. Under BRI, the measured degradation or deviation from the acceptable model accuracy corresponds to a prediction error of the machine learning operation. Computing the statistical characteristics of the model outputs over time corresponds to computing the prediction error over a period of time. Thus, Sharma teaches the claimed analysis of the training results.).
Regarding claim 7, Sharma, as outlined above, teaches all the elements of claim 6, therefore is rejected for the same reasons as those presented for claim 6, mutatis mutandis. Sharma in view of Dirac further in view of Kinnaird teaches the following limitations:
wherein computing the prediction error of the machine learning operation over the period of time is performed for a testing data set and a training data set (Sharma, paragraph [0234] “The analytics expressions can be selected to effectively define what constitutes an unacceptable level of drift or degradation of accuracy for the model in response to selected input sensor data and to track the model output to determine if the accuracy has degraded or drifted beyond the acceptable limit. For example, the analytics expressions may determine a statistical characteristic of the inferences over time, such as a mean, average, statistically significant range, or statistical variation.” Dirac, paragraph [0077] “In some embodiments, the MLS control plane may comprise a set of monitoring agents that collect performance and other metrics from the resources used for the various phases of machine learning operations (element 1054)… quantitative measures of model predictive effectiveness such as the area under receiver operating characteristic (ROC) curves for various classifiers may also be collected… some of the information regarding quality may be deduced or observed implicitly by the MLS… by keeping track of the set of parameters that are changed during training iterations before a model is finally used for a test data set.” – as explained with respect to claim 6, Sharma teaches computing model accuracy degradation or prediction error over a period of time. Dirac teaches collecting predictive-effectiveness and quality metrics during the training iterations and subsequently using the trained model with a test data set. Under BRI, the predictive-effectiveness metrics collected during the training iterations correspond to prediction error computed for the training data set, while the model quality evaluation performed using the test data set corresponds to prediction error computed for the testing data set. Thus, Sharma in view of Dirac teaches computing the prediction error over the period of time for both a training data set and a testing data set.).
Regarding claim 14, Sharma teaches the following limitations:
An apparatus, comprising: at least one processor and at least one memory storing computer program instructions which are executed by the at least one processor to implement operations that are performed by a cloud computing platform, the operations comprising (Sharma, paragraph [0055] “ A computer-readable medium may include any medium that participates in providing instructions to one or more processors for execution. Such a medium may take many forms including, but not limited to, nonvolatile, volatile, and transmission media. Non-volatile media may include, for example, flash memory, or optical or magnetic disks. Volatile media includes static or dynamic memory, such as cache memory or RAM.”):
executing a machine learning operation which is deployed on the cloud computing platform (Sharma, paragraph [0105] “Applications developed using the software development kit can be containerized and thus made mobile so that they can be deployed and executed not only on the edge platform for which they were developed, but also on other edge platform implementations, as well as in the cloud…Similarly, applications developed on the edge can be run in the cloud and vice versa, and this is true for essentially all applications, including machine learning applications” – Sharma teaches that machine learning applications may be deployed and executed in the cloud. Under BRI, the disclosed machine learning application corresponds to the claimed machine learning operation.);
training the machine learning operation executing on the cloud computing platform (Sharma, paragraph [0105] “Similarly, applications developed on the edge can be run in the cloud and vice versa, and this is true for essentially all applications, including machine learning applications” [0180] “Accordingly, a machine learning model to be deployed to and executed on the example edge platform 406, 609 may be suitably developed and trained in the cloud 412 using a model creation component 902, model training component 904, and data storage and aggregation component 573.” – Sharma teaches a machine learning application that may execute in the cloud and a machine learning model associated with the application that is developed and trained in the cloud. Under BRI. The disclosed machine learning application and its associated model correspond to the claimed machine learning operation. Thus, Sharma teaches training, by the cloud computing platform, the machine learning operation executing on the cloud computing platform.)
However, Sharma does not teach but Sharma in view of Dirac further in view of Kinnaird teaches the following limitations:
executing a serviceability prediction engine which implements one or more machine learning models to: analyze operational data associated with the machine learning operation to determine a state of the machine learning operation, wherein analyzing the operational data comprises analyzing training results of training the machine learning operation executing on the cloud computing platform, and analyzing at least one of an amount of data being processed by the machine learning operation and a frequency of requests received for execution of the machine learning operation (Sharma, paragraph [0105] “ Applications developed using the software development kit can be containerized and thus made mobile so that they can be deployed and executed not only on the edge platform for which they were developed, but also on other edge platform implementations, as well as in the cloud… Similarly, applications developed on the edge can be run in the cloud and vice versa, and this is true for essentially all applications, including machine learning applications” [0180] “a machine learning model to be deployed to and executed on the example edge platform 406, 609 may be suitably developed and trained in the cloud 412 using a model creation component 902, model training component 904, and data storage and aggregation component 573.” Kinnaird, paragraph [0036] “More specifically, embodiments of the present invention provide concepts for automatically identifying an edge computing environment location as a target for workload migration, and such identification may employ machine learning techniques to analyze workload information (and suggest/predict one or more edge computing environments (i.e., edge locations) for migrating the workload.” [0094] “ In embodiments, the training input data entries for the machine learning algorithm correspond to descriptions of training workloads. By way of example, a description of a workload may comprise, wherein the workload data is converted as time series of multiple variables: [0095] V = {A set of VMs to migrate} [0096] A = {A set of applications to migrate} [0097] D = {A set of dependencies to migrate} [0098] T= {A set of metadata for different application, peak hour and others}” [0132] “ For example, MCMP, as deployed on an edge layer, has a cloud component to it that may execute the algorithms to undertake the proposed workload migration concepts.” Dirac, paragraph [0077] “ the MLS control plane may comprise a set of monitoring agents that collect performance and other metrics from the resources used for the various phases of machine learning operations… quantitative measures of model predictive effectiveness such as the area under receiver operating characteristic (ROC) curves for various classifiers may also be collected… some of the information regarding quality may be deduced or observed implicitly by the MLS instead of being obtained via explicit client feedback, e.g., by keeping track of the set of parameters that are changed during training iterations before a model is finally used for a test data set.” [0066] “a client may indicate via a parameter of the model execution/creation request that up to 100 prediction requests per day are expected on data sets of 1 million records each, and the servers selected for the model may be chosen to handle the specified request rate.” – Sharma teaches a machine learning application deployed and executed in the cloud and a machine learning model associated with the application that is trained in the cloud. Under BRI, Sharma’s machine learning application and associated model correspond to the claimed machine learning operation executing and being trained on the cloud computing platform. Kinnaird teaches a cloud component executing machine learning based migration algorithms that analyze information describing an application. The analyzed information includes the application, associated virtual machines, dependencies, metadata, and peak-hour characteristics. When Kinnaird’s technique is applied to Sharma’s machine learning application, the application corresponds to the claimed machine learning operation, and the variables describing the application represent operational data indicating the state of the operation. Under BRI, Kinnaird’s cloud executed machine learning analysis corresponds to the claimed serviceability prediction engine implementing one or more machine learning models. Dirac teaches collecting predictive-effectiveness metrics and tracking parameters changed during training iterations. These collected metrics and parameter changes correspond to training results indicating the state of the machine learning operation. Dirac further teaches that each model execution request specifies up to 100 prediction requests per day on data sets containing one million records each. The one-million-record data sets represent the amount of data to be processed during the model executions, while the 100 prediction requests per day represent the frequency of requests received for execution of the machine learning operation. Thus, Sharma in view of Dirac further in view of Kinnaird teaches the claimed analysis of the operational data.); and
determine based at least in part on the analysis of the operational data whether the machine learning operation should be relocated to, and additionally trained on, an edge computing platform (Kinnaird, paragraph [0014] “The method comprises providing a description of a workload to a machine learning algorithm for identifying an edge computing environment location as a target for workload migration. The method also comprises obtaining a prediction result from the machine learning algorithm based on the description of the workload, the prediction result including an identifier of an edge location.” [0036] “embodiments of the present invention provide concepts for automatically identifying an edge computing environment location as a target for workload migration, and such identification may employ machine learning techniques to analyze workload information (and suggest/predict one or more edge computing environments (i.e., edge locations) for migrating the workload.” [0094] “In embodiments, the training input data entries for the machine learning algorithm correspond to descriptions of training workloads. By way of example, a description of a workload may comprise, wherein the workload data is converted as time series of multiple variables: [0095] V = {A set of VMs to migrate} [0096] A = {A set of applications to migrate} [0097] D = {A set of dependencies to migrate} [0098] T= {A set of metadata for different application, peak hour and others}“ Sharma, paragraph [0118] “ Applications developed using the SDK can be heterogeneous (e.g., developed in multiple different languages) and can nevertheless be deployed on the edge or in the cloud, thereby providing dynamic application mobility between the edge and cloud… The same dynamic mobility feature also can be applied to…machine learning models, so that they also can reside and execute on either the edge platform or the cloud.” [0120] “For example, a wide variety of data analytics and applications 639 can be developed to perform a wide variety of functions including machine learning” [0163] “The software edge platform also is capable to provide real-time model training and selection at the edge based on the above-described workflow of pre-processing sensor data, query-based model execution on pre-processed sensor data, and feature based data segmentation and intelligent matching.” – Kinnaird teaches that the analyzed workload includes an application and associated operational information, including virtual machines, dependencies, metadata, and peak-hour information. When Kinnaird’s technique is applied to Sharma’s machine learning application, the application corresponds to the claimed machine learning operation, and the information describing the application corresponds to the operational data analyzed in the preceding limitation. Kinnaird further teaches applying a machine learning algorithm to the workload description and outputting an identifier of an edge location as the target for migration. Under BRI, identifying an edge location as the migration target constitutes determining, based on the analyzed operational information, that the machine learning operation should be relocated to the identified edge computing platform. Sharma further teaches that the machine learning application and models may be deployed to the edge platform and that the edge platform performs real-time model training. Thus, Sharma in view of Kinnaird teaches determining whether the machine learning operation should be relocated to, and additionally trained on, an edge computing platform.)
transferring programming logic of the machine learning operation to the edge computing platform for further training and execution of the machine learning operation on the edge computing platform in response to determining that the machine learning operation should be relocated to, and additionally trained on, the edge computing platform (Kinnaird, [0014] “The method comprises providing a description of a workload to a machine learning algorithm for identifying an edge computing environment location as a target for workload migration. The method also comprises obtaining a prediction result from the machine learning algorithm based on the description of the workload, the prediction result including an identifier of an edge location.” [0016] “ Some embodiments may be configured to communicate the workload to an edge computing environment associated with the identifier of an edge location included in the prediction result.” Sharma, paragraph [0104] “ the software development kit can access aggregated time-series sensor data stored locally in the time-series database to facilitate developing and training machine learning models on the edge platform without the need to transmit to a remote cloud facility.” [0105] “Docker containers wrap up a piece of software in a complete file system that contains everything the software needs to run: code, runtime, system tools, and system libraries—anything that can be installed on a server. This ensures the software will always run the same, regardless of the environment in which it is running. Thus, by incorporating a container technology such as Docker in the SDK, applications developed using the SDK can be deployed and executed not only on the edge platform for which they were developed, but also on other edge platform implementations, as well as in the cloud… this is true for essentially all applications, including machine learning applications” – Kinnaird teaches obtaining a machine learning prediction identifying an edge location as the target for migration and, in response to that prediction, communicating the workload to the identified edge computing environment. When Kinnard’s migration technique is applied to Sharma’s machine learning application, the communicated workload corresponds to the claimed machine learning operation. Sharma teaches containerizing the machine learning application in a complete file system containing the code, runtime, system tools, and system libraries required to run the application. Under BRI, these software components constitute programming logic of the machine learning operation. Sharma further teaches deploying and executing the containerized machine learning application on the edge platform and training the machine learning model using data stored at the edge platform. Thus, Sharma in view of Kinnaird teaches transferring the programming logic of the machine learning operation to the identified edge computing platform for further training and execution in response to the determination to relocate and additionally train the operation at the edge.)
Accordingly, it would have been obvious to a person of ordinary skill in the art, before the effective filing date of the claimed invention, having Sharma, Dirac, and Kinnaird before them, to apply Kinnaird’s machine learning based workload migration decision technique to the cloud-to-edge machine learning system of Sharma and to use Dirac’s training performance information, data set size, and expected request frequency as operational inputs to the decision technique. One would have been motivated to make such a combination in order to base Sharma’s cloud-to-edge relocation decision on the training state and operational demands of the machine learning operation. In the combination, Dirac’s information would continue to indicate model performance and expected processing demands, while Kinnard’s machine learning technique would continue to determine whether migration to an edge computing environment is appropriate. The combination would therefore yield the predictable result of determining, from information describing the machine learning operation, whether the operation should be transferred to the edge platform for further training and execution.
Regarding claim 15, Sharma in view of Dirac further in view of Kinnaird, as outlined above, teaches all the elements of claim 14, therefore is rejected for the same reasons as those presented for claim 14, mutatis mutandis. Sharma in view of Dirac further in view of Kinnaird teaches the following limitations:
wherein analyzing the training results of training the machine learning operation comprises computing a prediction error of the machine learning operation over a period of time (Sharma, paragraph [0234] “The analytics expressions can be selected to effectively define what constitutes an unacceptable level of drift or degradation of accuracy for the model in response to selected input sensor data and to track the model output to determine if the accuracy has degraded or drifted beyond the acceptable limit. For example, the analytics expressions may determine a statistical characteristic of the inferences over time, such as a mean, average, statistically significant range, or statistical variation.” – Sharma teaches tracking the outputs of the machine learning model and computing statistical characteristics of the model’s inferences over time to determine whether the model’s accuracy has degraded or drifted beyond an acceptable limit. Under BRI, the measured degradation or deviation from the acceptable model accuracy corresponds to a prediction error of the machine learning operation. Computing the statistical characteristics of the model outputs over time corresponds to computing the prediction error over a period of time. Thus, Sharma teaches the claimed analysis of the training results.).
Regarding claim 18, Sharma teaches the following limitations:
A computer program product stored on a non-transitory computer-readable medium and comprising machine executable instructions, the machine executable instructions, when executed by at least one processing device, cause the at least one processing device to implement operations that are performed by a cloud computing platform, the operations comprising (Sharma, paragraph [0055] “ A computer-implemented or computer-executable version or computer program product incorporating the invention or aspects thereof may be embodied using, stored on, or associated with computer-readable medium. A computer-readable medium may include any medium that participates in providing instructions to one or more processors for execution. Such a medium may take many forms including, but not limited to, nonvolatile, volatile, and transmission media. Non-volatile media may include, for example, flash memory, or optical or magnetic disks. Volatile media includes static or dynamic memory, such as cache memory or RAM.”):
executing a machine learning operation which is deployed on the cloud computing platform (Sharma, paragraph [0105] “Applications developed using the software development kit can be containerized and thus made mobile so that they can be deployed and executed not only on the edge platform for which they were developed, but also on other edge platform implementations, as well as in the cloud…Similarly, applications developed on the edge can be run in the cloud and vice versa, and this is true for essentially all applications, including machine learning applications” – Sharma teaches that machine learning applications may be deployed and executed in the cloud. Under BRI, the disclosed machine learning application corresponds to the claimed machine learning operation.);
training the machine learning operation executing on the cloud computing platform (Sharma, paragraph [0105] “Similarly, applications developed on the edge can be run in the cloud and vice versa, and this is true for essentially all applications, including machine learning applications” [0180] “Accordingly, a machine learning model to be deployed to and executed on the example edge platform 406, 609 may be suitably developed and trained in the cloud 412 using a model creation component 902, model training component 904, and data storage and aggregation component 573.” – Sharma teaches a machine learning application that may execute in the cloud and a machine learning model associated with the application that is developed and trained in the cloud. Under BRI. The disclosed machine learning application and its associated model correspond to the claimed machine learning operation. Thus, Sharma teaches training, by the cloud computing platform, the machine learning operation executing on the cloud computing platform.)
However, Sharma does not teach but Sharma in view of Dirac further in view of Kinnaird teaches the following limitations:
executing a serviceability prediction engine which implements one or more machine learning models to: analyze operational data associated with the machine learning operation to determine a state of the machine learning operation, wherein analyzing the operational data comprises analyzing training results of training the machine learning operation executing on the cloud computing platform, and analyzing at least one of an amount of data being processed by the machine learning operation and a frequency of requests received for execution of the machine learning operation (Sharma, paragraph [0105] “ Applications developed using the software development kit can be containerized and thus made mobile so that they can be deployed and executed not only on the edge platform for which they were developed, but also on other edge platform implementations, as well as in the cloud… Similarly, applications developed on the edge can be run in the cloud and vice versa, and this is true for essentially all applications, including machine learning applications” [0180] “a machine learning model to be deployed to and executed on the example edge platform 406, 609 may be suitably developed and trained in the cloud 412 using a model creation component 902, model training component 904, and data storage and aggregation component 573.” Kinnaird, paragraph [0036] “More specifically, embodiments of the present invention provide concepts for automatically identifying an edge computing environment location as a target for workload migration, and such identification may employ machine learning techniques to analyze workload information (and suggest/predict one or more edge computing environments (i.e., edge locations) for migrating the workload.” [0094] “ In embodiments, the training input data entries for the machine learning algorithm correspond to descriptions of training workloads. By way of example, a description of a workload may comprise, wherein the workload data is converted as time series of multiple variables: [0095] V = {A set of VMs to migrate} [0096] A = {A set of applications to migrate} [0097] D = {A set of dependencies to migrate} [0098] T= {A set of metadata for different application, peak hour and others}” [0132] “ For example, MCMP, as deployed on an edge layer, has a cloud component to it that may execute the algorithms to undertake the proposed workload migration concepts.” Dirac, paragraph [0077] “ the MLS control plane may comprise a set of monitoring agents that collect performance and other metrics from the resources used for the various phases of machine learning operations… quantitative measures of model predictive effectiveness such as the area under receiver operating characteristic (ROC) curves for various classifiers may also be collected… some of the information regarding quality may be deduced or observed implicitly by the MLS instead of being obtained via explicit client feedback, e.g., by keeping track of the set of parameters that are changed during training iterations before a model is finally used for a test data set.” [0066] “a client may indicate via a parameter of the model execution/creation request that up to 100 prediction requests per day are expected on data sets of 1 million records each, and the servers selected for the model may be chosen to handle the specified request rate.” – Sharma teaches a machine learning application deployed and executed in the cloud and a machine learning model associated with the application that is trained in the cloud. Under BRI, Sharma’s machine learning application and associated model correspond to the claimed machine learning operation executing and being trained on the cloud computing platform. Kinnaird teaches a cloud component executing machine learning based migration algorithms that analyze information describing an application. The analyzed information includes the application, associated virtual machines, dependencies, metadata, and peak-hour characteristics. When Kinnaird’s technique is applied to Sharma’s machine learning application, the application corresponds to the claimed machine learning operation, and the variables describing the application represent operational data indicating the state of the operation. Under BRI, Kinnaird’s cloud executed machine learning analysis corresponds to the claimed serviceability prediction engine implementing one or more machine learning models. Dirac teaches collecting predictive-effectiveness metrics and tracking parameters changed during training iterations. These collected metrics and parameter changes correspond to training results indicating the state of the machine learning operation. Dirac further teaches that each model execution request specifies up to 100 prediction requests per day on data sets containing one million records each. The one-million-record data sets represent the amount of data to be processed during the model executions, while the 100 prediction requests per day represent the frequency of requests received for execution of the machine learning operation. Thus, Sharma in view of Dirac further in view of Kinnaird teaches the claimed analysis of the operational data.); and
determine based at least in part on the analysis of the operational data whether the machine learning operation should be relocated to, and additionally trained on, an edge computing platform (Kinnaird, paragraph [0014] “The method comprises providing a description of a workload to a machine learning algorithm for identifying an edge computing environment location as a target for workload migration. The method also comprises obtaining a prediction result from the machine learning algorithm based on the description of the workload, the prediction result including an identifier of an edge location.” [0036] “embodiments of the present invention provide concepts for automatically identifying an edge computing environment location as a target for workload migration, and such identification may employ machine learning techniques to analyze workload information (and suggest/predict one or more edge computing environments (i.e., edge locations) for migrating the workload.” [0094] “In embodiments, the training input data entries for the machine learning algorithm correspond to descriptions of training workloads. By way of example, a description of a workload may comprise, wherein the workload data is converted as time series of multiple variables: [0095] V = {A set of VMs to migrate} [0096] A = {A set of applications to migrate} [0097] D = {A set of dependencies to migrate} [0098] T= {A set of metadata for different application, peak hour and others}“ Sharma, paragraph [0118] “ Applications developed using the SDK can be heterogeneous (e.g., developed in multiple different languages) and can nevertheless be deployed on the edge or in the cloud, thereby providing dynamic application mobility between the edge and cloud… The same dynamic mobility feature also can be applied to…machine learning models, so that they also can reside and execute on either the edge platform or the cloud.” [0120] “For example, a wide variety of data analytics and applications 639 can be developed to perform a wide variety of functions including machine learning” [0163] “The software edge platform also is capable to provide real-time model training and selection at the edge based on the above-described workflow of pre-processing sensor data, query-based model execution on pre-processed sensor data, and feature based data segmentation and intelligent matching.” – Kinnaird teaches that the analyzed workload includes an application and associated operational information, including virtual machines, dependencies, metadata, and peak-hour information. When Kinnaird’s technique is applied to Sharma’s machine learning application, the application corresponds to the claimed machine learning operation, and the information describing the application corresponds to the operational data analyzed in the preceding limitation. Kinnaird further teaches applying a machine learning algorithm to the workload description and outputting an identifier of an edge location as the target for migration. Under BRI, identifying an edge location as the migration target constitutes determining, based on the analyzed operational information, that the machine learning operation should be relocated to the identified edge computing platform. Sharma further teaches that the machine learning application and models may be deployed to the edge platform and that the edge platform performs real-time model training. Thus, Sharma in view of Kinnaird teaches determining whether the machine learning operation should be relocated to, and additionally trained on, an edge computing platform.)
transferring programming logic of the machine learning operation to the edge computing platform for further training and execution of the machine learning operation on the edge computing platform in response to determining that the machine learning operation should be relocated to, and additionally trained on, the edge computing platform (Kinnaird, [0014] “The method comprises providing a description of a workload to a machine learning algorithm for identifying an edge computing environment location as a target for workload migration. The method also comprises obtaining a prediction result from the machine learning algorithm based on the description of the workload, the prediction result including an identifier of an edge location.” [0016] “ Some embodiments may be configured to communicate the workload to an edge computing environment associated with the identifier of an edge location included in the prediction result.” Sharma, paragraph [0104] “ the software development kit can access aggregated time-series sensor data stored locally in the time-series database to facilitate developing and training machine learning models on the edge platform without the need to transmit to a remote cloud facility.” [0105] “Docker containers wrap up a piece of software in a complete file system that contains everything the software needs to run: code, runtime, system tools, and system libraries—anything that can be installed on a server. This ensures the software will always run the same, regardless of the environment in which it is running. Thus, by incorporating a container technology such as Docker in the SDK, applications developed using the SDK can be deployed and executed not only on the edge platform for which they were developed, but also on other edge platform implementations, as well as in the cloud… this is true for essentially all applications, including machine learning applications” – Kinnaird teaches obtaining a machine learning prediction identifying an edge location as the target for migration and, in response to that prediction, communicating the workload to the identified edge computing environment. When Kinnard’s migration technique is applied to Sharma’s machine learning application, the communicated workload corresponds to the claimed machine learning operation. Sharma teaches containerizing the machine learning application in a complete file system containing the code, runtime, system tools, and system libraries required to run the application. Under BRI, these software components constitute programming logic of the machine learning operation. Sharma further teaches deploying and executing the containerized machine learning application on the edge platform and training the machine learning model using data stored at the edge platform. Thus, Sharma in view of Kinnaird teaches transferring the programming logic of the machine learning operation to the identified edge computing platform for further training and execution in response to the determination to relocate and additionally train the operation at the edge.)
Accordingly, it would have been obvious to a person of ordinary skill in the art, before the effective filing date of the claimed invention, having Sharma, Dirac, and Kinnaird before them, to apply Kinnaird’s machine learning based workload migration decision technique to the cloud-to-edge machine learning system of Sharma and to use Dirac’s training performance information, data set size, and expected request frequency as operational inputs to the decision technique. One would have been motivated to make such a combination in order to base Sharma’s cloud-to-edge relocation decision on the training state and operational demands of the machine learning operation. In the combination, Dirac’s information would continue to indicate model performance and expected processing demands, while Kinnard’s machine learning technique would continue to determine whether migration to an edge computing environment is appropriate. The combination would therefore yield the predictable result of determining, from information describing the machine learning operation, whether the operation should be transferred to the edge platform for further training and execution.
Regarding claim 19, Sharma in view of Dirac further in view of Kinnaird, as outlined above, teaches all the elements of claim 18, therefore is rejected for the same reasons as those presented for claim 18, mutatis mutandis. Sharma in view of Dirac further in view of Kinnaird teaches the following limitations:
wherein analyzing the training results of training the machine learning operation comprises computing a prediction error of the machine learning operation over a period of time (Sharma, paragraph [0234] “The analytics expressions can be selected to effectively define what constitutes an unacceptable level of drift or degradation of accuracy for the model in response to selected input sensor data and to track the model output to determine if the accuracy has degraded or drifted beyond the acceptable limit. For example, the analytics expressions may determine a statistical characteristic of the inferences over time, such as a mean, average, statistically significant range, or statistical variation.” – Sharma teaches tracking the outputs of the machine learning model and computing statistical characteristics of the model’s inferences over time to determine whether the model’s accuracy has degraded or drifted beyond an acceptable limit. Under BRI, the measured degradation or deviation from the acceptable model accuracy corresponds to a prediction error of the machine learning operation. Computing the statistical characteristics of the model outputs over time corresponds to computing the prediction error over a period of time. Thus, Sharma teaches the claimed analysis of the training results.).
Claims 10, 11, 12, and 13 are rejected under the 35 U.S.C. 103 as being unpatentable over Sharma et al.,, (Pub. No.: US 20200327371 A1 (File: 2019)) in view of Dirac et al., (Pub. No.: US 20150379424 A1 (Filed: 2014)) further in view of Kinnaird et al., (Pub. No: US 20230125491 A1 (Filed: 2021)) further in view of in view of Shafer et al., (NPL: “A Tutorial on Conformal Prediction,” (Published: 2008)).
Regarding claim 10, Sharma in view of Dirac further in view of Kinnaird, as outlined above, teaches all the elements of claim 1, therefore is rejected for the same reasons as those presented for claim 1, mutatis mutandis. However, Sharma in view of Dirac further in view of Kinnaird does not teach, but Sharma in view of Dirac further in view of Kinnaird further in view of Shafer teaches the limitation:
generating, further comprising generating, by the serviceability prediction engine, a confidence score for making the determination on whether the machine learning operation should be relocated to, and additionally trained on, the edge computing platform (Shafer, [page 2] “Conformal prediction can be used with any method of point prediction for classification or regression, including support-vector machines, decision trees, boosting, neural networks, and Bayesian prediction… Given a nonconformity measure, the conformal algorithm produces a prediction region
Γ
ε
for every probability of error
ε
. The region
Γ
ε
is a (
1
-
ε
)
prediction region; it contains y with probability at least
(
1
-
ε
)
… If
Γ
ε
contains only a single label…the corresponding value of
1
-
ε
is the confidence we assert in the predicted label.” – Shafer teaches applying conformal prediction to a machine learning prediction method and generating a value of
1
-
ε
, which represents the confidence associated with the prediction. As discussed with respect to claim 1, Kinnaird’s machine learning based serviceability prediction engine determines whether the machine learning operation should be relocated to an edge computing environment, while Sharma teaches additional training or adjustment of the model on the edge platform. Applying Shafer’s conformal prediction technique to Kinnaird’s migration prediction teaches generating, by the serviceability prediction engine, a confidence score for making the determination whether the machine learning operation should be relocated to, and additionally trained on, the edge computing platform.).
Accordingly, it would have been obvious to a person of ordinary skill in the art, before the effective filing date of the claimed invention, having Sharma, Dirac, Kinnaird, and Shafer before them, to incorporate Shafer’s confidence score generation into Kinnaird’s machine learning based migration model, as applied within the cloud-to-edge system of Sharma and Dirac. One would have been motivated to make such a modification in order to quantify the confidence associated with the predicted edge location for workload migration, and the combination would yield the predictable result of providing a confidence score for the migration prediction.
Regarding claim 11, Sharma in view of Dirac further in view Kinnaird further in view of Shafer, as outlined above, teaches all the elements of claim 10, therefore is rejected for the same reasons as those presented for claim 10, mutatis mutandis. Shafer further teaches:
wherein the confidence score is computed using a conformal prediction model (Shafer, pages 1-2, Introduction mentions “In machine learning, these questions are usually answered in a fairly rough way from past experience. We expect new predictions to fare about as well as past predictions. Conformal prediction uses past experience to determine precise levels of confidence in predictions. Given a method for prediction ŷ, conf, conformal prediction produces a 95% prediction region – a set Γ0.05 that contains y with probability at least 95%...Conformal prediction can be used with any method of point prediction for classification or regression, including support-vector machines, decision trees, boosting, neural networks, and Bayesian prediction.”)
Regarding claim 12, Sharma in view of Dirac further in view of Kinnaird further in view of Shafer, as outlined above, teaches all the elements of claim 10, therefore is rejected for the same reasons as those presented for claim 10, mutatis mutandis. Sharma in view of Dirac further in view of Kinnaird further in view of Shafer further teaches:
further comprising generating, by the serviceability prediction engine, a recommendation is for transferring the programming logic of the machine learning operation to the edge computing platform, based at least in part on the confidence score (Kinnaird, paragraph [0023] “embodiments may provide for a machine-learning algorithm to be trained to nominate or suggest the most appropriate edge location(s) for migration of a workload. Using a description of a workload, the machine-learning algorithm may identify/suggest one or more edge locations for migrating the workload.” [0016] “Some embodiments may be configured to communicate the workload to an edge computing environment associated with the identifier of an edge location included in the prediction result.” Shafer, [page 2] “If
Γ
ε
contains only a single label…the corresponding value of
1
-
ε
is the confidence we assert in the predicted label.” Sharma, paragraph [0105] “Applications developed using the software development kit can be containerized and thus made mobile so that they can be deployed and executed… Docker containers wrap up a piece of software in a complete file system that contains everything the software needs to run: code, runtime, system tools, and system libraries—anything that can be installed on a server.” – As discussed with respect to claim 1, Kinnaird’s workload corresponds to Sharma’s containerized machine learning application, including its code and other programming logic. Kinnaird therefore teaches generating a recommendation to migrate the programming logic to an edge location. Shafter teaches generating a confidence score associated with a machine learning prediction. Using Shafer’s confidence score in generating Kinnaird’s migration recommendation teaches generating the recommendation based at in part on the confidence score.)
Regarding claim 13, Sharma in view of Dirac further in view of Kinnaird further in view of Shafer, as outlined above, teaches all the elements of claim 12, therefore is rejected for the same reasons as those presented for claim 12, mutatis mutandis. Sharma in view of Dirac further in view of Kinnaird further in view of Shafer further teaches:
further comprising transmitting, by the cloud computing platform, the recommendation to one or more user devices (Kinnaird, paragraph [0023] “embodiments may provide for a machine-learning algorithm to be trained to nominate or suggest the most appropriate edge location(s) for migration of a workload. Using a description of a workload, the machine-learning algorithm may identify/suggest one or more edge locations for migrating the workload.” [0071] “ As shown, cloud computing environment 50 comprises one or more cloud computing nodes 10 with which local computing devices used by cloud consumers, such as, for example, personal digital assistant (PDA) or cellular telephone 54A, desktop computer 54B, laptop computer 54C, and/or automobile computer system 54N may communicate.” [0079] “By way of example, migration client 170 may be configured to communicate with the migration server 160 via a cloud computing environment 50… In embodiments, the migration server 160 may provision data to the migration client 170.” – As discussed with claim 12, Kinnaird teaches a recommendation to migrate a workload to an identified edge location. Kinnaird further teaches that the migration server provisions data to the migration client through the cloud computing environment. Under BRI, Kinnaird’s migration client corresponds to the claimed user device, as it is a client-side endpoint communicating with the cloud based migration server and receiving data from the server, and Kinnaird identifies phones, desktop computers, and laptop computers as local computing devices used by cloud consumers. Provisioning Kinnaird’s generated migration recommendation from the migration server to the migration client therefore teaches transmitting, by the cloud computing platform, the recommendation to one or more user devices.)
Claims 8, 9, 16, 17, and 20 are rejected under the 35 U.S.C. 103 as being unpatentable over Sharma et al.,, (Pub. No.: US 20200327371 A1 (File: 2019)) in view of Dirac et al., (Pub. No.: US 20150379424 A1 (Filed: 2014)) further in view of Kinnaird et al., (Pub. No: US 20230125491 A1 (Filed: 2021)) further in view of Brownlee (NPL: “How to use Learning Curves to Diagnose Machine Learning Model Performance,” (Published: 2019)).
Regarding claim 8, Sharma in view of Dirac further in view of Kinnaird, as outlined above, teaches all the elements of claim 7, therefore is rejected for the same reasons as those presented for claim 7, mutatis mutandis. However, Sharma in view of Dirac further in view of Kinnaird does not teach but Sharma in view of Dirac further in view of Kinnaird further in view of Brownlee teaches the limitation:
generating a learning curve based at least in part on the prediction error (Brownlee teaches a learning curve as a plot of a model performance over time and says a model is evaluated on the training and a hold-out validation set after each update, with “plots of measured performance” created as learning curves. It also explains that the metric is commonly a minimizing score such as “loss or error,” and that dual learning curves are typically generated for train and validation – i.e., the curve is based (at least in part) on the computed prediction error.).
Accordingly, it would have been obvious to a person of ordinary skill in the art, before the effective filing date, having Sharma, Dirac, Kinnaird and Brownlee before them, to incorporate Brownlee’s learning curve technique into the cloud-to-edge machine learning system of Sharma as modified by Dirac and Kinnaird. One would have been motivated to make such a combination in order to display changes in the computed prediction error over time and evaluate the performance of the machine learning operation during training. This would provide a readily interpretable representation of the training progress of the machine learning operation with predictable results.
Regarding claim 9, Sharma in view of Dirac in further view Kinnaird further in view of Brownlee, as outlined above, teaches all the elements of claim 8, therefore is rejected for the same reasons as those presented for claim 8, mutatis mutandis. Sharma in view of Dirac in further view of Brownlee further teaches:
identifying a point on the learning curve corresponding to where the machine learning algorithm is between underfitting and overfitting the training data set (Brownlee teaches using dual train/validation learning curves to diagnose underfit, overfit, and a “good fit.” Brownlee explains that overfitting is shown where validation loss decreases to a point and then begins increasing, and states that “[t]he inflection point in validation loss may be the point at which training could be halted”.” Brownlee further states “[a] good fit is the goal of the learning algorithm and exists between an overfit and underfit model,” and that “[a] good fit is identified by a training and validation loss that decreases to a point of stability with a minimal gap between the two final loss values.” The accompanying charts illustrate the points on the learning curves corresponding to overfitting and a good fit. Thus, identifying the validation-loss inflection or stability point teaches identifying a point where the machine learning operation is between underfitting and overfitting the training data set.);
determining whether the machine learning operation should be relocated to, and additionally trained on, an edge computing platform, based at least in part on the identified point on the learning curve (Kinnaird, paragraph [0036] “embodiments of the present invention provide concepts for automatically identifying an edge computing environment location as a target for workload migration, and such identification may employ machine learning techniques to analyze workload information (and suggest/predict one or more edge computing environments (i.e., edge locations) for migrating the workload.” Sharma, paragraph [0104] “the software development kit can access aggregated time-series sensor data stored locally in the time-series database to facilitate developing and training machine learning models on the edge platform without the need to transmit to a remote cloud facility. This might be the case when there is sufficient compute capability available on the edge platform and the model can be adequately trained or adjusted without requiring a very large data set.” – as explained above, Brownlee teaches identifying a point on the training and validation learning curves at which the machine learning model is well-fit between underfitting and overfitting. The identified point represents the training state of the machine learning operation. Kinnaird teaches using machine learning based migration logic to analyze workload information and determine whether an edge computing environment should be selected as the target for migrating the operation. Sharma teaches further training or adjustment of a machine learning model on the edge platform. Applying Brownlee’s identified learning curve point as part of the information analyzed by Kinnaird’s migration logic teaches determining whether Sharma’s machine learning operation should be relocated to, and additionally trained on, the edge computing platform based at least in part on the identified point.).
Regarding claim 16, Sharma in view of Dirac further in view of Kinnaird, as outlined above, teaches all the elements of claim 15, therefore is rejected for the same reasons as those presented for claim 15, mutatis mutandis. However, Sharma in view of Dirac further in view of Kinnaird does not teach but Sharma in view of Dirac further in view of Kinnaird further in view of Brownlee teaches the limitation:
generating a learning curve based at least in part on the prediction error (Brownlee teaches a learning curve as a plot of a model performance over time and says a model is evaluated on the training and a hold-out validation set after each update, with “plots of measured performance” created as learning curves. It also explains that the metric is commonly a minimizing score such as “loss or error,” and that dual learning curves are typically generated for train and validation – i.e., the curve is based (at least in part) on the computed prediction error.).
Regarding claim 17, Sharma in view of Dirac in further view Kinnaird further in view of Brownlee, as outlined above, teaches all the elements of claim 16, therefore is rejected for the same reasons as those presented for claim 16, mutatis mutandis. Sharma in view of Dirac in further view of Brownlee further teaches:
identifying, by a serviceability prediction engine, a point on the learning curve corresponding to where the machine learning algorithm is between underfitting and overfitting the training data set (Brownlee teaches using dual train/validation learning curves to diagnose underfit, overfit, and a “good fit.” Brownlee explains that overfitting is shown where validation loss decreases to a point and then begins increasing, and states that “[t]he inflection point in validation loss may be the point at which training could be halted”.” Brownlee further states “[a] good fit is the goal of the learning algorithm and exists between an overfit and underfit model,” and that “[a] good fit is identified by a training and validation loss that decreases to a point of stability with a minimal gap between the two final loss values.” The accompanying charts illustrate the points on the learning curves corresponding to overfitting and a good fit. Thus, identifying the validation-loss inflection or stability point teaches identifying a point where the machine learning operation is between underfitting and overfitting the training data set.);
determining, by a serviceability prediction engine, whether the machine learning operation should be relocated to, and additionally trained on, an edge computing platform, based at least in part on the identified point on the learning curve (Kinnaird, paragraph [0036] “embodiments of the present invention provide concepts for automatically identifying an edge computing environment location as a target for workload migration, and such identification may employ machine learning techniques to analyze workload information (and suggest/predict one or more edge computing environments (i.e., edge locations) for migrating the workload.” Sharma, paragraph [0104] “the software development kit can access aggregated time-series sensor data stored locally in the time-series database to facilitate developing and training machine learning models on the edge platform without the need to transmit to a remote cloud facility. This might be the case when there is sufficient compute capability available on the edge platform and the model can be adequately trained or adjusted without requiring a very large data set.” – as explained above, Brownlee teaches identifying a point on the training and validation learning curves at which the machine learning model is well-fit between underfitting and overfitting. The identified point represents the training state of the machine learning operation. Kinnaird teaches using machine learning based migration logic to analyze workload information and determine whether an edge computing environment should be selected as the target for migrating the operation. Sharma teaches further training or adjustment of a machine learning model on the edge platform. Applying Brownlee’s identified learning curve point as part of the information analyzed by Kinnaird’s migration logic teaches determining whether Sharma’s machine learning operation should be relocated to, and additionally trained on, the edge computing platform based at least in part on the identified point.).
Regarding claim 20, Sharma in view of Dirac further in view of Kinnaird, as outlined above, teaches all the elements of claim 19, therefore is rejected for the same reasons as those presented for claim 19, mutatis mutandis. However, Sharma in view of Dirac further in view of Kinnaird does not teach but Sharma in view of Dirac further in view of Kinnaird further in view of Brownlee teaches the limitation:
generating a learning curve based at least in part on the prediction error (Brownlee teaches a learning curve as a plot of a model performance over time and says a model is evaluated on the training and a hold-out validation set after each update, with “plots of measured performance” created as learning curves. It also explains that the metric is commonly a minimizing score such as “loss or error,” and that dual learning curves are typically generated for train and validation – i.e., the curve is based (at least in part) on the computed prediction error.).
Conclusion
The prior art of record and not relied upon is considered pertinent to Applicant’s disclosure:
1. Xiong et al., Pub. No.: US 20190079898 A1 – is considered pertinent for its teaching of executing and training a machine learning operation at a cloud server, transferring the model to edge device for further training and execution, and evaluating inference quality using a confidence level to determine whether additional training is needed.
2. Pezzillo et al., Pub. No.: US 20190370686 A1 – is considered pertinent for its teaching of transmitting a trained machine learning model from a cloud-based manager to an edge computing device for execution and further training at the edge device, and exchanging the retrained model and associated feedback, including confidence scores and model performance information, between the edge device and the cloud-based model manager.
3. Vega et al., Pub. No: US 20210208992 A1 – is considered pertinent for its teaching of dynamically balancing machine learning operations between a cloud computing system and an edge computing device based on operational data, including communication bandwidth, edge-device CPU frequency, and execution time, to determine whether the machine learning operation should be executed in the cloud or edge device.
4. Wistuba et al., Pub. No.: US 20220092464 A1 – is considered pertinent for its teaching of generating learning curves while training machine learning operations, scoring the operations based on the learning curves, and using the resulting scores to determine whether training should continue or terminate.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Daravanh Phakousonh whose telephone number is (571)272-6324. The examiner can normally be reached Mon - Thurs 7 AM - 5 PM, Every other Friday 7 AM - 4PM.
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) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Li B Zhen can be reached at 571-272-3768. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/Daravanh Phakousonh/Examiner, Art Unit 2121
/Li B. Zhen/Supervisory Patent Examiner, Art Unit 2121