Detailed Action
This Office Action is in response to the remarks entered on 05/12/2026. Claims 1, 13 and 18 have been amended. Claims 1-5 and 7-20 are presently pending.
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 § 112
The following is a quotation of 35 U.S.C. 112(b):
(b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention.
The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph:
The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention.
Claim 2 is rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 U.S.C. 112, the applicant), regards as the invention.
Claim 2 recites “wherein the functions are in a same level of the machine learning algorithm.” It is unclear what does it mean for ‘in a same level of the machine learning model.’ Does it mean that the functions have to be part of the machine learning algorithm? Or the functions are aligned in parallel with the machine learning algorithm?
For purpose of examination, the examiner treats the above limitation to mean: the functions are part of the machine learning algorithm.
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claims 1-5 and 7-20 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more.
Regarding claim 1,
Step 1: Claim 1 recites a process comprising: identifying functions, determining a representative weighted value, calculating a summation, and multiplying the summation. Therefore, it is directed to the statutory category of processes.
2A Prong 1: A process comprising: identifying functions in a machine learning algorithm that comprise similar weighted values that fall within a cluster range of a cluster; (a mental process of evaluation. The limitation merely recites grouping similar functions by comparing the values of the functions, which can be done with the aid of pen and paper)
determining a representative weighted value for the identified functions; (a mental process of evaluation. Selecting a representative value from a set of value does not require a computer component and can be performed in the human mind)
calculating a summation of a plurality of input values for the identified functions; and (As stated in the claim, the claim recites a mathematical calculation - calculating a summation of values)
multiplying the summation by the representative weighted value thereby replacing multiple weight-by-input multiplications for the identified functions with additions to form the summation and a reduced number of multiplications, and thereby reducing a number of multiply operations performed for a level of the machine learning algorithm and generating an output for the identified functions; (As stated in the claim, the claim recites a mathematical calculation of multiplying a value)
2A Prong 2: providing the output to a next level in the machine learning algorithm. (insignificant extra-solution activity MPEP 2106.05(g) of transmitting data over a network)
The additional elements as disclosed above alone or in combination do not integrate the judicial exception into practical application as they are mere insignificant extra solution activity, combination of generic computer functions that are restricted to field of use are implemented to perform the disclosed abstract idea above.
2B: providing the output to a next level in the machine learning algorithm. (indicated as an insignificant extra-solution activity MPEP 2106.05(g) in Step 2A Prong 2. Therefore, the claim is re-evaluated as well understood, routine, and conventional activity MPEP 2106.05(d) of transmitting data over a network)
The additional elements as disclosed above in combination of the abstract idea are not sufficient to amount to significantly more than the judicial exception as they are well, understood, routine and conventional activity as disclosed in combination of generic computer functions and usage of elements that are restricted to field of use that are implemented to perform the disclosed abstract idea above.
Regarding claim 2,
Step 1: Processes, as above.
2A Prong 1: Incorporates the rejection of claim 1.
2A Prong 2: wherein the functions are in a same level of the machine learning algorithm. (a field of use and technological environment MPEP 2106.05(h) as the limitation merely defines where the functions are located)
2B: wherein the functions are in a same level of the machine learning algorithm. (a field of use and technological environment MPEP 2106.05(h) as the limitation merely defines where the functions are located)
Regarding claim 3,
Step 1: Processes, as above.
2A Prong 1: Incorporates the rejection of claim 1.
2A Prong 2: wherein the machine learning algorithm comprises one or more of an artificial neural network and a support vector machine. (a field of use and technological environment MPEP 2106.05(h) as the limitation merely defines a type of the function used to implement the method)
2B: wherein the machine learning algorithm comprises one or more of an artificial neural network and a support vector machine. (a field of use and technological environment MPEP 2106.05(h) as the limitation merely defines a type of the function used to implement the method)
Regarding claim 4,
Step 1: Processes, as above.
2A Prong 1: Incorporates the rejection of claim 3.
2A Prong 2: wherein the artificial neural network comprises a trained artificial neural network. (a field of use and technological environment MPEP 2106.05(h) as the limitation merely defines a type of the function used to implement the method)
2B: wherein the artificial neural network comprises a trained artificial neural network. (a field of use and technological environment MPEP 2106.05(h) as the limitation merely defines a type of the function used to implement the method)
Regarding claim 5,
Step 1: Processes, as above.
2A Prong 1: Incorporates the rejection of claim 3.
2A Prong 2: wherein the functions are associated with perceptrons. (a field of use and technological environment MPEP 2106.05(h) as the limitation merely defines a type of the function used to implement the method)
2B: wherein the functions are associated with perceptrons. (a field of use and technological environment MPEP 2106.05(h) as the limitation merely defines a type of the function used to implement the method)
Regarding claim 7,
Step 1: Processes, as above.
2A Prong 1: The process of claim 1, wherein the identifying functions in the machine learning algorithm that comprise similar weighted values comprises clustering the functions based on the weighted values of the functions. (a mental process of evaluation. The limitation merely recites grouping similar functions by comparing the values of the functions, which can be done with the aid of pen and paper)
2A Prong 2: This judicial exception is not integrated into a practical application.
2B: The claim(s) does/do not include additional elements that are sufficient to amount to significantly more than the judicial exception.
Regarding claim 8,
Step 1: Processes, as above.
2A Prong 1: wherein the clustering comprises a one-dimensional k-means algorithm. (a mathematical calculation)
2A Prong 2: This judicial exception is not integrated into a practical application.
2B: The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception.
Regarding claim 9,
Step 1: Processes, as above.
2A Prong 1: wherein the representative weighted value is determined by averaging the weighted values of the functions for the cluster. (a mental process of evaluation. Selecting a representative value by comparing the value to the average value can be done in the human mind without a computer component)
2A Prong 2: This judicial exception is not integrated into a practical application.
2B: The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception.
Regarding claim 10,
Step 1: Processes, as above.
2A Prong 1: comprising checking an accuracy of the machine learning algorithm after the multiplying the summation by the representative weighted value. (a mental process of evaluation. Checking an accuracy of the algorithm by comparing the result of the algorithm to a value does not require a computer and can be performed in the human mind)
2A Prong 2: This judicial exception is not integrated into a practical application.
2B: The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception.
Regarding claim 11,
Step 1: Processes, as above.
2A Prong 1: The process of claim 1, wherein the identifying functions in the machine learning algorithm that comprise similar weighted values and the determining a representative weighted value for the functions comprise: (a mental process of evaluation. The limitation merely recites grouping similar functions by comparing the values of the functions, which can be done with the aid of pen and paper)
selecting a threshold number of clusters; (a mental process of evaluation. The limitation merely recites picking up pre-determined number of group of data which can be done in human mind)
assigning cluster ranges to the clusters based on a range of the weighted values and the threshold number; (The broadest reasonable interpretation of ‘Assigning cluster ranges’ encompasses the mental process of recording scores which can be done with the aid of pen and paper)
determining a particular cluster with which a particular function is associated based on the weighted value of the particular function and the cluster range of the particular cluster; (a mental process of evaluation. The limitation merely recites grouping similar functions by comparing the values of the functions, which can be done with the aid of pen and paper)
determining an average weighted value for the particular cluster; and (As stated in the claim, the limitation recites a mathematical calculation of calculating a mean value)
replacing the weighted value of the particular function with the average weighted value for the particular cluster. (The broadest reasonable interpretation of ‘replacing the value of the particular function’ encompasses the mental process of recording updated scores which can be done with the aid of pen and paper)
2A Prong 2: This judicial exception is not integrated into a practical application.
2B: The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception.
Regarding claim 12,
Step 1: Processes, as above.
2A Prong 1: The process of claim 11, comprising:
determining an accuracy of the machine learning algorithm after replacing the weighted value of the particular function with the average weighted value for the particular cluster; (a mental process of evaluation. The limitation recites evaluating accuracy of the machine learning algorithm after the update by calculating average value for the scores which can be done with the aid of pen and paper)
comparing the accuracy of the machine learning algorithm to a previous accuracy of the machine learning algorithm; (a mental process of evaluation. Comparing accuracy value of programs can be done in the human mind and does not require a computer component)
incrementing the threshold number of clusters when the accuracy of the machine learning algorithm transgresses a threshold; and (The broadest reasonable interpretation of ‘incrementing the threshold number when the accuracy transgresses a threshold’ encompasses the mental process of evaluating whether the accuracy value is greater or less than the threshold value)
repeating the assigning cluster ranges to the clusters based on a range of the weighted values and the threshold number, the determining a particular cluster into which a particular function is associated based on the weighted value of the particular function and the range, the determining an average weighted value for the particular cluster, and the replacing the weighted value of the particular function with the average weighted value for the particular cluster. (The broadest reasonable interpretation of ‘assigning cluster ranges to the clusters’ and ‘replacing the value of the particular function’ encompasses the mental process of recording updated scores which can be done with the aid of pen and paper. ‘The determining a particular cluster into which particular function is associated’ is a mental process of selecting (judging) a particular function that is relevant)
2A Prong 2: This judicial exception is not integrated into a practical application.
2B: The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception.
Regarding claim 13,
Step 1: Claim 13 recites a non-transitory machine-readable medium comprising instructions. Therefore, it is directed to the statutory category of a machine.
2A Prong 1: Claim 13 is a non-transitory machine-readable medium claim having similar limitation to claim 1 above. Therefore, the claim is rejected under the same rationale as claim 1.
2A Prong 2: A non-transitory machine-readable medium comprising instructions that when executed by a processor execute a process comprising: (mere instructions to apply an exception using a computer MPEP 2106.05(f))
2B: A non-transitory machine-readable medium comprising instructions that when executed by a processor execute a process comprising: (mere instructions to apply an exception using a computer MPEP 2106.05(f))
Regarding claim 14,
Step 1: A machine, as above.
2A Prong 1: Incorporates the rejection of claim 13.
2A Prong 2: wherein the machine learning algorithm comprises one or more of an artificial neural network and a support vector machine; wherein the artificial neural network comprises a trained artificial neural network; wherein the functions are associated with perceptrons. (a field of use and technological environment MPEP 2106.05(h))
2B: wherein the machine learning algorithm comprises one or more of an artificial neural network and a support vector machine; wherein the artificial neural network comprises a trained artificial neural network; wherein the functions are associated with perceptrons. (a field of use and technological environment MPEP 2106.05(h))
Regarding claim 15,
Step 1: A machine, as above.
2A Prong 1: The non-transitory machine-readable medium of claim 13,
wherein the identifying functions in the machine learning algorithm that comprise similar weighted values comprises clustering the functions based on the weighted values of the functions; and (a mental process of evaluation. The limitation merely recites grouping similar functions by comparing the values of the functions, which can be done with the aid of pen and paper)
wherein the clustering comprises a one-dimensional k-means algorithm; (a mathematical calculation)
wherein the representative weighted value is determined by averaging the weighted values of the functions for the cluster. (a mental process of evaluation. Selecting a representative value by comparing the value to the average value can be done in human mind without a computer component)
2A Prong 2: This judicial exception is not integrated into a practical application.
2B: The claim(s) does/do not include additional elements that are sufficient to amount to significantly more than the judicial exception.
Regarding claim 16,
Step 1: A machine, as above.
2A Prong 1: Claim 16 is a non-transitory machine-readable medium claim having similar limitation to claim 11 above. Therefore, the claim is rejected under the same rationale as claim 11.
2A Prong 2: The non-transitory machine-readable medium of claim 13 (mere instructions to apply an exception using a computer MPEP 2106.05(f))
2B: The non-transitory machine-readable medium of claim 13 (mere instructions to apply an exception using a computer MPEP 2106.05(f))
Regarding claim 17,
Step 1: A machine, as above.
2A Prong 1: Claim 17 is a non-transitory machine-readable medium claim having similar limitation to claim 12 above. Therefore, the claim is rejected under the same rationale as claim 12.
2A Prong 2: The non-transitory machine-readable medium of claim 16, comprising instructions for: (mere instructions to apply an exception using a computer MPEP 2106.05(f))
2B: The non-transitory machine-readable medium of claim 16, comprising instructions for: (mere instructions to apply an exception using a computer MPEP 2106.05(f))
Regarding claim 18,
Step 1: Claim 18 recites a system comprising: a computer processor; and a computer memory coupled to the computer processor. Therefore, it is directed to the statutory category of a machine.
2A Prong 1: Claim 18 is a system claim having similar limitation to claim 1 above. Therefore, claim 18 is rejected under the same rationale as claim 1.
2A Prong 2: A system comprising: a computer processor; and a computer memory coupled to the computer processor; wherein the computer processor and computer memory are operable for: (mere instructions to apply an exception using a computer MPEP 2106.05(f))
2B: A system comprising: a computer processor; and a computer memory coupled to the computer processor; wherein the computer processor and computer memory are operable for: (mere instructions to apply an exception using a computer MPEP 2106.05(f))
Regarding claim 19,
Step 1: A machine, as above.
2A Prong 1: Claim 19 is a system claim having similar limitation to claim 11 above. Therefore, the claim is rejected under the same rationale as claim 11.
2A Prong 2: The system of claim 18, wherein the computer processor and computer memory are operable for: (mere instructions to apply an exception using a computer MPEP 2106.05(f))
2B: The system of claim 18, wherein the computer processor and computer memory are operable for: (mere instructions to apply an exception using a computer MPEP 2106.05(f))
Regarding claim 20,
Step 1: A machine, as above.
2A Prong 1: Claim 20 is a system claim having similar limitation to claim 12 above. Therefore, the claim is rejected under the same rationale as claim 12.
2A Prong 2: The system of claim 19, wherein the computer processor and computer memory are operable for: (mere instructions to apply an exception using a computer MPEP 2106.05(f))
2B: The system of claim 19, wherein the computer processor and computer memory are operable for: (mere instructions to apply an exception using a computer MPEP 2106.05(f))
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claim 1-5, 7-8, 10, 13-14 and 18 are rejected under 35 U.S.C. 103 as being unpatentable over Han et al. (Han et al, 2019, “DEEP COMPRESSION: COMPRESSING DEEP NEURAL NETWORKS WITH PRUNING, TRAINED QUANTIZATION AND HUFFMAN CODING”, hereinafter ‘Han’) in view of Garland et al. (Garland & Gregg, “Low Complexity Multiply Accumulate Unit for Weight-Sharing Convolutional Neural Networks”, 2017, hereinafter ‘Garland’)
Regarding claim 1, Han teaches a process comprising:
identifying functions in a machine learning algorithm that comprise similar weighted values that fall within a cluster range of a cluster; ([Han, page 3, Figure 3] and [Han, page 3, the last paragraph, line 1 – page 4, line 2] collectively disclose grouping similar weights (identifying similar weighted values) to share the same value (blue, green, red and orange). [page 4, 3.2 INITIALIZATION OF SHARED WEIGHTS, 4th para] and [page 8, 6.2 CENTROID INITIALIZATION, 2nd para] The centroids are initialized based on min and max value, which are the cluster range of a cluster)
determining a representative weighted value for the identified functions; ([Han, page 3, Figure 3] and [Han, page 3, the last paragraph, line 1 – page 4, line 2] collectively disclose grouping similar weights to share the same value (blue, green, red and orange). [Han, page 4, 3.1 WEIGHT SHARING, line 1-8] discloses generating a representative weight (shared weights) for each layer. The weights are not shared across layers. [Han, 3.3 FEED-FORWARD AND BACK-PROPAGATION, line 1-9] discloses that the centroids of the one-dimensional k-means clustering are the shared weights)
However, Han does not specifically disclose:
calculating a summation of a plurality of input values for the identified functions; and
multiplying the summation by the representative weighted value thereby replacing multiple weight-by-input multiplications for the identified functions with additions to form the summation and a reduced number of multiplications, and thereby reducing a number of multiply operations performed for a level of the machine learning algorithm and generating an output for the identified functions;
providing the output to a next level in the machine learning algorithm.
Garland teaches:
calculating a summation of a plurality of input values for the identified functions; and ([Garland, page 133, left col, line 7-21] and [Garland, page 133, Fig. 3 and Fig. 4] Fig.3 and Fig.4 shows how image value 26.7 and 6.1 are accumulated to 26.7+6.1=32.8 (a summation of a plurality of input values 26.7 and 6.1). The paragraph further discloses multiplying the accumulated image values (the summation) by the representative weight value. For example,)
multiplying the summation by the representative weighted value thereby replacing multiple weight-by-input multiplications for the identified functions with additions to form the summation and a reduced number of multiplications, and thereby reducing a number of multiply operations performed for a level of the machine learning algorithm and generating an output for the identified functions; ([Garland, page 133, left col, line 7-21] and [Garland, page 133, Fig. 3 and Fig. 5] discloses multiplying the accumulated image values (the summation) by the representative weight value. For example, [page 133, Fig.3 and Fig.4] shows how image value 26.7 and 6.1 are accumulated to 26.7+6.1=32.8 and [page 133, Fig. 5] multiplied by the representative weight value 1.7 for the bin 0 to obtain the final result 55.76. [Garland, page 132, right col, 3 APPROACH, lines 1-15] The method reduces the amounts of calculations by doing the accumulation first followed by a shared post-pass multiplications)
providing the output to a next level in the machine learning algorithm. ([Garland, page 133, right col, Fig. 5] discloses each accumulated and multiplied values are summed again (the next level) to generate the final result 32.8*1.7+0.4*3.4+1.3*4.8+2.0*17.7 = 98.8)
Before the effective filing date of the invention to a person of ordinary skill in the art, it would have been obvious, having the teachings of Han and Garland to use the method of multiplying the summation of input data of Garland to implement the machine learning method of Han. Han teaches how to compress a network using weight sharing, but is silent on performing inference on a weight-shared network. Garland discloses how to efficiently perform the inference in a network with weight sharing in [Garland, page 135, left col, 5 RELATED WORK, line 18-27] “Both weight sharing [1], [2] and weight reuse reduce redundant data movement through different but complementary approaches.” Therefore, applying the method of Garland to implement the method of Han improves the technology.
Regarding claim 2, Han teaches:
wherein the functions are in a same level of the machine learning algorithm. ([Han, page 4, 3.1 WEIGHT SHARING, line 1-8] discloses generating a representative weight (shared weights) for each layer. The weights are not shared across layers. This indicates that the clustered weights are in a same level (layer) of the machine learning algorithm)
Regarding claim 3, Han teaches:
The process of claim 1, wherein the machine learning algorithm comprises one or more of an artificial neural network and a support vector machine. ([Han, page 3, 3 TRAINED QUANTIZATION AND WEIGHT SHARING, last para; Figure 3] Since the limitation recites ‘one or more of’ an artificial neural network and a support vector machine, therefore the algorithm that comprises only an ANN teaches the claim element. The paragraph discloses a single layer neural network with four input units and four output units)
Regarding claim 4, Han teaches:
the process of claim 3, wherein the artificial neural network comprises a trained artificial neural network. ([Han, page 4, 3.1 WEIGHT SHARING, line 1-8] discloses using k-means clustering to identify the shared weights for each layer of a trained neural network)
Regarding claim 5, Han teaches:
the process of claim 3, wherein the functions are associated with perceptrons. ([Han, page 3, 3 TRAINED QUANTIZATION AND WEIGHT SHARING, last para; Figure 3] discloses a single layer neural network with four input units and four output units. The perceptron means a simplest form of a neural network that makes decision by receiving input data and generating output data)
Regarding claim 7, Han teaches:
The process of claim 1, wherein the identifying functions in the machine learning algorithm that comprise similar weighted values comprises clustering the functions based on the weighted values of the functions. ([Han, page 3, Figure 3] and [Han, page 3, the last paragraph, line 1 – page 4, line 2] collectively disclose grouping similar weights to share the same value (blue, green, red and orange). [Han, page 4, 3.1 WEIGHT SHARING, line 1-8] discloses generating a representative weight (shared weights) for each layer based on k-means clustering method)
Regarding claim 8, Han teaches:
The process of claim 7, wherein the clustering comprises a one-dimensional k-means algorithm. ([Han, page 4, 3.1 WEIGHT SHARING, line 1-8] and [Han, 3.3 FEED-FORWARD AND BACK-PROPAGATION, line 1-9] collectively disclose that the centroids of the one-dimensional k-means clustering are the shared weights)
Regarding claim 10, Han teaches:
The process of claim 1, comprising checking an accuracy of the machine learning algorithm after the [Han, page 8, Figure 6, Figure 7, and Figure 8] discloses comparing accuracy v.s. compression rate of different compression methods. [Han, page 4, 3.1 WEIGHT SHARING, line 1-8] discloses compressing a neural network by identifying representative weights)
Han does not specifically disclose:
checking an accuracy of the machine learning algorithm after the multiplying the summation by the representative weighted value.
Garland teaches:
checking an [Garland, page 133, right col, 4 EVALUATION, line 1 – page 134, right col, 4th para] discloses measuring power consumption performance measured after the multiplication disclosed in [Garland, page 133, left col, line 7-21] and [Garland, page 133, Fig. 3 and Fig. 4])
Regarding claim 13,
Han teaches:
A non-transitory machine-readable medium comprising instructions that when executed by a processor execute a process comprising: ([Han, page 9, 6.3 SPEEDUP AND ENERGY EFFICIENCY, 2nd and 3rd para] discloses that the system is implemented using the NVIDIA GeForce GTX Titan X and the Intel Core i7 5930K as desktop processors (same package as NVIDIA Digits Dev Box) and NVIDIA Tegra K1 as mobile processor)
Claim 13 is a non-transitory machine-readable medium claim having similar limitation to claim 1 above. Therefore, the claim is rejected under the same rationale as claim 1.
Regarding claim 14, Han teaches:
The non-transitory machine-readable medium of claim 13, wherein the machine learning algorithm comprises one or more of an artificial neural network and a support vector machine; ([Han, page 3, 3 TRAINED QUANTIZATION AND WEIGHT SHARING, last para; Figure 3] Since the limitation recites ‘one or more of’ an artificial neural network and a support vector machine, therefore the algorithm that comprises only an ANN teaches the claim element. The paragraph discloses a single layer neural network with four input units and four output units)
wherein the artificial neural network comprises a trained artificial neural network; ([Han, page 4, 3.1 WEIGHT SHARING, line 1-8] discloses using k-means clustering to identify the shared weights for each layer of a trained neural network)
wherein the functions are associated with perceptrons. ([Han, page 3, 3 TRAINED QUANTIZATION AND WEIGHT SHARING, last para; Figure 3] discloses a single layer neural network with four input units and four output units. The perceptron means a simplest form of a neural network that makes decision by receiving input data and generating output data)
Regarding claim 18,
Han teaches:
A system comprising: a computer processor; and a computer memory coupled to the computer processor; wherein the computer processor and computer memory are operable for: ([Han, page 9, 6.3 SPEEDUP AND ENERGY EFFICIENCY, 2nd and 3rd para] discloses that the system is implemented using the NVIDIA GeForce GTX Titan X and the Intel Core i7 5930K as desktop processors (same package as NVIDIA Digits Dev Box) and NVIDIA Tegra K1 as mobile processor)
Claim 18 is a system claim having similar limitation to claim 1 above. Therefore, the claim is rejected under the same rationale as claim 1.
Claims 9, 11-12, 15-17 and 19-20 are rejected under 35 U.S.C. 103 as being unpatentable over Han in view of Garland and further in view of Bradley et al. (US 6449612 B1, hereinafter ‘Bradley’).
Regarding claim 9, Han teaches:
The process of claim 7, wherein the representative weighted value is determined by [Han, page 3, Figure 3] and [Han, page 3, the last paragraph, line 1 – page 4, line 2] collectively disclose grouping similar weights to share the same value (blue, green, red and orange). [Han, page 4, 3.1 WEIGHT SHARING, line 1-8] discloses generating a representative weight (shared weights) for each layer. The weights are not shared across layers. [Han, 3.3 FEED-FORWARD AND BACK-PROPAGATION, line 1-9] discloses that the centroids of the one-dimensional k-means clustering, which are mean values of the clusters, are the shared weights. The calculation of centroids is disclosed in detail by Bradley)
However, Han in view of Garland does not specifically disclose:
the representative weighted value is determined by averaging the weighted values of the functions for the cluster.
Bradley teaches:
the representative averaging the [Bradley, col 13, line 64-66] and [col 4, line 59-67] specifically disclose that the centroids are determined based on means (average) of the data value within a cluster)
Before the effective filing date of the invention to a person of ordinary skill in the art, it would have been obvious, having the teachings of Han, Garland, and Bradley to use the method of calculating average (mean, centroids) value of the cluster of Bradley to implement the clustering method of Han. The suggestion and/or motivation to do so is to improve the accuracy of the clustering system. The combination of Han and Garland teaches how to compress a network with weight sharing and k-means clustering, but is silent on adjusting the threshold number of clusters in the k-means clustering algorithm based on the evaluation and calculating ‘average’ of the cluster. Bradley discloses how to improve the accuracy of the clustering algorithm by calculating centroids using ‘average’ and adjusting the threshold number of clusters in [Bradley, ABSTRACT]. Therefore, combining Han, Garland, and Bradley improves the technology.
Regarding claim 11, Han teaches:
The process of claim 1, wherein the identifying functions in the machine learning algorithm that comprise similar weighted values and the determining a representative weighted value for the functions comprise: ([Han, page 3, Figure 3] and [Han, page 3, the last paragraph, line 1 – page 4, line 2] collectively disclose grouping similar weights to share the same value (blue, green, red and orange). [Han, page 4, 3.1 WEIGHT SHARING, line 1-8] discloses generating a representative weight (shared weights) for each layer based on a one-dimensional k-means algorithm. The weights are not shared across layers)
determining an [Han, page 4, 3.1 WEIGHT SHARING, line 1-8] discloses generating a representative weight (shared weights) for each layer. The weights are not shared across layers. [Han, 3.3 FEED-FORWARD AND BACK-PROPAGATION, line 1-9] discloses that the centroids of the one-dimensional k-means clustering, which are the mean values of each cluster, are the shared weights. The calculation of centroids is disclosed in detail by Bradley)
replacing the weighted value of the particular function with the [Han, page 4, 3.1 WEIGHT SHARING, line 1-8] discloses generating a representative weight (shared weights) for each layer. The weights are not shared across layers. [Han, 3.3 FEED-FORWARD AND BACK-PROPAGATION, line 1-9] discloses that the centroids of the one-dimensional k-means clustering, which are the mean values of each cluster, are the shared weights. The calculation of centroids is disclosed in detail by Bradley)
Han in view of Garland does not specifically disclose:
selecting a threshold number of clusters;
assigning cluster ranges to the clusters based on a range of the weighted values and the threshold number;
determining a particular cluster with which a particular function is associated based on the weighted value of the particular function and the cluster range of the particular cluster;
determining an average weighted value for the particular cluster;
Bradley teaches:
selecting a threshold number of clusters; ([Bradley, col 13, line 9-15] and [Fig. 7, block 115] discloses updating the cluster number K (threshold number) at Step 115. The cluster number may increase by one. The iteration continues when stopping criteria 140 has not been met. [col 15, lines 26-39] discloses adjusting the number of cluster by selecting one cluster from a set of clusters, and then evaluate the log likelihood based on the selected cluster)
assigning cluster ranges to the clusters based on a range of the weighted values and the threshold number; ([Bradley, col 17, line 9-51] and [Bradley, Fig. 3, block 140] collectively disclose the first stopping criteria that is defined by a probability function p(x). The maximum difference parameter over the last r iterations are evaluated and if no difference exceeds a stopping tolerance ST (cluster ranges) then the first stopping criteria has been satisfied and the model is output)
determining a particular cluster with which a particular [Bradley, col 4, line 59 – col 5, line 34] discloses assigning a particular data point (weight value) to a particular cluster based on its Gaussian G2 with a weighting factor proportional to h2 (probability density value) that is given by the vertical distance from the horizontal axis to the curve G2 or G1 (cluster range) )
determining an average weighted value for the particular cluster; ([Bradley, col 13, line 64-66] and [col 4, line 59-67] specifically disclose that the centroids are determined based on means (average) of the data value within a cluster)
Before the effective filing date of the invention to a person of ordinary skill in the art, it would have been obvious, having the teachings of Han, Garland, and Bradley to use the method of adjusting a threshold number of clusters in a k-means clustering system based on an evaluation of Bradley to implement the machine learning method of Han. The suggestion and/or motivation to do so is to improve the accuracy of the clustering system. The combination of Han and Garland teaches how to compress a network with weight sharing and k-means clustering, but is silent on adjusting the threshold number of clusters in the k-means clustering algorithm based on the evaluation. Bradley discloses how to improve the accuracy of the clustering algorithm by adjusting the threshold number of clusters and evaluating the cluster model in [Bradley, ABSTRACT]. Therefore, combining Han, Garland, and Bradley improves the technology.
Regarding claim 12, Han teaches:
The process of claim 11, comprising: determining an accuracy of the machine learning algorithm after replacing the weighted value of the particular function with the average weighted value for the particular cluster; ([Han, page 8, Figure 6, Figure 7, and Figure 8] discloses comparing accuracy v.s. compression rate of different compression methods. [Han, page 4, 3.1 WEIGHT SHARING, line 1-8] discloses compressing a neural network by identifying representative weights and [Han, 3.3 FEED-FORWARD AND BACK-PROPAGATION, line 1-5] discloses that the centroids of the one-dimensional k-means clustering are the shared weights. It is inherent that the centroids of the one-dimensional k-means clustering are determined by averaging all data points (weights) assigned to the cluster)
comparing the accuracy of the machine learning algorithm to a previous accuracy of the machine learning algorithm; ([Han, page 6, Table 1, Table 2, and Table 3] discloses comparing the original accuracy of LeNet 300-100 Ref, LeNet-5 Ref, AlexNet Ref, and VGG-16 Ref to the accuracy of the compressed neural networks LeNet 300-100 Compressed, LeNet-5 Compressed, AlexNet Compressed, and VGG-16 Compressed)
the determining an [Han, page 4, 3.1 WEIGHT SHARING, line 1-8] discloses generating a representative weight (shared weights) for each layer. The weights are not shared across layers. [Han, 3.3 FEED-FORWARD AND BACK-PROPAGATION, line 1-9] discloses that the centroids of the one-dimensional k-means clustering, which are the mean values of each cluster, are the shared weights. The calculation of centroids is disclosed in detail by Bradley)
However, Han in view of Garland does not specifically disclose:
incrementing the threshold number of clusters when the accuracy of the machine learning algorithm transgresses a threshold; and
repeating the assigning cluster ranges to the clusters based on a range of the weighted values and the threshold number, the determining a particular cluster into which a particular function is associated based on the weighted value of the particular function and the range;
the determining an average weighted value for the particular cluster
Bradley teaches:
incrementing the threshold number of clusters when the accuracy of the machine learning algorithm transgresses a threshold; and ([Bradley, col 13, line 9-15] and [Fig. 7, block 115] discloses updating the cluster number K (threshold number) at Step 115. The cluster number may increase by one. The iteration continues when stopping criteria 140 has not been met. [Bradley, col 17, line 9-51] and [Bradley, Fig. 3, block 140] collectively disclose the first stopping criteria that is defined by a probability function p(x). The maximum difference parameter over the last r iterations are evaluated and if no difference exceeds a stopping tolerance ST (cluster ranges) then the first stopping criteria has been satisfied and the model is output)
repeating the assigning cluster ranges to the clusters based on a range of the weighted values and the threshold number, the determining a particular cluster into which a particular average [Bradley, col 13, line 9-15] and [Fig. 7, block 115] discloses updating the cluster number K (threshold number) at Step 115. The cluster number may increase by one. The iteration continues when stopping criteria 140 has not been met (repeating the assigning cluster ranges to the clusters). The maximum difference parameter over the last r iterations are evaluated and if no difference exceeds a stopping tolerance ST (cluster ranges) then the first stopping criteria has been satisfied and the model is output. [Bradley, col 4, line 59 – col 5, line 34] discloses assigning a particular data point (weight value) to a particular cluster based on its Gaussian G2 with a weighting factor proportional to h2 (probability density value) that is given by the vertical distance from the horizontal axis to the curve G2 or G1 (cluster range). [Bradley, col 13, line 64-66] and [col 4, line 59-67] specifically disclose that the centroids are determined based on means (average) of the data value within a cluster)
Regarding claim 15, Han teaches:
The non-transitory machine-readable medium of claim 13, wherein the identifying functions in the machine learning algorithm that comprise similar weighted values comprises clustering the functions based on the weighted values of the functions; ([Han, page 3, Figure 3] and [Han, page 3, the last paragraph, line 1 – page 4, line 2] collectively disclose grouping similar weights (identifying similar weighted values) to share the same value (blue, green, red and orange))
wherein the clustering comprises a one-dimensional k-means algorithm; ([Han, page 3, Figure 3] and [Han, page 3, the last paragraph, line 1 – page 4, line 2] collectively disclose grouping similar weights to share the same value (blue, green, red and orange). [Han, page 4, 3.1 WEIGHT SHARING, line 1-8] and [Han, 3.3 FEED-FORWARD AND BACK-PROPAGATION, line 1-9] collectively disclose that the centroids of the one-dimensional k-means clustering are the shared weights)
wherein the representative weighted value is determined by [Han, page 4, 3.1 WEIGHT SHARING, line 1-8] discloses generating a representative weight (shared weights) for each layer. The weights are not shared across layers. [Han, 3.3 FEED-FORWARD AND BACK-PROPAGATION, line 1-9] discloses that the centroids of the one-dimensional k-means clustering, which are the mean values of each cluster, are the shared weights)
Han in view of Garland does not specifically disclose:
wherein the representative weighted value is determined by averaging the weighted values of the functions for the cluster;
Bradley teaches:
wherein the representative averaging the [Bradley, col 13, line 64-66] and [col 4, line 59-67] specifically disclose that the centroids are determined based on means (average) of the data value within a cluster)
Claim 16 is a non-transitory machine-readable medium claim having similar limitation to claim 11 above. Therefore, the claim is rejected under the same rationale as claim 11.
Claim 17 is a non-transitory machine-readable medium claim having similar limitation to claim 12 above. Therefore, the claim is rejected under the same rationale as claim 12.
Regarding claim 19, Han teaches:
The system of claim 18, wherein the computer processor and computer memory are operable for: ([Han, page 9, 6.3 SPEEDUP AND ENERGY EFFICIENCY, 2nd and 3rd para] discloses that the system is implemented using the NVIDIA GeForce GTX Titan X and the Intel Core i7 5930K as desktop processors (same package as NVIDIA Digits Dev Box) and NVIDIA Tegra K1 as mobile processor)
Claim 19 is a system claim having similar limitation to claim 11 above. Therefore, the claim is rejected under the same rationale as claim 11.
Regarding claim 20, Han teaches:
The system of claim 19, wherein the computer processor and the computer memory are operable for: ([Han, page 9, 6.3 SPEEDUP AND ENERGY EFFICIENCY, 2nd and 3rd para] discloses that the system is implemented using the NVIDIA GeForce GTX Titan X and the Intel Core i7 5930K as desktop processors (same package as NVIDIA Digits Dev Box) and NVIDIA Tegra K1 as mobile processor)
Claim 20 is a system claim having similar limitation to claim 12 above. Therefore, the claim is rejected under the same rationale as claim 12.
Response to Arguments
Response to Arguments under 35 U.S.C. 101
Arguments: Applicant asserts that (a) the claims are expressly rooted in execution of a machine learning algorithm and weights and inputs and does not performed in isolation as “mere math” [Remarks, page 8-9], (b) the claims integrate the exception into a practical application by reducing number of multiplications and additional additions and the “next level” is not a generic network transmission step but machine learning algorithm propagation [Remarks, page 9], (c) the claims recite significantly more than any alleged judicial exceptions as it reduces the number of multiplications performed.
Examiner’s Response: Examiner respectfully disagrees. Regarding (a), even though the invention is tied to a machine learning algorithm, the claim 1 merely recites (1) gathering similar weighted values that fall within a range, (2) determining a representative value, (3) calculating a summation of input values, and (4) multiplying the summation by the representative weighted value to generate an output. The processes do not require a computer component and can be performed in one’s mind, because anyone who learned basic mathematics can 1. gather similar values, 2. determining a representative value, 3. calculate a summation of values and then multiplying the summation by the representative value.
Regarding (b), “reducing number of multiplications and additional additions” does not integrate the recited judicial exception into a practical application because reducing the number of calculations is not a practical application of the recited process of 1. gathering similar weighted values that fall within a range, 2. determining a representative value, 3. calculating a summation of input values, 4. multiplying the summation by the representative weighted value to generate an output. Additionally, “providing the output to a next level in the machine learning algorithm” does not integrate the exception into a practical application because it is merely a ‘post-solution activity’ as it merely discloses outputting the values computed according to a mathematical formula (summation-multiplication).
Regarding (c), for at least the same reasons as discussed in (b), “reducing number of multiplications and additional additions” is a mathematical calculation, and “providing the output to a next level in the machine learning algorithm” is well understood, routine and conventional activity MPEP 2106.05(d) of transmitting data over a network.
Accordingly, arguments to claims 1, 13 and 18 are not persuasive. Therefore, arguments to dependent claims 2-5, 7-12, 14-17 and 19-20 are not persuasive.
Response to Arguments under 35 U.S.C. 112
Amended claims were received on 05/12/2026. 35 U.S.C. 112 rejections regarding claims 1 and 13 have been withdrawn. 35 U.S.C. 112(b) rejections regarding claim 2 is currently remaining.
Response to Arguments under 35 U.S.C. 103
Arguments: Applicant asserts that (a) Han does not teach ‘for a group of functions identified based on similar weights’ [Remarks, page 11], (b) Garland’s process is not the claimed process of (i) identifying functions in a machine learning algorithm that have similar weighted values and (ii) calculating a summation of a plurality of input values for the identified functions, (c) Han already teaches the compressed network is usable and it does not follow that a person of ordinary skill would have been motivated to specifically restructure inference computation by using the disclosed methods [Remarks, page 12], and (d) the cited references do not teach the claim 1 limitations as amended [Remarks, page 13].
Examiner’s Response: Examiner respectfully disagrees. Regarding (a), [Han, page 3, last para] explicitly disclose “similar weights are grouped together to share the same value.” Functions in neural networks are activation functions which are characterized by weights and input data, and Han clearly disclose grouping weights and restricting weights by combining weights. Therefore, argument (a) is not persuasive.
Regarding (b), ‘(i) identifying functions in a machine learning algorithm that have similar weighted values’ is taught by Han, and ‘(ii) calculating a summation of a plurality of input values for the identified functions’ is taught by Garland as Fig. 4 clearly disclose calculating summations of the input image values and then multiplying pretrained weight values to the summed image values. It is obvious for someone who knows the art to combine the ‘identifying similar weights together to share to same value’ of Han and ‘calculating a summation of a plurality of input values for the identified (pre-trained, adjusted, combined…) functions’ of Garland to reduce the number of multiplications of Han. Therefore, argument (b) is not persuasive.
Regarding (c), even though Han already teaches the compressed network is usable, the examiner believes that the weight-sharing method of Garland enables more efficient processing of neural networks compared to Han. Therefore, it is obvious for someone who knows the art to combine the neural network compression method of Han with weight-sharing method of Garland to implement the present invention.
Regarding (d), the examiner believes that the combination of Han and Garland teaches the claim 1 limitations as amended, because (i) [Han, page 4, 3.2 INITIALIZATION OF SHARED WEIGHTS, 4th para] and [page 8, 6.2 CENTROID INITIALIZATION, 2nd para] specifically disclose that the centroids of the clusters are determined based on min and max values, and (ii) [Garland, page 132, right col, 3 APPROACH, lines 1-15] discloses that the method of Garland reduces the amounts of calculations by doing the accumulation first followed by a shared post-pass multiplications. Accordingly, arguments (d) are not persuasive.
Claims 2-5
Arguments regarding claim 1 are not persuasive. Therefore, arguments regarding Claims 2-5 which depend from Claim 1 are not persuasive.
Claims 7-8
Arguments regarding claim 1 are not persuasive. Therefore, arguments regarding Claims 7-8 which depend from Claim 1 are not persuasive.
Claim 10
Arguments: Applicant asserts that measuring power/performance of an implementation is not teaching of “checking an accuracy of the machine learning algorithm” after performing the claimed multiplication.
Examiner’s Response: Examiner respectfully disagrees. [Garland, page 133, right col, 4 EVALUATION, line 1 – page 134, right col, 4th para] at least teaches performing any type of performance evaluation after the multiplication. [Han, page 8, Figure 6, Figure 7, and Figure 8] discloses performing ‘accuracy’ evaluation after processing input data using the neural network. It is obvious for someone who knows the art to combine the method of ‘checking an accuracy of the machine learning algorithm after (processing)’ of Han and the method of ‘checking a performance of the machine learning algorithm after the multiplying the summation’ of Garland to implement the ‘checking the accuracy of the machine learning algorithm after the multiplying the summation’ and the motivation for doing so is to reduce the number of multiplication and improve the accuracy of the machine learning algorithm.
Therefore, arguments regarding claim 10 is not persuasive.
Claims 13-14 and 18
Claims 13-14 and claim 18 include limitations corresponding to claim 1. Arguments regarding claim 1 are not persuasive. Therefore, arguments regarding claims 13-14 and claim 18 are not persuasive for at least the same reasons.
Claim 9
Arguments: Applicant asserts that the examiner erred because Han expressly teaches weight sharing using one-dimensional k-means clustering and teaches that the centroid values of the cluster are the shared weights, and Bradley’s discussion of centroids/means ins in the context of clustering database records in scalable EM clustering, not in determining a representative weight for a cluster of functions in a machine learning algorithm.
Examiner’s response: Examiner agrees that the k-means clustering may include calculation of an arithmetic average value of weights, and the examiner already indicated in the 103 rejections by citing [Han, 3.3 FEED-FORWARD AND BACK-PROPAGATION, line 1-9]. “[Han, 3.3 FEED-FORWARD AND BACK-PROPAGATION, line 1-9] discloses that the centroids of the one-dimensional k-means clustering, which are mean values of the clusters, are the shared weights.” Bradley is introduced for clarity of records as ‘average’ is not the only way of determining centroids in k-means clustering method. Han discloses 3 difference ways of determining the centroid 1. Random initialization, Density-based, and Linear. Therefore, Bradley is needed to clarify that the centroids are calculated based on an arithmetic average.
Additionally, based on the argument, it appears that the applicant agrees that at least Han, or the combination of Han, Garland, and Bradley, teaches the limitations of claim 9.
Claim 11
Arguments: Applicant asserts that Bradley does not teach the claim 11 limitations as recited because (1) Bradley does not disclose defining “cluster ranges” derived from a range of weighted values being clustered and the chose threshold number of clusters, (2) Bradley discusses assigning data points to clusters based on probability density which is not a claimed range-binning/range-assignment scheme [Remarks, page 15], (3) Bradley’s general clustering disclosure as a substitute for the specific “cluster range” operations is an overgeneralization [Remarks, page 16].
Examiner’s response: Examiner respectfully disagrees. First, Bradley discloses adjusting the threshold cluster number in [col 13, line 9-15] and [Bradley, col 15, lines 26-39] discloses that the adjusting the threshold number is performed by selecting one cluster from a set of clusters. Second, the examiner notes that the “cluster ranges” is broad and the interpretation of the term encompass any type of ranges, such as, a range of probability. The Stopping Criteria selection process at Step 140 of Bradley disclose ‘assigning’ cluster ranges derived from a range of values being clustered, as a data point x is clustered to either the cluster 1, cluster 2 … or cluster K based on the output of the probability function p(x). Since the equation
p
x
=
∑
l
=
1
K
M
(
l
)
N
(
g
(
x
|
l
)
)
utilizes K which is the cluster number (threshold number) and the range of the weighted values M(l) which denotes the weight value from 1 to M(K) to generate the probability between range [0, 1] to assign a cluster for an input value, the examiner believes that Bradley teaches the limitation of “assigning cluster ranges to the clusters based on a range of the weighted values and the threshold number.”
Therefore, arguments regarding claim 11 is not persuasive.
Claim 12
Arguments: Applicant asserts that Bradley’s mechanism for varying K is to evaluate candidate models on a holdout/test dataset and then select a model with a different K which is a different control strategy than claim 12’s requirement to increment the threshold number of clusters when the accuracy transgresses a threshold [Remarks, page 16].
Examiner’s response: Examiner respectfully disagrees. The examiner believes that Bradley discloses incrementing or reducing the number of clusters K based on the result of an evaluation of whether the holdout data set fits the candidate clustering model, and it is analogous to the limitation of claim 12. The examiner cited [Bradley, col 17, lines 10-15] to support the 35 U.S.C. 103 and the arguments. Bradley discloses stop adding or reducing the number of clusters based on the difference between the previous iteration and the current iteration, and the ‘difference’ corresponds to the ‘accuracy’ as [Bradley, col 17, lines 10-15] shows that the difference corresponds to ‘the Model is good enough’.
Additionally, examiner believes that it is obvious for someone who knows the art to combine the accuracy evaluation method of Han with the method of adding or reducing the number of clusters based on an evaluation of Bradley to implement the present invention, and the motivation to do so is to improve the accuracy of the clustering algorithm by determining the most appropriate number of clusters.
Claims 15-17 and 19-20
Claims 15-17 include limitations corresponding to claims 9, 11 and 12, respectively, and arguments regarding claims 15-17 are not persuasive at least for the same reasons as arguments regarding claims 9, 11 and 12.
Claims 19-20 recite system limitations corresponding to claims 11 and 12, respectively, and arguments regarding claims 19-20 are not persuasive at least for the same reasons as arguments regarding claims 11 and 12.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Khan et al., “An Agent Oriented Approach for Implementation of the Range Method of Initial Centroids in K-Means Clustering Data Mining Algorithm”, 2010 (This prior art is pertinent as it discloses clustering objects based on the distance between the centroids and objects)
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 JUN KWON whose telephone number is (571)272-2072. The examiner can normally be reached Monday – Friday 8:00AM – 5:00PM ET.
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, Abdullah Kawsar can be reached at (571)270-3169. 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.
/JUN KWON/Examiner, Art Unit 2127
/TEWODROS E MENGISTU/Examiner, Art Unit 2127