Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 1-9 are rejected under 35 U.S.C. 103 as being unpatentable over Tsuchida et.al (US 20240070469 A1) in view of Wang et.al (NPL: Automatically Setting Parameter-Exchanging Interval for Deep Learning).
Regarding claim 1,
Tsuchida teaches or at least suggests the limitation “A secure global model computation device in a federated learning system including M local model learning devices for learning local models using training data and a secure global model computation system composed of N secure global model computation devices for performing secure computation of a global model from M local models, wherein M is an integer of 2 or more and N is an integer of 3 or more, the secure global model computation device comprising” (paragraph 143 “As illustrated in FIG. 14, a federated learning system 500 according to the fifth example embodiment includes first to Nth federated learning client apparatuses 510_i (i=0, 1, . . . , N−1) and first to Nth federated learning server apparatuses 520_i (i=0, 1, . . . , N−1). The first to Nth federated learning client apparatuses 510_i (i=0, 1, . . . , N−1) and the first to Nth federated learning server apparatuses 520_i (i=0, 1, . . . , N−1) are connected to each other via a network such that these apparatuses can communicate with each other. N is a natural number of 3 or more”, paragraph 147 “The model storage part 501_i of each of the first to Nth federated learning client apparatuses 510_i (i=0, 1, . . . , N−1) is a storage device for replicating and storing a shared model, which is the target of the federated learning, as a local model. In addition, the local training part 502_i is a processing part for training the local model by using data held by the individual one of the first to Nth federated learning client apparatuses”, paragraph 148 “The secret sharing part 503_i of each of the first to Nth federated learning client apparatuses 510_i (i=0, 1, . . . , N−1) is a processing part for decomposing a local update parameter indicating the training result of the local model to shares based on an additive secret sharing scheme and for transmitting the shares to the first to Nth federated learning server apparatuses 520_i (i=0, 1, . . . , N−1)”, and paragraph 153 “The aggregation and secure computation part 504_i of each of the first to Nth federated learning server apparatuses 520_i (i=0, 1, . . . , N−1) performs a secure computation for shares of a global update parameter by performing addition of the shares of the local update parameters”. Tsuchida discloses a federated learning system including a plurality of federated learning client apparatuses and a plurality of federated learning server apparatuses connected through a network. Each federated learning client apparatus stores and trains a local model using training data, decomposes a local update parameter indicating a training result of the local model into shares, and transmits the shares to the federated learning server apparatuses. The federated learning server apparatuses perform secure computation using the received shares to generate shares of a global update parameter. Tsuchida’s federated learning client apparatuses correspond to the local model learning devices because each client apparatus trains a local model using its respective training data, and Tsuchida’s federated learning server apparatuses correspond to the secure global model computation devices because the server apparatuses receive shares of the local update parameters and perform secure computation on the received shares to obtain shares of a global update parameter.)
Tsuchida teaches or at least suggests the limitation “a transmission/reception circuitry configured to receive shares of parameters of a local model learned by the local model learning device” (paragraph 148 “The secret sharing part 503_i of each of the first to Nth federated learning client apparatuses 510_i (i=0, 1, . . . , N−1) is a processing part for decomposing a local update parameter indicating the training result of the local model to shares based on an additive secret sharing scheme and for transmitting the shares to the first to Nth federated learning server apparatuses 520_i (i=0, 1, . . . , N−1)”, and paragraph 195 “As illustrated in FIG. 22, a hardware configuration 10 that can be adopted by any one of the federated learning apparatuses … includes, for example, a CPU (Central Processing Unit) 11, a main storage device 12, an auxiliary storage device 13, and an IF (Interface) part 14, which are connected to each other via an internal bus.” Tsuchida discloses that a secret sharing part of each federated learning client apparatus decomposes a local update parameter indicating the training result of the local model into shares and transmits the shares to the federated learning server apparatuses, and that each federated learning apparatus includes an interface part for communication. This process corresponds to receiving shares of parameters of a learned local model because the transmitted shares are generated from the local update parameter resulting from training the local model. Tsuchida’s hardware configuration within the federated learning apparatuses corresponds to the claimed transmission/reception circuitry, because the hardware configuration provides the circuitry such as an interface through which the server apparatus receives the transmitted parameter shares.)
Tsuchida teaches or at least suggests the limitation “a parameter share registration circuitry configured to register the shares of the parameters of the local model” (paragraph 151 “the first stop-type fraud detection part 506_i requests other t federated learning server apparatuses 520_i, which are supposed to hold replications of the same sub-shares as its own sub-shares, to transmit the shares of their local update parameters. If the shares of the local update parameters transmitted in response to the request do not match, the first stop-type fraud detection part 506_i determines that there is a dishonest participant and stops the processing”, and paragraph 152 “if the shares of the local update parameters transmitted in response to the request match, the first stop-type fraud detection part 506_i continues the processing and adopts the shares as the accurate shares of the local update parameters.” Tsuchida discloses that a fraud detection part of a federated learning server apparatus obtains corresponding shares of local update parameters from other federated learning server apparatuses, compares the shares, and, when the shares match, adopts the shares as accurate shares of the local update parameters and continues processing. This process teaches or at least suggests the process of registering the parameter shares because the verified shares are accepted and adopted as the operative shares for subsequent processing. Tsuchida’s hardware configuration implementing the fraud detection part corresponds to the claimed parameter share registration circuitry, because the federated learning server apparatus may comprise a processor to perform the process of verifying and adopting the parameter shares as the accurate shares to be used thereafter.)
Tsuchida teaches the M local model learning devices, and N secure global model computation devices (above), but does not teach checking whether the N secure global model computation devices have processing vacancy, and entering a reception waiting state within the limitation “a processing vacancy checking circuitry configured to check whether or not the N secure global model computation devices have processing vacancy when a processing vacancy check request transmitted by one of the M local model learning devices is received and to transmit a local model transmission instruction to the local model learning device and enter a reception waiting state when all of the N secure global model computation devices have processing vacancy”. However, Tsuchida in view of Wang teaches or at least suggests these features (page 4 section 2.2 “The queuing time dominates the time of message pushing to/pulling from the master node. According to the queuing theory [18], the key to reducing queuing time is to shorten the length of the queue. Thus, we use the queue length to answer the question of whether the master is idle or not. Specifically, with the awareness that the network bandwidth is a bottleneck in our system, we use the queue length of received packages to represent the load of the master node. … Algorithm 2 shows how the master node reacts to the request from QUERYCOMPUTINGRESOURCESFROM MASTER() in Algorithm 1. Note that Line 3 highly depends on the master’s bottleneck. For example, we use the length of received packages’ queue as the master’s load, whereas other systems may use CPU or memory usage to represent availability.” Wang discloses sending a resource query to a receiving master, determining whether the master is busy or idle, and indicating that status before the subsequent parameter push/pull operation. Wang’s resource query corresponds to the claimed processing vacancy check request, Wang’s idle or busy status corresponds to checking processing vacancy, and Wang’s idle state, in which the master has available processing resources and waiting to receive subsequent parameter transmission from the slaves teaches or at least suggests the claimed reception waiting state. Furthermore, in view of Tsuchida’s N server apparatuses, a person of ordinary skill in the art would have applied Wang’s availability check to each of Tsuchida N server apparatuses because Tsuchida requires the first through Nth server apparatuses to receive and process the respective decomposed shares of the local update parameter for the secure global model computation. Thus, the combination teaches or at least suggests the claimed processing vacancy check request, local model transmission to global model devices and reception waiting state.)
Before the effective filing date, it would have been obvious to a person of ordinary skill in the art to combine the teaching of federated learning system with multiple federated learning client apparatuses communicating with multiple federated learning server apparatuses to transmit shares of model parameter for global aggregation by Tsuchida with the teaching of evaluation of resources availability and receiving awareness before pushing/pulling parameter between master and slave nodes by Wang. The motivation to do so is referred to in Wang’s disclosure (page 1 section 1 “A typical parameter-server framework consists of one master node and several slave nodes. The master node acts as a parameter server to maintain global shared parameters, and all of the parameters (or the deep learning model) ... Unfortunately, exchanging parameters between master and slaves remains a bottleneck. It may require frequent exchange of parameters with large amounts of data, which is in proportion to the size of the entire neural network. It may consume days to months, which is usually unacceptable for applications nowadays”, and page 4 section 2.2 “Owing to the limited resources, such as computation power, memory and network bandwidth, the master node requires a queue for received packages. The slave has to wait during the queuing time. Unfortunately, queuing time increases dramatically with the increased number of slave nodes. Therefore, the queuing process is a bottleneck in the parameter-server framework. The queuing time dominates the time of message pushing to/pulling from the master node ... Thus, we use the queue length to answer the question of whether the master is idle or not. Specifically, with the awareness that the network bandwidth is a bottleneck in our system” Wang discloses a distributed deep learning parameter server framework in which multiple slave nodes exchange model parameters with a master node that maintain shared global parameters, which closely parallels the distributed parameter exchange performed in federated learning. Wang further teaches that such parameter exchange may become a bottleneck because of limited computation power, memory, network bandwidth, and queuing at the receiving master, and therefore evaluates the master’s resource availability before parameter exchange. In view of the similarity between Wang’s distributed parameter exchange learning and Tsuchida’s federated learning architecture, a person of ordinary skill in the art would have been able to combine Wang’s resource availability checking teaching into Tsuchida’s federated learning system/apparatuses, so that the required servers are available before receiving and processing their respective parameter shares, thereby reducing queuing delay and parameter exchange bottlenecks and improving the efficiency of the source global model computation.)
Regarding claim 2, the claim is rejected under the same rationale as claim 1. Applicant is directed to the rejection of claim 1 above because the claim recites similar limitation and processing steps.
Regarding claim 3, the claim is rejected under the same rationale as claim 1. Applicant is directed to the rejection of claim 1 above because the claim recites similar limitation and processing steps.
Regarding claim 4,
Tsuchida in view of Wang teaches or at least suggest “wherein a secure global model computation device different from the secure global model computation device itself, which discloses the fact the N secure global model computation devices are in a local model reception waiting state when all of the N secure global model computation devices have processing vacancy, is set as a master secure global model computation device” (paragraph 162 “In the first stop-type fraud detection step (S54), each of the first to Nth federated learning server apparatuses 520_i (i=0, 1, . . . , N−1) requests the other federated learning server apparatuses to transmit the shares of their local update parameters.” Tsuchida discloses the communication in-between the federal learning server apparatuses wherein any of the server apparatuses can request information from others. Wang discloses at page 4 section 2.2 “we use the queue length to answer the question of whether the master is idle or not. Specifically, with the awareness that the network bandwidth is a bottleneck in our system ... Algorithm 2 shows how the master node reacts to the request from QUERYCOMPUTINGRESOURCESFROM MASTER() in Algorithm 1. ”, in which Wang discloses a query to obtain computing resource availability to determine if the master node has enough resources availability to exchange the parameters. In view of the combination, a person of ordinary skill in the art would have modified Tsuchida to apply Wang’s busy or idle resource availability query to the communication between Tsuchida’s N federated learning server apparatuses, such that any one of the N server apparatuses may be selected to send the query to the remaining server apparatuses and receive their respective availability responses before performing parameter exchange. Because Tsuchida permits any of its N server apparatuses to perform the requesting function, and Wang teaches checking resource availability before parameter exchange, a person of ordinary skill in the art would have found it obvious to assign one selected server apparatus to perform that requesting function with respect to the remaining server apparatuses in order to determine whether the other apparatuses have sufficient resource availability. Accordingly, designating the selected server apparatus to send the availability requests to the remaining server apparatuses and receive their responses teaches or at least suggests that the selected server apparatus as corresponding to the claimed master secure global model computation device.)
Claim 4 is further rejected under the same rationale as claim 1. Applicant is directed to the rejection of claim 1 above because the claim recites similar limitation and processing steps.
Regarding claim 5, the claim is rejected under the same rationale as claim 1. Applicant is directed to the rejection of claim 1 above because the claim recites similar limitation and processing steps.
Regarding claim 6, the claim is rejected under the same rationale as claim 1 and 4. Applicant is directed to the rejection of claim 1 and 4 above because the claim recites similar limitation and processing steps.
Regarding claim 7, which depends on claim 1, thus the rejection of claim 1 is incorporated.
Tsuchida teaches “A non-transitory computer-readable storage medium which stores a program for causing a computer to function as the secure global model computation device according to claim 1” (paragraph 197 “These various kinds of programs such as the secure computation program can be recorded in a non-transitory computer-readable storage medium and can be provided as a program product.” Tsuchida discloses the secure computation program can be recorded in a non-transitory computer-readable storage medium and can be provided as a program product, which teaches the claimed non-transitory computer-readable storage medium for the secure global model computation device.)
Regarding claim 8, which depends on claim 3, thus the rejection of claim 3 is incorporated. Applicant is directed to the rejection of claim 7 above because the claim recites similar limitation and processing steps.
Regarding claim 9, which depends on claim 4, thus the rejection of claim 4 is incorporated.
Applicant is directed to the rejection of claim 7 above because the claim recites similar limitation and processing steps.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to DUY TU DIEP whose telephone number is (703)756-1738. The examiner can normally be reached M-F 8-4:30.
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, Alexey Shmatov can be reached at (571) 270-3428. 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.
/DUY T DIEP/Examiner, Art Unit 2123
/ALEXEY SHMATOV/Supervisory Patent Examiner, Art Unit 2123