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 .
Continued Examination Under 37 CFR 1.114
A request for continued examination under 37 CFR 1.114, including the fee set forth in 37 CFR 1.17(e), was filed in this application after final rejection. Since this application is eligible for continued examination under 37 CFR 1.114, and the fee set forth in 37 CFR 1.17(e) has been timely paid, the finality of the previous Office action has been withdrawn pursuant to 37 CFR 1.114. Applicant's submission filed on June 5, 2026 has been entered.
Remarks
This Office Action is in response to applicant’s RCE and amendment filed on June 5, 2026, under which claims 1-2 and 21-38 are pending and under consideration.
Response to Arguments
Applicant’s claim amendments have overcome the previous prior art rejections. However, upon further consideration, new grounds of rejection have been made based on newly cited references.
Applicant’s arguments are moot under the new grounds of rejection because they pertain to claim limitations of the previous claims that are now addressed by new or different references.
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
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.
1. Claim 1 is rejected under 35 U.S.C. 103 as being unpatentable over Dennis in view of Marzban et al. (US 2024/0171991 A1) (“Marzban”), Walters et al. (US 2020/0302234 A1) (“Walters”), Zhang et al. (US 2023/0107703 A1) (“Zhang”) and Zhou et al., “Distilled One-Shot Federated Learning,” arXiv:2009.07999v3 [cs.LG] 6 Jun 2021 (“Zhou”).
As to claim 1, Dennis teaches a user device for facilitating federated learning based on data profiled at the user device that is remote from a server system, [Abstract: “In this work, we explore the unique challenges…of unsupervised federated learning (FL). We develop and analyze a one-shot federated clustering scheme, k-FED, based on the widely-used Lloyd’s method for k-means clustering.” As summarized in Algorithm 2 k-FED (on page 5), the method includes a client-side portion that profiles local data (line 1: On each device z … run Algorithm 1 with local data”) and is part of a federated learning system that includes a server system. See § 3.2, paragraph 1: “In our setting, we assume that all devices in the network can communicate with a central server. Our clustering method k-FED, described in Algorithm 2, can be thought of as working in two stages. In the first stage, each device solves a local clustering subproblem and computes the cluster means for this subproblem. In the second stage, the central server accumulates and aggregates the results to compute the final clustering.” Furthermore, a “user device” is taught in the form of a computing device such as a phone (see § 1, paragraph 1: “devices such as mobile phones or wearables”; § 3.2, paragraph 4: “For instance, consider identifying interests of mobile phone users based on the interaction data on an application. Here the interaction data is generated by the user on their particular device”).] the user device comprising:
one or more processors and one or more non-transitory media comprising instructions that, when executed by the one or more processors, [Since the user device performs Algorithm 1 and other computer processes, and is described as a computing device such as a mobile phone, the instant limitations, which merely recite generic feature of computing devices that operate software, are understood implied by this prior art’s disclosure.] cause operations comprising: […]
performing, at the user device, device-side clustering of the locally-stored dataset using a clustering algorithm to determine a pluralityof centroids, [In Algorithm 1 on the 3rd page, the data A(z) corresponds to a dataset stored on a user device, and it is analyzed by the function displayed in Algorithm 1 (i.e., a data profiler) to determine “k(z) centers (ν1, ν2,…, νk(z))” which corresponds to a data profile. This k-means algorithm is a “clustering algorithm” as disclosed in Algorithm 1, which returns the “cluster assignments” and their means. See also § 3.1 (Centralized k-means): “In the standard (centralized) k-means problem, … our objective is to partition the data points into k disjoint partitions, T = (T1, …, Tk) …This generative model also introduces a notion of a target clustering, T = (T1, …, Tk) where the set Ti contains all points generated by the i-th component distribution.” Furthermore, § 3.1, which teaches the centroid function μ(S), also described as the “mean of the points indexed by S.” In equation (1), the minimization objective is based on the difference between a centroid μ(Ti) for the dataset used in this algorithm and the centroids of other clusters μ(Tj) for potential clusters other than that first centroid. Note that the centroid of data Ai is represented by μ(Ti) and the fact that it is clustered in partition Ti is based on its difference from the centroids of other clusters Tj.] and select, based on the data profile, a […] cluster designation associated with a first centroid of the plurality of centroids [§ 1, paragraph 2: “Each device, indexed by z, solves a local k(z)-means problem and then communicates its local cluster means via a message.” The communication is to a remote server. See § 3.2, paragraph 1: “In our setting, we assume that all devices in the network can communicate with a central server. Our clustering method k-FED, described in Algorithm 2, can be thought of as working in two stages. In the first stage, each device solves a local clustering subproblem and computes the cluster means for this subproblem.” Any particular one or more of the cluster-means determined in Algorithm 1, as discussed above, constitute a “cluster designation” of the dataset at the local device.] […]
transmitting, via the Internet, to the remote server system, the […] cluster designation […], [§ 1, paragraph 2: “Each device, indexed by z, solves a local k(z)-means problem and then communicates its local cluster means via a message.” The communication is to a remote server. See § 3.2, paragraph 1: “In our setting, we assume that all devices in the network can communicate with a central server. Our clustering method k-FED, described in Algorithm 2, can be thought of as working in two stages. In the first stage, each device solves a local clustering subproblem and computes the cluster means for this subproblem.” Here, the cluster means constitute a “cluster designation” of the dataset at the local device.]
wherein transmitting the […] cluster designation causes the remote server system to use the synthetic data to train a version of the federated learning model that corresponds to the […] cluster designation. [See § 3.2, paragraph 1: “In the second stage, the central server accumulates and aggregates the results to compute the final clustering.” Note that “compute the final clustering” refers to the use of clusters for client selection in federated learning as described in Algorithm 2. See also § 1, paragraph 1: “Federated learning (FL) aims to perform machine learning over large, heterogeneous networks of devices such as mobile phones or wearables… In this work, we show that unsupervised learning presents unique opportunities for FL, specifically for the task of clustering data that resides in a federated network.” See also page 8, right column, bottom paragraph: “We combine k-FED with this approach by further filtering out the devices coming from the same clusters. Note that k-FED does not add significant additional overhead to the baseline algorithm as it only requires running one-shot clustering before training.”]
Dennis does not explicitly teach:
(1) “in response to receiving, via the Internet, a data profiler application from a remote server system, storing the data profiler application locally on the user device”;
(2) “using the data profiler application on a locally-stored dataset stored on the user device to obtain a data profile derived from the locally-stored dataset”
(3) “the data profile indicating a likelihood of an activity represented by the locally-stored dataset”
(4) the activity being “a malicious activity” and the related limitation of the cluster designation being a “malicious-activity-related” cluster designation;
(5) “based on the malicious-activity-related cluster designation, generating synthetic data aligned with the malicious-activity-related cluster designation and to be transmitted to the remote server system, in lieu of the locally-stored dataset for training a federated learning model”; and
(6) the “synthetic data aligned with the malicious-activity-related cluster designation” also being transmitted to the remote server system and also being used by the remote server system to train the version of the federated learning model.
Marzban teaches storing a data profiler application “in response to receiving, via the Internet, a data profiler […] from a remote server system, storing the data profiler application locally on the user device”; [This reference teaches a server transmitting configuration information to the UE (user device) in [0096]: “the network node 110 may transmit, and the UE 120 may receive, configuration information for federated learning.” See also [0097]: “the configuration information may include configuration information that configures reporting of the local training dataset distribution associated with the UE 120. In such examples, the configuration information that configures reporting of the local training dataset distribution associated with the UE 120 may be based at least in part on the UE capability information that indicates a capability of the UE 120 for reporting the local training data distribution associated with the UE 120. In some aspects, the configuration information may indicate a format for reporting the local training dataset distribution…to be used by the UE 120 to report the local training dataset distribution…In some aspects, the configuration information may configure the UE 120 to report a respective input training data distribution for each of one or more inputs in a local dataset associated with the UE 120. …the configuration information may configure the UE 120 to report an output training data distribution for an output in the local dataset associated with the UE 120…” This configuration information is a “data profiler” because it configures the UE to report the training data distribution (see also [0097]: “the configuration information may configure the UE 120 to report a P-value associated with the local training data distribution”). In the context of the instant claim language, the software process that executes the configuration information may also be part of a data profiler. Furthermore, since the configuration information is received by a UE, it is stored on the UE.] and “using the data profiler […] on a locally-stored dataset stored on the user device to obtain a data profile derived from the locally-stored dataset” [[0097]: “In some aspects, the configuration information may configure the UE 120 to report a respective input training data distribution for each of one or more inputs in a local dataset associated with the UE 120….In some aspects, the configuration information may configure the UE 120 to report a P-value associated with the local training data distribution.” [0104]: “the indication of the local training data distribution may indicate one or more statistical properties associated with the local training data distribution.” That is, using configuration information, the UE determines the respective training data distribution, and characteristics of the local training data distribution.]
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have combined the teachings of Dennis with the teachings of Marzban by implementing the technique of using server-provided information for implementing federated learning, including a data profiler received from a remote server system via the Internet and using it to obtain a data profile, so as to arrive at the above-discussed limitations of the instant claim. The motivation would have been to enable a server to configure a user device for participation in the federated learning process, as suggested by Marzen ([0094]: “For example, the UE capability information may indicate that the UE 120 is capable of participating in training a federated learning model”; [0075]: “In this way, federated learning may enable improvements to network performance and/or user experience by leveraging the local machine learning capabilities of one or more UEs.”).
The combination of references thus far does not teach limitation that the data profiler is an application (i.e., a “data profiler application”) and the limitations (3)-(6) listed above.
Walters teaches a “data profiler application” [[0049]: “Data profiler 110 may include a communication device 210, a profiler memory 220, and one or more profiler processors 230. Profiler memory 220 may include profiler programs 222 and profiler data 224.” [0053]: “For example, profiler memory 220 may store software instructions, such as profiler programs 222, that may perform operations when executed by profiler processor 230.” That is, the data profiler can be a “profiler program,” i.e., an application.], “the data profile indicating a likelihood of an activity represented by the locally-stored dataset;” [[0110]: “The sample data may be classified, or bucketed in each one of these buckets and categorized based on their category profile.” [0100]: “For example, profiler processor 230 may implement clustering techniques such as CLIQUE to classify datasets based on the data profile or use pre-trained neural networks to extract key features from sample datasets…For example, when the sample data includes a plurality of credit card transactions, the datasets may be categorized in intervals of yearly transactions, monthly transactions, weekly transactions, and/or daily transactions.” See also [0102] (“a category for daily transactions, a category for monthly transactions, and a category for yearly transactions”). That is, the intervals of the various types of “transactions” correspond to various activity categories. Since the classification is “based on the data profile,” the data profile indicates a likelihood of one or more of those classes. See also [0129]: “In step 904, optimization system 105 may generate a user data profile for the user data. In some embodiments, data profiler 110 may identify key features of the user dataset to generate a profile. …using data profiler 110 optimization system 105 may identify a periodicity of the user dataset, identifying peaks and valleys in different dimensions, and/or other statistical features such as the mean of a variable, the mode, or the median”; [0130]: “In step 908, optimization system 105 may identify a sample data category with the closest similarity to the user data profile.” That is, the data profile includes key features that indicate a likelihood of belonging to a certain category. Such key features are part of the data profile.] and the limitation of the selection of the cluster designation being “based on the data profile” [[0100]: “For example, profiler processor 230 may implement clustering techniques such as CLIQUE to classify datasets based on the data profile or use pre-trained neural networks to extract key features from sample datasets.” Furthermore, as noted above, the data profile performs feature extraction, and such features are part of the data profile. This is also described in [0061]: “Data feature extraction module 234 may extract features from a received dataset or a normalized dataset to generate a data profile.”]
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have combined the teachings of the references combined thus far with the teachings of Walters by modifying the method of Dennis, as already modified thus far, to include and use a data profiler as described in Walter, so as to arrive at the above limitations of the instant dependent claim. The motivation would have been to enable assessment of the characteristics of a model that can be trained using data that has been profiled (see [0167]: “identify the data category…to facilitate the estimation of minimum data requirements for the user data, desired accuracy, and the targeted model type.”).
The combination of references thus far does not teach limitations (4)-(6) as listed above.
Zhang teaches “a malicious activity” and a “malicious-activity-related” cluster designation [[0002]: “Fraud is one of the leading problems plaguing modern banks, and fraud prevention is a constantly evolving area. The ability to identify potentially fraudulent accounts in real-time and as they are created (e.g. bank applications submitted via a user computing device) is an important step to stopping fraudulent transactions before they happen.” [0021]: “This determination may further include analyzing the occurrence of fraud activity in each of the clusters 111 (e.g. number of occurrences, types of fraud, etc.) and thereby assigning each cluster to a fraudulent (e.g. high fraud risk applications 112) or non-fraudulent (e.g. low fraud risk applications 114) determination.”]
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have combined the teachings of the references combined thus far with the teachings of Zhang by applying the user device of Dennis, as already modified thus far, to the use application of malicious activity, specifically by implementing the activity as “a malicious activity” and the cluster designation as a “malicious-activity-related” cluster designation. This would have been obvious as a simple combination of prior art elements according to known methods to yield predictable results (MPEP § 2143(I)(A)). Specifically, the thus far combination of references lacks the combination of its method and user device with the subject matter of “malicious activity”; one of ordinary skill in the art could have combined the elements as claimed by known methods, and that in combination, each element merely performs the same function as it does separately (since malicious activity is merely a subject matter or topic that does not affect the functionality of a system that processes data); and one of ordinary skill in the art would have recognized that the results of the combination were predictable (namely the use of a method for a specific application or data pertaining to a specific subject matter).
The combination of references thus far does not teach limitations (5) and (6) listed above.
Zhou teaches “based on the malicious-activity-related cluster designation, generating synthetic data aligned with the malicious-activity-related cluster designation” [Abstract: “In just one round, each client distills their private dataset, sends the synthetic data (e.g. images or sentences) to the server, and collectively trains a global model.” Note that the distillation process described here is a process of generating synthetic data, and is represented by lines 14-30 of Algorithm 1. See § 2.2, paragraph 3: “Dataset distillation [37] was introduced by Wang et al., to compress a large dataset with thousands to millions of images down to only a few synthetic training images.” In regards to “based on the malicious-activity-related cluster designation” and “aligned with the malicious-activity-related cluster designation,” Algorithm 1 teaches that a batch B is selected the client’s data set Xk and the batch b is subject to the loss function ℓ in lines 24-25. Furthermore, as explained in § 3, text below equation (1), the loss function ℓ take as inputs {xi, yi} for its second argument, which in the context of {xi, yi} = B in lines 24-25 of Algorithm 1, corresponds to a label yi. Therefore, the generation of the synthetic data x~ in line 24 is based on the label yi (analogous to the malicious-activity-related cluster designation, since the cluster designation is also a label) and thus is “aligned” with such label.] “to be transmitted to the remote server system, in lieu of the locally-stored dataset for training a federated learning model” and the limitation of “synthetic data aligned with the malicious-activity-related cluster designation” also being transmitted to the remote server system and also being used by the remote server system to train the version of the federated learning model. [Abstract: “In just one round, each client distills their private dataset, sends the synthetic data (e.g. images or sentences) to the server, and collectively trains a global model.” The data is transmitted “in lieu of” the local data since Algorithm 1 teaches that the local data Xk is not transmitted. Further, Xk is described as being a “private dataset” and the purpose of distillation is to not have to send that dataset. See § 1, paragraph: “For this reason, federated learning (FL) has garnered attention due to its ability to collectively train neural networks while keeping data private.” See also § 5.2. FIG. 1 caption: “(3) transmits synthetic data, labels and learning rates to the server. (4) The server fits its model on the distilled data and (5) distributes the final model to all clients.” That is, the server uses the label to perform training.]
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have combined the teachings of the references combined thus far with the teachings of Zhou by implementing its method of generating synthetic data at the user device and transmitting it to the server, so as to arrive at the claimed invention. The motivation would have been to reduce of the communication costs of federated learning while maintaining comparable performance (see Zhou, abstract: “Inspired by recent work on dataset distillation and distributed one-shot learning, we propose Distilled One-Shot Federated Learning (DOSFL) to significantly reduce the communication cost while achieving com parable performance.”)
2. Claims 2, 22, 24-30, 32, and 34-38 are rejected under 35 U.S.C. 102(a)(1) as being anticipated by Dennis et al., “Heterogeneity for the Win: One-Shot Federated Clustering,” arXiv:2103.00697v2 [cs.LG] 5 Oct 2021 (“Dennis”) in view of Marzban et al. (US 2024/0171991 A1) (“Marzban”) and Walters et al. (US 2020/0302234 A1) (“Walters”).
As to claim 2, Dennis teaches a method comprising:
[…] performing, by the user device, device-side clustering of the dataset to determine a plurality of centroids, [In Algorithm 1 on the 3rd page, the data A(z) corresponds to a dataset stored on a user device, and it is analyzed by the function displayed in Algorithm 1 (i.e., a data profiler) to determine “k(z) centers (ν1, ν2,…, νk(z))” which corresponds to a data profile. This k-means algorithm is a “clustering algorithm” as disclosed in Algorithm 1, which returns the “cluster assignments” and their means. See also § 3.1 (Centralized k-means): “In the standard (centralized) k-means problem, … our objective is to partition the data points into k disjoint partitions, T = (T1, …, Tk) …This generative model also introduces a notion of a target clustering, T = (T1, …, Tk) where the set Ti contains all points generated by the i-th component distribution.” Furthermore, § 3.1, which teaches the centroid function μ(S), also described as the “mean of the points indexed by S.” In equation (1), the minimization objective is based on the difference between a centroid μ(Ti) for the dataset used in this algorithm and the centroids of other clusters μ(Tj) for potential clusters other than that first centroid. Note that the centroid of data Ai is represented by μ(Ti) and the fact that it is clustered in partition Ti is based on its difference from the centroids of other clusters Tj.] and select […] a cluster designation associated with a first centroid of the plurality of centroids; [§ 1, paragraph 2: “Each device, indexed by z, solves a local k(z)-means problem and then communicates its local cluster means via a message.” The communication is to a remote server. See § 3.2, paragraph 1: “In our setting, we assume that all devices in the network can communicate with a central server. Our clustering method k-FED, described in Algorithm 2, can be thought of as working in two stages. In the first stage, each device solves a local clustering subproblem and computes the cluster means for this subproblem.” Any particular one or more of the cluster-means determined in Algorithm 1, as discussed above, constitute a “cluster designation” of the dataset at the local device.] and
transmitting, via a network, the cluster designation derived from the device-side clustering to a remote server system, [§ 1, paragraph 2: “Each device, indexed by z, solves a local k(z)-means problem and then communicates its local cluster means via a message.” The communication is to a remote server. See § 3.2, paragraph 1: “In our setting, we assume that all devices in the network can communicate with a central server. Our clustering method k-FED, described in Algorithm 2, can be thought of as working in two stages. In the first stage, each device solves a local clustering subproblem and computes the cluster means for this subproblem.”]
wherein the remote server system uses the cluster designation to train one or more versions of a federated learning model at the remote server system. [See § 3.2, paragraph 1: “In the second stage, the central server accumulates and aggregates the results to compute the final clustering.” Note that “compute the final clustering” refers to the use of clusters for client selection in federated learning as described in Algorithm 2. See also § 1, paragraph 1: “Federated learning (FL) aims to perform machine learning over large, heterogeneous networks of devices such as mobile phones or wearables… In this work, we show that unsupervised learning presents unique opportunities for FL, specifically for the task of clustering data that resides in a federated network.” See also page 8, right column, bottom paragraph: “We combine k-FED with this approach by further filtering out the devices coming from the same clusters. Note that k-FED does not add significant additional overhead to the baseline algorithm as it only requires running one-shot clustering before training.”]
Dennis does not explicitly teach:
(1) “storing, by a user device, a data profiler on the user device”;
(2) “using the data profiler on a dataset stored on the user device to obtain a data profile derived from the dataset, stored on the user device, using the data profiler”;
(3) “the data profile indicating a likelihood of an activity represented by the dataset being a first activity category”; and
(4) the limitation of the selection of the cluster designation being “based on the data profile.”
Marzban teaches “storing, by a user device, a data profiler on the user device” [This reference teaches a server transmitting configuration information to the UE (user device) in [0096]: “the network node 110 may transmit, and the UE 120 may receive, configuration information for federated learning.” See also [0097]: “the configuration information may include configuration information that configures reporting of the local training dataset distribution associated with the UE 120. In such examples, the configuration information that configures reporting of the local training dataset distribution associated with the UE 120 may be based at least in part on the UE capability information that indicates a capability of the UE 120 for reporting the local training data distribution associated with the UE 120. In some aspects, the configuration information may indicate a format for reporting the local training dataset distribution…to be used by the UE 120 to report the local training dataset distribution…In some aspects, the configuration information may configure the UE 120 to report a respective input training data distribution for each of one or more inputs in a local dataset associated with the UE 120. …the configuration information may configure the UE 120 to report an output training data distribution for an output in the local dataset associated with the UE 120…” This configuration information is a “data profiler” because it configures the UE to report the training data distribution (see also [0097]: “the configuration information may configure the UE 120 to report a P-value associated with the local training data distribution”). In the context of the instant claim language, the software process that executes the configuration information may also be part of a data profiler. Furthermore, since the configuration information is received by a UE, it is stored on the UE.] and “using the data profiler on a dataset stored on the user device to obtain a data profile derived from the dataset, stored on the user device, using the data profiler” [[0097]: “In some aspects, the configuration information may configure the UE 120 to report a respective input training data distribution for each of one or more inputs in a local dataset associated with the UE 120….In some aspects, the configuration information may configure the UE 120 to report a P-value associated with the local training data distribution.” [0104]: “the indication of the local training data distribution may indicate one or more statistical properties associated with the local training data distribution.” That is, using configuration information, the UE determines the respective training data distribution, and characteristics of the local training data distribution.]
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have combined the teachings of Dennis with the teachings of Marzban by implementing the technique of using server-provided information for implementing federated learning, specifically by implementing the data profiler application to be stored “in response to receiving, it from a remote server system via the Internet. The motivation would have been to enable a server to configure a user device for participation in the federated learning process, as suggested by Marzban ([0094]: “For example, the UE capability information may indicate that the UE 120 is capable of participating in training a federated learning model”; [0075]: “In this way, federated learning may enable improvements to network performance and/or user experience by leveraging the local machine learning capabilities of one or more UEs.”).
The combination of references thus far does not explicitly teach limitations (3) and (4) listed above.
Walters teaches “the data profile indicating a likelihood of an activity represented by the dataset being a first activity category;” [[0110]: “The sample data may be classified, or bucketed in each one of these buckets and categorized based on their category profile.” [0100]: “For example, profiler processor 230 may implement clustering techniques such as CLIQUE to classify datasets based on the data profile or use pre-trained neural networks to extract key features from sample datasets…For example, when the sample data includes a plurality of credit card transactions, the datasets may be categorized in intervals of yearly transactions, monthly transactions, weekly transactions, and/or daily transactions.” See also [0102] (“a category for daily transactions, a category for monthly transactions, and a category for yearly transactions”). That is, the intervals of the various types of “transactions” correspond to various activity categories. Since the classification is “based on the data profile,” the data profile indicates a likelihood of one or more of those classes. See also [0129]: “In step 904, optimization system 105 may generate a user data profile for the user data. In some embodiments, data profiler 110 may identify key features of the user dataset to generate a profile. …using data profiler 110 optimization system 105 may identify a periodicity of the user dataset, identifying peaks and valleys in different dimensions, and/or other statistical features such as the mean of a variable, the mode, or the median”; [0130]: “In step 908, optimization system 105 may identify a sample data category with the closest similarity to the user data profile.” That is, the data profile includes key features that indicate a likelihood of belonging to a certain category. Such key features are part of the data profile.] and the limitation of the selection of the cluster designation being “based on the data profile” [[0100]: “For example, profiler processor 230 may implement clustering techniques such as CLIQUE to classify datasets based on the data profile or use pre-trained neural networks to extract key features from sample datasets.” Furthermore, as noted above, the data profile performs feature extraction, and such features are part of the data profile. This is also described in [0061]: “Data feature extraction module 234 may extract features from a received dataset or a normalized dataset to generate a data profile.”]
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have combined the teachings of the references combined thus far with the teachings of Walters by modifying the method of Dennis, as already modified thus far, to include and use a data profiler as described in Walter, so as to arrive at the claimed invention of the instant dependent claim. The motivation would have been to enable assessment of the characteristics of a model that can be trained using data that has been profiled (see [0167]: “identify the data category…to facilitate the estimation of minimum data requirements for the user data, desired accuracy, and the targeted model type.”).
As to claim 22, the combination of Dennis, Marzban, and Walters teaches the method of claim 2, further comprising:
receiving, from the remote server system, a first version of the federated learning model, in lieu of one or more other versions of the federated learning model, based on the cluster designation corresponding to the first version of the federated learning model. [Dennis, 8th page, right column, middle (in § 4.2.1): “Moreover, k-FED has the additional advantage that once the cluster identities have been assigned, we only need to transmit one model instead of the k models that are transmitted with IFCA.” In this context, “transmit” refers to transmitting of models from the server to the client device (see 8th page left column, second-to-bottom full paragraph, which teaches that in the comparative technique of IFCA, all k models are sent to the devices”).]
As to claim 24, the combination of Dennis, Marzban, and Walters teaches the method of claim 2, wherein the cluster designation is derived for the dataset based on differences between a centroid for the dataset selected using the data profile and centroids for a plurality of potential clusters. [Dennis, § 3.1, which teaches the centroid function μ(S), also described as the “mean of the points indexed by S.” In equation (1), the minimization objective is based on the difference between a centroid μ(Ti) for the dataset used in this algorithm and the centroids of other clusters μ(Tj) for potential clusters other than that first centroid. Note that the centroid of data Ai is represented by μ(Ti) and the fact that it is clustered in partition Ti is based on its difference from the centroids of other clusters Tj. Note that “using the data profile” is taught in the combination of references, since Walters teaches using the data profiler to identify key features.]
As to claim 25, the combination of Dennis, Marzban, and Walters teaches the method of claim 2, as set forth above, but does not teach the method further comprising the additional steps recited in the instant dependent claim.
Walters further teaches “inputting, by the data profiler on the user device, a feature input derived from the dataset into an input layer of a neural network;” [[0061]: “Data feature extraction module 234 may extract features from a received dataset or a normalized dataset to generate a data profile. In some embodiments, features may be extracted from a dataset by applying a pre-trained neural network. For example, in some embodiments pre-trained networks such as Inception-v3 or AlexNet may be used to automatically extract features from a target dataset and generate a corresponding data profile.” The inputting of the dataset into a neural network implies that there are features of that data set that are used. For example, AlexNet uses image features.] and “propagating the feature input to one or more hidden layers of the neural network to obtain the data profile.” [[0061]: “For example, in some embodiments pre-trained networks such as Inception-v3 or AlexNet may be used to automatically extract features from a target dataset and generate a corresponding data profile.” Here, Inception-v3 and AlexNet are conventional deep neural network that include hidden layers.]
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have further combined the teachings of the references combined thus far, including the above teachings of Walters, so as to arrive at the claimed invention of the instant dependent claim. Since the feature extraction is part of the functions of the data profiler in Walters (see Walters, FIG. 2.), the motivation for doing so is covered by the motivation given for the teachings of Walters in the rejection of the parent claim.
As to claim 26, the combination of Dennis, Marzban, and Walters teaches the method of claim 2, as set forth above.
Marzban further teaches “receiving the data profiler from the remote server system;” [This reference teaches a server transmitting configuration information (analogous to a data profiler) to the UE (user device) based on the capabilities of the UE in in [0096]: “the network node 110 may transmit, and the UE 120 may receive, configuration information for federated learning.” See also [0097]: “the configuration information may include configuration information that configures reporting of the local training dataset distribution associated with the UE 120. In such examples, the configuration information that configures reporting of the local training dataset distribution associated with the UE 120 may be based at least in part on the UE capability information that indicates a capability of the UE 120 for reporting the local training data distribution associated with the UE 120. In some aspects, the configuration information may indicate a format for reporting the local training dataset distribution…to be used by the UE 120 to report the local training dataset distribution…In some aspects, the configuration information may configure the UE 120 to report a respective input training data distribution for each of one or more inputs in a local dataset associated with the UE 120. …the configuration information may configure the UE 120 to report an output training data distribution for an output in the local dataset associated with the UE 120…” This configuration information is analogous to a “data profiler” because it configures the UE to report the training data distribution (see also [0097]: “the configuration information may configure the UE 120 to report a P-value associated with the local training data distribution”), noting that the “data profiler” element is not further structurally defined in the claim. For examples of the capability information (step 505 in FIG. 5A) on which the configuration information is based, see [0094]-[0095].] and “in response to receiving the data profiler from the remote server system, storing the data profiler on the user device.” [The receipt and use of the configuration information by the UE 120 as discussed above constitutes storing it on the UE.]
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have combined the teachings of the references combined thus far, including the above teachings of Marzban, by implementing the technique of providing a data profiler to a user device so as to arrive at the claimed invention of the instant claim. The motivation would have been to configure the user device for participation in the federated learning process in a manner that takes into account its capability in in training a federated learning model, as suggested by Marzen ([0094]: “For example, the UE capability information may indicate that the UE 120 is capable of participating in training a federated learning model”; [0075]: “In this way, federated learning may enable improvements to network performance and/or user experience by leveraging the local machine learning capabilities of one or more UEs.”).
As to claim 27, the combination of Dennis, Marzban, and Walters teaches the method of claim 2, as set forth above.
Marzban further teaches “receiving the data profiler from the remote server system based on the data profiler corresponding to a hardware-specific characteristic of the user device;” [This reference teaches a server transmitting configuration information (analogous to a data profiler) to the UE (user device) based on the capabilities of the UE in in [0096]: “the network node 110 may transmit, and the UE 120 may receive, configuration information for federated learning.” See also [0097]: “the configuration information may include configuration information that configures reporting of the local training dataset distribution associated with the UE 120. In such examples, the configuration information that configures reporting of the local training dataset distribution associated with the UE 120 may be based at least in part on the UE capability information that indicates a capability of the UE 120 for reporting the local training data distribution associated with the UE 120. In some aspects, the configuration information may indicate a format for reporting the local training dataset distribution…to be used by the UE 120 to report the local training dataset distribution…In some aspects, the configuration information may configure the UE 120 to report a respective input training data distribution for each of one or more inputs in a local dataset associated with the UE 120. …the configuration information may configure the UE 120 to report an output training data distribution for an output in the local dataset associated with the UE 120…” This configuration information is analogous to a “data profiler” because it configures the UE to report the training data distribution (see also [0097]: “the configuration information may configure the UE 120 to report a P-value associated with the local training data distribution”), noting that the “data profiler” element is not further structurally defined in the claim. For examples of the capability information (step 505 in FIG. 5A) on which the configuration information is based, see [0094]-[0095]. This capability information corresponds to a “hardware-specific characteristic of the user device.” The Examiner notes that applicant’s specification does not use the term “hardware-specific characteristic.” Therefore, this term is interpreted based on an ordinary meaning of covering a characteristic specific to the UE/user device, which itself is hardware. That is, since the UE itself is a hardware, a characteristic of the capability of the specific UE is considered to be a “hardware-specific characteristic” of the UE. This is particularly applicable in the instant case where [0095] states that capabilities may be computational capabilities (e.g., “In some aspects, the UE capability information may indicate a capability for a maximum quantity of components that the UE 120 is capable of estimating for the mixture distribution.”), which are understood to be hardware capabilities.] and in response to receiving the data profiler from the remote server system, storing the data profiler on the user device. [The receipt and use of the configuration information by the UE 120 as discussed above constitutes storing it on the UE.]
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have combined the teachings of the references combined thus far, including the above teachings of Marzban, by implementing the technique of providing a data profiler to a user device so as to arrive at the claimed invention of the instant claim. The motivation would have been to configure the user device for participation in the federated learning process in a manner that takes into account its capability in in training a federated learning model, as suggested by Marzen ([0094]: “For example, the UE capability information may indicate that the UE 120 is capable of participating in training a federated learning model”; [0075]: “In this way, federated learning may enable improvements to network performance and/or user experience by leveraging the local machine learning capabilities of one or more UEs.”).
As to claim 28, the combination of Dennis, Marzban, and Walters teaches the method of claim 2, as set forth above.
Marzban further teaches “receiving the data profiler from the remote server system based on the data profiler corresponding to a data attribute of data stored the user device;” [This reference teaches a server transmitting configuration information (analogous to a data profiler) to the UE (user device) based on the capabilities of the UE in in [0096]: “the network node 110 may transmit, and the UE 120 may receive, configuration information for federated learning.” See also [0097]: “the configuration information may include configuration information that configures reporting of the local training dataset distribution associated with the UE 120. In such examples, the configuration information that configures reporting of the local training dataset distribution associated with the UE 120 may be based at least in part on the UE capability information that indicates a capability of the UE 120 for reporting the local training data distribution associated with the UE 120. In some aspects, the configuration information may indicate a format for reporting the local training dataset distribution…to be used by the UE 120 to report the local training dataset distribution…In some aspects, the configuration information may configure the UE 120 to report a respective input training data distribution for each of one or more inputs in a local dataset associated with the UE 120. …the configuration information may configure the UE 120 to report an output training data distribution for an output in the local dataset associated with the UE 120…” This configuration information is analogous to a “data profiler” because it configures the UE to report the training data distribution (see also [0097]: “the configuration information may configure the UE 120 to report a P-value associated with the local training data distribution”), noting that the “data profiler” element is not further structurally defined in the claim. For examples of the capability information (step 505 in FIG. 5A) on which the configuration information is based, see [0094]-[0095]. This capability information corresponds to a “data attribute of data stored on the user device.” See [0095]: “For example, the UE capability information may indicate one or more base distributions (for example, a Gaussian distribution, a uniform distribution, an exponential distribution, and/or an inverse Gaussian distribution, among other examples) supported by the UE 120 for reporting the local training data distribution as a mixture distribution.” Here, a “base distribution” is a data attribute of data.] “and in response to receiving the data profiler from the remote server system, storing the data profiler on the user device.” [The receipt and use of the configuration information by the UE 120 as discussed above constitutes storing it on the UE.]
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have combined the teachings of the references combined thus far, including the above teachings of Marzban, by implementing the technique of providing a data profiler to a user device so as to arrive at the claimed invention of the instant claim. The motivation would have been to configure the user device for participation in the federated learning process in a manner that takes into account its capability in in training a federated learning model, as suggested by Marzen ([0094]: “For example, the UE capability information may indicate that the UE 120 is capable of participating in training a federated learning model”; [0075]: “In this way, federated learning may enable improvements to network performance and/or user experience by leveraging the local machine learning capabilities of one or more UEs.”).
As to claim 29, the combination of Dennis, Marzban, and Walters teaches the method of claim 2, as set forth above.
Walters further teaches “wherein performing the device-side clustering comprises performing the device-side clustering of the dataset based on a dictionary, of the data profile, comprising statistics and predictions about the dataset.” [The Examiner initially notes that paragraph 40 of the specification states that “dictionary” to broadly covers “a structure to store statistical and predictive information corresponding to a dataset or a portion of a dataset.” Here, Walters teaches a data structure (a database) for storing statistics and predictive information. See [0088]: “In some embodiments, databases 180 may store a plurality of datasets and their associated dataset profile, which may be determined by, for example, data profiler 110.” [0091]: “For example, databases 180 may communicate with data profiler 110 to store statistics in a database entry. Statistics may include columns, standard deviation, frequency analysis, fuzzy overlap for entries, exact overlap for entries. Database processor 540 may develop profiles with multiple dimension. For example, the profiles may include dimensions for SSN, Address, Phone number, credit card number, and number of transactions. For classification, database processor 540 may also generate secondary columns to vectorize the data and indexes over the vectorized index.” Furthermore, extracted features (see [0061]-[0063]) are regarded as predictions because they are determined by the model.]
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have further combined the teachings of the references combined thus far, including the above teachings of Walters, so as to arrive at the claimed invention of the instant dependent claim. Since the feature extraction is part of the functions of the data profiler in Walters (see Walters, FIG. 2.), the motivation for doing so is covered by the motivation given for the teachings of Walters in the rejection of the parent claim.
As to claims 30, 32, 34-38, these claims are directed to a computer-readable media for performing operations that are the same or substantially the same as those of claims 2, 22, and 24-29, respectively. Therefore, the rejections made to claims 2, 22, 24-29 are applied to claims 30, 32, 34-38, respectively.
Furthermore, Dennis teaches “one or more non-transitory computer-readable media comprising instructions that, when executed by one or more processors, causes operations” [Since the user device of Dennis performs Algorithm 1 and other computer processes, and is described as a computing device such as a mobile phone (see discussion in the rejection of claim 2), the instant limitations, which merely recite generic feature of computing devices that operate software, are understood implied by this prior art’s disclosure.]
3. Claims 21 and 31 are rejected under 35 U.S.C. 103 as being unpatentable over Dennis in view of Marzban and Walters, and further in view of Zhou.
As to claim 21, the combination of Dennis, Marzban, and Walters teaches the method of claim 2, wherein transmitting the cluster designation comprises: […]
transmitting, via a network, the cluster designation […] to the remote server system, wherein the remote server system uses the cluster designation […] to train the one or more versions of the federated learning model at the remote server system. [This part of the claim (excluding the additional limitations at the positions denoted by “[…]”) repeats the recitations of the “transmitting” step and the wherein clause of “wherein the remote server system uses the cluster designation to train one or more versions of a federated learning model at the remote server system” that already appear in the parent independent claim. Therefore, these limitations are taught by Dennis for the same reasons given for the corresponding limitations in the rejection of the parent independent claim.].
The combination of references thus far does not teach:
(1) transmitting the cluster designation comprises: “generating, by the user device, synthetic data based on the cluster designation derived from the device-side clustering”;
(2) the limitation that “the synthetic data” is also transmitted to the remote server system” and the remote server also uses the “the synthetic data” to train the one or more versions of the federated learning model.
Zhou teaches “generating, by the user device, synthetic data based on the cluster designation derived from the device-side clustering” [Abstract: “In just one round, each client distills their private dataset, sends the synthetic data (e.g. images or sentences) to the server, and collectively trains a global model.” Note that the distillation process described here is a process of generating synthetic data, and is represented by lines 14-30 of Algorithm 1. See § 2.2, paragraph 3: “Dataset distillation [37] was introduced by Wang et al., to compress a large dataset with thousands to millions of images down to only a few synthetic training images.” In regards to “based on the cluster designation,” Algorithm 1 teaches that a batch B is selected the client’s data set Xk and the batch b is subject to the loss function ℓ in lines 24-25. Furthermore, as explained in § 3, text below equation (1), the loss function ℓ take as inputs {xi, yi} for its second argument, which in the context of {xi, yi} = B in lines 24-25 of Algorithm 1, corresponds to a label yi. Therefore, the generation of the synthetic data x~ in line 24 is based on the label yi (analogous to the malicious-activity-related cluster designation, since the cluster designation is also a label) and thus is “aligned” with such label.] and “the synthetic data” also being transmitted to the remote server system” and the remote server also using the “the synthetic data” to train the one or more versions of the federated learning model. [Abstract: “In just one round, each client distills their private dataset, sends the synthetic data (e.g. images or sentences) to the server, and collectively trains a global model.” The data is transmitted “in lieu of” the local data since Algorithm 1 teaches that the local data Xk is not transmitted. Further, Xk is described as being a “private dataset” and the purpose of distillation is to not have to send that dataset. See § 1, paragraph: “For this reason, federated learning (FL) has garnered attention due to its ability to collectively train neural networks while keeping data private.” See also § 5.2. FIG. 1 caption: “(3) transmits synthetic data, labels and learning rates to the server. (4) The server fits its model on the distilled data and (5) distributes the final model to all clients.” That is, the server uses the label to perform training.]
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have combined the teachings of the references combined thus far with the teachings of Zhou by implementing its method of generating synthetic data at the user device and transmitting it to the server, so as to arrive at the claimed invention. The motivation would have been to reduce of the communication costs of federated learning while maintaining comparable performance (see Zhou, abstract: “Inspired by recent work on dataset distillation and distributed one-shot learning, we propose Distilled One-Shot Federated Learning (DOSFL) to significantly reduce the communication cost while achieving com parable performance.”)
As to claim 31, this claim recites further limitations that are the same or substantially the same as those of claim 21. Therefore, the rejection made to claim 21 is applied to claim 31.
4. Claims 23 and 33 are rejected under 35 U.S.C. 103 as being unpatentable over Dennis in view of Marzban and Walters, and further in view of Khodak et al., “Federated Hyperparameter Tuning: Challenges, Baselines, and Connections to Weight-Sharing,” 35th Conference on Neural Information Processing Systems (NeurIPS 2021) (“Khodak”).
As to claim 23, the combination of Dennis, Marzban, and Walters teaches the method of claim 2, […] wherein the remote server system uses the cluster designation […] to train the one or more versions of the federated learning model at the remote server system [This part of the claim (excluding the additional limitations at the positions denoted by “[…]”) repeats the recitation of “wherein the remote server system uses the cluster designation to train one or more versions of a federated learning model at the remote server system” that already appears in the parent independent claim, and is therefore taught by Dennis for the same reasons given in the rejection of the parent independent claim.]
Walters further teaches “a hyperparameter derived from processing the data profile against labeled classified data profiles from the data profiler.” [[0163]: “In step 908, optimization system 105 may identify a sample data category with the closest similarity to the user data profile. In some embodiments, databases 180 may include a plurality of sample datasets, each dataset being associated with a data profile and an associated vectorization.” [0102]: “In step 708, optimization system 105 may generate primary models. Primary models may be trained with data from the data categories or buckets formed in step 704. Moreover, in step 708 at least one primary model maybe generated for each of the model types of interest. For example, if in step 704 optimization system 105 categorized data in three categories or buckets (e.g., a category for daily transactions, a category for monthly transactions, and a category for yearly transactions) and in step 706 optimization system determined four models of interest (e.g., a CNN, a RNN, a MLP, and a liner regression), in step 708 optimization system 105 may generate at least twelve primary machine-learning models, generating at least one model for each model type and each of the three data categories in step 706.” That is, the categorization forms the basis for further optimization of the model in the process of FIG. 7. Note that the overall context is tuning hyperparameters. See [0105]: “In step 712, hyper-parameters of the secondary models may be tuned”; [0111]: “In step 720, optimization system 105 may generate a database entry that associates the data category, model type, number of samples, and tuned hyper-parameters.”]
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have combined the teachings of the references combined thus and the above further teachings of Walters by modifying the method of Dennis, as already modified thus far, so as to arrive at the above limitation for claimed invention of the instant dependent claim. The motivation would have been to enable assessment of the characteristics of a model that can be trained using data that has been profiled (see [0167]: “identify the data category…to facilitate the estimation of minimum data requirements for the user data, desired accuracy, and the targeted model type.”).
The combination of references thus far does not teach “further comprising: transmitting, via a network, to the remote server system, a hyperparameter” and wherein the remote server also uses the “the hyperparameter” to train the one or more versions of the federated learning model.
Khadak teaches “further comprising: transmitting, via a network, to the remote server system, a hyperparameter” wherein the remote server uses the “the hyperparameter” to train the one or more versions of the federated learning model. [Page 2, FIG. 1 caption: “FedEx can be applied to any local training-based FL method, e.g. FedAvg, by interleaving standard updates to model weights (computed by aggregating results of local training) with exponentiated gradient updates to hyperparameters (computed by aggregating results of local validation).” In more detail, in Algorithm 2 (on page 7), line “send wti, cti,LVti (wti) to server” teaches that the client sends the hyperparameter configuration (cti) to the server, along with the model weights.]
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have combined the teachings of the references combined thus far with the teachings of Khadak by implementing the technique of Khadak in which client devices also send hyperparameter configurations to the central server, in order to enable the efficient training and evaluation of hyperparameter configurations, which is a known problem in federated learning wherein data is kept on local devices (see Khadak, abstract: “Tuning hyperparameters is a crucial but arduous part of the machine learning pipeline. Hyperparameter optimization is even more challenging in federated learning, where models are learned over a distributed network of heterogeneous devices; here, the need to keep data on device and perform local training makes it difficult to efficiently train and evaluate configurations.”).
As to claim 33, this claim recites further limitations that are the same or substantially the same as those of claim 23. Therefore, the rejection made to claim 23 is applied to claim 33.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
US 20220038534 A1 teaches a distributed learning system in which client devices transmit synthetic data to a central server.
Cho et al., “Personalized Federated Learning for Heterogeneous Clients with Clustered Knowledge Transfer,” arXiv:2109.08119v1 [cs.LG] 16 Sep 2021 teaches federated learning with the use of clustering.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to YAO DAVID HUANG whose telephone number is (571)270-1764. The examiner can normally be reached Monday - Friday 9:00 am - 5: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, Miranda Huang can be reached at (571) 270-7092. 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.
/Y.D.H./Examiner, Art Unit 2124
/MIRANDA M HUANG/Supervisory Patent Examiner, Art Unit 2124