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 .
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.
The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or non-obviousness.
Claims 1 – 2, 8 – 9, 11 – 12, and 18 - 19 are rejected under 35 U.S.C. 103 as being unpatentable over Li (NPL, Multi-task Learning-based CSI Feedback Design in Multiple Scenarios dated on 06/04/2023, by Li et al – hereinafter Li) in view of Sener (NPL, Multi-Task Learning as Multi-Objective Optimization, dated on 01/11/2019, by Sener et al - hereinafter Sener).
Referring to Claim 1, Li teaches:
generating a plurality of machine learning models that are untrained. See Li at [Page 1, Abstract]:” Our framework, called single-encoder-to-multiple-decoders (S-to-M), uses multi-task-learning to design multiple independent AEs into a joint architecture with a shared encoder that corresponds to multiple task-specific decoders.” Examiner interprets designing multiple independent AEs (auto-encoder) as equivalent as generating machine learning models. Also, see Li at [Page 17, mid]:” As depicted in Fig. 7, the training of the overall framework can be divided into two steps: For the first step, we train the MTL-based joint architecture, i.e., jointly train the shared encoder and multiple decoders with the joint loss function:” Examiner interprets Li designing the architecture having a shared encoder corresponding to multiple task-specific decoders first, then training the MTL-based joint architecture by jointly training the shared encoder and multiple decoders. Therefore, the models are initially untrained prior to the disclosed training. Thus, Li teaches the limitation.
the plurality of machine learning models contains a neural encoder and a plurality of partition decoders for a plurality of partitions that contains a first partition and a second partition. See Li at [Page 1, Abstract]:” Deep learning-based auto-encoder (AE) structures … Our framework, called single-encoder-to-multiple-decoders (S-to-M), uses multi-task-learning to design multiple independent AEs into a joint architecture with a shared encoder that corresponds to multiple task-specific decoders.” Examiner interprets the shared encoder based on Deep learning as equivalent as the neural encoder, and the single-encoder-to-multiple-decoders (S-to-M) as equivalent as a plurality of partition decoders as claimed. Also see Li at [Page 11, mid]:” We denote Dk as the dataset of the subtask Sk for the kth subregion’s CSI feedback.” Examiner interprets k subtasks for k subregions as equivalent as a plurality of partitions including the first and the second partition as claimed. Thus, Li teaches the limitation.
the plurality of partition decoders contains a first partition decoder for the first partition and a second partition decoder for the second partition; As Examiner interprets above, multiple decoders with the joint loss function, and Kth subtask denotes Kth partition. Also see Li at [Page 17, Equation (9)], In the Equation 9, Deck denotes the decoder for Kth partition. Thus, Li teaches the first decoder for the first partition, and second partition decoder for the second partition.
PNG
media_image1.png
86
828
media_image1.png
Greyscale
generating a training batch that contains a plurality of training inputs that contains a first training input in the first partition and a second training input in the second partition, wherein each training input of the plurality of training inputs occurs in exactly one partition; See Li at [Page 17, mid]:” As depicted in Fig. 7, the training of the overall framework can be divided into two steps: For the first step, we train the MTL-based joint architecture, i.e., jointly train the shared encoder and multiple decoders with the joint loss function:
PNG
media_image1.png
86
828
media_image1.png
Greyscale
where T stands for the number of subtasks with the corresponding subscript k and Nk denotes the number of training samples for the kth subtask with the corresponding superscript n.” Examiner interprets the training samples for subtasks as equivalent as a training batch containing the training inputs, and each training input (Hkn) occurs in exactly one partition as equation (9) shows.
for each training input in the plurality of training inputs in the training batch, performing: inferring, by the neural encoder, an encoding of the training input. As Li discloses above, in equation (9), the function Enc (…) as equivalent as the neural encoder, and the parameter Hkn is as equivalent as the kth training input.
selecting, based on the partition of the training input, exactly one partition decoder of the plurality of partition decoders. As Li discloses above, in equation (9), Deck (Enc (…)…), wherein the Deck as equivalent as selecting partition decoder for the training input of kth partition.
measuring a loss of a decoding, by the exactly one partition decoder, of the encoding of the training input. As Li discloses above, in equation (9), the operation ||Deck (…) - Hkn ||is as equivalent as measuring a loss of a decoding.
combining the loss of the decoding of the encoding of the training input into a batch loss that is based on all training inputs in the plurality of training inputs. As Li discloses above, in equation (9), the loss function LMTL uses sum operation
∑
k
=
1
T
(
…
)
to combine the loss of the decoding of the encoding of the training input into a batch loss.
combining the loss of the decoding of the encoding of the training input into a partition loss that is based on the plurality of training inputs only in said partition; As Li discloses above, in equation (9), the loss function LMTL uses sum operation
∑
n
=
1
N
k
(
…
)
to combine the loss of the decoding of the encoding of the training input into a partition loss.
however, it fails to teach:
backpropagating the batch loss into the neural encoder without backpropagating the batch loss into the first partition decoder; backpropagating, into the first partition decoder, said partition loss that is based on the plurality of training inputs only in the first partition.
Sener teaches:
backpropagating the batch loss into the neural encoder without backpropagating the batch loss into the first partition decoder; See Li at [Page 15, bottom]:” The shared parameters can access the samples from all tasks. In contrast, the task-specific parameters can only access their subtask samples, making it challenging to find a representation that captures all tasks and making it equivalent to a kind of data enhancement… In our S-to-M mode, the shared encoder is designed as the sharing parameter part in the hard-sharing architecture to extract the sharing representation and exploit the task correlation, such as the factors of transceiver equipment’s performance or the consistency of geography and climate in the whole cell. The multiple decoders stand for the top task-specific layers to learn the differences between the subtasks, e.g., LSPs and SSPs.” Li discloses a hard-sharing S-to-M architecture in which the shared encoder is the sharing-parameter part and the multiple decoders are task-specific layers. Li expressly states that shared parameters can access samples from all tasks, while task-specific parameters can only access their subtask samples. Also See Sener at [Page 5, Algorithm 2]:
PNG
media_image2.png
636
1196
media_image2.png
Greyscale
Sener discloses the corresponding multi-task gradient update: shared parameters Θsh are updated using a combined task-loss gradient (Line 5), while task-specific parameters Θt are updated using their respective task-specific loss gradients (Line 2). Therefore, it would have been obvious to implement Li’s S-to-M architecture using Sener’s standard multi-task gradient update scheme, whereby the batch/combined loss is backpropagated into shared neural encoder, while each task-specific decoder is updated only by its respective partition loss.
backpropagating, into the first partition decoder, said partition loss that is based on the plurality of training inputs only in the first partition. As discussed above, Li discloses that the multiple decoders are task-specific layers and that task-specific parameters can only access their subtask samples. Sener discloses updating task-specific parameters using their respective task-specific loss gradients. Thus, Li-Sener teaches backpropagating the first partition/task loss, which is based only on training inputs in the first partition/subtask, into the first partition decoder.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify the teachings of Li with the above teachings of Sener by generating the machine learning models, and training batch and performing the training, as taught by Li, backpropagating the batch loss, as taught by Sener. The modification would have been obvious because one of ordinary skill in the art would be motivated to use backward pass to compute an upper bound for the MGDA optimization objective and reduce computational overhead. See Sener at [Page 1, Abstract]: “Furthermore, we provide an upper bound for the MGDA optimization objective and show that it can be computed via a single backward pass without explicit task-specific gradients, thus making the computational overhead of the method negligible.”
Referring to Claim 2, Li-Sener teaches the method of claim 1, Li also teaches:
each partition decoder of the plurality of partition decoders has a distinct respective loss function; See Li at [Page 18, Fig 7]:
PNG
media_image3.png
348
1476
media_image3.png
Greyscale
Li’s Fig 7 shows that each task-specific decoder is associated with its own respective subtask MSE loss. For example: Decoder 1 with Subtask1 MSE loss, and Decoder2 with Subtask2 MSE loss. Thus, each partition decoder has a distinct respective loss function.
said measuring the loss of the decoding of the encoding of the training input is based on the loss function of the exactly one partition decoder of the plurality of partition decoders; As Examiner interprets above, Li’s Fig 7 shows that each subtask decoder associated with its own subtask MSE loss. Thus, Li teaches that the measured loss for the decoding is based on the loss function of the exactly selected partition decoder.
said measuring the loss of the decoding of the encoding of the training input is not based on the loss function of a partition decoder of the plurality of partition decoders that is not the exactly one partition decoder. As Exam interprets above, Li’s Fig 7 shows separate subtask specific loss paths. For example, Subtask1-data with Decoder1 and Subtask1 MSE loss, and Subtask2-data with Decoder2 and Subtask2 MSE Loss. Thus, the loss for a training input in one partition is based on the loss function of the selected partition decoder and is not based on the loss function of another partition decoder that is not selected.
The same motivation that was utilized for combining Li with Sener as set forth in claim 1 is equally applicable to claim 2.
Referring to Claim 8, Li-Sener teaches the method of claim 1. Li-Sener also teaches:
said measuring the loss of the decoding of the encoding of the training input is supervised. See Sener at [Page 14, mid]:” Since there are 40 attributes, we add 40 separate 2048 x2 dimensional fully-connected layers as task-specific functions. The final two-dimensional output is passed through a 2-class softmax to get binary attribute classification probabilities. We use cross-entropy as a task-specific loss.” Sener discloses supervised task–specific classification functions whose outputs are passed through softmax to obtain classification probabilities, and further discloses using cross entropy as a task-specific loss. Therefore, in view of Li’s partition-decoder architecture, Li-Sener teaches that the corresponding loss measurement is supervised.
The same motivation that was utilized for combining Li with Sener as set forth in claim 1 is equally applicable to claim 8.
Referring to Claim 9, Li-Sener teaches the method of claim 1. Li also teaches:
The method of claim 1 performed without learned inferring, from content of said training input, said partition of the training input. See Li at [Page 28, bottom]:” In contrast, S-to-M uses semi-supervised learning, an organic combination of unsupervised and supervised learning, where samples are manually classified by regional labels, eliminating the clustering process of S-to-S. As a result, the encoder can focus more on the sample differences within the category in the regression task.” Examiner interprets manually classifying the samples by regional labels as equivalent as performing partition of the training input without learned inferring.
The same motivation that was utilized for combining Li with Sener as set forth in claim 1 is equally applicable to claim 9.
Referring to claims 11 - 12, the claim is rejected on the same basis as claims 1 - 2, mutatis mutandis, since they are analogous claims.
Referring to claims 18 - 19, the claim is rejected on the same basis as claims 8 - 9, mutatis mutandis, since they are analogous claims.
Claims 3 – 5 and 13 - 15 are rejected under 35 U.S.C. 103 as being unpatentable over Li–Sener in view of Khandagale (NPL, Bonsai - Diverse and Shallow Trees for Extreme Multi-label Classification, dated on 08/10/2019, by Khandagale et al - hereinafter Khandagale).
Referring to Claim 3, Li-Sener teaches the method of claim 1.
However, Li-Sener fails to teach: the loss function of the first partition decoder is based on a classification loss for a plurality of classes in the first partition; the loss function of the second partition decoder is based on a classification loss for a plurality of classes in the second partition.
Khandagale teaches:
the loss function of the first partition decoder is based on a classification loss for a plurality of classes in the first partition; See Khandagale at [Page 5, mid - left]:” Once we have obtained the representation vl for each label l in the set S = {1, … , L}, the next step is to iteratively partition S into disjoint subsets. This is achieved by K-means clustering, which also presents many choices such as number of clusters and degree of balancedness among the clusters. Our goal, in this work, is to avoid propagation error in a deep tree cascade. We, therefore, choose a relatively large value of K (e.g. >= 100) which leads to shallow trees. The clustering step in Bonsai first partitions S into K disjoint sets {S1,…,SK}. Each of the elements, Sk , of the above set can be thought of as a meta-label which semantically groups actual labels together in one cluster.” Khandagale discloses partitioning a label set S = {1, … , L} into disjoint sets {S1, … , SK}, where each SK groups actual labels together. Khandagale further discloses that, once the label space is partitioned, a K-way one-vs-all liner classifier is learned at each node using squared hinge loss. Thus, Khandagale teaches a classification loss for a plurality of labels/classes in a label partition. In the view of Li’s first partition decoder corresponding to a first partition, Li – Khandagale teaches the limitation.
the loss function of the second partition decoder is based on a classification loss for a plurality of classes in the second partition. As Examiner interprets above, likewise, because Khandagale’s label partitions include S2 as another disjoint subset of labels/classes and teach classifiers with squared hinge loss for partitioned labels, the same rationale applies to Li’s second partition decoder corresponding to the second partition.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify the teachings of Li-Sener with the above teachings of Khandagale by generating the machine learning models, training batch, performing the training, and backpropagating the batch loss, as taught by Li-Sener, the loss function of the first and the second decoder, as taught by Khandagale. The modification would have been obvious because one of ordinary skill in the art would be motivated to perform fast training and better prediction accuracy. See Khandagale at [Page 1, Abstract]:” By combining the effect of shallow trees and generalized label representation, Bonsai achieves the best of both worlds - fast training which is comparable to state-of-the-art tree-based methods in XMC, and much better prediction accuracy, particularly on tail-labels. On a benchmark Amazon-3M dataset with 3 million labels, Bonsai outperforms a state-of-the-art one-vs- rest method in terms of prediction accuracy, while being approximately 200 times faster to train.”
Referring to Claim 4, Li-Sener teaches the method of claim 1.
However, Li-Sener fails to teach: the plurality of classes in the first partition and the plurality of classes in the second partition are disjoint;
Khandagale teaches:
the plurality of classes in the first partition and the plurality of classes in the second partition are disjoint. See Khandagale at [Page 5, mid - left]:” Once we have obtained the representation vl for each label l in the set S = {1, … , L}, the next step is to iteratively partition S into disjoint subsets. This is achieved by K-means clustering, which also presents many choices such as number of clusters and degree of balancedness among the clusters. Our goal, in this work, is to avoid propagation error in a deep tree cascade. We, therefore, choose a relatively large value of K (e.g. >= 100) which leads to shallow trees. The clustering step in Bonsai first partitions S into K disjoint sets {S1,…,SK}. Each of the elements, Sk , of the above set can be thought of as a meta-label which semantically groups actual labels together in one cluster.” Khandagale discloses that, after obtaining representations for labels in S= {1, … , L}, Bonsai partitions S into K disjoint sets {S1 … SK}, where each SK groups actual labels together. Thus, the classes/labels in the first partition S1 and the second partition S2 are disjoint.
The same motivation that was utilized for combining Li-Sener with Khandagale as set forth in claim 3 is equally applicable to claim 4.
Referring to Claim 5, Li-Sener teaches the method of claim 1. Li-Sener also teaches:
a sum of the plurality of probabilities can exceed one. See Sener at [Page 7, mid]:” We use the CelebA dataset (Liu et al., 2015b), which includes 200K face images annotated with 40 attributes. Each attribute gives rise to a binary classification task and we cast this as a 40-way MTL problem.” Also, see Sener at [Page 14, mid]:” Since there are 40 attributes, we add 40 separate 2048x2 dimensional fully-connected layers as task-specific functions. The final two-dimensional output is passed through a 2-class softmax to get binary attribute classification probabilities.” Sener discloses treating each attribute/class as a separate binary classification task and using separate task-specific layers to produce binary attribute classification probabilities. Examiner interprets treating each attribute as a separate binary classification task with separate task-specific classifiers as teaching a plurality of binary classification probabilities corresponding to respective classes, whereby the probabilities are independently generated, and their sum can exceed one.
However, Li-Sener fails to teach:
said decoding of the encoding of said first training input in the first partition comprises inferring a plurality of probabilities that contains a respective probability for each class in the plurality of classes in the first partition;
Khandagale teaches:
said decoding of the encoding of said first training input in the first partition comprises inferring a plurality of probabilities that contains a respective probability for each class in the plurality of classes in the first partition; See Khandagale at [Page 5, mid - left]:” The clustering step in Bonsai first partitions S into K disjoint sets {S1,…,SK}. Each of the elements, Sk , of the above set can be thought of as a meta-label which semantically groups actual labels together in one cluster.” Also, see Khandagale at [Page 7, bottom - right]:” Later, as x reaches to one or more leaf nodes, One-vs-All classifiers are evaluated to assign probabilities to each label.” As discussed above, Li teaches decoding the encoding of the first training input using the selected first partition decoder, and Khandagale teaches that the first partition includes a plurality of labels/class. Khandagale further teaches that, during prediction, one-vs-all classifiers are evaluated to assign probabilities to each label. Thus, the decoded output includes a plurality of probabilities, including a respective probability for each class/label.
The same motivation that was utilized for combining Li-Sener with Khandagale as set forth in claim 3 is equally applicable to claim 5.
Referring to claims 13 - 15, the claims is(are) rejected on the same basis as claims 3 - 5, mutatis mutandis, since they are analogous claims.
Claims 6 – 7, 10, 16- 17 and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Li – Sener in view of Alon (NPL, A General Path-Based Representation for Predicting Program Properties, dated on 04/22/2018, by Alon et al - hereinafter Alon).
Referring to Claim 6, Li-Sener teaches the method of claim 1.
However, Li-Sener fails to teach: each class in the plurality of classes in the first partition indicates a distinct path than can occur in a parse tree.
Alon teaches:
each class in the plurality of classes in the first partition indicates a distinct path than can occur in a parse tree. See Alon at [Page 1, mid – right]:” To automatically generate paths, we first parse the program to produce an AST, and then extract paths between nodes in the tree.” Alon discloses that paths are automatically generated by parsing a program to produce an AST and extracting paths between nodes in the tree. Also see Alon at [Page 5, mid - right]:” An AST pairwise path is a path between two nodes in the AST, formally defined as follows: Definition 4.2 (AST path). An AST-path of length k is a sequence n1d1...nkdknk+1, where for i ∈ [1..k + 1]: ni ∈ (N ∪T ) are terminals or nonterminals and for i ∈ [1..k]: di ∈ {↑, ↓} are movement directions (either up or down in the tree).” Alon further defines an AST path as a sequence of nodes connected by up/down movements. Thus, Alon teaches distinct syntactic tree paths generated from parsed program code. Under the broadest reasonable interpretation, such AST paths are paths that can occur in a parse-derived syntax tree; Examiner interprets Alon’s AST path as corresponding to the claimed parse-tree path because both ASTs and parse trees are syntactic tree structures produced from parsing source code. As discussed above, the first partition includes a plurality of classes/labels. Therefore, each class/label in the first partition indicates a distinct path that can occur in a parse tree.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify the teachings of Li-Sener with the above teachings of Alon by generating the machine learning models, training batch, performing the training, and backpropagating the batch loss, as taught by Li-Sener, each class in the plurality of classes in the first partition indicates a distinct path than can occur in a parse tree, as taught by Alon. The modification would have been obvious because one of ordinary skill in the art would be motivated to obtain better results crossing different tasks and programming languages. See Alon at [Page 1, Abstract]:” We evaluate our approach on the tasks of predicting variable names, method names, and full types. We use our representation to drive both CRF-based and word2vec-based learning, for programs of four languages: JavaScript, Java, Python and C#. Our evaluation shows that our approach obtains better results than task-specific handcrafted representations across different tasks and programming languages.”
Referring to Claim 7, Li-Sener teaches the method of claim 1. Li-Sener also teaches:
all encodings of the plurality of training inputs have a uniform size. See Li at [Page 16, table II]:
PNG
media_image4.png
356
724
media_image4.png
Greyscale
Li discloses that the encoder output (encoding) is a feedback code s used as the input to a fully connected layer having input dimension dim(s), and further states that dim(s) denotes the length of the feedback code. Although dim(s) may be a configurable dimension, the encodings supplied to that layer have the same predetermined size dim(s) for a given model configuration, satisfying the claimed uniform size. Thus, Li teaches the limitation.
However, Li-Sener fails to teach: each training input of the plurality of training inputs in the training batch contains a sequence of non-distinct lexical tokens that has a distinct length.
Alon teaches:
each training input of the plurality of training inputs in the training batch contains a sequence of non-distinct lexical tokens that has a distinct length. See Alon at [Page 1, Abstract]:” The main idea is to represent a program using paths in its abstract syntax tree (AST). This allows a learning model to leverage the structured nature of code rather than treating it as a flat sequence of tokens.” Examiner interprets a flat sequence of tokens as equivalent as a sequence of lexical tokens. Also, see Alon at [Page 3, Fig 2]:
PNG
media_image5.png
370
808
media_image5.png
Greyscale
Alon discloses starting with a code snippet C as an input to machine learning models and refers to the first and second occurrence of the same variable d, showing repeated(non-distinct) lexical tokens in the input. Further, See Alon at [Page 11, Fig 7, Fig 8, and Fig 9]:
PNG
media_image6.png
694
804
media_image6.png
Greyscale
Alon introduces using source-code snippets/programs as machine-learning inputs and states that code may be treated as a flat sequence of token. Alon further illustrates multiple code-snippet/program inputs of different sizes, including JavaScript, Python, and Java snippets. Since different code snippets/programs naturally contain different numbers of lexical tokens, Alon teaches the limitation that each training input contains a token sequence having its own distinct length.
The same motivation that was utilized for combining Li-Sener with Alon as set forth in claim 6 is equally applicable to claim 7.
Referring to Claim 10, Li-Sener teaches the method of claim 1.
However, Li-Sener fails to teach: each partition of the plurality of partitions is a distinct programing language.
Alon teaches:
each partition of the plurality of partitions is a distinct programing language. See Alon at [Page 1, Abstract]:” We show that this representation is general and can: (i) cover different prediction tasks, (ii) drive different learning algorithms (for both generative and discriminative models), and (iii) work across different programming languages... We use our representation to drive both CRF-based and word2vec-based learning, for programs of four languages: JavaScript, Java, Python and C#.” As discussed for claim 1, Li teaches plural partitions/subtasks. Alon discloses program learning across different programming languages. Therefore, Li-Alon teaches the limitation.
The same motivation that was utilized for combining Li-Sener with Alon as set forth in claim 6 is equally applicable to claim 10.
Referring to claims 16 – 17, the claims is(are) rejected on the same basis as claims 6 - 7, mutatis mutandis, since they are analogous claims.
Referring to claim 20, the claims is(are) rejected on the same basis as claim 10, mutatis mutandis, since they are analogous claims.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to JIAYUE MA whose telephone number is (571)272-9658. The examiner can normally be reached between 9 am to 5 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, David Yi can be reached at (571) 270-7519. 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.
/Jiayue Ma/
Examiner, Art Unit 2126
/DAVID YI/Supervisory Patent Examiner, Art Unit 2126