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 . This action is in response to the instant application filled 10/24/2023. Claims 1-20 are pending and have been examined.
Priority
Receipt is acknowledged of certified copies of papers required by 37 CFR 1.55.
Information Disclosure Statement
The information disclosure statements (IDS) submitted on 12/20/2024 and 11/22/2024 are in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statements are being considered by the examiner.
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 an abstract idea without significantly more.
Regarding claim 1:
Step 1: Claim 1 recites a method which falls into the statutory category of process.
Step 2A Prong 1: Claim 1 recites multiple abstract ideas: aggregating, by the first server, the first model update parameters fed back by the at least one first client, to obtain first aggregation information in a current round of iteration and updating, by the first server based on the first aggregation information and the second aggregation information, the global model stored on the first server, to obtain the updated global model. Given a human being can reasonably aggregate model parameters to obtain aggregated information and update the parameters of a model using information in their mind or with the aid of a generic computer.
Step 2A Prong 2: Claim 1 does not integrate the abstract idea into a practical application since the additional elements of:
performing iterative learning to implement federated learning, is considered mere instructions to apply the abstract idea in an iterative and federated process.
a federated learning system comprising a plurality of servers and a plurality of clients, merely links the abstract idea to a field of use or technological environment.
receiving, by the first server, a request message sent by at least one first client, wherein the request message is used to request a global model stored in the first server, is insignificant extra-solution activity: data gathering.
sending, by the first server, a training configuration parameter and information about the global model to the at least one first client, is insignificant extra-solution activity: data gathering.
receiving, by the first server, first model update parameters separately fed back by the at least one first client, wherein the first model update parameters are parameters of a global model trained by the at least one first client, is insignificant extra-solution activity: data gathering.
obtaining, by the first server, second aggregation information sent by the second server, wherein the second aggregation information is information obtained by the second server by aggregating received second model update parameters in the current round of iteration, is insignificant extra-solution activity: data gathering.
Step 2B: Claim 1 does not include additional elements that are sufficient to amount to significantly more than a judicial exception. As discussed, the additional elements of sending, receiving, and obtaining information or data are considered insignificant extra-solution activity because they are well-understood, routine, conventional activity as evidence by MPEP §2106.05(d)(II)(I). Furthermore, performing iterative training to implement federated learning is consider mere instructions to apply the abstract idea since it only generally recites applying the abstract idea through some iterative process. Finally, the federated system merely links the abstract idea to the field of federated learning and its general structure. Claim 1 is not patent eligible.
Regarding claim 2, the rejection of claim 1 is incorporated, further the claim recites: wherein the plurality of servers comprise a plurality of second servers (continues to merely link the abstract idea to a technological environment), and the obtaining, by the first server, second aggregation information sent by the second server comprises: receiving, by the first server, the second aggregation information separately sent by the plurality of second servers (insignificant extra-solution activity as evidence by MPEP §2106.05(d)(II)(I)); and the updating, by the first server based on the first aggregation information and the second aggregation information, the global model stored on the first server, to obtain the updated global model comprises: updating, by the first server based on the first aggregation information and the second aggregation information that is separately sent by the plurality of second servers, the global model stored on the first server, to obtain the updated global model (mere specifics of the abstract idea of updating the global model). As such, the claim does not have any additional elements that amount to an integration of the judicial exception into a practical application nor to significantly more. Claim 2 is not patent eligible.
Regarding claim 3, the rejection of claim 1 is incorporated, further the claim recites: wherein the first server is a primary node in the federated learning system, the primary node is configured to manage the plurality of servers (continues to merely link the abstract idea to a technological environment), and the obtaining, by the first server, second aggregation information sent by the second server further comprises: sending, by the first server, a first trigger indication to the second server, wherein the first trigger indication indicates the second server to send the second aggregation information to the first server (insignificant extra-solution activity as evidence by MPEP §2106.05(d)(II)(I)); and receiving, by the first server, the second aggregation information from the second server (insignificant extra-solution activity as evidence by MPEP §2106.05(d)(II)(I)). As such, the claim does not have any additional elements that amount to an integration of the judicial exception into a practical application nor to significantly more. Claim 3 is not patent eligible.
Regarding claim 4, the rejection of claim 3 is incorporated, further the claim recites wherein a counter is disposed in the first server, the counter is configured to count a quantity of request messages received by the plurality of servers (a mental process done by a generic computer (server) given a human being can mentally maintain a count of requests received), and the sending, by the first server, a first trigger indication to the second server comprises: when a value of the counter meets a first threshold, sending, by the first server, the first trigger indication to the second server (insignificant extra-solution activity as evidence by MPEP §2106.05(d)(II)(I)). As such, the claim does not have any additional elements that amount to an integration of the judicial exception into a practical application nor to significantly more. Claim 4 is not patent eligible.
Regarding claim 5, the rejection of claim 4 is incorporated, further the claim recites wherein the first threshold is a preset value, or the first threshold is related to a quantity of clients that access the federated learning system in a process of a previous round of iteration. This limitation amounts to more specifics of the insignificant extra-solution activity of sending a first trigger indication. As such, the claim does not have any additional elements that amount to an integration of the judicial exception into a practical application nor to significantly more. Claim 5 is not patent eligible.
Regarding claim 6, the rejection of claim 3 is incorporated, further the claim recites wherein the primary node comprises a timer, the timer starts timing after a first request message is received in each round of iteration (a mental process done by a generic computer (server) given a human being can mentally maintain a timer after receiving a first request message), and the method further comprises: when a value of the timer exceeds a second threshold, sending, by the first server, a second trigger indication to the second server, wherein the second trigger indication indicates the second server to perform a next round of iteration (insignificant extra-solution activity as evidence by MPEP §2106.05(d)(II)(I)). As such, the claim does not have any additional elements that amount to an integration of the judicial exception into a practical application nor to significantly more. Claim 6 is not patent eligible.
Regarding claim 7, the rejection of claim 6 is incorporated, further the claim recites wherein the second threshold is a preset value, the second threshold is related to a quantity of clients that access the federated learning system in a previous round of iteration, or the second threshold is related to a value of a data amount for communication, in the previous round of iteration, between each server in the federated learning system and a corresponding client. This limitation amounts to more specifics of the insignificant extra-solution activity of sending a second trigger indication. As such, the claim does not have any additional elements that amount to an integration of the judicial exception into a practical application nor to significantly more. Claim 7 is not patent eligible.
Regarding claim 8, the rejection of claim 1 is incorporated, further the claim recites wherein the method further comprises: receiving, by the first server, a query message sent by a third client, wherein the third client comprises any client that accesses the federated learning system; and sending, by the first server, information about the updated global model to the third client corresponding to the query message. These limitations amount to insignificant extra-solution activity because they are well-understood, routine, conventional activity as evidence by MPEP §2106.05(d)(II)(I). As such, the claim does not have any additional elements that amount to an integration of the judicial exception into a practical application nor to significantly more. Claim 8 is not patent eligible.
Regarding claim 9, the rejection of claim 1 is incorporated, further the claim recites wherein the method further comprises: sending, by the first server, the first aggregation information to the second server (insignificant extra-solution activity as evidence by MPEP §2106.05(d)(II)(I)), to enable the second server to update, based on the first aggregation information and the second aggregation information, the locally stored global model to obtain the updated global model (a mental process done by a generic computer (server) given a human being can mentally update the parameters of a model). As such, the claim does not have any additional elements that amount to an integration of the judicial exception into a practical application nor to significantly more. Claim 9 is not patent eligible.
Regarding claim 10:
Step 1: Claim 10 recites a method which falls into the statutory category of process.
Step 2A Prong 1: Claim 10 recites an abstract idea: starting, by the primary node, a counter and a timer, wherein the counter is configured to count request messages received by the plurality of servers in the one round of iteration. Given a human being can reasonably maintain a counter or timer mentally or with the aid of a generic computer.
Step 2A Prong 2: Claim 10 does not integrate the abstract idea into a practical application since the additional elements of:
performing iterative learning to implement federated learning, is considered mere instructions to apply the abstract idea in an iterative and federated process.
a federated learning system comprising a plurality of servers and a plurality of clients, merely links the abstract idea to a field of use or technological environment.
when any one of the plurality of servers receives a request message and the request message is used by a client to request to obtain a global model stored in a corresponding server of the plurality of servers, is insignificant extra-solution activity: data gathering.
and if a value of the counter reaches a first threshold, sending, by the primary node, a first trigger indication to each of the plurality of servers, wherein the first trigger indication indicates the plurality of servers to transmit locally stored information to each other, is insignificant extra-solution activity: data gathering.
or if the value of the counter does not reach the first threshold, and a value of the timer reaches a second threshold, sending, by the primary node, a second trigger indication to each server, wherein the second trigger indication indicates each server to perform a next round of iteration, is insignificant extra-solution activity: data gathering.
Step 2B: Claim 10 does not include additional elements that are sufficient to amount to significantly more than a judicial exception. As discussed, the additional elements of sending, receiving, and obtaining information or trigger indications are considered insignificant extra-solution activity because they are well-understood, routine, conventional activity as evidence by MPEP §2106.05(d)(II)(I). Furthermore, performing iterative training to implement federated learning is consider mere instructions to apply the abstract idea since it only generally recites applying the abstract idea through some iterative process. Finally, the federated system merely links the abstract idea to the field of federated learning and its general structure. Claim 10 is not patent eligible.
Regarding claim 11, the rejection of claim 10 is incorporated, further the claim recites wherein the first threshold is a preset value, or the first threshold is related to a quantity of clients that access the federated learning system in a process of a previous round of iteration. This limitation amounts to more specifics of the insignificant extra-solution activity of sending a first trigger indication. As such, the claim does not have any additional elements that amount to an integration of the judicial exception into a practical application nor to significantly more. Claim 11 is not patent eligible.
Regarding claim 12, the rejection of claim 10 is incorporated, further the claim recites wherein the second threshold is a preset value, the second threshold is related to a quantity of clients that access the federated learning system in a previous round of iteration, or the second threshold is related to a value of a data amount for communication, in the previous round of iteration, between each server in the federated learning system and a corresponding client. This limitation amounts to more specifics of the insignificant extra-solution activity of sending a second trigger indication. As such, the claim does not have any additional elements that amount to an integration of the judicial exception into a practical application nor to significantly more. Claim 12 is not patent eligible.
Regarding claim 13:
Step 1: Claim 13 recites a system comprising servers and clients which falls into the statutory category of machine.
Step 2A Prong 1: Claim 13 recites multiple abstract ideas: the first server is configured to aggregate the first model update parameters separately fed back by the at least one first client, to obtain first aggregation information, the second server is configured to…... aggregate the second model update parameters sent by the at least one corresponding second client, to obtain second aggregation information, and the first server is configured to update, based on the first aggregation information and the second aggregation information that is sent by each second server, the global model stored on the first server, to obtain the updated global model. Given a human being can reasonably aggregate model parameters to obtain aggregated information and update the parameters of a model using information in their mind or with the aid of a generic computer.
Step 2A Prong 2: Claim 13 does not integrate the abstract idea into a practical application since the additional elements of:
performing iterative learning to implement federated learning, is considered mere instructions to apply the abstract idea in an iterative and federated process.
a federated learning system comprising a plurality of servers and a plurality of clients, merely links the abstract idea to a field of use or technological environment.
the first server is configured to receive a request message separately sent by at least one first client, is insignificant extra-solution activity: data gathering.
the first server is configured to send, for the request message separately sent by the at least one first client, a training configuration parameter and the information about the global model to the at least one first client, is insignificant extra-solution activity: data gathering.
the first server is configured to receive first model update parameters separately fed back by the at least one first client, wherein the first model update parameters are parameters of the global model obtained through training by the at least one first client, is insignificant extra-solution activity: data gathering.
the second server is configured to: receive second model update parameters sent by at least one corresponding second client, is insignificant extra-solution activity: data gathering.
the first server is configured to receive the second aggregation information sent by each second server, is insignificant extra-solution activity: data gathering.
Step 2B: Claim 13 does not include additional elements that are sufficient to amount to significantly more than a judicial exception. As discussed, the additional elements of sending, receiving, and obtaining information or data are considered insignificant extra-solution activity because they are well-understood, routine, conventional activity as evidence by MPEP §2106.05(d)(II)(I). Furthermore, performing iterative training to implement federated learning is consider mere instructions to apply the abstract idea since it only generally recites applying the abstract idea through some iterative process. Finally, the federated system merely links the abstract idea to the field of federated learning and its general structure. Claim 13 is not patent eligible.
Regarding claim 14, the rejection of claim 13 is incorporated, further the claim recites: wherein there are a plurality of second servers comprised in the plurality of servers (continues to merely link the abstract idea to a technological environment), each of the plurality of second servers is configured to: receive the second model update parameters sent by the at least one corresponding second client (insignificant extra-solution activity as evidence by MPEP §2106.05(d)(II)(I)); and aggregate the second model update parameters sent by the at least one corresponding second client, to obtain the second aggregation information (mere specifics of the abstract idea of aggregating parameters); the first server is configured to receive the second aggregation information separately sent by the plurality of second servers (insignificant extra-solution activity as evidence by MPEP §2106.05(d)(II)(I)); and the first server is configured to update, based on the first aggregation information and the second aggregation information that is separately sent by the plurality of second servers, the global model stored on the first server, to obtain the updated global model (mere specifics of the abstract idea of updating the model). As such, the claim does not have any additional elements that amount to an integration of the judicial exception into a practical application nor to significantly more. Claim 14 is not patent eligible.
Regarding claim 15, the rejection of claim 13 is incorporated, further the claim recites wherein the plurality of servers further comprise a third server used as a primary node, and the primary node is configured to manage the plurality of servers (continues to merely link the abstract idea to a technological environment); the primary node is configured to separately send a first trigger indication to the plurality of servers; and the second server is configured to send the second aggregation information to the first server based on the first trigger indication (insignificant extra-solution activity as evidence by MPEP §2106.05(d)(II)(I)). As such, the claim does not have any additional elements that amount to an integration of the judicial exception into a practical application nor to significantly more. Claim 15 is not patent eligible.
Regarding claim 16, the rejection of claim 15 is incorporated, further the claim recites wherein the primary node comprises a counter, the counter is configured to count a quantity of request messages received by the plurality of servers (a mental process done by a generic computer (server) given a human being can mentally maintain a count of requests received), and the request message is used to request to obtain a global model stored in a corresponding server in the plurality of servers; and the primary node is configured to: when a value of the counter meets a first threshold, send the first trigger indication to each of the plurality of servers, wherein the first trigger indication is used to trigger each second server to send the second aggregation information to the first server (insignificant extra-solution activity: data gathering as evidence by MPEP §2106.05(d)(II)(I)). As such, the claim does not have any additional elements that amount to an integration of the judicial exception into a practical application nor to significantly more. Claim 16 is not patent eligible.
Regarding claim 17, the rejection of claim 15 is incorporated, further the claim recites wherein the primary node further comprises a timer, and the timer starts timing when a first request message is received in a process of each round of iteration (a mental process done by a generic computer (server) given a human being can mentally maintain a timer after receiving a first request message), and the primary node is further configured to: when a value of the timer exceeds a second threshold, send a second trigger indication to each of the plurality of servers, wherein the second trigger indication indicates the plurality of servers to perform a next round of iteration (insignificant extra-solution activity as evidence by MPEP §2106.05(d)(II)(I)). As such, the claim does not have any additional elements that amount to an integration of the judicial exception into a practical application nor to significantly more. Claim 17 is not patent eligible.
Regarding claim 18, the rejection of claim 17 is incorporated, further the claim recites wherein the second threshold is a preset value, the second threshold is related to a quantity of clients that access each server in the federated learning system in a process of a previous round of iteration, or the second threshold is related to a value of a data amount for communication, in a process of a previous round of iteration, between the plurality of servers and the plurality of clients. This limitation amounts to more specifics of the insignificant extra-solution activity of sending a second trigger indication. As such, the claim does not have any additional elements that amount to an integration of the judicial exception into a practical application nor to significantly more. Claim 18 is not patent eligible.
Regarding claim 19, the rejection of claim 13 is incorporated, further the claim recites wherein the first server receives a query message sent by a third client, wherein the third client comprises any client that accesses the federated learning system; and the first server sends information about the updated global model to the third client corresponding to the query message. These limitations amount to insignificant extra-solution activity because they are well-understood, routine, conventional activity as evidence by MPEP §2106.05(d)(II)(I). As such, the claim does not have any additional elements that amount to an integration of the judicial exception into a practical application nor to significantly more. Claim 19 is not patent eligible.
Regarding claim 20, the rejection of claim 13 is incorporated, further the claim recites wherein the first server is further configured to send the first aggregation information to the second server (insignificant extra-solution activity as evidence by MPEP §2106.05(d)(II)(I)), and the second server is configured to update the locally stored global model based on the first aggregation information and the second aggregation information, to obtain the updated global model (a mental process done by a generic computer (server) given a human being can mentally update the parameters of a model). As such, the claim does not have any additional elements that amount to an integration of the judicial exception into a practical application nor to significantly more. Claim 20 is not patent eligible.
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,2,8,9,13,14,19,20 are rejected under 35 U.S.C. 102(a)(1) as being anticipated by Zhang (CN112070240A).
Regarding claim 1, Zhang teaches A federated learning method, comprising: performing iterative learning to implement federated learning applied to a federated learning system, wherein the federated learning system comprises a plurality of servers and a plurality of clients, the plurality of servers comprise a first server and a second server, and the plurality of servers are configured to perform the iterative learning to implement the federated learning (Abs, The invention discloses a layered federal learning framework for high-efficiency communication and an optimization method and a system thereof, wherein the framework comprises the following components: a cloud aggregator, a plurality of edge aggregators, and a plurality of distributed computing nodes; in each round…., first server is the cloud aggregator and the second server is the edge aggregator, each round implies iteration); and wherein a process of any one round of iteration in the iterative learning comprises: receiving, by the first server, a request message sent by at least one first client, wherein the request message is used to request a global model stored in the first server; sending, by the first server, a training configuration parameter and information about the global model to the at least one first client (Abs, in each round of cloud aggregation iteration, the edge aggregator downloads a global learning model from the cloud aggregator, each distributed computing node downloads the global learning model from the associated edge aggregator, Pg 6, a plurality of edge aggregators, each edge aggregator being associated with more than two distributed computing nodes, an arbitrary computing node (first client) downloads the global model (which contains model information and configuration parameters (like weights)) from its edge aggregator (second server) which receives it from the cloud aggregator (first server), the client initiates the download which is analogous to a request and successfully receives the global model from the cloud aggregator (first server) by way of the edge aggregator (second server)); receiving, by the first server, first model update parameters separately fed back by the at least one first client, wherein the first model update parameters are parameters of a global model trained by the at least one first client (Abs, and the training model updates are uploaded to the associated edge aggregator; the edge aggregator aggregates the received model updates and aggregates the model updates and sends the model updates back to the associated computing nodes, and after multiple edge aggregation iterations, the edge model updates are uploaded to the cloud aggregator); aggregating, by the first server, the first model update parameters fed back by the at least one first client, to obtain first aggregation information in a current round of iteration (Abs, the cloud aggregator aggregates the edge models to obtain a global model update, the training model updates sent to the edge aggregator from the first computing node (first client) are the first model updates which are eventually aggregated by the cloud aggregator (first server) as the first aggregation information); obtaining, by the first server, second aggregation information sent by the second server, wherein the second aggregation information is information obtained by the second server by aggregating received second model update parameters in the current round of iteration (Abs, the cloud aggregator aggregates the edge models to obtain a global model update, Claim 1, each edge aggregator being associated with more than two distributed computing nodes, The remaining clients upload to their respective edge aggregators (second servers) which aggregate the model updates, creating second aggregation information); and updating, by the first server based on the first aggregation information and the second aggregation information, the global model stored on the first server, to obtain the updated global model (Pg 12, the cloud aggregator aggregates the edge models from the edge aggregators to obtain a global model).
Regarding claim 2, Zhang teaches wherein the plurality of servers comprise a plurality of second servers, and the obtaining, by the first server, second aggregation information sent by the second server comprises: receiving, by the first server, the second aggregation information separately sent by the plurality of second servers (Abs, and the training model updates are uploaded to the associated edge aggregator; the edge aggregator aggregates the received model updates and aggregates the model updates and sends the model updates back to the associated computing nodes, and after multiple edge aggregation iterations, the edge model updates are uploaded to the cloud aggregator, first server (cloud aggregator) receives the second aggregation information (model updates) from the edge aggregators (second servers)); and the updating, by the first server based on the first aggregation information and the second aggregation information, the global model stored on the first server, to obtain the updated global model comprises: updating, by the first server based on the first aggregation information and the second aggregation information that is separately sent by the plurality of second servers, the global model stored on the first server, to obtain the updated global model (Pg 12, the cloud aggregator aggregates the edge models from the edge aggregators to obtain a global model, the edge models are the first (only from the first client) and second aggregation information (from remaining clients)).
Regarding claim 8, Zhang teaches wherein the method further comprises: receiving, by the first server, a query message sent by a third client, wherein the third client comprises any client that accesses the federated learning system; and sending, by the first server, information about the updated global model to the third client corresponding to the query message (Abs, in each round of cloud aggregation iteration, the edge aggregator downloads a global learning model from the cloud aggregator, each distributed computing node downloads the global learning model from the associated edge aggregator……..the cloud aggregator aggregates the edge models to obtain a global model update sends the global model update to all the edge aggregators, the third client (one of the computing nodes not considered the first client) downloads the global model from the edge aggregator (second server), which is an updated global model after the first round, which receives it from the cloud aggregator (first server); the client initiates the download which is analogous to a query message and successfully receives the updated global model from the cloud aggregator (first server) by way of the edge aggregator).
Regarding claim 9, Zhang teaches wherein the method further comprises: sending, by the first server, the first aggregation information to the second server, to enable the second server to update, based on the first aggregation information and the second aggregation information, the locally stored global model to obtain the updated global model (Abs, the edge aggregator downloads a global learning model from the cloud aggregator, each distributed computing node downloads the global learning model from the associated edge aggregator…..the cloud aggregator aggregates the edge models to obtain a global model update and sends the global model update to all the edge aggregators; and repeating the edge aggregation and the cloud aggregation iteration, the first aggregation information is part of the aggregation information used to update the global model by the cloud aggregator (first server). The update (containing first and second aggregation information) is then sent to the edge aggregators (second servers) which send it to the computing nodes to update the local models on the next round).
Regarding claim 13, Zhang teaches A federated learning system, comprising a plurality of servers and a plurality of clients, wherein the plurality of servers comprise a first server and a second server, both the first server and the second server store information about a global model, the plurality of servers are configured to perform iterative learning to implement federated learning (Abs, The invention discloses a layered federal learning framework for high-efficiency communication and an optimization method and a system thereof, wherein the framework comprises the following components: a cloud aggregator, a plurality of edge aggregators, and a plurality of distributed computing nodes; in each round…., first server is the edge aggregator associated with a first client/ computing node and the second server is another/the other edge aggregators associated with other nodes, each round implies iteration); and in a process of any one round of iteration in the iterative learning: the first server is configured to receive a request message separately sent by at least one first client; the first server is configured to send, for the request message separately sent by the at least one first client, a training configuration parameter and the information about the global model to the at least one first client (Abs, in each round of cloud aggregation iteration, the edge aggregator downloads a global learning model from the cloud aggregator, each distributed computing node downloads the global learning model from the associated edge aggregator, the first client downloads the global model (information and model parameters like weights) from the first edge aggregator, the client initiates the download which is analogous to a request and successfully does so meaning the edge aggregator (first server) sent the global model over); the first server is configured to receive first model update parameters separately fed back by the at least one first client, wherein the first model update parameters are parameters of the global model obtained through training by the at least one first client; the first server is configured to aggregate the first model update parameters separately fed back by the at least one first client, to obtain first aggregation information iteration (Pg 11, the edge aggregator aggregates the received model updates from the associated more than two distributed computing nodes and aggregates the model updates, the training model updates sent to the first edge aggregator from the first computing nodes (first client) are the first model updates which are eventually aggregated by the first edge aggregator (first server) as the first aggregation information); the second server is configured to: receive second model update parameters sent by at least one corresponding second client, and aggregate the second model update parameters sent by the at least one corresponding second client, to obtain second aggregation information (Abs, each distributed computing node downloads the global learning model from the associated edge aggregator, and the training model updates are uploaded to the associated edge aggregator; the edge aggregator aggregates the received model updates and aggregates the model updates, the edge aggregators not connected to the first client are the second servers and also aggregate model parameters from their own computing nodes (second client)); the first server is configured to receive the second aggregation information sent by each second server; and the first server is configured to update, based on the first aggregation information and the second aggregation information that is sent by each second server, the global model stored on the first server, to obtain the updated global model (Pg 6, updating and uploading the edge model to the cloud aggregator; the cloud aggregator aggregates the edge models from the edge aggregators to obtain a global model, and sends the global model update back to all the edge aggregators to perform the next round of cloud aggregation iteration, the edge models from all edge aggregators is the first and second aggregation information which is sent to all edge aggregators, first and second servers).
Regarding claim 14, Zhang teaches wherein there are a plurality of second servers comprised in the plurality of servers; each of the plurality of second servers is configured to: receive the second model update parameters sent by the at least one corresponding second client, and aggregate the second model update parameters sent by the at least one corresponding second client, to obtain the second aggregation information (Abs, each distributed computing node downloads the global learning model from the associated edge aggregator, and the training model updates are uploaded to the associated edge aggregator; the edge aggregator aggregates the received model updates and aggregates the model updates, the edge aggregators not connected to the first client are the second servers and also aggregate model parameters from their own computing nodes (second client)); the first server is configured to receive the second aggregation information separately sent by the plurality of second servers; and the first server is configured to update, based on the first aggregation information and the second aggregation information that is separately sent by the plurality of second servers, the global model stored on the first server, to obtain the updated global model (Pg 6, updating and uploading the edge model to the cloud aggregator; the cloud aggregator aggregates the edge models from the edge aggregators to obtain a global model, and sends the global model update back to all the edge aggregators to perform the next round of cloud aggregation iteration, the edge models from all edge aggregators is the first and second aggregation information which is sent to all edge aggregators, first and second servers).
Regarding claim 19, Zhang teaches wherein the first server receives a query message sent by a third client, wherein the third client comprises any client that accesses the federated learning system; and the first server sends information about the updated global model to the third client corresponding to the query message (Abs, in each round of cloud aggregation iteration, the edge aggregator downloads a global learning model from the cloud aggregator, each distributed computing node downloads the global learning model from the associated edge aggregator……..the cloud aggregator aggregates the edge models to obtain a global model update sends the global model update to all the edge aggregators, Pg 6, each edge aggregator being associated with more than two distributed computing nodes, the third client (one of the computing nodes not considered the first client) downloads the global model from the first edge aggregator (first server), which is an updated global model after the first round; the client initiates the download which is analogous to a query message and successfully receives the updated global model from the first edge aggregator (first server)).
Regarding claim 20, Zhang teaches wherein the first server is further configured to send the first aggregation information to the second server; and the second server is configured to update the locally stored global model based on the first aggregation information and the second aggregation information, to obtain the updated global model (Pg 6, updating and uploading the edge model to the cloud aggregator; the cloud aggregator aggregates the edge models from the edge aggregators to obtain a global model, and sends the global model update back to all the edge aggregators to perform the next round of cloud aggregation iteration, the edge models from all edge aggregators is the first and second aggregation information which is sent to all edge aggregators, first and second servers).
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.
The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claim(s) 3-7, 10-12, 15-18 are rejected under 35 U.S.C. 103 as being unpatentable over Zhang (CN112070240A) as applied to claim 1 above, and further in view of Bonawitz (TOWARDS FEDERATED LEARNING AT SCALE: SYSTEM DESIGN).
Regarding claim 3, Zhang teaches the method of claim 1 as show above, and teaches wherein the first server is a primary node in the federated learning system, the primary node is configured to manage the plurality of servers (Abs, the cloud aggregator aggregates the edge models to obtain a global model update and sends the global model update to all the edge aggregators, the cloud aggregator is the first server and the center of the system and as such the primary node) but fails to teach: and the obtaining, by the first server, second aggregation information sent by the second server further comprises: sending, by the first server, a first trigger indication to the second server, wherein the first trigger indication indicates the second server to send the second aggregation information to the first server; and receiving, by the first server, the second aggregation information from the second server.
Bonawitz teaches and the obtaining, by the first server, second aggregation information sent by the second server further comprises: sending, by the first server, a first trigger indication to the second server, wherein the first trigger indication indicates the second server to send the second aggregation information to the first server; and receiving, by the first server, the second aggregation information from the second server (Section 2.2, The server selects a subset of connected devices based on certain goals like the optimal number of participating devices (typically a few hundred devices participate in each round). If a device is not selected for participation, the server responds with instructions to reconnect at a later point in time, Figure 1, Devices check-in with the FL server, rejected ones are told to come back later, the FL server selects a certain number of devices and communicates over the network to let the devices know whether or not they have been selected to continue, this communication is the first trigger indication which eventually leads to training and aggregation).
Zhang and Bonawitz are analogous to the claimed invention because they are in the field of federated learning. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have used the selection process in Bonawitz alongside the federated system in Zhang, where the devices are replaced by clients and the edge aggregators and cloud aggregator replace the FL server, to “address numerous practical issues: unreliable device connectivity and limited device storage and computer resources” (Bonawitz Section 1). This rationale is used for the remaining rejection of claims 4-7, 10-12, and 15-18.
Regarding claim 4, Zhang and Bonawitz teach the method of claim 3, Bonawitz teaches, which Zhang is silent on, wherein a counter is disposed in the first server, the counter is configured to count a quantity of request messages received by the plurality of servers, and the sending, by the first server, a first trigger indication to the second server comprises: when a value of the counter meets a first threshold, sending, by the first server, the first trigger indication to the second server (Section 2.2, The server selects a subset of connected devices based on certain goals like the optimal number of participating devices (typically a few hundred devices participate in each round). If a device is not selected for participation, the server responds with instructions to reconnect at a later point in time…. For example, for the selection phase the server considers a device participant goal count…...The selection phase lasts until the goal count is reached, Figure 1, Devices check-in with the FL server, rejected ones are told to come back later, goal count implies a counter and the selection process continues until the count is reached after which the device is alerted and the process moves onto the next step involving training and aggregation).
Regarding claim 5, Zhang and Bonawitz teach the method of claim 4, Bonawitz teaches, which Zhang is silent on, wherein the first threshold is a preset value, or the first threshold is related to a quantity of clients that access the federated learning system in a process of a previous round of iteration (Section 2.2, The server selects a subset of connected devices based on certain goals like the optimal number of participating devices, the goal count is a preset value based on the optimal quantity of devices/clients).
Regarding claim 6, Zhang and Bonawitz teach the method of claim 3, Bonawitz teaches, which Zhang is silent on, wherein the primary node comprises a timer, the timer staffs timing after a first request message is received in each round of iteration, and the method further comprises: when a value of the timer exceeds a second threshold, sending, by the first server, a second trigger indication to the second server, wherein the second trigger indication indicates the second server to perform a next round of iteration (Section 2.2, For example, for the selection phase the server considers a device participant goal count, a timeout, and a minimal percentage of the goal count which is required to run the round. The selection phase lasts until the goal count is reached or a timeout occurs; in the latter case, the round will be started or abandoned depending on whether the minimal goal count has been reached, timeout implies a timer that starts at the selection phase and once the timer exceeds the preselected time the FL server starts the round or abandons it).
Regarding claim 7, Zhang and Bonawitz teach the method of claim 6, Bonawitz teaches, which Zhang is silent on, wherein the second threshold is a preset value, the second threshold is related to a quantity of clients that access the federated learning system in a previous round of iteration, or the second threshold is related to a value of a data amount for communication, in the previous round of iteration, between each server in the federated learning system and a corresponding client (Section 2.2, The selection phase lasts until the goal count is reached or a timeout occurs; in the latter case, the round will be started or abandoned depending on whether the minimal goal count has been reached, the second threshold (if the timeout occurs) depends on the quantity of clients selected (whether the goal count was reached)).
Regarding claim 10, Zhang teaches a federated learning method, comprising: performing iterative learning to implement federated learning applied to a federated learning system and a plurality of clients, wherein the federated learning system comprises a plurality of servers, one of the plurality of servers is used as a primary node, and the plurality of servers are configured to perform the iterative learning to implement the federated learning, wherein a process of any one round of iteration in the iterative learning comprises: when any one of the plurality of servers receives a request message, and the request message is used by a client to request to obtain a global model stored in a corresponding server of the plurality of servers (Abs, The invention discloses a layered federal learning framework for high-efficiency communication and an optimization method and a system thereof, wherein the framework comprises the following components: a cloud aggregator, a plurality of edge aggregators, and a plurality of distributed computing nodes; in each round of cloud aggregation iteration, the edge aggregator downloads a global learning model from the cloud aggregator, each distributed computing node downloads the global learning model from the associated edge aggregator, and the training model updates are uploaded to the associated edge aggregator, the cloud aggregator Is the primary node, the downloading of the global model by the computing node(client) is analogous to the request).
Bonawitz teaches, which Zhang is silent on, starting, by the primary node, a counter and a timer, wherein the counter is configured to count request messages received by the plurality of servers in the one round of iteration and if a value of the counter reaches a first threshold, sending, by the primary node, a first trigger indication to each of the plurality of servers, wherein the first trigger indication indicates the plurality of servers to transmit locally stored information to each other; or if the value of the counter does not reach the first threshold, and a value of the timer reaches a second threshold, sending, by the primary node, a second trigger indication to each server, wherein the second trigger indication indicates each server to perform a next round of iteration (Section 2.2, For example, for the selection phase the server considers a device participant goal count, a timeout, and a minimal percentage of the goal count which is required to run the round. The selection phase lasts until the goal count is reached or a timeout occurs; in the latter case, the round will be started or abandoned depending on whether the minimal goal count has been reached, counter tracks the number of devices/clients selected/connected if the goal count is reached the FL server starts the training which involves sending information from one server to another as shown in figure 1. If the goal count isn’t reached a timeout occurs which is a second trigger indication to start or abandon a round).
Regarding claim 11, Zhang and Bonawitz teach the method of claim 10, Bonawitz teaches, which Zhang is silent on, wherein the first threshold is a preset value, or the first threshold is related to a quantity of clients that access the federated learning system in a process of a previous round of iteration (Section 2.2, The server selects a subset of connected devices based on certain goals like the optimal number of participating devices, the goal count is a preset value based on the optimal quantity of devices/clients).
Regarding claim 12, Zhang and Bonawitz teach the method of claim 10, Bonawitz teaches, which Zhang is silent on, wherein the second threshold is a preset value, the second threshold is related to a quantity of clients that access the federated learning system in a previous round of iteration, or the second threshold is related to a value of a data amount for communication, in the previous round of iteration, between each server in the federated learning system and a corresponding client (Section 2.2, The selection phase lasts until the goal count is reached or a timeout occurs; in the latter case, the round will be started or abandoned depending on whether the minimal goal count has been reached, the second threshold (if the timeout occurs) depends on the quantity of clients selected (whether the goal count was reached)).
Regarding claim 15, Zhang teaches the system of claim 13 and teaches wherein the plurality of servers further comprise a third server used as a primary node, and the primary node is configured to manage the plurality of servers (Abs, the cloud aggregator aggregates the edge models to obtain a global model update and sends the global model update to all the edge aggregators, the edge aggregators make up the first and second servers while the cloud aggregator is the third server and primary node) but fails the primary node is configured to separately send a first trigger indication to the plurality of servers; and the second server is configured to send the second aggregation information to the first server based on the first trigger indication.
Bonawitz teaches the primary node is configured to separately send a first trigger indication to the plurality of servers; and the second server is configured to send the second aggregation information to the first server based on the first trigger indication (Section 2.2, The server selects a subset of connected devices based on certain goals like the optimal number of participating devices (typically a few hundred devices participate in each round). If a device is not selected for participation, the server responds with instructions to reconnect at a later point in time, Figure 1, Devices check-in with the FL server, rejected ones are told to come back later, the FL server selects a certain number of devices and communicates over the network to let the devices know whether or not they have been selected to continue, this communication is the first trigger indication which eventually leads to training and aggregation and the sharing of information between the first edge aggregator (first server) and the remaining edge aggregators (second server)).
Regarding claim 16, Zhang and Bonawitz teach the system of claim 15, Bonawitz teaches, which Zhang is silent on, wherein the primary node comprises a counter, the counter is configured to count a quantity of request messages received by the plurality of servers, and the request message is used to request to obtain a global model stored in a corresponding server in the plurality of servers; and the primary node is configured to: when a value of the counter meets a first threshold, send the first trigger indication to each of the plurality of servers, wherein the first trigger indication is used to trigger each second server to send the second aggregation information to the first server (Section 2.2, The server selects a subset of connected devices based on certain goals like the optimal number of participating devices (typically a few hundred devices participate in each round). If a device is not selected for participation, the server responds with instructions to reconnect at a later point in time…. For example, for the selection phase the server considers a device participant goal count…...The selection phase lasts until the goal count is reached, Figure 1, Devices check-in with the FL server, rejected ones are told to come back later, goal count implies a counter and the selection process continues until the count is reached after which the device is alerted and the process moves onto the next step involving training and aggregation).
Regarding claim 17, Zhang and Bonawitz teach the system of claim 15, Bonawitz teaches, which Zhang is silent on, wherein the primary node further comprises a timer, and the timer starts timing when a first request message is received in a process of each round of iteration; and the primary node is further configured to: when a value of the timer exceeds a second threshold, send a second trigger indication to each of the plurality of servers, wherein the second trigger indication indicates the plurality of servers to perform a next round of iteration (Section 2.2, For example, for the selection phase the server considers a device participant goal count, a timeout, and a minimal percentage of the goal count which is required to run the round. The selection phase lasts until the goal count is reached or a timeout occurs; in the latter case, the round will be started or abandoned depending on whether the minimal goal count has been reached, timeout implies a timer that starts at the selection phase and once the timer exceeds the preselected time the FL server starts the round or abandons it).
Regarding claim 18, Zhang and Bonawitz teach the system of claim 17, Bonawitz teaches, which Zhang is silent on, wherein the second threshold is a preset value, the second threshold is related to a quantity of clients that access each server in the federated learning system in a process of a previous round of iteration, or the second threshold is related to a value of a data amount for communication, in a process of a previous round of iteration, between the plurality of servers and the plurality of clients (Section 2.2, The selection phase lasts until the goal count is reached or a timeout occurs; in the latter case, the round will be started or abandoned depending on whether the minimal goal count has been reached, the second threshold (if the timeout occurs) depends on the quantity of clients selected (whether the goal count was reached)).
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to NATNAEL A ASEGDEW whose telephone number is (571)270-0407. The examiner can normally be reached 7:30-5.
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, Kakali Chaki can be reached at (571) 272-3719. 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.
/NATNAEL A ASEGDEW/ Examiner, Art Unit 2122
/KAKALI CHAKI/ Supervisory Patent Examiner, Art Unit 2122