DETAILED ACTION
This application has been examined. Claims 1-28 are pending.
In order to facilitate communication with the Examiner and expedite the prosecution of the instant application the Applicant is requested to submit written authorization to authorize the USPTO to communicate via electronic mail. The written authorization must be compliant with the language from MPEP § 502.03.
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 .
Priority
This application claims benefits of priority from PCT Application PCT/CA2022/050487 filed March 30, 2022.
The effective date of the claims described in this application is March 30, 2022.
Information Disclosure Statement
The information disclosure statement (IDS) submitted on xx 4/16/2025 in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statement is 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 27, 28 rejected under 35 U.S.C. 101 because the claimed invention is directed to non-statutory subject matter.
Claim 27 pertains to ‘a computer-readable medium comprising instructions’. Upon inspection of the Applicant Specifications (Page 23 Paragraphs 88-89) the Examiner interprets the computer-readable medium being possibly embodied by, but is not limited to, RAM, ROM, etc. Thus applying the broadest reasonable interpretation in light of the specification and taking into account the meaning of the words in their ordinary usage as they would be understood by one of ordinary skill in the networking art, the claim as a whole covers both transitory and non-transitory media including those entirely of transmission mediums such carrier waves. The Examiner notes that transmission mediums embodying computer-executable instructions are non-statutory subject matter because they do not fall into any of the categories of statutory subject matter.
The Examiner notes that where carrier waves are concerned, the transmission medium is an embodiment of a data signal. Absent some physical context, a signal per se is an abstract idea in much the same way that a mathematical algorithm without context is an abstract idea.
The claims may be amended by changing ‘computer readable medium’ to -- ‘non transitory computer readable medium’ -- thus excluding that portion of the scope covering transitory signals. The scope of the disclosure given the state-of-the-art covers both transitory and non-transitory media, and this amendment would limit the claims to an eligible (i.e. non-transitory) embodiment.
Claim 28 is directed towards a ‘computer program’. Upon inspection of the Applicant Specifications Page 23 Paragraphs 88-89 the Examiner concludes said computer program is nothing more than software components.
Since a computer program is merely a set of instructions capable of being executed by a computer, the computer program itself is not a process and USPTO personnel should treat a claim for a computer program, without the computer-readable medium needed to realize the computer program’s functionality, as nonstatutory functional descriptive material.
The Examiner notes that software does not inherently execute itself and can exist in perfect operating order without any requirement of a computing device.
There is no positive recitation in the claims that indicate wherein the claimed ‘computer program’ which is comprised entirely of software is being actively and currently executed/invoked by a computer or processor.
The Examiner notes that a computer does not act according to the computer instructions conveyed by said medium until 1) the said instructions are embedded or stored in the computer’s persistent storage memory and 2) are assigned a storage address that is locatable by a computer processor and 3) are invoked for execution by the computer processor.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claim(s) 1-11,14-24,27-28 is/are rejected under 35 U.S.C. 103 as being unpatentable over Balakrishnan (USPGPUB 20230177349) further in view of Sundararaman (US Patent 11176483)
Regarding Claim 1
Balakrishnan Paragraph 116 disclosed wherein federated learning, where a global model is trained with coordination with a federation of client computing nodes/client nodes/clients while keeping the training data local at the clients is one of the problems under consideration herein. The federated learning protocol iteratively allows clients to download a centrally trained artificial intelligence/machine-learning model (or model) from a server, such as a MEC server, an edge server or a cloud server, update it with their own data and upload the model updates (such as a gradient update) back to the server.
Balakrishnan Paragraph 172 disclosed wherein central server utilizes a clustering algorithm based on the clients' data probability distributions to determine cluster groups.
Balakrishnan disclosed (re. Claim 1) a method comprising:
distributing, by a network controller,(Balakrishnan-Figure 12,Paragraph 121, a MEC server or controller node) a client-side model to a first plurality of client devices in a first cluster; (Balakrishnan-Paragraph 116, allows clients to download a centrally trained artificial intelligence/machine-learning model (or model) from a server)
receiving, by a server, at least one transmission from each of the first plurality of client devices, each transmission including smashed data and information indicative of data used by a respective client device to generate the smashed data; (Balakrishnan-Paragraph 116, allows clients to download a centrally trained artificial intelligence/machine-learning model (or model) from a server, such as a MEC server, an edge server or a cloud server, update it with their own data and upload the model updates (such as a gradient update) back to the server)
generating, by the server, gradients associated with the smashed data based at least in part on the transmissions from the first plurality of client devices; (Balakrishnan-Paragraph 116, update it with their own data and upload the model updates (such as a gradient update) back to the server…server then aggregates updates from multiple clients to update the global model)
transmitting, by the server, the gradients associated with the smashed data to the first plurality of client devices; (Balakrishnan-Figure 12,Paragraph 122, a client or server may perform machine learning to obtain updated values for various nodes of the NN)
receiving, by the network controller, an updated client-side model from each of the first plurality of client devices;(Balakrishnan-Paragraph 121, each client computing node 1202 fetches or otherwise obtains a global model 1204 from a central server 1208 (e.g., a MEC server) coupled to an access point 1210 (e.g., a base station), updates aspects of the global model (e.g., model parameters or weights used in the global model, e.g., NN node weights) using its local data or data provided by the central server (e.g., a subset of a large training dataset D), and communicates the updates to the global model to the central server 1208.)
generating, by the network controller, an aggregated client-side model based, at least in part, on the received updated client-side models from the first plurality of client devices; (Balakrishnan-Paragraph 121, central server 1208 then aggregates (e.g., averages) the received updates and obtains a final global model based on the aggregated updates (e.g., updates the model weight values based on an average of the weight values received from the clients) and
While Balakrishnan substantially disclosed the claimed invention Balakrishnan does not disclose (re. Claim 1)
distributing, by the network controller, the aggregated client-side model to a second plurality of client devices in a second cluster.
Sundararaman Column 53 Lines 15-25 disclosed a system configured to construct, for each of the identified computational clusters 1-clstr, 2-clstr, and according to the high-level description 1-HL, a sub-task description, such as for example a job graph, which is specifically adapted to the type of compute elements of the computational cluster, and in which all of the sub-task descriptions constructed are operative to accomplish jointly the specific computational task.
Sundararaman disclosed (re. Claim 1) distributing the aggregated client-side model to a second plurality of client devices in a second cluster.( Sundararaman-Column 53 Lines 15-25,construct, for each of the identified computational clusters 1-clstr, 2-clstr, and according to the high-level description 1-HL, a sub-task description, such as for example a job graph, which is specifically adapted to the type of compute elements of the computational cluster, and in which all of the sub-task descriptions constructed are operative to accomplish jointly the specific computational task.)
Balakrishnan and Sundararaman are analogous art because they present concepts and practices regarding parallel computing tasks accomplished using clustering mechanisms. Before the time of the effective filing date of the claimed invention it would have been obvious to combine Sundararaman into Balakrishnan. The motivation for the said combination would have been to enable adapt an incoming stream of data for distributed processing and enable clustering of computation nodes according to quality of communication as measured by Bit Error Rate, latency, or some other measurement (Sundararaman-Column 51 Lines 5-15) thereby reducing latency in conjunction with the distributed processing of the incoming stream of data 980-stm.
Regarding Claim 14
Claim 14 (re. apparatus) recites substantially similar limitations as Claim 1. Claim 14 is rejected on the same basis as Claim 1.
Regarding Claim 27
Claim 27 (re. computer readable medium) recites substantially similar limitations as Claim 1. Claim 27 is rejected on the same basis as Claim 1.
Regarding Claim 28
Claim 28 (re. computer program) recites substantially similar limitations as Claim 1. Claim 28 is rejected on the same basis as Claim 1.
Regarding Claim 2
Balakrishnan-Sundararaman disclosed (re. Claim 2) wherein the server and the network controller are a single device. (Balakrishnan-Figure 12,Paragraph 121, a MEC server or controller node)
Regarding Claim 3,16
Balakrishnan-Sundararaman disclosed (re. Claim 3,16) wherein the information about data used to generate the smashed data includes one or more labels of data sampled by a client device of the first plurality of client devices.(Balakrishnan-Paragraph 265, wherein the dataset stored on the client and the second dataset each include a set of training examples and a set of label values associated with the training examples)
Regarding Claim 4,17
Balakrishnan-Sundararaman disclosed (re. Claim 4,17) wherein distributing the client-side model includes transmitting the client-side model to the first plurality of client devices in the first cluster.( Sundararaman-Column 53 Lines 15-25,construct, for each of the identified computational clusters 1-clstr, 2-clstr, and according to the high-level description 1-HL, a sub-task description, such as for example a job graph, which is specifically adapted to the type of compute elements of the computational cluster, and in which all of the sub-task descriptions constructed are operative to accomplish jointly the specific computational task.)
Regarding Claim 5,18
Balakrishnan-Sundararaman disclosed (re. Claim 5,18) wherein generating the gradients associated with the smashed data includes: training, by the server, (Balakrishnan-Paragraph 117, training may be performed via a supervised machine learning problem (e.g., a GD algorithm) based on a dataset) a server-side model using the smashed data from each of the first plurality of client devices; (Balakrishnan-Paragraph 116, update it with their own data and upload the model updates (such as a gradient update) back to the server…server then aggregates updates from multiple clients to update the global model) and calculating, by the server, the gradients associated with the smashed data associated with a cut layer based at least in part on the trained server-side model.(Balakrishnan-Paragraph 256, evaluate a gradient expression for the ML model based on a second dataset and an updated set of weights received from the client compute nodes)
Regarding Claim 6,19
Balakrishnan-Sundararaman disclosed (re. Claim 6,19) wherein generating the aggregated client-side model includes generating the aggregated client-side model using a weighted average of the received updated client-side models, (Balakrishnan-Paragraph 274, meta-updated set of weights are generated ) a weight in the weighted average based, at least in part, on a number of data samples used to generate the received updated client-side models.(Balakrishnan-Paragraph 200,Paragraph 227, a batch size of 100 training examples may approximate the gradient estimates relatively well for purely gradient-based algorithms.)
Regarding Claim 7,20
Balakrishnan-Sundararaman disclosed (re. Claim 7,20) prior to distributing the client-side model to the first plurality of client devices in the first cluster, determining, by the network controller, a client device clustering scheme, ( Balakrishnan-Paragraph 172,central server utilizes a clustering algorithm based on the clients' data probability distributions to determine cluster groups.) the client device scheme including at least assigning the first plurality of client devices to the first cluster and assigning the second plurality of client devices to the second cluster.( Balakrishnan-Paragraph 172,central server utilizes a clustering algorithm based on the clients' data probability distributions to determine cluster groups.)
Regarding Claim 8,21
Balakrishnan-Sundararaman disclosed (re. Claim 8,21) wherein determining the client device clustering scheme includes determining the client device clustering scheme based at least in part on communication link conditions (Sundararaman-Paragraph 258, the elements in a cluster might be in locational proximity to each other, or they may allow a certain kind of communication, or they may allow a certain quantity of communication (throughput) among themselves or with the rest of the system 990, or they may allow a certain quality of communication as measured by Bit Error Rate, latency, or some other measurement, or they may be clustered because of other criteria such as storing or accessing together a certain type of information, or some combination of the foregoing criteria.) and computing capabilities associated with one or more client devices from the first plurality of client devices.(Balakrishnan-Paragraph 228, average rate over the wireless link can be estimated and may be utilized as a state parameter input to the policy)
Regarding Claim 9,22
Balakrishnan-Sundararaman disclosed (re. Claim 9,22) wherein the first cluster and the second cluster have different sizes.(Sundararaman-Column 54 Lines 35-45, the number of compute elements in each of the computational clusters 1-clstr, 2-clstr is determined so as to effectively perform an expected sub-task description of the high-level description , Balakrishnan-Paragraph 188, The size of each client's subset or “batch” may be based on the time taken to compute an update at that client. By determining different batch sizes for the clients based on their compute abilities, for example, the time taken by each client to perform its gradient computation/weight update may be similar, thereby reducing the overall time taken to achieve convergence.)
Regarding Claim 10,23
Balakrishnan-Sundararaman disclosed (re. Claim 10,23) wherein transmitting the gradients associated with the smashed data includes transmitting the gradients associated with the smashed data via a wireless communication network.(Balakrishnan-Figure 12,Paragraph 116, Federated learning over wireless edge networks)
Regarding Claim 11,24
Balakrishnan-Sundararaman disclosed (re. Claim 11,24) prior to distributing the client-side model to the first plurality of client devices in the first cluster, determining, by the network controller, a resource management allocation between client devices of the first plurality of client devices. (Sundararaman-Column 54 Lines 35-45, the number of compute elements in each of the computational clusters 1-clstr, 2-clstr is determined so as to effectively perform an expected sub-task description of the high-level description , Balakrishnan-Paragraph 188, The size of each client's subset or “batch” may be based on the time taken to compute an update at that client. By determining different batch sizes for the clients based on their compute abilities, for example, the time taken by each client to perform its gradient computation/weight update may be similar, thereby reducing the overall time taken to achieve convergence.)
Regarding Claim 15
Balakrishnan-Sundararaman disclosed (re. Claim 15) wherein the apparatus is configured as one or more of an edge server, an access point and a network controller. (Balakrishnan-Figure 12,Paragraph 121, a MEC server or controller node)
Claim(s) 12-13,25-26 is/are rejected under 35 U.S.C. 103 as being unpatentable over Balakrishnan (USPGPUB 20230177349) further in view of Sundararaman (US Patent 11176483) further in view of Bhattad (USPGPUB 2006/0268791) further in view of Xu (USPGPUB 2023/0180272)
Regarding Claim 12,25
Balakrishnan-Sundararaman disclosed (re. Claim 12,25) wherein determining a resource management allocation includes: collecting, by the network controller, at least one of channel conditions and computing capabilities of client devices in the first plurality of client devices; (Sundararaman-Paragraph 258, the elements in a cluster might be in locational proximity to each other, or they may allow a certain kind of communication, or they may allow a certain quantity of communication (throughput) among themselves or with the rest of the system 990, or they may allow a certain quality of communication as measured by Bit Error Rate, latency, or some other measurement, or they may be clustered because of other criteria such as storing or accessing together a certain type of information, or some combination of the foregoing criteria.)
While Balakrishnan-Sundararaman substantially disclosed the claimed invention Balakrishnan-Sundararaman does not disclose (re. Claim 12,25)
allocating, by the network controller, at least one subcarrier to each client device in the first plurality of client devices to form an allocation of subcarriers; calculating, by the network controller, a latency associated with the allocation of subcarriers to the first plurality of client devices; and assigning, by the network controller, an additional subcarrier to a client device of the first plurality of client devices based at least in part on the latency associated with the allocation of subcarriers.
Bhattad Paragraph 70-71 disclosed wherein BSs 105 can assign or schedule transmission resources (e.g., in the form of time-frequency resource blocks (RB)) for downlink (DL) and uplink (UL) transmissions in the network 100.
Bhattad Paragraph 88 disclosed wherein uplink transmissions are required to meet certain bandwidth (BW) occupancy criteria (e.g., 80% BW occupancy). In order to meet the BW occupancy requirement, a BS may configure a UE to extend the frequency occupancy from one RB 210 to K RBs 210 using a frequency interlace 208.
Bhattad disclosed (re. Claim 12,25) allocating, by the network controller, at least one subcarrier to each client device in the first plurality of client devices to form an allocation of subcarriers; (Bhattad-Paragraph 78, A BS 105 may dynamically assign a UE 115 to operate over a certain BWP (e.g., a certain portion of the system BW).)
assigning, by the network controller, an additional subcarrier to a client device of the first plurality of client devices based on bandwidth (BW) occupancy criteria associated with the allocation of subcarriers.(Bhattad-Paragraph 88, a BS may configure a UE to extend the frequency occupancy from one RB 210 to K RBs 210 using a frequency interlace 208.)
Balakrishnan,Sundararaman and Bhattad are analogous art because they present concepts and practices regarding parallel computing tasks accomplished using clustering mechanisms. Before the time of the effective filing date of the claimed invention it would have been obvious to combine Bhattad into Balakrishnan-Sundararaman. The motivation for the said combination would have been to enable frequency distribution resulting in higher bandwidth occupancy. (Bhattad-Paragraph 84)
While Balakrishnan-Sundararaman-Bhattad substantially disclosed the claimed invention Balakrishnan-Sundararaman does not disclose (re. Claim 12,25)
calculating, by the network controller, a latency associated with the allocation of subcarriers to the first plurality of client devices; and
assigning, by the network controller, an additional subcarrier to a client device of the first plurality of client devices based at least in part on the latency associated with the allocation of subcarriers.
Xu Paragraph 133 disclosed wherein the size of the non-competitive resource that is specific to each device cluster may be positively relevant to the channel busy rate of that device cluster. The channel busy rate may indicate a degree of communication busyness within a device cluster, so, for a device cluster with a higher channel busy rate, more non-competitive resources may be allocated.
Xu disclosed (re. Claim 12,25) calculating, by the network controller, a latency associated with the allocation of resource to the first plurality of client devices;(Xu-Paragraph 133, channel busy rate may indicate a degree of communication busyness within a device cluster) and
assigning, by the network controller, an additional resources to a client device of the first plurality of client devices based at least in part on the latency associated with the allocation of resource.(Xu-Paragraph 133, for a device cluster with a higher channel busy rate, more non-competitive resources may be allocated)
Balakrishnan,Sundararaman and Xu are analogous art because they present concepts and practices regarding parallel computing tasks accomplished using clustering mechanisms. Before the time of the effective filing date of the claimed invention it would have been obvious to combine Xu into Balakrishnan-Sundararaman-Bhattad. The motivation for the said combination would have been to enable resource allocation module 2032 to allocate non-competitive resources and/or the competitive resources only for active links. This may greatly reduce the number of links participating in resource competition, thereby reducing waiting latency for individual links (Xu-Paragraph 65)
Regarding Claim 13,26
Balakrishnan-Sundararaman-Bhattad-Xu disclosed (re. Claim 13,26) wherein the method further comprises determining whether there are further available subcarriers to assign and, if there are further available subcarriers to assign, repeating the steps of calculating the latency and assigning the additional subcarrier until all available subcarriers are assigned. (Xu-Paragraph 133, for a device cluster with a higher channel busy rate, more non-competitive resources may be allocated)
Conclusion
Examiner’s Note: In the case of amending the claimed invention, Applicant is respectfully requested to indicate the portion(s) of the specification which dictate(s) the structure relied on for proper interpretation and also to verify and ascertain the metes and bounds of the claimed invention.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to GREG C BENGZON whose telephone number is (571)272-3944. The examiner can normally be reached on Monday - Friday 8 AM - 4:30 PM.
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, John Follansbee can be reached on (571) 272-3964. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of an application may be obtained from the Patent Application Information Retrieval (PAIR) system. Status information for published applications may be obtained from either Private PAIR or Public PAIR. Status information for unpublished applications is available through Private PAIR only. For more information about the PAIR system, see http://pair-direct.uspto.gov. Should you have questions on access to the Private PAIR system, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative or access to the automated information system, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/GREG C BENGZON/ Primary Examiner, Art Unit 2444