DETAILED ACTION
Claims 1-17 rejected under 35 USC § 103.
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 .
Claim Rejections - 35 USC § 103
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-4 and 9-13 are rejected under 35 U.S.C. 103 as being unpatentable over Swan et al., U.S. PG-Publication No. 2020/0311617 A1, in view of Mehta et al., U.S. PG-Publication No. 2022/0108035 A1, further in view of U.S. PG-Publication No. 2021/0326717 A1.
Claim 1
Swan discloses a machine learning management system. Swan discloses methods “for packaging and deploying algorithms using containers for flexible machine learning,” wherein “the containers include code for how a machine learning model is to be trained.” Swan, ¶ 17.
Swan discloses a repository. Model data is stored “in the training model data store 175 used by the model hosting system 140 to deploy machine learning models.” Id. at ¶¶ 46, 56.
Swan discloses a communications interface. The “network-accessible machine learning service” can “host virtual machine instances that are configured to train … machine learning models in response to commands received from user devices.” Id. at ¶ 18. The model training system “can communicate with one or more of the user devices 102 via the network 110.” Id. at ¶ 74; See Also ¶ 113; FIG. 8 (network interface 806).
Swan discloses one or more processors configured to execute code. Model training system 120 comprises processing unit 804 that executes program instructions. Id. at ¶¶ 113-115.
Swan discloses code to cause the one or more processors to: receive a selected model through the communications interface from a customer. User device 102 (i.e., customer) provides “a training request to the frontend 129 that includes a container image …, an indicator of input data …, one or more hyperparameter values …, and/or information describing the computing machine on which to train a machine learning model.” Id. at ¶ 26. The container image includes layers of executable instructions representing “an algorithm that defines a machine learning model” (container image with algorithm → container with untrained model). In embodiments, the algorithm is completely user-generated. In other embodiments, “instead of providing a container image …, the user device 102 may provide, in the training request, an algorithm written in any programming language” (algorithm → untrained model). Id. at ¶¶ 27-28. ML training containers include “code 136” comprising executable instructions “that represent an algorithm that defines a machine learning model.” Id. at ¶ 32.
Swan discloses receive associated training data for the selected model through the communications interface. The model training system 120 “retries training data from the location indicated in the training request” (indicator of input data → associated training data for the selected model). In one embodiment, “the location indicated in the training request can be a location in the training data store 160,” wherein the training data store 160 is “located external to the model training system 120.” Id. at ¶¶ 36, 69.
Swan discloses store the selected model. The model training system 120 can “create and initialize a ML training container 130 in a virtual machine instance 122.” Id. at ¶ 35. The virtual machine instance 122 executes code 136 “to train a machine learning model” by “applying the training data retrieved by the model training system 120.” Id. at ¶ 37. The virtual machine instance 122 “pulls the generated model data from the ML training container 130 and stores the generated model data in the training model data store 175.” The storage occurs “while the training process is ongoing and/or after the training process is complete” (i.e., stores trained model). Id. at ¶ 39.
Swan does not expressly disclose receive associated training data for the selected model through the communications interface from a customer; store the selected model and the associated training data.
Mueller discloses receive associated training data for the selected model through the communications interface from a customer; store the selected model and the associated training data. Mueller discloses a method for “code-free automated machine learning,” enabling “user to easily train high-quality custom machine learning (ML) models … without necessary needing to write code.” The custom machine learning (CML) service “allows user to easily construct optimized ML pipelines by simply providing a training set.” The CML may “deploy a storage location for the user … as well as a ML orchestrator” that is notified “upon a dataset … being stored at the storage location.” The ML orchestrator then utilizes “an Automated Machine Learning system … to training multiple ML models.” The user “may utilize a simple UI to provide a training dataset of interest and the CML service may thus abstract away all of the complexity required to train … a ML model that was specifically-selected and trained for that user’s use case.” Mueller, ¶¶ 18-19. The “user simply provides a training dataset 202 of interest to the user.” Id. at ¶ 37.
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the claimed invention to modify the model training system of Swan to incorporate storing uploaded training data from a user as taught by Mueller. One of ordinary skill in the art would be motivated to integrate storing uploaded training data from a user into Swan, with a reasonable expectation of success, in order to improve performance, because “the time to respond can be significantly reduced compared to other configurations, and thus the speed of service for the user can be faster.” Mueller, ¶ 33.
Swan does not expressly disclose a repository having one or more partitions, the one or more partitions being separate from others of the one or more partitions; receive associated training data for the selected model through the communications interface from a customer; store … the associated training data in a partition dedicated to the customer; and manage the one or more partitions to ensure that the customer can only access the partition dedicated to the customer.
Mehta discloses a repository having one or more partitions, the one or more partitions being separate from others of the one or more partitions. Mehta discloses “a machine learning platform” that “provides a machine learning service to train and apply machine learning models.” Id. at ¶ 13. The machine learning service “offers a security-focused approach … ensuring that each customer’s sensitive data is appropriately siloed.” Mehta discloses that “each customer stores its customer data on a single-tenant data store.” The customer training data “may originate from the customer’s single-tenant data store.” Id. at ¶ 15. Machine learning service platform 121 comprises a plurality databases 123 (i.e., a repository). A single database 123 (i.e., partition) “functions as a source for training data for training a machine learning model,” and “can also include a database of trained machine learning models available for a specific entity or customer” (i.e., partition stores associated training data). Id. at ¶ 22.
Mehta discloses receive associated training data for the selected model through the communications interface from a customer; and store the selected model and the associated training data in a partition dedicated to the customer. A machine learning training request “can include the training data embedded in the request or a reference to the training data,” wherein the referenced training data “is data stored in a customer database such as database 123.” Id. at ¶ 43.
Mehta discloses manage the one or more partitions to ensure that the customer can only access the partition dedicated to the customer. The database 123 is “a single-tenant database that only stores data for one specific customer,” wherein “[e]ach customer may have a corresponding siloed database … to maintain data separation.” Id. at ¶ 22.
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the claimed invention to modify the model training system of Swan to incorporate single-tenant databases as taught by Mehta. One of ordinary skill in the art would be motivated to integrate single-tenant databases into Swan, with a reasonable expectation of success, in order to improve security by “securely and efficiently stor[ing] customer data without needlessly comingling the data of different customers,” be employing “a security focused approach while maximizing efficient use of compute resources … ensuring that each customer’s sensitive data is appropriately siloed (i.e., improve security by protecting customer’s sensitive data). See Mehta, ¶¶ 15, 40.
Swan-Mehta does not expressly disclose store the selected model in a partition dedicated to the customer.
Mueller discloses store the selected model in a partition dedicated to the customer. Mueller discloses a custom machine learning service (e.g., the CIVIL service) that “may deploy a storage location for the user (such as an object storage ‘bucket’ or ‘folder’ provided by the storage service.” The user may utilize a user interface “to provide a training dataset of interest” for training a machine learning model. Id. at ¶¶ 18-19. The CIVIL service “deploys resources for the user 119 (which may be dedicated to the user, e.g., to ensure data and privacy) by … configurating a ML orchestrator 115 and … configuring one or more object storage locations 117” (object storage → partition dedicated to the customer). Id. at ¶¶ 30-33. The user provides “datasets 108 for training” and they are stored “into the object storage locations 117.” Id. at ¶ 46. Model training system 120 executes training code 123 and “write exploration artifacts 122 (e.g., pipeline code 123, model(s) 124) and/or inference data 111to one or more object storage locations 117 … which may be the same … from the storage location where the user-provided datasets 108 … are stored.” Id. at ¶ 52. The user interface enables “the user to download” the generated model 123 artifacts. Id. at ¶ 54. Further, the user interface 700 enables the user to download datasets (710) and models (720) (i.e., send the training data and model to the customer after training). Id. at ¶ 77.
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the claimed invention to modify model training system of Swan-Mehta to incorporate storing the model and training data in a user specific storage as taught by Mueller. One of ordinary skill in the art would be motivated to integrate storing the model and training data in a user specific storage into Swan-Mehta, with a reasonable expectation of success, in order to improve data security: “to ensure data and privacy.” Mueller, ¶ 31.
Claim 2
Swan discloses train the selected model using the associated training data prior to storing the selected model and the associated training data. The model training system 120 can “create and initialize a ML training container 130 in a virtual machine instance 122.” Swan, ¶ 35. The virtual machine instance 122 executes code 136 “to train a machine learning model” by “applying the training data retrieved by the model training system 120.” Id. at ¶ 37. The virtual machine instance 122 “pulls the generated model data from the ML training container 130 and stores the generated model data in the training model data store 175.” The storage occurs “while the training process is ongoing and/or after the training process is complete” (i.e., stores trained model). Id. at ¶ 39.
Mueller discloses send the selected model and the associated training data to the customer after training. Mueller discloses a custom machine learning service (e.g., the CIVIL service) that “may deploy a storage location for the user (such as an object storage ‘bucket’ or ‘folder’ provided by the storage service.” The user may utilize a user interface “to provide a training dataset of interest” for training a machine learning model. Id. at ¶¶ 18-19. The CIVIL service “deploys resources for the user 119 (which may be dedicated to the user, e.g., to ensure data and privacy) by … configurating a ML orchestrator 115 and … configuring one or more object storage locations 117” (object storage → partition dedicated to the customer). Id. at ¶¶ 30-33. The user provides “datasets 108 for training” and they are stored “into the object storage locations 117.” Id. at ¶ 46. Model training system 120 executes training code 123 and “write exploration artifacts 122 (e.g., pipeline code 123, model(s) 124) and/or inference data 111to one or more object storage locations 117 … which may be the same … from the storage location where the user-provided datasets 108 … are stored.” Id. at ¶ 52. The user interface enables “the user to download” the generated model 123 artifacts. Id. at ¶ 54. Further, the user interface 700 enables the user to download datasets (710) and models (720) (i.e., send the training data and model to the customer after training). Id. at ¶ 77.
Claim 3
Swan discloses wherein the selected model is a trained model. The model training system 120 can “create and initialize a ML training container 130 in a virtual machine instance 122.” Swan, ¶ 35. The virtual machine instance 122 executes code 136 “to train a machine learning model” by “applying the training data retrieved by the model training system 120.” Id. at ¶ 37. The virtual machine instance 122 “pulls the generated model data from the ML training container 130 and stores the generated model data in the training model data store 175.” The storage occurs “while the training process is ongoing and/or after the training process is complete” (i.e., stores trained model). Id. at ¶ 39.
Claim 4
Mueller discloses receive a request for a trained model stored in the partition dedicated to the customer; access the partition dedicated to the customer to retrieve the trained model and the training data associated with the trained model; and send the trained model and the training data associated with the trained model to the customer. Mueller discloses a custom machine learning service (e.g., the CIVIL service) that “may deploy a storage location for the user (such as an object storage ‘bucket’ or ‘folder’ provided by the storage service.” The user may utilize a user interface “to provide a training dataset of interest” for training a machine learning model. Id. at ¶¶ 18-19. The CIVIL service “deploys resources for the user 119 (which may be dedicated to the user, e.g., to ensure data and privacy) by … configurating a ML orchestrator 115 and … configuring one or more object storage locations 117” (object storage → partition dedicated to the customer). Id. at ¶¶ 30-33. The user provides “datasets 108 for training” and they are stored “into the object storage locations 117.” Id. at ¶ 46. Model training system 120 executes training code 123 and “write exploration artifacts 122 (e.g., pipeline code 123, model(s) 124) and/or inference data 111to one or more object storage locations 117 … which may be the same … from the storage location where the user-provided datasets 108 … are stored.” Id. at ¶ 52. The user interface enables “the user to download” the generated model 123 artifacts. Id. at ¶ 54. Further, the user interface 700 enables the user to download datasets (710) and models (720) (i.e., send the training data and model to the customer after training). Id. at ¶ 77.
Claim 9
Mehta discloses wherein the partition in the repository dedicated to the customer contains one or more partitions, each of the one or more partitions comprising sub-repositories dedicated to one or more of different models, different versions of a same model, and different components. Entity store 203 is a single-tenant customer database 123 that “can store customer data and/or information related to different machine learning models associated with a customer” (i.e., one or more models; different components). Mehta, ¶ 24. Further, Mehta discloses that “a model store can store multiple versions of a model.” Id. at ¶ 14. Multiple versions or revisions of a model are stored “with an associated identifier that includes a version identifier that can be used to differentiate between versions.” Id. at ¶ 29.
Claims 10-13
Claims 10-13 are rejected utilizing the aforementioned rationale for Claims 1-4; the claims are directed to a method performed by the system.
Claims 5-8 and 14-17 are rejected under 35 U.S.C. 103 as being unpatentable over Swan et al., U.S. PG-Publication No. 2020/0311617 A1, in view of Mehta et al., U.S. PG-Publication No. 2022/0108035 A1, further in view of U.S. PG-Publication No. 2021/0326717 A1, further in view of Bhattacharjee et al., U.S. PG-Publication No. 2020/0334567 A1.
Claim 5
Bhattacharjee discloses execute code to allow the one or more processors to access one or more computing devices located at a customer location. Bhattacharjee discloses “a system for distributing the training of machine learning models” including “a plurality of client devices on which a training application … executes and a job dispatcher that distributes portions of a machine learning job to the plurality of computing devices.” The client device obtains “a portion of a training data set to use in training a portion of a machine learning model.” The portion of the trained machine learning model generated based on the obtained portion of the training data set may be reported back to the model training manager.” Bhattacharjee, ¶ 12. A user “can download applications … that interact with model training manager 140 to perform training processes for a machine learning model.” Id. at ¶ 14. Model training manager 140 “generally orchestrates the assignment of training tasks to client devices 120 in a distributed system to facilitate the training of machine learning models by a plurality of client devices 120” (i.e., code to allow access to customer client computing devices). Id. at ¶ 20.
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the claimed invention to modify model training system of Swan-Mehta-Mueller to incorporate distributed training using client devices as taught by Bhattacharjee. One of ordinary skill in the art would be motivated to integrate distributed training using client devices into Swan-Mehta-Mueller, with a reasonable expectation of success, in order to save costs by allowing “for the training of … models without a user needing to establish or obtain a cluster of general purpose computers or specialized processors dedicated to training a machine learning model,” and to improve resource usage efficiency by using resources “that would otherwise be unused.” See Bhattacharjee, ¶ 11.
Claim 6
Bhattacharjee discloses wherein the code that causes the one or more processors to access the one or more computing devices comprises code to allow the one or more processors to train untrained models on the one or more computing devices remotely. Bhattacharjee discloses “a system for distributing the training of machine learning models” including “a plurality of client devices on which a training application … executes and a job dispatcher that distributes portions of a machine learning job to the plurality of computing devices.” The client device obtains “a portion of a training data set to use in training a portion of a machine learning model.” The portion of the trained machine learning model generated based on the obtained portion of the training data set may be reported back to the model training manager.” Bhattacharjee, ¶ 12. A user “can download applications … that interact with model training manager 140 to perform training processes for a machine learning model.” Id. at ¶ 14. Model training manager 140 “generally orchestrates the assignment of training tasks to client devices 120 in a distributed system to facilitate the training of machine learning models by a plurality of client devices 120” (i.e., train untrained models on client devices local to the customer and remote to the system hosting the data and model). Id. at ¶ 20.
Claim 7
Mueller, in view of Bhattacharjee, suggests wherein the code that causes the one or more processors to access the one or more computing devices causes the one or more processors to debug trained models on the one or more computing devices remotely. Mueller discloses using a testing dataset that “is similar to the training dataset 202 in that it includes the same columns of values” and is utilized “to test the accuracy/performance of a ML model … trained using the training dataset 202” (test accuracy/performance of model → debug model).
Bhattacharjee discloses “a system for distributing the training of machine learning models” including “a plurality of client devices on which a training application … executes and a job dispatcher that distributes portions of a machine learning job to the plurality of computing devices.” The client device obtains “a portion of a training data set to use in training a portion of a machine learning model.” The portion of the trained machine learning model generated based on the obtained portion of the training data set may be reported back to the model training manager.” Bhattacharjee, ¶ 12. Model training manager 140 “generally orchestrates the assignment of training tasks to client devices 120 in a distributed system to facilitate the training of machine learning models by a plurality of client devices 120.”
One of ordinary skill in the art recognize that the “training tasks” performed at the client disclosed by Bhattacharjee could include the testing task for debugging a model disclosed by Mueller.
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the claimed invention to modify model training system of Swan-Mehta-Mueller to incorporate distributed training using client devices as taught by Bhattacharjee. One of ordinary skill in the art would be motivated to integrate distributed model testing using client devices into Swan-Mehta-Mueller, with a reasonable expectation of success, in order to save costs by allowing model testing “without a user needing to establish or obtain a cluster of general purpose computers or specialized processors dedicated to training a machine learning model,” and to improve resource usage efficiency by using resources “that would otherwise be unused.” See Bhattacharjee, ¶ 11.
Claim 8
Bhattacharjee discloses wherein the one or more processors are further configured to execute code that causes the one or more processors to allow the customer to train models locally at a customer location. Bhattacharjee discloses “a system for distributing the training of machine learning models” including “a plurality of client devices on which a training application … executes and a job dispatcher that distributes portions of a machine learning job to the plurality of computing devices.” The client device obtains “a portion of a training data set to use in training a portion of a machine learning model.” The portion of the trained machine learning model generated based on the obtained portion of the training data set may be reported back to the model training manager.” Bhattacharjee, ¶ 12. A user “can download applications … that interact with model training manager 140 to perform training processes for a machine learning model.” Id. at ¶ 14. Model training manager 140 “generally orchestrates the assignment of training tasks to client devices 120 in a distributed system to facilitate the training of machine learning models by a plurality of client devices 120” (i.e., train untrained models on client devices local to the customer and remote to the system hosting the data and model). Id. at ¶ 20.
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the claimed invention to modify model training system of Swan-Mehta-Mueller to incorporate distributed training using client devices as taught by Bhattacharjee. One of ordinary skill in the art would be motivated to integrate distributed training using client devices into Swan-Mehta-Mueller, with a reasonable expectation of success, in order to save costs by allowing “for the training of … models without a user needing to establish or obtain a cluster of general purpose computers or specialized processors dedicated to training a machine learning model,” and to improve resource usage efficiency by using resources “that would otherwise be unused.” See Bhattacharjee, ¶ 11.
Claims 14-17
Claims 14-17 are rejected utilizing the aforementioned rationale for Claims 5-8; the claims are directed to a method performed by the system.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to FRANK D MILLS whose telephone number is (571)270-3194. The examiner can normally be reached M-F 10-6 ET.
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, KEVIN YOUNG can be reached at (571)270-3180. 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.
/FRANK D MILLS/Primary Examiner, Art Unit 2194 March 27, 2026