CTNF 18/471,128 CTNF 101317 Notice of Pre-AIA or AIA Status 07-03-aia AIA 15-10-aia 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 07-20-aia AIA 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. 07-21-aia AIA Claim (s) 1, 4-5, 7-8, 11-12, 14-15, and 18-19 is/are rejected under 35 U.S.C. 103 as being unpatentable over Wang et al. (US 20200050951 A1) in view of Capota et al. (US 20200410288 A1) . As to claim 1, Wang teaches An apparatus comprising: (see Wang paragraph [0078] “One or more embodiments of the invention, or elements thereof, can be implemented in the form of an apparatus including a memory and at least one processor that is coupled to the memory and operative to perform exemplary method steps”) interface circuitry; (see Wang Paragraph [0087] “Suitable interconnections, for example via bus 18, can also be provided to a network interface 20, such as a network card, which can be provided to interface with a computer network, and to a media interface”) one or more instructions; and (see Wang paragraph [0088] “computer software including instructions or code for performing the methodologies of the invention”) programmable circuitry to utilize the one or more instructions to: (see Wang paragraph [0087] “The term “processor” as used herein is intended to include any processing device, such as, for example, one that includes a CPU (central processing unit) and/or other forms of processing circuitry.”) cause transmission of a first query to a first worker node of a plurality of worker nodes, the first query based on constraints to train a machine learning model; (see Wang paragraph [0065] “distributing the specification from the model requester node to a plurality of other edge nodes in the network, and receiving replies to the specification from the plurality of other edge nodes at the model requester node.”) cause transmission of a second query to a second worker node of the plurality of worker nodes, the second query based on the constraints; and (see Wang paragraph [0065] “distributing the specification from the model requester node to a plurality of other edge nodes in the network, and receiving replies to the specification from the plurality of other edge nodes at the model requester node.”) cause transmission of a third query to the first worker node based on comparison of a first score from the first worker node to a second score from the second worker node, the third query instructing the first worker node to train the machine learning model. (See Wang paragraph [0071] “estimates learning utility of each of the plurality of other edge nodes, based on comparison of the external updated parameters to the internal updated parameters. Furthermore, the model requester node requests cost estimates from each of the plurality of other edge nodes, and identifies a lowest-value edge node from the plurality of other edge nodes, based on a smallest value of a ratio of learning utility to cost estimate for each of the plurality of other edge nodes.”, and see Wang paragraph [0062] “identify a lowest-value edge node i.sub.0* based on i.sub.0*=argmin.sub.i.sub.0u(i.sub.0)/c.sub.i.sub.0.”, and see Wang paragraph [0063] “If the lowest value edge node does not revise its cost, then at 812 reduce the set of participating edge nodes by excluding the lowest value edge node i.sub.0* from the set”, and see Wang paragraph [0065] “distributing most recent parameters of the machine learning model to the participating edge nodes; receiving updates to the most recent parameters from the participating edge nodes; and establishing new parameters for the machine learning model by aggregating the updates from the participating edge nodes.”, and see Wang paragraph [0070] “each of the participating edge nodes updates the model parameters based only on training data available at that participating edge node.”) Wang does not explicitly teaches "a query based on constraints" However, Capota teaches query based on constraints see Capota paragraph [0103] “a user provides a query to select the devices and a ML model to deploy… The query may filter devices based on geographic region, data quality/quantity and content availability, processing capabilities/hardware/software versions, usage patterns and device power on time/battery capacity, type of connection (Wi-Fi, LTE, etc.), roaming mode.”) It would have been obvious to a person of ordinary skill in the art before the effective filing date of the invention to modify the invention of Wang to include campaign-query mechanism so that requester can select and notify appropariate worker nodes using explicit campaig constraints. (see Capota paragraph [0103]) As to claim 4, Wang as modified by Capota teaches the apparatus of claim 1, wherein the first score is based on a quantity of data stored by the first worker node that is associated with a category identified in the constraints. (see Capota paragraph [0086] “campaign requirements for data availability, compute capability and privacy restrictions … data quality/quantity and content availability…” see Capota paragraph [0103] “The query may filter devices based on geographic region, data quality/quantity and content availability, processing capabilities/hardware/software versions, usage patterns and device power on time/battery capacity, type of connection (Wi-Fi, LTE, etc.)”) As to claim 5, Wang as modified by Capota teaches the apparatus of claim 1, wherein the programmable circuitry is to: assign a first access policy to first data stored by the first worker node; and (see Capota paragraph [0020] “Data access and usage restrictions may prevent initial access or may be updated in the middle of the process.”, and see Capota paragraph [0103] “campaigns may be secured through access control lists defining what entities are able to manage operations in this campaign and participating devices.”) assign a second access policy to second data stored by the second worker node, the first access policy to prohibit the second worker node from access to the first data. (see Capota paragraph [0019] “the devices do not/cannot share their data with any central or peer entities.”) As to claim 7, Wang as modified by Capota teaches the apparatus of claim 1, wherein the programmable circuitry is to obtain the constraints via at least one of an application programming interface, a web server, or a container. (see Capota Paragraph [0103] “it uses the programmatic or campaign management user interface to begin the process. The user defines the campaign through a label and any additional metadata, campaigns may be secured through access control lists defining what entities are able to manage operations in this campaign and participating devices … a user provides a query to select the devices and a ML model to deploy within the campaign.”, and see Capota paragraph [0154] “a Web browser through which a user can interact with an implementation of the subject matter described in this specification”) As to claim 8, this is directed to a computer program that corresponds to the apparatus of claim 1, See the rejection for claim 1 above, which also applies to claim 8. In addition Wang teaches A non-transitory computer readable storage medium (see Wang paragraph [0078] " non-transitory computer readable medium embodying computer executable instructions that when executed by a computer cause the computer to perform exemplary method") As to claim 11, this is directed to a computer program that corresponds to the apparatus of claim 4, See the rejection for claim 4 above, which also applies to claim 11. As to claim 12, this is directed to a computer program that corresponds to the apparatus of claim 5, See the rejection for claim 5 above, which also applies to claim 12. As to claim 14, this is directed to a computer program that corresponds to the apparatus of claim 7, See the rejection for claim 7 above, which also applies to claim 14. As to claim 15, this is directed to a method that corresponds to the apparatus of claim 1, See the rejection for claim 1 above, which also applies to claim 15. As to claim 18, this is directed to a method that corresponds to the apparatus of claim 4, See the rejection for claim 4 above, which also applies to claim 18. As to claim 19, this is directed to a method that corresponds to the apparatus of claim 5, See the rejection for claim 5 above, which also applies to claim 19 . 07-21-aia AIA Claim (s) 2-3, 6, 9-10, 13, 16-17, and 20 is/are rejected under 35 U.S.C. 103 as being unpatentable over Wang et al. (US 20200050951 A1) in view of Capota et al. (US 20200410288 A1) and further in view of Balakrishnan et al. (WO 2021247448 A1) . As to claim 2, Wang as modified by Capota teaches the apparatus of claim 1, Wang-Capota do not explicitly teach "wherein the third query specifies a first quantity of resources to be used by the first worker node to train the machine learning model, and", and "the programmable circuitry is to cause transmission of a fourth query to the second worker node, the fourth query instructing the second worker node to train the machine learning model using a second quantity of resources less than the first quantity of resources to be used by the first worker node." However, Balakrishnan teaches wherein the third query specifies a first quantity of resources to be used by the first worker node to train the machine learning model, and (see Balakrishnan paragraph [0308] “determine a data batch size for each of a plurality of clients of the edge computing network, wherein the data batch size for each client is based on compute capabilities of the client and indicates a number of training examples to be used … cause the data batch size determined for each client to be sent to the corresponding client;”) the programmable circuitry is to cause transmission of a fourth query to the second worker node, the fourth query instructing the second worker node to train the machine learning model using a second quantity of resources less than the first quantity of resources to be used by the first worker node. (see Balakrishnan paragraph [0187] “each client may partition its local training data into batches and train only on one batch at a time”, and see Balakrishnan paragraph [0308] “the data batch size for each client is based on compute capabilities…”) It would have been obvious to a person of ordinary skill in the art before the effective filing date of the invention to modify the invention of Wang-Capota to to include resource, data batch size assignment so that different worker nodes are assigned different quantities of trainngdata and resources based on their compute capabilities. (see Balakrishnan paragraph [0186, and 0187]) As to claim 3, Wang-Capota as modified by Balakrishnan teaches the apparatus of claim 2, obtain first weights for the machine learning model from the first worker node; (See Wang paragraph [0065] “receiving updates to the most recent parameters from the participating edge nodes;”) obtain second weights for the machine learning model from the second worker node; and (See Wang paragraph [0065] “receiving updates to the most recent parameters from the participating edge nodes;”) update the machine learning model based on an aggregation of the first weights and the second weights. (see Wang paragraph [0065] “establishing new parameters for the machine learning model by aggregating the updates from the participating edge nodes.”) Wang doesn’t explicitly teaches "weights" However, Balakrishnan teaches obtain first weights for the machine learning model (see Balakrishnan paragraph [0308] “processing updated model weight information for the federated machine learning training obtained from the selected clients … updating the global model based on processing the information.”) As to claim 6, Wang as modified by Capota teaches the apparatus of claim 1, wherein the constraints include at least one of a target classification accuracy, a training round limit, or a list of worker nodes. (see Wang paragraph [0064] “one can identify an edge node that has the lowest combination of value and truthfulness … then comparing the training accuracy with and without these nodes”, and see Wang paragraph [0065] “the model requester node identifies a set of participating edge nodes that indicate ability to match the specification.”) Wang doesn’t explicitly teaches "a training round limit" However, Balakrishnan teaches a training round limit (see Balakrishnan paragraph [0306] “generating the updated set of weights comprises iteratively performing rounds of learning”) As to claim 9, this is directed to a computer program that corresponds to the apparatus of claim 2, See the rejection for claim 2 above, which also applies to claim 9. As to claim 10, this is directed to a computer program that corresponds to the apparatus of claim 3, See the rejection for claim 3 above, which also applies to claim 10. As to claim 13, this is directed to a computer program that corresponds to the apparatus of claim 6, See the rejection for claim 6 above, which also applies to claim 13. As to claim 16, this is directed to a method that corresponds to the apparatus of claim 2, See the rejection for claim 2 above, which also applies to claim 16. As to claim 17, this is directed to a method that corresponds to the apparatus of claim 3, See the rejection for claim 3 above, which also applies to claim 17. As to claim 20, this is directed to a method that corresponds to the apparatus of claim 6, See the rejection for claim 6 above, which also applies to claim 20. Conclusion Any inquiry concerning this communication or earlier communications from the examiner should be directed to ABDULLAH K ABOUD whose telephone number is (571)272-0025. The examiner can normally be reached Mon-Fri 8am-5pm. Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice. If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Li B Zhen, can be reached at (571) 272-3768. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300. Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000. /ABDULLAH KHALED ABOUD/ Examiner, Art Unit 2121 /Li B. Zhen/ Supervisory Patent Examiner, Art Unit 2121 Application/Control Number: 18/471,128 Page 2 Art Unit: 2121 Application/Control Number: 18/471,128 Page 3 Art Unit: 2121 Application/Control Number: 18/471,128 Page 4 Art Unit: 2121 Application/Control Number: 18/471,128 Page 5 Art Unit: 2121 Application/Control Number: 18/471,128 Page 6 Art Unit: 2121 Application/Control Number: 18/471,128 Page 7 Art Unit: 2121 Application/Control Number: 18/471,128 Page 8 Art Unit: 2121 Application/Control Number: 18/471,128 Page 9 Art Unit: 2121 Application/Control Number: 18/471,128 Page 10 Art Unit: 2121