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 § 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 is/are rejected under 35 U.S.C. 101 because they are directed to an abstract idea without significantly more.
Regarding claims 1-20,
Step 1: Applying step 1, the preamble of claims 1-10 recites a method, which falls within the statutory category of a process. The preamble of claims 11-19 recites an apparatus, which falls within the statutory category of an apparatus. The preamble of claim 20 recites a non-transitory computer-readable medium, which falls within the statutory category of a manufacture.
Regarding claim 1,
Step 2A – Prong One: Claim 1 recites:
A method comprising:
obtaining, by a controller for a federated learning system, state information from a plurality of nodes in the federated learning system;
determining, by the controller and based on the state information, an adjustment to a topology of the federated learning system;
selecting, by the controller, one or more nodes from among the plurality of nodes affected by the adjustment; and
sending, by the controller, instructions to the one or more nodes, to implement the adjustment to the topology of the federated learning system.
The broadest reasonable interpretation, in light of the Specification, of the bolded limitations above amounts to a mental process that can practically be performed in the human mind with or without the physical aids of a pen and paper. A human could use observation, evaluation, and judgement to determine, based on state information, an adjustment to a topology of a federated learning system, as supported by the Specification at Pg. 20, Lines 7-10 (“the user may manipulate a graphical user interface (GUI) on which the current topology of the federated learning system is displayed”, thus the user may determine an adjustment to the current topology). Step 2A – Prong One (Yes).
Step 2A – Prong Two: The additional element of claim 1 regarding “obtaining, by a controller for a federated learning system, state information from a plurality of nodes in the federated learning system;” and “selecting, by the controller, one or more nodes from among the plurality of nodes affected by the adjustment;” amount to insignificant extra-solution activity that amounts to no more than mere data gathering (See MPEP 2106.05(g)). The additional elements of claim 1 regarding “by the controller” and “sending, by the controller, instructions to the one or more nodes, to implement the adjustment to the topology of the federated learning system” are mere instructions to apply the abstract idea on a generic computer (See MPEP 2106.05(f)).
Even when viewed in combination, the additional element does not integrate the judicial exception into a practical application. Step 2A – Prong Two (No).
Step 2B: The additional element of claim 1 regarding “obtaining, by a controller for a federated learning system, state information from a plurality of nodes in the federated learning system;” and “selecting, by the controller, one or more nodes from among the plurality of nodes affected by the adjustment;” amount to insignificant extra-solution activity that amounts to no more than mere data gathering (See MPEP 2106.05(g)). Data gathering is a well-understood, routine conventional activity as recognized by the courts (See MPEP 2106.05(d)(II)). The additional elements of claim 1 regarding “by the controller” and “sending, by the controller, instructions to the one or more nodes, to implement the adjustment to the topology of the federated learning system” are mere instructions to apply the abstract idea on a generic computer (See MPEP 2106.05(f)). The computer is recited at a high level of generality and imposes no meaningful limitations on the claim.
Even when viewed in combination, the additional element does not amount to significantly more than the judicial exception. Step 2B (No).
Claim 1 is ineligible.
Regarding claims 11 and 20,
Claims 11 and 20 incorporate substantively all the limitations of claim 1 in an apparatus and non-transitory computer-readable medium, and are rejected on the same grounds as above.
The processors, memory, and network interfaces recited in these claims are also generic computing components.
Claims 11 and 20 are ineligible.
Dependent claims:
Claims 2-3, 9-10, 12-13, and 19: These claims recite further instructions to apply the judicial exception on a generic computer (See MPEP 2106.05(f)). The computer is recited at a high level of generality and imposes no meaningful limitations on the claims. These claims are ineligible.
Claims 4-5, 8, 14-15, and 18: These claims recite further insignificant extra-solution activities that amount to no more than mere data gathering (See MPEP 2106.05(g)). Data gathering is well-understood, routine conventional activity as recognized by the courts (See MPEP 2106.05(d)(II)). These claims are ineligible.
Claims 6-7 and 16-17: These claims recite further abstract ideas (mental processes). There are no additional elements in these claims that integrate the judicial exception into a practical application and no additional elements in these claims that would amount to significantly more than the judicial exception. These claims are ineligible.
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)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention.
Claim(s) 1, 3-9, 11, and 13-20 is/are rejected under 35 U.S.C. 102(a)(1) as being anticipated by Surya et al. (NPL: Dynamic Resource Allocation for Distributed TensorFlow Training in Kubernetes Cluster, published Nov. 2019, hereinafter “Surya”).
Regarding claim 1, Surya teaches a method comprising:
obtaining, by a controller for a federated learning system, state information from a plurality of nodes in the federated learning system (Surya, Pg. 2 Col. 2 Last Paragraph and Fig. 5 – “The dynamic resource allocation is initiated by the training job requesting a resource check. This is done after training job finishes its epoch (and save its temporary trained model to persistent storage). Upon receiving the request, Config Manager gathers information about the cluster’s resources and decides if there are free resources.” – teaches obtaining, by a controller for a federated learning system, state information from a plurality of nodes in the federated learning system (federated learning system sends resource check to config manager, config manager gathers information about resources));
determining, by the controller and based on the state information, an adjustment to a topology of the federated learning system (Surya, Pg. 3 Col. 1 Last Paragraph to Pg. 3 Col. 2 First Paragraph and Fig. 5 – “The value of current_number_of_ps_node and current_number_of_worker_node represents the current number of ps and worker nodes respectively. These values are required when training job requests resource check because Config Manager does not know any information about the training job, i.e. the current number of ps and worker nodes. The value of threshold is a percentage (0 – 100), which represents the cluster’s resources utilization. This value is used to evaluate whether there are free resources in the cluster. If the current cluster’s resources utilization is under the threshold value, then Config Manager decides that there are free resources, thus it adds ps and worker nodes to training job.” – teaches determining, by the controller (Config Manager) and based on the state information (based on current number of ps and worker nodes, resource utilization), an adjustment to a topology of the federated learning system (adds ps and worker nodes to training job));
selecting, by the controller, one or more nodes from among the plurality of nodes affected by the adjustment (Surya, Fig. 5 and Table 1 – teaches selecting, by the controller (Config Manager), one or more nodes from among the plurality of nodes affected by the adjustment (calculates additional nodes to be added to the training job when configuration is determined to not meet threshold requirement)); and
sending, by the controller, instructions to the one or more nodes, to implement the adjustment to the topology of the federated learning system (Surya, Fig. 5 and Table 1 – teaches sending, by the controller (Config Manager), instructions to the one or more nodes, to implement adjustment to the topology of the federated learning system (calculates additional nodes to be added to the training job, creates new training configuration, and applies new configuration to training)).
Claims 11 and 20 incorporate substantively all the limitations of claim 1 in an apparatus and non-transitory computer-readable medium and are rejected on the same grounds as above. Surya teaches the network interfaces; processor coupled to the one or more network interfaces; and memory configured to store a process executable by a processor; and a non-transitory computer-readable medium storing program instructions (Suyra, Table 2 and Diagram 1 – teaches machine specification, network specification, and evaluation of memory usage).
Regarding claim 3, Surya teaches the method as in claim 1,
wherein the adjustment to the topology of the federated learning system changes the topology from among any of a set of topologies comprising one or more of: a hierarchical topology, a centralized topology, a hybrid topology, or a distributed hierarchy (Surya, Fig. 4 and Fig. 5 – teaches wherein the adjustment to the topology (configuration) of the federated learning system changes the topology from among any of a set of topologies comprising one or more of a hierarchical topology, a centralized topology, a hybrid topology, or a distributed hierarchy (teaches adding one or more parameter and worker nodes to a distributed hierarchy topology, thus changes from the original distributed hierarchy to an updated distributed hierarchy)).
Claim 13 is similar to claim 3, hence similarly rejected.
Regarding claim 4, Surya teaches the method as in claim 1,
wherein the state information from a node in the plurality of nodes is indicative of one or more system or network performance metrics associated with that node (Surya, Table 1 and Pg. 3 Col. 1 Last Paragraph to Pg. 3 Col. 2 First Paragraph – “The value of threshold is a percentage (0 – 100), which represents the cluster’s resources utilization. This value is used to evaluate whether there are free resources in the cluster. If the current cluster’s resources utilization is under the threshold value, then Config Manager decides that there are free resources, thus it adds ps and worker nodes to training job.” – teaches wherein the state information from a node in the plurality of nodes is indicative of one or more system or network performance metrics associated with that node (threshold represents cluster’s resource utilization, which is used to determine if there are free resources in the cluster of nodes, thus state information from the nodes is indicative of one or more system performance metrics such as resource utilization)).
Claim 14 is similar to claim 4, hence similarly rejected.
Regarding claim 5, Surya teaches the method as in claim 1,
wherein the state information from a node in the plurality of nodes is indicative of one or more performance metrics associated with a training job assigned to that node (Surya, Table 1 and Pg. 3 Col. 1 Last Paragraph to Pg. 3 Col. 2 First Paragraph – “The value of threshold is a percentage (0 – 100), which represents the cluster’s resources utilization. This value is used to evaluate whether there are free resources in the cluster. If the current cluster’s resources utilization is under the threshold value, then Config Manager decides that there are free resources, thus it adds ps and worker nodes to training job.” – teaches wherein the state information from a node in the plurality of nodes is indicative of one or more system or network performance metrics associated with a training job assigned to that node (threshold represents cluster of nodes resource utilization, which is used to determine if there are free resources in the cluster of nodes and adds nodes to training job, thus state information is indicative of one or more performance metrics such as resource utilization associated with the training job)).
Claim 15 is similar to claim 5, hence similarly rejected.
Regarding claim 6, Surya teaches the method as in claim 1,
wherein determining the adjustment to the topology of the federated learning system comprises: identifying, by the controller and based on the state information, a bottleneck in the federated learning system (Surya, Fig. 5 ,Table 1, and Pg. 3 Col. 1 Last Paragraph to Pg. 3 Col. 2 First Paragraph – “The value of threshold is a percentage (0 – 100), which represents the cluster’s resources utilization. This value is used to evaluate whether there are free resources in the cluster. If the current cluster’s resources utilization is under the threshold value, then Config Manager decides that there are free resources, thus it adds ps and worker nodes to training job.” – teaches wherein the determining the adjustment to the topology of the federated learning system comprises identifying, by the controller and based on the state information (based on Config Manager and configuration), a bottleneck in the federated learning system (identifies that there are free resources not being utilized in the system and adds node to use up free resource, thus identifying that resource utilization is a bottleneck)).
Claim 16 is similar to claim 6, hence similarly rejected.
Regarding claim 7, Surya teaches the method as in claim 1,
wherein determining the adjustment to the topology of the federated learning system comprises: identifying a presence of a condition in the federated learning system from the state information (Surya, Fig. 5 ,Table 1, and Pg. 3 Col. 1 Last Paragraph to Pg. 3 Col. 2 First Paragraph – “The value of threshold is a percentage (0 – 100), which represents the cluster’s resources utilization. This value is used to evaluate whether there are free resources in the cluster. If the current cluster’s resources utilization is under the threshold value, then Config Manager decides that there are free resources, thus it adds ps and worker nodes to training job.” – teaches wherein the determining the adjustment to the topology of the federated learning system comprises identifying a presence of a condition in the federated learning system from the state information (determines cluster’s resource utilization is under a threshold value)); and
performing a lookup of the adjustment to the topology of the federated learning system based on the condition identified from the state information (Surya, Table 1 and Pg. 3 Col. 2 Last Paragraph – “As an example to the algorithm, consider a cluster whose current memory utilization is 50% of the total memory size, and user sets the value of threshold, ratio, and minimum_added_node to be 80%, 1:1, and 4 respectively. When the training job finishes its epoch, it initiates an API call to Config Manager, current_number_of_ps_node, providing the current_number_of_worker_node, and other parameters required. For example, current_number_of_ps_node the value of and current_number_of_worker_node are 1 and 1 respectively. After the API call is received, Config Manager gets information about the cluster’s resources, i.e. memory” – teaches performing a lookup (performs API call providing parameters required) of the adjustment to the topology (API call to config manager returns number of ps and worker nodes to add to configuration) based on condition identified from state information (gets information about memory utilization, current number of ps and worker nodes, threshold, ratio, etc. and performs call to lookup adjustment to configuration)).
Claim 17 is similar to claim 7, hence similarly rejected.
Regarding claim 8, Surya teaches the method as in claim 1,
wherein any given node in the plurality of nodes performs a model learning task using a local dataset that is not shared with other nodes in the plurality of nodes (Surya, Pg. 1 Col. 2 Last Paragraph – “There are two approaches to do distributed deep learning training: data parallelism and model parallelism [5]. In data parallelism, training data is split among worker nodes, thus each worker node gets a small portion of data. Each worker node uses its portion of data to compute all parameters which have been split among ps nodes.” and in Pg. 2 Col. 1 First Paragraph – “In parameter server architecture which uses data parallelism approach, distributed training can be done in two ways: synchronous and asynchronous.” and Fig. 4 – teaches wherein any given node in the plurality of nodes performs a model learning task using a local dataset that is not shared with other nodes in the plurality of nodes (Surya uses parameter-server architecture, which uses data parallelism, and in data parallelism training data is split among worker nodes such that each worker gets a small portion of data to compute parameters, thus performing a model learning task using a local dataset that is not shared with other nodes)).
Claim 18 is similar to claim 8, hence similarly rejected.
Regarding claim 9, Surya teaches the method as in claim 1,
wherein the adjustment to the topology comprises adding an intermediate node to the federated learning system that generates an intermediate model that aggregates models trained by the one or more nodes (Surya, Fig. 5, Table 1, and Pg. 1 Col. 2 Paragraph 3 – “During the training, the model is partitioned among several ps nodes while training data is partitioned among several worker nodes. The role of the ps node is to store the model’s parameters, while the role of worker node is to fetch parameters from ps node, compute new value of those parameters, and update the value stored by ps node.” – teaches wherein the adjustment to the topology comprises adding an intermediate node to the federated learning system (adding ps node to configuration, as in Table 1) that generates an intermediate model that aggregates model trained by the one or more nodes (ps node stores parameter updates generated by the one or more worker nodes, thus aggregating models trained by the one or more nodes)).
Claim 19 is similar to claim 9, hence similarly rejected.
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(s) 2 and 12 is/are rejected under 35 U.S.C. 103 as being unpatentable over Surya in view of Tang et al. (NPL: GossipFL: A Decentralized Federated Learning Framework With Sparsified and Adaptive Communication, date of publication Dec. 2022, hereinafter “Tang”).
Regarding claim 2, Surya teaches the method as in claim 1.
Surya fails to explicitly teach wherein the instructions sent to a particular node of the one or more nodes changes its role from among: a training role, an intermediate aggregation role, or a global aggregation role.
However, analogous to the field of the claimed invention, Tang teaches:
wherein the instructions sent to a particular node of the one or more nodes changes its role from among: a training role, an intermediate aggregation role, or a global aggregation role (Tang, Section 2.3 Paragraph 2 – “The procedure of the randomized gossip algorithm can be formulated as Eq. (2) where Wt .elementOf. W Rnxn is called Random Gossip Matrix.It is a doubly stochastic matrix generated at tth iteration, satisfying 1ntWt = 1tn and Wt1n = 1n, indicating how clients communicate and do average with others and 1n = [1 1...1 1]T .elementOf. Rn. The Wt,i,j > 0 means that client i communicates with client j at iteration t. And E(Wt,i,j) > 0 indicates that client i and client j have a probability of exchanging information at some iterations.” and in Section 3.3 Paragraph 2 – “(W1) Using the same seed from the Coordinator, the client generates the sparsification mask mt (line 5) to obtain a sparsified model... (W2) Each client sends/receives the sparsified model to/from its peer and conducts a weighted average based on the matrix Wt (line 7). (W3) Then, the client com bines the exchanged part of the model with its un exchanged part (decided by :mt =1n - mt) of the model together (line 8). (W4) Each client samples the local data to conduct SGD updates (line 9), in which gt is the learning rate. (W5) Finally, each client sends its bandwidth4 and training information to the Coordinator” – wherein the instructions sent to a particular node of the one or more nodes (clients receive seed and instructions on which other clients to communicate with from Coordinator, as in Section 3.2 Paragraph 2) changes its role from among: a training role, an intermediate aggregation role, or a global aggregation role (clients are randomly selected to exchange information at some iterations, thus instructions received from Coordinator change role of clients from among a training role or an intermediate aggregation role)).
Therefore, it would have been obvious to a person of ordinary skill in the art, before the effective filing date of the claimed invention, to incorporate the sending of instructions that change node roles of Tang to the federated learning system, ps nodes, and worker nodes of Surya in order to change the roles of nodes within the federated learning system. Doing so would reduce the communication traffic on clients and achieves better utilization of the bandwidth resources (Tang, Introduction).
Claim 12 is similar to claim 1, hence similarly rejected.
Claim(s) 10 is/are rejected under 35 U.S.C. 103 as being unpatentable over Surya in view of Cao et al. (NPL: Layered Model Aggregation based Federated Learning in Mobile Edge Networks, published Nov. 2021, hereinafter “Cao”).
Regarding claim 10, Surya teaches the method as in claim 1.
Surya fails to explicitly teach wherein the adjustment to the topology comprises grouping the one or more nodes based on a similarity between their network bandwidths.
However, analogous to the field of the claimed invention, Cao teaches:
wherein the adjustment to the topology comprises grouping the one or more nodes based on a similarity between their network bandwidths (Cao, Pg. 3 Col. 1 Paragraph 5 and Algorithm 2 – “During different rounds of model aggregation layer by layer, the topology of edge nodes in federated learning can be changed according to the CPU usage in each node and network bandwidth usage between them” – teaches wherein the adjustment to the topology comprises grouping the one or more nodes based on a similarity between their network bandwidths (topology of nodes can be changed according to network bandwidth usage between nodes)).
Therefore, it would have been obvious to a person of ordinary skill in the art, before the effective filing date of the claimed invention, to incorporate the grouping of nodes based on a similarity between network bandwidths of Cao to the federated learning system and topology adjustments of Surya. Doing so modifies the topology of the edge nodes based on the real-time bandwidth occupancy of the links between them (Cao, Section 2B) and reduces the uplink bandwidth usage (Cao, Introduction).
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Mahdi et al. (US Pub. No. 2020/0336376, published Oct. 2020) teaches a controller including a network interface for controlling resources in a distributed system. Teaches a network that can assemble an efficient configuration including rerouting around failed nodes, adjusting topology to handle movements of nodes, adjusting edge node positioning, and optimization of topology to utilize network resources. Teaches re-configuring the topology to load-balance cell bandwidth requirements, and additions or removal of edge nodes.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to LOUIS C NYE whose telephone number is 571-272-0636. The examiner can normally be reached Monday - Friday 9:00AM - 5:00PM.
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, MATT ELL can be reached at 571-270-3264. 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.
/LOUIS CHRISTOPHER NYE/Examiner, Art Unit 2141
/MATTHEW ELL/Supervisory Patent Examiner, Art Unit 2141