DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
This action is in response to the amendment filed on Jun. 24th, 2026. The amendments are linked to the original application filed on Dec. 2nd, 2021.
Response to Amendment
Regarding Claim Rejections – 35 U.S.C. 103 Rejection
Applicants Remarks:
The Applicant asserts on page 10 of the remarks that the prior art on record does not teach the claimed invention. The applicant argues that Chen and Liu fail to teach the amendments made to the independent claims.
Next, the applicant asserts on page 11 of the remarks that Briggs fails to disclose the amended limitations in the amended independent claims. The applicant asserts that the examiner’s interpretation was unclear and that Briggs fails to teach a known set or number clusters as claimed.
Finally, on page 12 of the remarks, the applicant asserts that Chen and Liu are unable to disclose the amended claims and therefore, by virtue of dependency, the remaining claims would be considered allowable.
Examiners Response:
Regarding amendments to the independent claims, the examiner agrees with the applicant that Chen and Liu alone do not teach the amendments as claimed. The applicant has amended the independent claims to recite limitations from claims 6 and 7 and canceled these claims. As stated, the examiner asserts Chen is able to disclose the limitation, “computing a total number of different class labels associated with the data transmitted by the multiple client devices, wherein the computed total number of different class labels is applicable across each of the multiple client devices,” because Chen disclose a process which discovers global pseudo labels across all clients in a federated system. Chen discloses a system of identifying and removing duplicate in the global pseudo label set. This set of labels would have known number of elements or data items. However, Chen and Liu are unable to teach the limitation “clustering the data transmitted by the multiple client devices, according to class label, in a number of groups equal to the computed total number of different class labels,” and instead the examiner relies on Briggs to teach this limitation. Therefore, the examiner relies on the combination of Chen, Liu and Briggs to teach the amended independent claims.
Regarding Briggs teaching the amended limitations, the examiner does not find the applicants argument persuasive. The amendments to the claims have been evaluated as a whole and interpreted using the BRI under MPEP 2111. Regarding the limitation: “clustering the data transmitted by the multiple client devices, according to class label, in a number of groups equal to the computed total number of different class labels,” is interpreted by the examiner to disclose a process of clustering of the different class labels across the multiple devices in the federated network. The limitation recites a broad clustering data items into a known amount of classes. The limitation further recites that the class labels are “in a number of groups equal to the computed total number of different classes” which is interpreted to mean that at least a portion of the client devices contain the known amount of classes as well. Briggs teaches a process using hierarchical clustering of data in a federated environment. The examiner, in previous office actions, attempted to highlight the fact that the total number of clusters in disclosed in Briggs can be an unknown, as the total number of class labels, can continually grow in size. However, the total number of clusters is known and is taught in (Algorithm 1 FEDERATED LEARNING WITH HIERARCHAICAL CLUSTERING (FL + HC), pp. 4) which states “n is the number of rounds of FL prior to clustering, α is the fraction of clients selected to participate in each round of FL and P is the set of hyperparameters for the hierarchical clustering algorithm. The K clients are indexed by k and C discovered clusters are indexed by c.
K
c
is the set of clients in cluster c. On the client, B is the local mini-batch size,
P
k
is the dataset available to client k, E is the number of local epochs, and η is the learning rate” (emphasis added). This equation shows Briggs teaches computing, across clients in a federated environment with C known cluster in lines 10-16. Finally as stated in line 10 the HierarcicalCLusteringAlgorithm() directly inputs data, weights from each client k, teaching the fact the clustered data is directly associated with the client data. Finally, Briggs further discloses the algorithm is executed on a server, which is also claimed, i.e. “by a cloud server”, in the first limitation of the independent claims.
Finally, after reviewing the remarks from the applicant, the examiner does not find the arguments persuasive and the examiner asserts the current amended independent claims are taught using a combination of Chen, Liu, and Briggs. Further search and consideration was completed and the examiner noted no other combinations of art was able to teach the claimed invention as claimed at this time. Finaly, after consideration and for reasons stated above, the rejection under 35 U.S.C. 103 has been upheld by the examiner.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 1, 3, 4, 8-10, 12, 13, 15, 16, 18, 20, 23, and 24 are rejected under 35 U.S.C. 103 as being unpatentable over Chen et al, (Chen et al, "FedGL: Federated Graph Learning Framework with Global Self-Supervision", 2021, hereinafter "Chen") in view of Liu et al, (Liu et al, "Client-Edge-Cloud Hierarchical Federated Learning", Oct 2019, pp. 1-6, hereinafter "Liu") and Briggs et al, (Briggs et al, "Federated learning with hierarchical clustering of local updates to improve training on non-IID data", May 2020, pp. 1-9, hereinafter "Briggs").
Regarding claim 1, Chen discloses, “A computer-implemented method comprising:” (Introduction, pp. 3) “In this paper, we propose a general Federated Graph Learning framework FedGL, which is capable of learning a high-quality graph model by discovering and exploiting the global self-supervision information to effectively deal with the heterogeneity and complementarity. The general framework is shown in Fig. 2.” This article discloses a computer implemented method which can combine graph neural networks and federated learning. The framework is seen in Fig. 2. This system can utilize private user data pools and generate global data while preserving the privacy of the users data.
“determining, by a cloud server using one or more data privacy-preserving techniques, a signature for each of multiple classes of data transmitted to the cloud server by multiple client devices within a federated learning environment, wherein the cloud server is coupled to each of the multiple client devices within the federated learning environment, and wherein determining the signature for each of the multiple classes of data comprises” (The Framework of FedGL, pp. 8) “Clients: local model training. Each client uses its local graph data to train several rounds of GCN model, obtaining model parameters 𝑊𝑘, node embeddings 𝐻𝑘, and prediction results 𝑃𝑘, then upload them to the server. Note that 𝐾 clients train their local models in parallel.” This model will perform federated learning tasks in a federated network while maintaining privacy preserving techniques. This model follows the standard federated learning architecture. Further, (Global Self-supervision Discovery, pp. 11) “Based on
P
-
, we try to discover pseudo labels for self-supervised learning, which has been proven to be effective in the learning of image and graph data [16, 24, 43, 49]. Concretely, we unearth these high-confidence prediction results from
P
-
and take out the predicted labels, thus obtaining the global pseudo labels. For the prediction result vector
P
i
-
of the 𝑖-th node in
P
-
, if its predicted probability of a certain class is higher than a certain threshold, then it is selected as a pseudo label: [See Equations (12)] where
Y
-
is the one-hot matrix of the global pseudo label, and 𝜆 ∈ [0, 1) is the confidence threshold for determining the pseudo label.” This model can utilize and generate labels from different users’ private data and make predictions with information provided by the clients. The central server will evaluate the transmitted data and generate labels for the given data and send the global labels back to the clients for further training.
“(i) computing a total number of different class labels associated with the data transmitted by the multiple client devices, wherein the computed total number of different class labels is applicable across each of the multiple client devices,” (Global Self-supervision Discovery, pp. 11) “Based on
P
-
, we try to discover pseudo labels for self-supervised learning, which has been proven to be effective in the learning of image and graph data [16, 24, 43, 49]. Concretely, we unearth these high-confidence prediction results from
P
-
and take out the predicted labels, thus obtaining the global pseudo labels.” The server will store the known labels and pseudo labels. While training and adding more labels to the data structure the model will ensure there are no repeat labels. This teaches that the data is stored in a data structure which contains a known number of labels. Further, (Algorithm 1 The algorithm of FedGL, pp. 13) This algorithm further states in lines 10-16 the cloud server will obtain a global graph of pseudo labels, and this is distributed to each to the lines in line 16. This teaches that the server and client devices will store a known number of global labels in the federated system.
“(iii) constructing multiple graphs for the multiple classes of data in accordance with results of the clustering of the data in the number of groups equal to the computed total number of different class labels,” (The Framework of FedGL, pp. 8) “Server: global self-supervision discovery. Except aggregating local model parameters to obtain a global model, we propose to discover the global self-supervision information on the server, including global pseudo label and global pseudo graph, to deal with the heterogeneity and complementarity. Specifically, server firstly performs a weighted average fusion on the prediction results 𝑃1, ..., 𝑃𝐾 to obtain the global prediction result
P
-
. Then, server selects the result with higher probability from the predicted probability vector of each row in
P
-
as the pseudo label of each node, which constitutes the one-hot matrix
Y
-
of the global pseudo label. Similarly, server performs weighted average fusion on the node embeddings 𝐻1, ..., 𝐻𝐾 to obtain the global node embedding
H
-
.” The model generates pseudo labels and global similarity graphs from data sent from the clients. The graph is used to help label the data. This model can label data types from the clients and construct a graph using the generated labels as well for further training.
“(iv) generating embeddings of at least portions of the multiple graphs;” (Graph Neural Networks, pp. 6) “Although there are numerous variants of GNNs, in this paper, we mainly focus on the most general and representative one proposed in [22]. … Following [22], we consider a two layer GCN model to obtain the final node embeddings: [See Equation (2)” As stated, Chen discloses the use of Graph neural networks which will output node embeddings of the graphs.
“identifying, by the cloud server, one or more signature matches across at least a portion of the multiple client devices based at least in part on the generated embeddings;” (The Framework of FedGL, pp. 8) “By multiplying
H
-
and its transpose, server can reconstruct the whole adjacency matrix, obtaining the weighted adjacency matrix
A
-
of the global pseudo graph. Server distributes the discovered global pseudo label
Y
-
and global pseudo graph
A
-
to each client to start the next round of training.” The server can identify pseudo labels from the data provided by the clients. The pseudo labels are saved by the server and distributed to the clients for training later as global labels after further evaluation.
“generating, by the cloud server, one or more class labels, as at least a subset of the computed total number of different class labels, for at least one or more of the multiple classes of data associated with the one or more signature matches;” (The Framework of FedGL, pp. 9) “Clients: global self-supervision utilization. The global pseudo label is regarded as the "real" label to enrich the relatively rare real training labels by constructing a self-supervised learning loss 𝐿𝑆𝑆𝐿 and adding it to the main task loss 𝐿𝐺𝐶𝑁 for joint optimization. For example in Fig. 3, edge (3, 4) in client 1 and edge (2, 4) in client 𝐾 have been well complemented. By exploiting the global pseudo label and global pseudo graph, the quality of each local model can be effectively improved, thereby leading to a high-quality global model.” The clients in this system will use the generated labels from all the other clients to train a local model and produce predictions. This model will evaluate its own generated data and use the pseudo labels to help identify and classify the data.
“labeling, by the cloud server, the at least one or more of the multiple classes of data associated with the one or more signature matches with the one or more generated class labels;” (Figure 2, pp. 8) Figure 2 discloses the general framework of the model proposed. The server will take data from the clients in the system. The central server will: “Aggregate the global weights … Discover global pseudo labels ... Construct global pseudo graph.”, during regular training. As stated, it will generate labels from the data sent to the server by the clients.
“transmitting, by the cloud server to the at least a portion of the multiple client devices, the at least one or more labeled classes of data; and” (The Framework of FedGL, pp. 8) “Server: global self-supervision discovery. Except aggregating local model parameters to obtain a global model, we propose to discover the global self-supervision information on the server, including global pseudo label and global pseudo graph, to deal with the heterogeneity and complementarity. Specifically, server firstly performs a weighted average fusion on the prediction results 𝑃1, ..., 𝑃𝐾 to obtain the global prediction result
P
-
. Then, server selects the result with higher probability from the predicted probability vector of each row in
P
-
as the pseudo label of each node, which constitutes the one-hot matrix
Y
-
of the global pseudo label. Similarly, server performs weighted average fusion on the node embeddings 𝐻1, ..., 𝐻𝐾 to obtain the global node embedding
H
-
.” The global server will evaluate the transmitted data from the clients and perform the steps listed in figure 2. After these steps are complete the central server will send an aggregated global model or parameters, updated labels and a graph to the clients in the system. The clients will then use this data to perform self-supervised learning until a training threshold is met.
“performing, by the cloud server, one or more automated actions based at least in part on the at least one or more labeled classes of data, wherein performing one or more automated actions comprises training one or more machine learning models to perform at least one federated learning task using distributed data from across the multiple client devices, wherein the distributed data comprises portions of data within the at least one or more labeled classes of data;” (Figure 3, pp. 8) The client models will perform the actions listed in figure 3. Once the clients receive the global model, graph and labels the client will automatically perform training steps using the data transmitted from the server.) Further, (Global Model, pp. 10) “Following FedAvg [34], we employ the weighted average aggregation method to aggregate the model parameters of 𝐾 clients to obtain the global model: [See Equation (10)] where 𝑁𝑘 is the number of nodes in the graph on the client 𝑘, and 𝑀 is the sum of the number of nodes in the graph of the 𝐾 clients, and 𝑊𝑘 is the model parameters of the client 𝑘.
N
k
M
denotes the proportion of the data volume of each client, which is used to measure the importance of its model parameters in aggregation.” The server will receive and evaluate the data transmitted by the clients to generate a global model. The model and model parameters are transmitted to the clients in response to the clients transmitting their data. The server will automaticity perform these actions in response to the clients sending their data.
Chen fails to explicitly disclose:
“(ii) clustering the data transmitted by the multiple client devices, according to class label, in a number of groups equal to the computed total number of different class labels,”
“wherein the method is carried out by at least one computing device comprising at least the cloud server.”
However, Liu discloses, “wherein the method is carried out by at least one computing device comprising at least the cloud server.” (Client-Edge-Cloud Hierarchical FL, pp. 2) “To combine their advantages, we consider a hierarchical FL system, which has one cloud server, L edge servers indexed by
l
, with disjoint client sets
C
l
l
=
1
L
,
and N clients indexed by i and
l
, with distributed datasets
D
i
l
i
=
1
N
.
Denote
D
l
as the aggregated dataset under edge
l
. Each edge server aggregates models from its clients.” The model in this article discloses the use of commonly used federated learning architecture. This system utilizes a cloud server to contain a global model and communicate training steps with multiple client models in the network.
Chen and Liu fail to explicitly disclose:
“(ii) clustering the data transmitted by the multiple client devices, according to class label, in a number of groups equal to the computed total number of different class labels,”
However, Briggs discloses, “(ii) clustering the data transmitted by the multiple client devices, according to class label, in a number of groups equal to the computed total number of different class labels,” (Algorithm 1 FEDERATED LEARNING WITH HIERARCHAICAL CLUSTERING (FL + HC), pp. 4) “n is the number of rounds of FL prior to clustering, α is the fraction of clients selected to participate in each round of FL and P is the set of hyperparameters for the hierarchical clustering algorithm. The K clients are indexed by k and C discovered clusters are indexed by c.
K
c
is the set of clients in cluster c. On the client, B is the local mini-batch size,
P
k
is the dataset available to client k, E is the number of local epochs, and η is the learning rate.” As stated at lines 10 of this algorithm, the method will perform a clustering method called HierarchicalClustinerAlgotihm(). This method intakes weight updates from a combination of client data from the different devices in the federated network. The number of Clusters is known and is denoted as C.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the present application to combine Chen, Liu and Briggs. Chen teaches a federated learning system that can label and train machine learning models using client data while maintaining client privacy. Liu teaches a federated system that can perform common federated learning tasks using a cloud server using separate and connected client devices. Briggs teaches a federated learning model which can improve classification of non-independent and identical data distribution. One of ordinary skill would have motivation to combine a machine learning system that uses federated learning to maintain client privacy and use client data to train and refine machine learning models with a system that discloses the use of a federated system which uses cloud servers to perform the machine learning actions with a system that is able to also use federated learning to evaluate and train models which contain non-independent and identical data distributions, "In 2 of 3 of our non-iid settings, FL+HC allows learning to converge more quickly and allows for more clients (up to 2x) to reach a target accuracy at the end of training. A second range of experiments tested the effect of varying the hyperparameters of the hierarchical clustering algorithm. Results among the non-iid settings show that FL+HC can result in a reduction in communication rounds by >Sx when using the Manhattan distance metric. Different distance metrics result in better performance depending on the non-iid nature of the data." (Briggs, Conclusion, pp. 8).
Regarding claim 3, Chen discloses, “wherein performing one or more automated actions comprises performing at least one machine learning-based operation within the federated learning environment using at least a portion of the one or more trained machine learning models.” (Figure 3, pp. 8) As seen in figure 3, the clients contain their own local machine learning models. These models are used and trained by the client with information from the central server. Further, (The Framework of Fed GL, pp. 7) “Clients: local model training. Each client uses its local graph data to train several rounds of GCN model, obtaining model parameters 𝑊𝑘, node embeddings 𝐻𝑘, and prediction results 𝑃𝑘, then upload them to the server. Note that 𝐾 clients train their local models in parallel.” The client models will receive a global model or parameters, a pseudo graph and pseudo labels from the server during training. The clients will use their own local models and the data from the central server to execute machine learning tasks for prediction or classification.
Regarding claim 4, Chen discloses, “wherein generating the one or more class labels comprises assigning, across the multiple client devices within the federated learning environment, a unique label for each respective one of the one or more classes of data associated with the one or more signature matches.” (The Framework of FedGL, pp. 9) “Clients: global self-supervision utilization. The global pseudo label is regarded as the "real" label to enrich the relatively rare real training labels by constructing a self-supervised learning loss 𝐿𝑆𝑆𝐿 and adding it to the main task loss 𝐿𝐺𝐶𝑁 for joint optimization. For example in Fig. 3, edge (3, 4) in client 1 and edge (2, 4) in client 𝐾 have been well complemented. By exploiting the global pseudo label and global pseudo graph, the quality of each local model can be effectively improved, thereby leading to a high-quality global model.” The central server will take in data from the client devices and use a global model to generate labels from the data. The labels are generated from each of the clients for every client to use all while preserving privacy of each client.
Regarding claim 8, Briggs discloses, computing embedding vectors of multiple items of data derived from the data of each of the multiple client devices.” (Client Statistical heterogeneity, pp. 2) "There should be no assumption that clients have access to data drawn independently from the same underlying distribution
-
P
i
≠
P
j
for all pairs of clients i and j." Each of the clients has separate data pools. Data is drawn from these clients, and no client will have access to other clients’ data. This data is used in Algorithm 1 to cluster and identify global data items.
Regarding claim 9, Briggs discloses, “wherein identifying one or more signature matches comprises, for each pair of embedding vectors, computing a similarity value based at least in part on at least one distance value associated with the two embedding vectors.” (Hierarchical clustering, pp. 2) "In this work we opt to use an agglomerative hierarchical clustering method which begins with all samples belonging to their own singleton cluster. Each sample is simply a vectorized local model update (the parameters of the local model). At each step of the clustering, the pairwise distance between all clusters is calculated to judge their similarity." Each of the samples taken are initially placed into their own cluster. Then the clusters are compared and merged in this case. This discloses that the pairs of vectors are compared and the distance between the pairs is measured.
Regarding claim 10, Briggs discloses, “determining a given number of the embedding vector pairs having a similarity value above a given value.” (Hierarchical clustering, pp. 2) "In this work we opt to use an agglomerative hierarchical clustering method which begins with all samples belonging to their own singleton cluster. Each sample is simply a vectorized local model update (the parameters of the local model). At each step of the clustering, the pairwise distance between all clusters is calculated to judge their similarity." Each of the samples taken are initially placed into their own cluster. Then the clusters are compared and merged in this case. This discloses that the pairs of vectors are compared, and they can be paired based on similar values.
Regarding claim 12, Liu discloses, “wherein software implementing the method is provided as a service in a cloud environment.” (Client-Edge-Cloud Hierarchical FL, pp. 2) “To combine their advantages, we consider a hierarchical FL system, which has one cloud server, L edge servers indexed by
l
, with disjoint client sets
C
l
l
=
1
L
,
and N clients indexed by i and
l
, with distributed datasets
D
i
l
i
=
1
N
.
Denote
D
l
as the aggregated dataset under edge
l
. Each edge server aggregates models from its clients.” The model in this article discloses the use of a commonly used federated learning architecture. This will with use a cloud server to contain a global model and communicate training steps with multiple client models in the network.
Regarding claim 13, Chen discloses, “determine, by the cloud server using one or more data privacy-preserving techniques, a signature for each of multiple classes of data transmitted to the cloud server by multiple client devices within a federated learning environment, wherein the cloud server is coupled to each of the multiple client devices within the federated learning environment, and wherein determining the signature for each of the multiple classes of data comprises” ” (The Framework of FedGL, pp. 8) “Clients: local model training. Each client uses its local graph data to train several rounds of GCN model, obtaining model parameters 𝑊𝑘, node embeddings 𝐻𝑘, and prediction results 𝑃𝑘, then upload them to the server. Note that 𝐾 clients train their local models in parallel.” This model will perform federated learning tasks in a federated network while maintaining privacy preserving techniques. This model follows the standard federated learning architecture. Further, (Global Self-supervision Discovery, pp. 11) “Based on
P
-
, we try to discover pseudo labels for self-supervised learning, which has been proven to be effective in the learning of image and graph data [16, 24, 43, 49]. Concretely, we unearth these high-confidence prediction results from
P
-
and take out the predicted labels, thus obtaining the global pseudo labels. For the prediction result vector
P
i
-
of the 𝑖-th node in
P
-
, if its predicted probability of a certain class is higher than a certain threshold, then it is selected as a pseudo label: [See Equations (12)] where
Y
-
is the one-hot matrix of the global pseudo label, and 𝜆 ∈ [0, 1) is the confidence threshold for determining the pseudo label.” This model can utilize and generate labels from different users private data and make predictions with information provided by the clients. The central server will evaluate the transmitted data and generate labels for the given data and send the global labels back to the clients for further training.
“(i) computing a total number of different class labels associated with the data transmitted by the multiple client devices, wherein the computed total number of different class labels is applicable across each of the multiple client devices,” (Global Self-supervision Discovery, pp. 11) “Based on
P
-
, we try to discover pseudo labels for self-supervised learning, which has been proven to be effective in the learning of image and graph data [16, 24, 43, 49]. Concretely, we unearth these high-confidence prediction results from
P
-
and take out the predicted labels, thus obtaining the global pseudo labels.” The server will store the known labels and pseudo labels. While training and adding more labels to the data structure the model will ensure there are no repeat labels. This teaches that the data is stored in a data structure which contains a known number of labels. Further, (Algorithm 1 The algorithm of FedGL, pp. 13) This algorithm further states in lines 10-16 the cloud server will obtain a global graph of pseudo labels, and this is distributed to each to the lines in line 16. This teaches that the server and client devices will store a known number of global labels in the federated system.
“(iii) constructing multiple graphs for the multiple classes of data in accordance with results of the clustering of the data in the number of groups equal to the computed total number of different class labels, and” (The Framework of FedGL, pp. 8) “Server: global self-supervision discovery. Except aggregating local model parameters to obtain a global model, we propose to discover the global self-supervision information on the server, including global pseudo label and global pseudo graph, to deal with the heterogeneity and complementarity. Specifically, server firstly performs a weighted average fusion on the prediction results 𝑃1, ..., 𝑃𝐾 to obtain the global prediction result
P
-
. Then, server selects the result with higher probability from the predicted probability vector of each row in
P
-
as the pseudo label of each node, which constitutes the one-hot matrix
Y
-
of the global pseudo label. Similarly, server performs weighted average fusion on the node embeddings 𝐻1, ..., 𝐻𝐾 to obtain the global node embedding
H
-
.” The model generates pseudo labels and global similarity graphs from data sent from the clients. The graph is used to help label the data. This model can label data types from clients and construct a graph using the generated labels as well for further training.
“(iv) generating embeddings of at least portions of the multiple graphs;” (Graph Neural Networks, pp. 6) “Although there are numerous variants of GNNs, in this paper, we mainly focus on the most general and representative one proposed in [22]. … Following [22], we consider a two layer GCN model to obtain the final node embeddings: [See Equation (2)” As stated, Chen discloses the use of Graph neural networks which will output node embeddings of the graphs.
“identify, by the cloud server, one or more signature matches across at least a portion of the multiple client devices based at least in part on the generated embeddings;” (The Framework of FedGL, pp. 8) “By multiplying
H
-
and its transpose, server can reconstruct the whole adjacency matrix, obtaining the weighted adjacency matrix
A
-
of the global pseudo graph. Server distributes the discovered global pseudo label
Y
-
and global pseudo graph
A
-
to each client to start the next round of training.” The server can identify pseudo labels from the data provided by the clients. The pseudo labels are saved by the server and distributed to the clients for training later as global labels after further evaluation.
“generate, by the cloud server, one or more class labels, as at least a subset of the computed total number of different class labels, for at least one or more of the multiple classes of data associated with the one or more signature matches;” (The Framework of FedGL, pp. 9) “Clients: global self-supervision utilization. The global pseudo label is regarded as the "real" label to enrich the relatively rare real training labels by constructing a self-supervised learning loss 𝐿𝑆𝑆𝐿 and adding it to the main task loss 𝐿𝐺𝐶𝑁 for joint optimization. For example in Fig. 3, edge (3, 4) in client 1 and edge (2, 4) in client 𝐾 have been well complemented. By exploiting the global pseudo label and global pseudo graph, the quality of each local model can be effectively improved, thereby leading to a high-quality global model.” The clients in this system will use the generated labels from all the other clients to train a local model and produce predictions. This model will evaluate its own generated data and use the pseudo labels to help identify and classify the data.
“label, by the cloud server, the at least one or more of the multiple classes of data associated with the one or more signature matches with the one or more generated class labels;” (Figure 2, pp. 8) Figure 2 discloses the general framework of the model proposed. The server will take data from the clients in the system. The central server will: “Aggregate the global weights … Discover global pseudo labels ... Construct global pseudo graph.”, during regular training. As stated, it will generate labels from the data sent to the server by the clients.
“transmit, by the cloud server to the at least a portion of the multiple client devices, the at least one or more labeled classes of data; and” (The Framework of FedGL, pp. 8) “Server: global self-supervision discovery. Except aggregating local model parameters to obtain a global model, we propose to discover the global self-supervision information on the server, including global pseudo label and global pseudo graph, to deal with the heterogeneity and complementarity. Specifically, server firstly performs a weighted average fusion on the prediction results 𝑃1, ..., 𝑃𝐾 to obtain the global prediction result
P
-
. Then, server selects the result with higher probability from the predicted probability vector of each row in
P
-
as the pseudo label of each node, which constitutes the one-hot matrix
Y
-
of the global pseudo label. Similarly, server performs weighted average fusion on the node embeddings 𝐻1, ..., 𝐻𝐾 to obtain the global node embedding
H
-
.” The global server will evaluate the transmitted data from the clients and perform the steps listed in figure 2. After these steps are complete the central server will send an aggregated global model or parameters, updated labels and a graph to the clients in the system. The clients will then use this data to perform self-supervised learning until a training threshold is met.
“perform, by the cloud server, one or more automated actions based at least in part on the at least one or more labeled classes of data, wherein performing one or more automated actions comprises training one or more machine learning models to perform at least one federated learning task using distributed data from across the multiple client devices, wherein the distributed data comprises portions of data within the at least one or more labeled classes of data.” (Figure 3, pp. 8) The client models will perform the actions listed in figure 3. Once the clients receive the global model, graph and labels the client will automatically perform training steps using the data transmitted from the server.) Further, (Global Model, pp. 10) “Following FedAvg [34], we employ the weighted average aggregation method to aggregate the model parameters of 𝐾 clients to obtain the global model: [See Equation (10)] where 𝑁𝑘 is the number of nodes in the graph on the client 𝑘, and 𝑀 is the sum of the number of nodes in the graph of the 𝐾 clients, and 𝑊𝑘 is the model parameters of the client 𝑘.
N
k
M
denotes the proportion of the data volume of each client, which is used to measure the importance of its model parameters in aggregation.” The server will receive and evaluate the data transmitted by the clients to generate a global model. The model and model parameters are transmitted to the clients in response to the clients transmitting their data. The server will automaticity perform these actions in response to the clients sending their data.
Chen fails to explicitly disclose:
“A computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a computing device, comprising a cloud server, to cause the computing device to:”
“(ii) clustering the data transmitted by the multiple client devices, according to class label, in a number of groups equal to the computed total number of different class labels,”
However, Liu discloses, “A computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a computing device, comprising a cloud server, to cause the computing device to:” (Settings, pp. 5) “We consider a hierarchical FL system with 50 clients, 5 edge servers and a cloud server, assuming each edge server authorizes the same number of clients with the same amount of training data. For the ML tasks, image classification tasks are considered and standard datasets MNIST and CIFAR-10 are used.” The model in this article experiments with multiple servers and connected clients. The method is executed on generic computing systems containing processors connected to memory which contain the instructions of the program.
Chen and Liu fail to explicitly disclose:
“(ii) clustering the data transmitted by the multiple client devices, according to class label, in a number of groups equal to the computed total number of different class labels,”
However, Briggs discloses, “(ii) clustering the data transmitted by the multiple client devices, according to class label, in a number of groups equal to the computed total number of different class labels,” (Algorithm 1 FEDERATED LEARNING WITH HIERARCHAICAL CLUSTERING (FL + HC), pp. 4) “n is the number of rounds of FL prior to clustering, α is the fraction of clients selected to participate in each round of FL and P is the set of hyperparameters for the hierarchical clustering algorithm. The K clients are indexed by k and C discovered clusters are indexed by c.
K
c
is the set of clients in cluster c. On the client, B is the local mini-batch size,
P
k
is the dataset available to client k, E is the number of local epochs, and η is the learning rate.” As stated at lines 10 of this algorithm, the method will perform a clustering method called HierarchicalClustinerAlgotihm(). This method intakes weight updates from a combination of client data from the different devices in the federated network. The number of Clusters is known and is denoted as C.
Regarding claim 15, Chen discloses, “wherein performing one or more automated actions comprises performing at least one machine learning-based operation within the federated learning environment using at least a portion of the one or more trained machine learning models.” (Figure 3, pp. 8) As seen in figure 3, the clients contain their own local machine learning models. These models are used and trained by the client with information form the central server.) And (The Framework of Fed GL, pp. 7; “Clients: local model training. Each client uses its local graph data to train several rounds of GCN model, obtaining model parameters 𝑊𝑘, node embeddings 𝐻𝑘, and prediction results 𝑃𝑘, then upload them to the server. Note that 𝐾 clients train their local models in parallel.” The client models will receive a global model or parameters, a pseudo graph and pseudo labels from the server during training. The clients will use their own local models and the data from the central server to execute machine learning tasks for prediction or classification.
Regarding claim 16, Chen discloses, “wherein generating the one or more class labels comprises assigning, across the multiple client devices within the federated learning environment, a unique label for each respective one of the one or more classes of data associated with the one or more signature matches.” (The Framework of FedGL, pp. 9) “Clients: global self-supervision utilization. The global pseudo label is regarded as the "real" label to enrich the relatively rare real training labels by constructing a self-supervised learning loss 𝐿𝑆𝑆𝐿 and adding it to the main task loss 𝐿𝐺𝐶𝑁 for joint optimization. For example in Fig. 3, edge (3, 4) in client 1 and edge (2, 4) in client 𝐾 have been well complemented. By exploiting the global pseudo label and global pseudo graph, the quality of each local model can be effectively improved, thereby leading to a high-quality global model.” The central server will take in data from the client devices and use a global model to generate labels from the data. The labels are generated from each of the clients for every client to use all while preserving privacy of each client.
Regarding claim 18, Briggs discloses, “computing embedding vectors of multiple items of data derived from the data of each of the multiple client devices.” (Client Statistical heterogeneity, pp. 2) "There should be no assumption that clients have access to data drawn independently from the same underlying distribution
-
P
i
≠
P
j
for all pairs of clients i and j." Each of the clients has separate data pools. Data is drawn from these clients, and no client will have access to other client's data. This data is used in Algorithm 1 to cluster and identify global data items.
Regarding claim 20, Chen discloses, “determine, by the cloud server using one or more data privacy-preserving techniques, a signature for each of multiple classes of data transmitted to the cloud server by multiple client devices within a federated learning environment, wherein the cloud server is coupled to each of the multiple client devices within the federated learning environment, and wherein determining the signature for each of the multiple classes of data comprises” (The Framework of FedGL, pp. 8) “Clients: local model training. Each client uses its local graph data to train several rounds of GCN model, obtaining model parameters 𝑊𝑘, node embeddings 𝐻𝑘, and prediction results 𝑃𝑘, then upload them to the server. Note that 𝐾 clients train their local models in parallel.” This model will perform federated learning tasks in a federated network while maintaining privacy preserving techniques. This model follows the standard federated learning architecture. Further, (Global Self-supervision Discovery, pp. 11) “Based on
P
-
, we try to discover pseudo labels for self-supervised learning, which has been proven to be effective in the learning of image and graph data [16, 24, 43, 49]. Concretely, we unearth these high-confidence prediction results from
P
-
and take out the predicted labels, thus obtaining the global pseudo labels. For the prediction result vector
P
i
-
of the 𝑖-th node in
P
-
, if its predicted probability of a certain class is higher than a certain threshold, then it is selected as a pseudo label: [See Equations (12)] where
Y
-
is the one-hot matrix of the global pseudo label, and 𝜆 ∈ [0, 1) is the confidence threshold for determining the pseudo label.” This model can utilize and generate labels from different users private data and make predictions with information provided by the clients. The central server will evaluate the transmitted data and generate labels for the given data and send the global labels back to the clients for further training.
“(i) computing a total number of different class labels associated with the data transmitted by the multiple client devices, wherein the computed total number of different class labels is applicable across each of the multiple client devices,” (Global Self-supervision Discovery, pp. 11) “Based on
P
-
, we try to discover pseudo labels for self-supervised learning, which has been proven to be effective in the learning of image and graph data [16, 24, 43, 49]. Concretely, we unearth these high-confidence prediction results from
P
-
and take out the predicted labels, thus obtaining the global pseudo labels.” The server will store the known labels and pseudo labels. While training and adding more labels to the data structure the model will ensure there are no repeat labels. This teaches that the data is stored in a data structure which contains a known number of labels. Further, (Algorithm 1 The algorithm of FedGL, pp. 13) This algorithm further states in lines 10-16 the cloud server will obtain a global graph of pseudo labels, and this is distributed to each to the lines in line 16. This teaches that the server and client devices will store a known number of global labels in the federated system.
“(iii) constructing multiple graphs for the multiple classes of data in accordance with results of the clustering of the data in the number of groups equal to the computed total number of different class labels, and” (The Framework of FedGL, pp. 8) “Server: global self-supervision discovery. Except aggregating local model parameters to obtain a global model, we propose to discover the global self-supervision information on the server, including global pseudo label and global pseudo graph, to deal with the heterogeneity and complementarity. Specifically, server firstly performs a weighted average fusion on the prediction results 𝑃1, ..., 𝑃𝐾 to obtain the global prediction result
P
-
. Then, server selects the result with higher probability from the predicted probability vector of each row in
P
-
as the pseudo label of each node, which constitutes the one-hot matrix
Y
-
of the global pseudo label. Similarly, server performs weighted average fusion on the node embeddings 𝐻1, ..., 𝐻𝐾 to obtain the global node embedding
H
-
.” The model generates pseudo labels and global similarity graphs from data sent from the clients. The graph is used to help label the data. This model can label data types from clients and construct a graph using the generated labels as well for further training.
“(iv) generating embeddings of at least portions of the multiple graphs;” (Graph Neural Networks, pp. 6) “Although there are numerous variants of GNNs, in this paper, we mainly focus on the most general and representative one proposed in [22]. … Following [22], we consider a two layer GCN model to obtain the final node embeddings: [See Equation (2)” As stated, Chen discloses the use of Graph neural networks which will output node embeddings of the graphs.
“identify, by the cloud server, one or more signature matches across at least a portion of the multiple client devices based at least in part on the generated embeddings;” (The Framework of FedGL, pp. 8) “By multiplying
H
-
and its transpose, server can reconstruct the whole adjacency matrix, obtaining the weighted adjacency matrix
A
-
of the global pseudo graph. Server distributes the discovered global pseudo label
Y
-
and global pseudo graph
A
-
to each client to start the next round of training.” The server can identify pseudo labels from the data provided by the clients. The pseudo labels are saved by the server and distributed to the clients for training later as global labels after further evaluation.
“generate, by the cloud server, one or more class labels, as at least a subset of the computed total number of different class labels, for at least one or more of the multiple classes of data associated with the one or more signature matches;” (The Framework of FedGL, pp. 9) “Clients: global self-supervision utilization. The global pseudo label is regarded as the "real" label to enrich the relatively rare real training labels by constructing a self-supervised learning loss 𝐿𝑆𝑆𝐿 and adding it to the main task loss 𝐿𝐺𝐶𝑁 for joint optimization. For example in Fig. 3, edge (3, 4) in client 1 and edge (2, 4) in client 𝐾 have been well complemented. By exploiting the global pseudo label and global pseudo graph, the quality of each local model can be effectively improved, thereby leading to a high-quality global model.” The clients in this system will use the generated labels from all the other clients to train a local model and produce predictions. This model will evaluate its own generated data and use the pseudo labels to help identify and classify the data.
“label, by the cloud server, the at least one or more of the multiple classes of data associated with the one or more signature matches with the one or more generated class labels;” (Figure 2, pp. 8) Figure 2 discloses the general framework of the model proposed. The server will take data from the clients in the system. The central server will: “Aggregate the global weights … Discover global pseudo labels ... Construct global pseudo graph.”, during regular training. As stated, it will generate labels from the data sent to the server by the clients.
“transmit, by the cloud server to the at least a portion of the multiple client devices, the at least one or more labeled classes of data; and” (The Framework of FedGL, pp. 8) “Server: global self-supervision discovery. Except aggregating local model parameters to obtain a global model, we propose to discover the global self-supervision information on the server, including global pseudo label and global pseudo graph, to deal with the heterogeneity and complementarity. Specifically, server firstly performs a weighted average fusion on the prediction results 𝑃1, ..., 𝑃𝐾 to obtain the global prediction result
P
-
. Then, server selects the result with higher probability from the predicted probability vector of each row in
P
-
as the pseudo label of each node, which constitutes the one-hot matrix
Y
-
of the global pseudo label. Similarly, server performs weighted average fusion on the node embeddings 𝐻1, ..., 𝐻𝐾 to obtain the global node embedding
H
-
.” The global server will evaluate the transmitted data from the clients and perform the steps listed in figure 2. After these steps are complete the central server will send an aggregated global model or parameters, updated labels and a graph to the clients in the system. The clients will then use this data to perform self-supervised learning until a training threshold is met.
“perform, by the cloud server, one or more automated actions based at least in part on the at least one or more labeled classes of data, wherein performing one or more automated actions comprises training one or more machine learning models to perform at least one federated learning task using distributed data from across the multiple client devices, wherein the distributed data comprises portions of data within the at least one or more labeled classes of data.” (Figure 3, pp. 8) The client models will perform the actions listed in figure 3. Once the clients receive the global model, graph and labels the client will automatically perform training steps using the data transmitted from the server.) Further, (Global Model, pp. 10) “Following FedAvg [34], we employ the weighted average aggregation method to aggregate the model parameters of 𝐾 clients to obtain the global model: [See Equation (10)] where 𝑁𝑘 is the number of nodes in the graph on the client 𝑘, and 𝑀 is the sum of the number of nodes in the graph of the 𝐾 clients, and 𝑊𝑘 is the model parameters of the client 𝑘.
N
k
M
denotes the proportion of the data volume of each client, which is used to measure the importance of its model parameters in aggregation.” The server will receive and evaluate the data transmitted by the clients to generate a global model. This model and model parameters are transmitted to the clients in response to the clients transmitting their data. The server will automaticity perform these actions in response to the clients sending their data.
Chen fails to explicitly disclose:
“A system comprising: a cloud server which comprises: a memory configured to store program instructions; and a processor operatively coupled to the memory to execute the program instructions to:”
“(ii) clustering the data transmitted by the multiple client devices, according to class label, in a number of groups equal to the computed total number of different class labels,”
However, Liu discloses, “A system comprising: a cloud server which comprises: a memory configured to store program instructions; and a processor operatively coupled to the memory to execute the program instructions to:” (Settings, pp. 5) “We consider a hierarchical FL system with 50 clients, 5 edge servers and a cloud server, assuming each edge server authorizes the same number of clients with the same amount of training data. For the ML tasks, image classification tasks are considered and standard datasets MNIST and CIFAR-10 are used.” The model in this article experiments with multiple servers and connected clients. The method is executed on generic computing systems containing processors connected to memory which contain the instructions of the program.
Chen and Liu fail to explicitly disclose:
“(ii) clustering the data transmitted by the multiple client devices, according to class label, in a number of groups equal to the computed total number of different class labels,”
However, Briggs discloses, “(ii) clustering the data transmitted by the multiple client devices, according to class label, in a number of groups equal to the computed total number of different class labels,” (Algorithm 1 FEDERATED LEARNING WITH HIERARCHAICAL CLUSTERING (FL + HC), pp. 4) “n is the number of rounds of FL prior to clustering, α is the fraction of clients selected to participate in each round of FL and P is the set of hyperparameters for the hierarchical clustering algorithm. The K clients are indexed by k and C discovered clusters are indexed by c.
K
c
is the set of clients in cluster c. On the client, B is the local mini-batch size,
P
k
is the dataset available to client k, E is the number of local epochs, and η is the learning rate.” As stated at lines 10 of this algorithm, the method will perform a clustering method called HierarchicalClustinerAlgotihm(). This method intakes weight updates from a combination of client data from the different devices in the federated network. The number of Clusters is known and is denoted as C.
Regarding claim 23, Briggs discloses, “wherein the processor is operatively coupled to the memory to further execute the program instructions to: compute embedding vectors of multiple items of data derived from the data of each of the multiple client devices.” (Client Statistical heterogeneity, pp. 2) "There should be no assumption that clients have access to data drawn independently from the same underlying distribution
-
P
i
≠
P
j
for all pairs of clients i and j." Each of the clients has separate data pools. Data is drawn from these clients, and no client will have access to other clients’ data. This data is used in Algorithm 1 to cluster and identify global data items.
Regarding claim 24, Briggs discloses, “wherein identifying one or more signature matches comprises, for each pair of embedding vectors, computing a similarity value based at least in part on at least one distance value associated with the two embedding vectors.” (Hierarchical clustering, pp. 2) "In this work we opt to use an agglomerative hierarchical clustering method which begins with all samples belonging to their own singleton cluster. Each sample is simply a vectorized local model update (the parameters of the local model). At each step of the clustering, the pairwise distance between all clusters is calculated to judge their similarity." Each of the samples taken are initially placed into their own cluster. Then the clusters are compared and merged in this case. This discloses that the pairs of vectors are compared and the distance between the pairs is measured.
Claims 11 and 19 are rejected under 35 U.S.C. 103 as being unpatentable over Chen, Liu and Briggs in view of Kushmerick et al, (Kushmerick et al, "Automated Email Activity Management: An Unsupervised Learning Approach", January 2005, pp. 67-74, hereinafter "Kushmerick").
Regarding claim 11, Kushmerick discloses, “identifying at least a portion of the one or more signature matches by unwrapping the given number of the embedding vector pairs, wherein unwrapping comprises determining which of the class labels of at least a first client device are mapped to which of the class labels of at least a second client device.” (Approach, pp. 70) "Given this revised distance metric, we merge the G most similar pairs of clusters, where G is a user-specified parameter." Each of the pairs are evaluated for similarity and can be merged depending on this evaluation. Under the broadest reasonable interpretation this evaluation discloses matching and pairing of data items between the pairs of clusters.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the present application to combine Chen, Liu, Briggs and Kushmerick. Chen teaches a federated learning system that can label and train machine learning models using client data while maintaining client privacy. Liu teaches a federated system that can perform common federated learning tasks using a cloud server and separate and connected client Application/Control Number: 17/540,660 Art Unit: 2147 Page 32 devices. Briggs teaches a federated learning model which can improve classification of non-independent and identical data distribution. Kushmerick teaches the use of distributed clients with unsupervised learning to help improve a global model. One of ordinary skill would have motivation to combine a machine learning system that uses federated learning to maintain client privacy and use client data to train and refine machine learning models with a system that discloses the use of a federated system which uses cloud servers to perform the machine learning actions further with a system that is able to also use federated learning to evaluate and train models which contain non-independent and identical data distributions, and finally with a system that uses unsupervised learning with distributed client's data to improve data classification accuracy, "Specifically, we make the following contributions: (1) We formalize email-based activities as finite state automata, where messages represent state transitions; (2) We specify and describe solutions to several unsupervised learning tasks in this context: activity identification, transition identification, automaton induction, and message classification; and (3) We provide empirical evidence demonstrating that our algorithms can learn process models given a small amount of unlabeled training data, and accurately update a user's state in the model as new messages arrive." (Kushmerick, Conclusions, pp. 73).
Regarding claim 19, Briggs discloses, “wherein identifying one or more signature matches comprises: for each pair of embedding vectors, computing a similarity value based at least in part on at least one distance value associated with the two embedding vectors;” (Hierarchical clustering, pp. 2) "In this work we opt to use an agglomerative hierarchical clustering method which begins with all samples belonging to their own singleton cluster. Each sample is simply a vectorized local model update (the parameters of the local model). At each step of the clustering, the pairwise distance between all clusters is calculated to judge their similarity." Each of the samples taken are initially placed into their own cluster. Then the clusters are compared and merged in this case. This discloses that the pairs of vectors are compared and the distance between the pairs is measured.
“determining a given number of the embedding vector pairs having a similarity value above a given value; and” (Hierarchical clustering, pp. 2) "In this work we opt to use an agglomerative hierarchical clustering method which begins with all samples belonging to their own singleton cluster. Each sample is simply a vectorized local model update (the parameters of the local model). At each step of the clustering, the pairwise distance between all clusters is calculated to judge their similarity." Each of the samples taken are initially placed into their own cluster. Then the clusters are compared and merged in this case. This discloses that the pairs of vectors are compared, and they can be paired based on similar values.
Chen, Liu and Briggs fail to explicitly disclose:
“identifying at least a portion of the one or more signature matches by unwrapping the given number of the embedding vector pairs, wherein unwrapping comprises determining which of the class labels of at least a first client device are mapped to which of the class labels of at least a second client device.”
However, Kushmerick discloses, “identifying at least a portion of the one or more signature matches by unwrapping the given number of the embedding vector pairs, wherein unwrapping comprises determining which of the class labels of at least a first client device are mapped to which of the class labels of at least a second client device.” (Approach, pp. 70) "Given this revised distance metric, we merge the G most similar pairs of clusters, where G is a user-specified parameter." Each of the pairs are evaluated for similarity and can be merged depending on this evaluation. Under the broadest reasonable interpretation this evaluation discloses matching and pairing of data items between the pairs of clusters.
Conclusion
The prior art made of record and not relied upon is considered pertinent to application’s disclosure:
“Multi-Participant Multi-Class Vertical Federated Learning”, 2021, Feng et al teaches a federated learning system that also utilizes data from induvial clients and generate global data items or labels. This system does not utilize graph neural networks however it performs similar functions to the claimed invention.
“Federated Graph Classification over Non-IID Graphs”, 2021, Xie et al teaches a federated system that can identify non-iid data items using graph neural networks and shared labels. This system is similar to the claimed system data because data is utilized across multiple clients to generate global data items for the network as a whole while preserving induvial client’s privacy.
THIS ACTION IS MADE FINAL. Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to PAUL MICHAEL GALVIN-SIEBENALER whose telephone number is (571)272-1257. The examiner can normally be reached Monday - Friday 8AM to 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, Viker Lamardo can be reached at (571) 270-5871. 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.
/PAUL M GALVIN-SIEBENALER/Examiner, Art Unit 2147
/ERIC NILSSON/Primary Examiner, Art Unit 2151