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 .
Claims 1-15 have been examined.
Priority
Receipt is acknowledged of certified copies of papers required by 37 CFR 1.55.
Claim Objections
Claim 6 is objected to because of the following informalities: the 3rd clause at line 6 of the claim begins with “determining, receiving,”. This appears to be a clerical error which should be: “determining, ”. Appropriate correction is required.
Claim 12 is objected to because of the following informalities: the 3rd clause at line 6 of the claim begins with “determining, receiving,”. This appears to be a clerical error which should be: “determining, ”. Appropriate correction is required.
Claim Rejections - 35 USC § 102
The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(2) the claimed invention was described in a patent issued under section 151, or in an application for patent published or deemed published under section 122(b), in which the patent or application, as the case may be, names another inventor and was effectively filed before the effective filing date of the claimed invention.
Claims 1-7 and 9-11 are rejected under 35 U.S.C. 102(a)(2) as being anticipated by U.S. Patent Application Publication 20230376859 by Miller et al. ("Miller").
In regard to claim 1, Miller discloses:
1. A method, comprising: See Miller, at least Fig. 4, broadly depicting a method.
receiving, by a computer program executed by an electronic device and from a client, a project for federated learning using a training federation, the training federation comprising a plurality of clients; ¶ 0016, “The orchestrator coordinates the federated training with the silos …” Also ¶ 0017, “The orchestrator provides a user interface that simplifies the process of generating, maintaining, and deploying a federated learning pipeline for training an ML model.”
generating, by the computer program, a configuration file that reflects a set-up for the training federation; ¶ 0017, “The user interface enables the user to easily configure the hyperparameters for the ML model being trained and/or other configuration parameters for the federated learning process.” Also ¶ 0047, “In some implementations, the user interface 350 may present the user with a default configuration file.”
receiving, by the computer program, files necessary to build containers, wherein at least some of the files are customized by the client; Miller, ¶ 0025, “A container provides a secure means for packaging, deploying, and managing cloud-based applications. The container includes the executable application code and supporting services.”
generating, by the computer program, containers comprising the configuration file and files necessary to build the containers; and Miller, ¶ 0025, “A container provides a secure means for packaging, deploying, and managing cloud-based applications. The container includes the executable application code and supporting services.”
deploying, by the computer program, the containers to a client compute environment for the client as a client node, wherein the client node is configured to join the training federation as a server and/or a participant. Miller, ¶ 0024, “A workspace provides a centralized platform for creating, training, managing, and deploying machine learning models to computing environments, such as the silos 115a, 115b, 115c, 115d, and 115e.” ¶ 0025, “A container provides a secure means for packaging, deploying, and managing cloud-based applications. … A Kubernetes cluster is a set of nodes, such as the computing resources allocated to a silo, that may be configured to run containerized applications.”
In regard to claim 2, Miller also discloses:
2. The method of claim 1, wherein the client joins the training federation by registering with an orchestrator on a server backend, receiving server weights from the server, local training a client model with the server weights, and sending weight deltas based on the local training to the server backend. Miller, ¶ 0016, “These requirements are met by implementing an orchestrator that is configured to coordinate the federated training of an ML model with “silos” that have access to a respective portion of the data to be used for training the ML model.” Also ¶ 0036, “The orchestrator 115 may send a federal learning request 205 to the silo 115. The federated learning request 115 may include machine learning weights associated with a pretrained machine learning model that is to be fine-tuned using federated learning. The federated learning request 115 may trigger the silo to execute code configured to cause the silo to instantiate a local instance of the ML model on the computing resources of the silo 115, to train the local instance of the model using relevant private data maintained in the storage resources of the silo 115, and/or perform other operations associated with the federated learning techniques provided herein. The silo 115 may very whether the orchestrator 115 is part of the same workspace and authenticate the request prior to execution as discussed in the examples which follow. Once the silo 115 has completed the requested operations, the silo 115 may provide a federated learning response 210 to the orchestrator 110 that includes the updated weights of the local instance of the ML model.”
In regard to claim 3, Miller also discloses:
3. The method of claim 1, wherein the configuration file comprises a modifiable template. Miller, ¶ 0047, “In some implementations, the user interface 350 may present the user with a default configuration file, such as a YAML file, which may be customized with the compute location and storage location associated with the silo.”
In regard to claim 4, Miller also discloses:
4. The method of claim 1, wherein the computer program further generates the container based on a user defined model. Miller, ¶ 0017, “The user interface enables the user to easily configure the hyperparameters for the ML model being trained and/or other configuration parameters for the federated learning process.”
In regard to claim 5, Miller also discloses:
5. The method of claim 4, wherein the user defined model specifies a machine-learning model for the training federation. Miller, ¶ 0017, “The user interface enables the user to easily configure the hyperparameters for the ML model being trained and/or other configuration parameters for the federated learning process.”
In regard to claim 6, Miller discloses:
6. A method, comprising: See Miller, at least Fig. 4, broadly depicting a method.
receiving, by a computer program executed by an electronic device and from a client, a project for federated learning; ¶ 0016, “The orchestrator coordinates the federated training with the silos …” Also ¶ 0017, “The orchestrator provides a user interface that simplifies the process of generating, maintaining, and deploying a federated learning pipeline for training an ML model.”
generating, by the computer program, a configuration file that reflects a set-up; ¶ 0017, “The user interface enables the user to easily configure the hyperparameters for the ML model being trained and/or other configuration parameters for the federated learning process.” Also ¶ 0047, “In some implementations, the user interface 350 may present the user with a default configuration file.”
determining, [] by the computer program, that there is an active training federation for the project comprising a plurality of clients; See Miller, Fig. 3A, elements 310a-310e depicting a determined active training federation for a project.
receiving, by the computer program, an active training configuration for the active training federation; See Miller, Fig. 3A, elements 310a-310e depicting an active training subgraph configuration. Also ¶ 0057, “The process 400 may include an operation 410 of receiving, in a first silo, configuration parameters for performing federated training of a machine learning model using data stored in the plurality of second silos.”
receiving, by the computer program, files necessary to build containers, wherein at least some of the files are customized by the client; Miller, ¶ 0025, “A container provides a secure means for packaging, deploying, and managing cloud-based applications. The container includes the executable application code and supporting services.”
generating, by the computer program, containers comprising the configuration file, the active training configuration, and files necessary to build the containers; and Miller, ¶ 0018, “In some implementations, the configuration parameters includes information identifying each of the silos in which training of a local instance of the ML model is to be conducted, an amount of computing resources and/or storage resources to be allocated by the silo for training a local instance of the ML model, the input data source or data sources to be used by each silo for training the local instance of the ML model, and other parameters for configuring how the local instance of the models are to be trained by the silos.” Also ¶ 0021, “The orchestrator adds additional training iteration stages to the federated learning pipeline, modifies existing training iteration states of the federated learning pipeline, or removes existing training iteration states of the federated learning pipeline in response to the performance of the model.” Also ¶ 0025, “A container provides a secure means for packaging, deploying, and managing cloud-based applications. The container includes the executable application code and supporting services.”
deploying, by the computer program, the containers to a client compute environment for the client as a client node, wherein the client node is configured to join the active training federation as a server and/or as a client participant. Miller, ¶ 0024, “A workspace provides a centralized platform for creating, training, managing, and deploying machine learning models to computing environments, such as the silos 115a, 115b, 115c, 115d, and 115e.” ¶ 0025, “A container provides a secure means for packaging, deploying, and managing cloud-based applications. … A Kubernetes cluster is a set of nodes, such as the computing resources allocated to a silo, that may be configured to run containerized applications.”
In regard to claim 7, Miller also discloses:
7. The method of claim 6, wherein the client node is configured to join the active training federation in response to a starting condition being met. Miller, ¶ 0036, “The federated learning request 115 may trigger the silo to execute code configured to cause the silo to instantiate a local instance of the ML model on the computing resources of the silo 115, to train the local instance of the model using relevant private data maintained in the storage resources of the silo 115, and/or perform other operations associated with the federated learning techniques provided herein.”
In regard to claim 9:
Parent claim 6 is addressed above. All further limitations of claim 9 have been addressed in the above rejection of claim 2.
In regard to claim 10, Miller also discloses:
10. The method of claim 6, wherein the active training configurations comprise an API format expectation and See Fig. 5 element 524 and ¶ 0068, “components within the layers may invoke API calls 524 to other layers …” … metadata about nodes in the active training configuration. ¶ 0018, “the configuration parameters includes information identifying each of the silos in which training of a local instance of the ML model is to be conducted, an amount of computing resources and/or storage resources to be allocated by the silo for training a local instance of the ML model, the input data source or data sources to be used by each silo for training the local instance of the ML model, and other parameters for configuring how the local instance of the models are to be trained by the silos. In some implementations, the configuration parameters may also include information indicating the types of preprocessing and postprocessing that may be performed by the orchestrator and/or by the silos at each stage of the federated learning pipeline.”
In regard to claim 11, Miller also discloses:
11. The method of claim 6, further comprising: receiving, by the computer program, entry points for the active training federation; wherein the configuration file comprises the entry points. ¶ 0021, “The orchestrator may also dynamically alter the flow of the federated learning pipeline in response to user-specified criteria. The orchestrator may add additional stages to the federated learning pipeline, modify existing stages of the federated learning pipeline, or delete stages from the federated learning pipeline in response to the user-specified criteria being satisfied.”
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.
Claim 8 is rejected under 35 U.S.C. 103 as being unpatentable over Miller in view of U.S. Patent Application Publication 20230403198 by Cai et al. ("Cai").
In regard to claim 8, Miller does not expressly disclose:
8. The method of claim 7, wherein the starting condition comprises two or more client nodes being participants in the active training federation. This is taught by Cai. See Cai ¶ 0038, “When the TCM 200 is creating the federated clusters for the tenant, a scaling policy could be installed onto the first scaling entity, here the scaling controller (SC). The policy could include the information like the tenant name, the scaling action, the performance requirement (e.g., latency), the minimum and maximum number of nodes, the events that could trigger the scaling (e.g., the minimum number of unassigned Pods, or the average latency of the service requests being less than a given threshold).” It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to use Cai’s policy with Miller’s federated learning in order to dynamically and automatically control container scaling for satisfaction of performance requirements as suggested by Cai (see ¶ 0006 and 0013).
Claims 12-13 and 15 are rejected under 35 U.S.C. 103 as being unpatentable over Miller in view of U.S. Patent Application Publication 20200167199 by Zur et al. ("Zur").
In regard to claim 12, Miller discloses:
12. A method, comprising: See Miller, at least Fig. 4, broadly depicting a method.
receiving, by a computer program executed by an electronic device and from a client, a project for federated learning; ¶ 0016, “The orchestrator coordinates the federated training with the silos …” Also ¶ 0017, “The orchestrator provides a user interface that simplifies the process of generating, maintaining, and deploying a federated learning pipeline for training an ML model.”
generating, by the computer program, a configuration file that reflects a set-up; ¶ 0017, “The user interface enables the user to easily configure the hyperparameters for the ML model being trained and/or other configuration parameters for the federated learning process.” Also ¶ 0047, “In some implementations, the user interface 350 may present the user with a default configuration file.”
Miller does not expressly disclose: determining, [] by the computer program, that there is not an active training federation for the project; This is taught by Zur. See Zur ¶ 0021, “However, at a certain requirement level the available infrastructure resources may be exhausted, and no further scaling is enabled. At this stage, the orchestrator may attempt to reschedule containers, and may request additional infrastructure. Therefore, in cases of insufficient existing resources, the container orchestrator has to wait for the infrastructure to be provisioned before placing any new containers.” It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to use Zur’s provisioning with Miller’s federated learning containers in order to reduce latency and maintain quality of service as suggested by Zur (see ¶ 0023).
Miller also discloses:
receiving, by the computer program, an active training configuration for the active training federation; See Miller, Fig. 3A, elements 310a-310e depicting an active training subgraph configuration. Also ¶ 0057, “The process 400 may include an operation 410 of receiving, in a first silo, configuration parameters for performing federated training of a machine learning model using data stored in the plurality of second silos.”
receiving, by the computer program, files necessary to build containers, wherein at least some of the files are customized by the client; Miller, ¶ 0025, “A container provides a secure means for packaging, deploying, and managing cloud-based applications. The container includes the executable application code and supporting services.”
generating, by the computer program, an architecture comprising the configuration file, the active training configurations, and files necessary to build containers for the training federation; and Miller, ¶ 0018, “In some implementations, the configuration parameters includes information identifying each of the silos in which training of a local instance of the ML model is to be conducted, an amount of computing resources and/or storage resources to be allocated by the silo for training a local instance of the ML model, the input data source or data sources to be used by each silo for training the local instance of the ML model, and other parameters for configuring how the local instance of the models are to be trained by the silos.” Also ¶ 0021, “The orchestrator adds additional training iteration stages to the federated learning pipeline, modifies existing training iteration states of the federated learning pipeline, or removes existing training iteration states of the federated learning pipeline in response to the performance of the model.” Also ¶ 0025, “A container provides a secure means for packaging, deploying, and managing cloud-based applications. The container includes the executable application code and supporting services.”
deploying, by the computer program, the containers to a client compute environment for the client as a client node, wherein the client node is configured to build an architecture for the training federation and join the federation as a server and/or as a client participant. Miller, ¶ 0024, “A workspace provides a centralized platform for creating, training, managing, and deploying machine learning models to computing environments, such as the silos 115a, 115b, 115c, 115d, and 115e.” ¶ 0025, “A container provides a secure means for packaging, deploying, and managing cloud-based applications. … A Kubernetes cluster is a set of nodes, such as the computing resources allocated to a silo, that may be configured to run containerized applications.”
In regard to claims 13 and 15:
Parent claim 12 is addressed above. All further limitations of claims 13 and 15 have been addressed in the above rejections of claims 7 and 9, respectively.
Claim 14 is rejected under 35 U.S.C. 103 as being unpatentable over Miller in view of Zur as applied above, and further in view of Cai.
In regard to claim 14:
Parent claim 13 is addressed above. All further limitations of claim 14 have been addressed in the above rejection of claim 8.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
U.S. Patent Application Publication 20180349508 by Bequet et al. ¶ 0172, “Command line parameters, for example, may inform each node of one or more pieces of information, such as: the role that the node will have in the grid, the host name of the primary control node, the port number on which the primary control node is accepting connections from peer nodes, among others. The information may also be provided in a configuration file, transmitted over a secure shell tunnel, recovered from a configuration server, among others.”
U.S. Patent Application Publication 20220261697 by Chopra et al. ¶ 0066, “In some embodiments, the training configuration file can include information that indicates preferred hardware type in order to run a machine learning model training job at a satellite site.”
U.S. Patent Application Publication 20230237311 by Taghia et al. ¶ 0084, “Once the federation starts all worker nodes are informed with a broadcast configuration file either stating that the federation is fully decentralized and providing a dictionary of IP addresses and port numbers of each accessible worker in the federation, or that the worker nodes are in federation with a master node and providing just the IP address and port of the master node.”
U.S. Patent Application Publication 20230290456 by Baror et al. ¶ 0071, “In some embodiments, the server 106 can alternatively build a container based on code received from the user.”
Any inquiry concerning this communication or earlier communications from the examiner should be directed to James D Rutten whose telephone number is (571)272-3703. The examiner can normally be reached M-F 9:00-5:30 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, 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.
/James D. Rutten/Primary Examiner, Art Unit 2121