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 instant application filed on 08/18/2023. Claims 1, 5, 8, 12, 14, 18, and 19 have been amended. Thus, claims 1-20 are pending.
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 8-13 are rejected under 35 U.S.C. 101 because the claimed invention is directed to non-statutory subject matter. The claim(s) does/do not fall within at least one of the four categories of patent eligible subject matter because the system of claim 8 recites a processing device to perform operations, the device is not necessarily configured to perform the operations but is instead capable of doing so. As such any device capable of performing the operations falls within the scope of the claim. Furthermore, the broadest reasonable interpretation of device includes software per se, which does not fall into any of the statutory categories. Therefore, claim 8 and the subsequent dependent claims: 9-13, are not patent eligible.
Claims 1-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 method which falls into the statutory category of process.
Step 2A prong 1: Claim 1 recites multiple mental process: identifying a plurality of groupings of elements from the sparse array, wherein each element of a grouping is equidistantly positioned in the sparse array, wherein identifying the plurality of groupings comprises selecting candidate groupings of elements from the sparse array based on different offsets and distance values, wherein elements of each candidate grouping are separated in the sparse array by a corresponding distance value from a corresponding offset, and selecting, from the candidate groupings, a selected candidate grouping for inclusion in the plurality of groupings based on a number of zero-valued elements in the selected candidate grouping not exceeding a zero- count threshold; for each grouping of the plurality of groupings, generating a group data structure including a respective grouping, an offset of a respective grouping in the sparse array, and a distance between each element of the respective grouping in the sparse array; and wherein performing the one or more computations comprises reconstructing at least a portion of the sparse array from the group data structures associated with the plurality of groupings stored in memory. These limitations are directed to mental processes. Identifying groups, generating groups, and reconstructing arrays from groupings are things that can be done by a human being all in the mind.
Step 2A Prong 2: Claim 1 does not integrate the abstract idea into a practical application since the additional elements of:
receiving a sparse array associated with a trained machine-learning model to be stored in memory, the sparse array requiring a first amount of memory, is insignificant extra-solution activity of data gathering.
storing, in memory, each group data structure associated with the plurality of groupings, wherein the group data structures associated with the plurality of groupings require a second amount of memory to store that is less than the first amount of memory, is insignificant extra-solution activity.
performing one or more computations using the trained machine-learning model, is mere instructions to apply the abstract idea using a generic computer.
Step 2B: Claim 1 does not include additional elements that are sufficient to amount to
significantly more than the judicial exception. As discussed above, the additional elements of receiving and storing data are considered insignificant extra-solution activity because they are well-understood, routine, conventional activity as evidenced by MPEP §2106.05(d)(II)(I). Additionally, the trained machine learning model is considered mere instructions to apply the exception using a generic computer as evidenced by MPEP §2106.05(f). Therefore, claim 1 is not patent eligible.
Regarding claim 2, the rejection of claim 1 is incorporated, further the claim recites: wherein identifying the plurality of groupings comprises: for each group size of a plurality of group sizes,
identifying, based on a respective group size, a subset of the plurality of groupings, wherein the group size refers to a number of elements to be included in a grouping of the subset. This limitation amounts to more specifics of the abstract idea of identifying a plurality of groupings. As such the claim does not have any additional elements that amount to an integration of the judicial exception into a practical exception, nor to significantly more than the judicial exception. Claim 2 is not patent eligible.
Regarding claim 3, the rejection of claim 2 is incorporated, further the claim recites: wherein
identifying, based on the respective group size, the subset of the plurality of groupings comprises: adjusting, between a range of distance values, a distance between elements to be included in the grouping of the subset; for each adjusted distance value, determining whether a number of zero elements of the selected elements exceeds a zero-count threshold; and responsive to determining that the number of zero elements of the selected elements does not exceed the zero-count threshold, including the selected elements as the grouping of the subset. This limitation amounts to more specifics of the abstract idea of identifying a plurality of groupings. As such the claim does not have any additional elements that amount to an integration of the judicial exception into a practical exception, nor to significantly more than the judicial exception. Claim 3 is not patent eligible.
Regarding claim 4, the rejection of claim 3 is incorporated, further the claim recites: wherein the zero-count threshold is a fraction of the group size. This limitation amounts to more specifics of the
abstract idea of identifying a plurality of groupings. As such the claim does not have any additional
elements that amount to an integration of the judicial exception into a practical exception, nor to
significantly more than the judicial exception. Claim 4 is not patent eligible.
Regarding claim 5, the rejection of claim 2 is incorporated, further the claim recites: wherein the plurality of group sizes includes at least one of: 16, 12, 8, and 4. This limitation amounts to more
specifics of the abstract idea of identifying a plurality of groupings. As such the claim does not have any
additional elements that amount to an integration of the judicial exception into a practical exception,
nor to significantly more than the judicial exception. Claim 5 is not patent eligible.
Regarding claim 6, the rejection of claim 3 is incorporated, further the claim recites: wherein the range of distance values is based on a respective group size and indicates a number of elements
between elements to be included in the grouping. This limitation amounts to more specifics of the
abstract idea of identifying a plurality of groupings. As such the claim does not have any additional
elements that amount to an integration of the judicial exception into a practical exception, nor to
significantly more than the judicial exception. Claim 6 is not patent eligible.
Regarding claim 7, the rejection of claim 4 is incorporated, further the claim recites: wherein
including the selected elements as the grouping of the subset comprises: replacing each non-zero
element of the grouping in the sparse array with a zero value. This limitation amounts to more specifics
of the abstract idea of identifying a plurality of groupings. As such the claim does not have any
additional elements that amount to an integration of the judicial exception into a practical exception,
nor to significantly more than the judicial exception. Claim 7 is not patent eligible.
Regarding claim 8:
Step 1: The claim falls into the statutory category of machine.
Step 2A prong 1: Claim 8 recites multiple mental process: generating, by the processing device,
a replica sparse array based on the received sparse array, generating, by the processing device, a plurality of sample arrays based on all permutations of a plurality of group sizes and a plurality of distance values, wherein each sample array of the plurality of sample arrays comprises a set of elements separated by a corresponding distance value from a corresponding offset; for each sample array of the plurality of sample arrays matching a portion of the replica sparse array; generating a group data structure; and wherein performing the one or more computations comprises reconstructing at least a portion of the sparse array from the group data structure stored in the memory. These limitations can all be done in the human mind or with the aid of pen and paper.
Step 2A prong 2: Claim 8 does not integrate the abstract idea into a practical application since the additional elements of:
c) receiving a sparse array associated with a trained machine-learning model to be stored in memory, the sparse array requiring a first amount of memory, is insignificant extra-solution activity.
d) storing, by the processing device, the group data structure in memory, wherein the group data structures associated with the plurality of groupings require a second amount of memory to store that is less than the first amount of memory, is insignificant extra-solution activity done by a generic computer (processing device).
e) performing, by the processing device, one or more computations using the trained machine-learning model, is mere instructions to apply the exception using a generic computer.
Step 2B: Claim 8 does not include additional elements that are sufficient to amount to
significantly more than the judicial exception. As discussed above, the additional elements of receiving and storing data are considered insignificant extra-solution activity because they are well-understood, routine, conventional activity as evidenced by MPEP §2106.05(d)(II)(I). Additionally, the trained machine learning model is considered mere instructions to apply the exception using a generic computer as evidenced by MPEP §2106.05(f). Therefore, claim 8 is not patent eligible.
Regarding claim 9, the rejection of claim 8 is incorporated, further the claim recites: wherein
generating the replica sparse array comprises: generating a copy of the sparse array; replacing
elements of the copy of the sparse array with a non-zero value with a predetermined value; and returning the copy of the sparse array with the replaced elements as the replica sparse array. This limitation amounts to more specifics of the abstract idea of generating, by the processing device, a replica sparse array. As such the claim does not have any additional elements that amount to an integration of the judicial exception into a practical exception, nor to significantly more than the judicial exception. Claim 9 is not patent eligible.
Regarding claim 10, the rejection of claim 8 is incorporated, further the claim recites: wherein
generating, based on all permutations of the plurality of group sizes and the plurality of distance values, the plurality of sample arrays comprises: for each group size of the plurality of group sizes, generating a subset of the plurality of sample arrays, wherein each sample array of the subset includes a number of elements with a non-zero value matching a respective group size spaced apart based on a distance value of the plurality of distance values. This limitation amounts to more specifics of the abstract idea of generating, by the processing device, a plurality of sample arrays. As such the claim does not have any additional elements that amount to an integration of the judicial exception into a practical exception, nor to significantly more than the judicial exception. Claim 10 is not patent eligible.
Regarding claim 11, the rejection of claim 8 is incorporated, further the claim recites: wherein
generating the group data structure comprises: for each sample array of the plurality of sample
arrays, periodically aligning a respective sample array with the replica sparse array by adjusting an offset on the replica sparse array in which a first element of the respective sample array is aligned with the offset on the replica sparse array; determining, with each periodic alignment, whether values of the replica sparse array match values of the respective sample array; responsive to determining that values of the replica sparse array match values of the respective sample array, obtaining, using
each index associated with the matching non-zero values, an array of values from the sparse array; and generating the group data structure including the array of values, the offset, and a distance value in which the elements with non-zero values are spaced apart. This limitation amounts to more specifics of the abstract idea of generating the group data structure. As such the claim does not have any additional elements that amount to an integration of the judicial exception into a practical exception, nor to significantly more than the judicial exception. Claim 11 is not patent eligible.
Regarding claim 12, the rejection of claim 11 is incorporated, further the claim recites: wherein obtaining, using each index associated with the matching non-zero values, the array of values from the sparse array[[,]] comprises replacing elements associated with the matching non-zero values in the replica sparse array with a zero value. This limitation amounts to more specifics of the abstract idea of generating the group data structure. As such the claim does not have any additional elements that amount to an integration of the judicial exception into a practical exception, nor to significantly more than the judicial exception. Claim 12 is not patent eligible.
Regarding claim 13, the rejection of claim 11 is incorporated, further the claim recites: wherein
the plurality of group sizes includes at least one of: 16, 12, 8, and 4, and wherein the plurality of distance values is a range of values based on a respective group size. This limitation amounts to more specifics of the abstract idea of generating the group data structure. As such the claim does not have any additional elements that amount to an integration of the judicial exception into a practical exception, nor to significantly more than the judicial exception. Claim 13 is not patent eligible.
Regarding claims 14-20, the inventive concept is essentially the same as claims 1-7 with the addition of a non-transitory computer-readable storage medium which falls into the statutory category of manufacture. Therefore, claims 14-20 are not patent eligible.
Claim Rejections - 35 USC § 102
The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention.
Claim(s) 8-13 are rejected under 35 U.S.C. 102(a)(1) as being anticipated by Ahrens (On Optimal Partitioning For Sparse Matrices In Variable Block Row Format).
Regarding claim 8, the claim recites A system comprising: a processing device to perform operations comprising: receiving a sparse array associated with a trained machine-learning model to be stored in memory, the sparse array requiring a first amount of memory; generating, by the processing device, a replica sparse array based on the received sparse array; generating, by the processing device, a plurality of sample arrays based on all permutations of a plurality of group sizes and a plurality of distance values, wherein each sample array of the plurality of sample arrays comprises a set of elements separated by a corresponding distance value from a corresponding offset; for each sample array of the plurality of sample arrays matching a portion of the replica sparse array, generating a group data structure; [[and]] storing, by the processing device, the group data structure in memory, wherein the group data structures associated with the plurality of groupings require a second amount of memory to store that is less than the first amount of memory; and performing, by the processing device, one or more computations using the trained machine-learning model, wherein performing the one or more computations comprises reconstructing at least a portion of the sparse array from the group data structure stored in the memory. Since the claim does not recite a processing device configured to perform the operations but instead the claim scope only requires a processor to perform the operation, any processing device capable of performing the operations falls within the broadest reasonable interpretation of the claim’s scope. Ahrens teaches a processing device capable of performing the operations (Pg. 8, We ran our programs on the “Haswell” partition of the “Cori” NERSC Supercomputer. We used a single core of a 16-core Intel® Xeon® Processor E5-2698 v3 running at 2.3 GHz with 32 KB of L1 cache per core, 256 KB of L2 cache per core, 41 MB of shared L3 cache, and 128 GB of memory. This CPU supports the AVX2 instruction set, meaning that it supports SIMD processing with 256 bit vector lanes.)
Regarding claims 9-13, these claims continue to recite the system of claim 8 and only provide
further limitations on the operations done and not on the processing device. Therefore, Ahrens teaches a processing device capable of performing the operations (Pg. 8, We ran our programs on the “Haswell” partition of the “Cori” NERSC Supercomputer. We used a single core of a 16-core Intel® Xeon® Processor E5-2698 v3 running at 2.3 GHz with 32 KB of L1 cache per core, 256 KB of L2 cache per core, 41 MB of shared L3 cache, and 128 GB of memory. This CPU supports the AVX2 instruction set, meaning that it supports SIMD processing with 256 bit vector lanes.)
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.
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 nonobviousness.
Claim(s) 1-6, 14-19 are rejected under 35 U.S.C. 103 as being unpatentable over Ahrens (On Optimal Partitioning For Sparse Matrices In Variable Block Row Format) in view of Trommer (dCSR: A
Memory-Efficient Sparse Matrix Representation for Parallel Neural Network Inference) and Dong (Compression Artifacts Reduction by a Deep Convolutional Network).
Regarding claim 1, Ahrens teaches receiving a sparse array associated with a trained machine-learning model to be stored in memory, the sparse array requiring a first amount of memory (Pg. 1, The Variable Block Row (VBR) format is an influential blocked sparse matrix format… VBR groups adjacent rows and columns, storing the resulting blocks that contain nonzeros in a dense format); identifying a plurality of groupings of elements from the sparse array (Pg. 1, the Variable Block Row (VBR) format, where similar adjacent rows and columns are grouped together, Fig 1 displays different groupings under different formats), wherein each element of a grouping is equidistantly positioned in the sparse array (Pg. 2, as in the definition of VBR, we consider only contiguous partitions, therefore elements in the grouping are adjacent to one another), wherein identifying the plurality of groupings comprises selecting candidate groupings of elements from the sparse array based on different offsets (Pg. 3, Therefore, we use a vector ofs of block locations to encode the starting index of each block row in val) and distance values, wherein elements of each candidate grouping are separated in the sparse array by a corresponding distance value from a corresponding offset (Pg. 4, The DynB format relaxes all alignment and size constraints, allowing variably sized blocks to start at any entry of the matrix[31]. Algorithms for producing CSR-SIMD, VBSR, and DynB formats create their blocks with greedy algorithms that add adjacent elements into the block up to a density-related threshold, The distance in this case is the distance between the first and last element of the block which is variable and therefore is a range), and selecting, from the candidate groupings, a selected candidate grouping for inclusion in the plurality of groupings based on a number of zero-valued elements in the selected candidate grouping not exceeding a zero- count threshold (Pg. 2, Blocked formats store only nonzero blocks, or blocks that contain at least one nonzero of A, The zero-count threshold here is one less than the size of the block); for each grouping of the plurality of groupings, generating a group data structure including a respective grouping (Pg. 3, Because VBR stores nonzero blocks in a dense, column-major format), an offset of a respective grouping in the sparse array (Pg. 3, Therefore, we use a vector ofs of block locations to encode the starting index of each block row in val); [[and]] storing, in memory, each group data structure associated with the plurality of groupings (Pg. 3, the VBR format saves memory using the idx vector to store block indices), wherein the group data structures associated with the plurality of groupings require a second amount of memory to store that is less than the first amount of memory (Abs, VBR groups adjacent rows and columns, storing the resulting blocks that contain nonzeros in a dense format. This reduces the memory footprint and enables optimizations such as register blocking and instruction-level parallelism¸ reduced memory footprint implies second amount less than first).
Ahrens fails to teach a distance between each element of the respective grouping in the sparse array. Trommer teaches a distance between each element of the respective grouping in the sparse array (Section II, A method to reduce the overhead of CSR and its derivatives that is commonly seen in sparse network accelerators is the encoding of the distance between two adjacent non-zero elements…).
Ahrens and Trommer are analogous to the claimed invention because they are both in the field
of endeavor of optimal storage of sparse matrices. Therefore, it would have been obvious to one of
ordinary skill in the art before the effective filling data to have modified Ahrens to store the distance
between elements as stated in Trommer because it reduces the overhead of existing methods like CSR
and its derivatives (Section II, Trommer).
The combination of Ahrens and Trommer fails to teach and performing one or more computations using the trained machine-learning model, wherein performing the one or more computations comprises reconstructing at least a portion of the sparse array from the group data structures associated with the plurality of groupings stored in memory.
Dong teaches and performing one or more computations using the trained machine-learning model, wherein performing the one or more computations comprises reconstructing at least a portion of the sparse array from the group data structures associated with the plurality of groupings stored in memory (Section 3.1, Specifically, the first layer performs patch extraction and representation, which extracts overlapping patches from the input image and represents each patch as a high-dimensional vector. Then the non-linear mapping layer maps each high-dimensional vector of the first layer to another high dimensional vector, which is conceptually the representation of a high-resolution patch. At last, the reconstruction layer aggregates the patch-wise representations to generate the final output… These three steps are analogous to the basic operations in the sparse-coding-based super-resolution methods [29], and this close relationship lays theoretical foundation for its successful application in super-resolution, patches are analogous to groups).
Dong is analogous to the claimed invention because it is in the field of sparse coding-based methods. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have used the method in Dong alongside the combination of Ahrens and Trommer to reconstruct an initial image or array from patches or groups to optimize extraction, enhancement, mapping, and reconstruction in an end-to-end framework (Fig 2).
Regarding claim 2, Ahrens in view of Trommer and Dong teaches the method according to claim 1 (as stated above); Ahrens also teaches wherein identifying the plurality of groupings comprises: for each group size of a plurality of group sizes, identifying, based on a respective group size, a subset of the plurality of groupings, wherein the group size refers to a number of elements to be included in a
grouping of the subset (Pg. 1, Unlike many formats which use fixed-size blocks, the number of rows or
columns that may be grouped together is allowed to vary along each dimension, producing variably
sized blocks).
Regarding claim 3, Ahrens in view of Trommer and Dong teaches the method according to claim 2 (as stated above); Ahrens also teaches wherein identifying, based on the respective group size, the subset of the plurality of groupings comprises: adjusting, between a range of distance values, a distance between elements to be included in the grouping of the subset (Pg. 4, The DynB format relaxes all alignment and size constraints, allowing variably sized blocks to start at any entry of the matrix[31]. Algorithms for producing CSR-SIMD, VBSR, and DynB formats create their blocks with greedy algorithms that add adjacent elements into the block up to a density-related threshold.) The distance in this case is the distance between the first and last element of the block which is variable and therefore is a range. Ahrens also teaches for each adjusted distance value, determining whether a number of zero elements of the selected elements exceeds a zero-count threshold; and responsive to determining that the number of zero elements of the selected elements does not exceed the zero-count threshold,
including the selected elements as the grouping of the subset (Pg. 2, Blocked formats store only
nonzero blocks, or blocks that contain at least one nonzero of A). The zero-count threshold here is one
less than the size of the block.
Regarding claim 4, Ahrens in view of Trommer and Dong teaches the method of claim 3 (as stated above); Ahrens also teaches wherein the zero-count threshold is a fraction of the group size (Pg. 2, Blocked formats store only nonzero blocks, or blocks that contain at least one nonzero of A).
Regarding claim 5, Ahrens in view of Trommer and Dong teaches the method of claim 2 (as stated above); Ahrens also teaches wherein the plurality of group sizes includes at least one of: 16, 12, 8, and 4 (Pg. 1, Unlike many formats which use fixed-size blocks, the number of rows or columns that may be grouped together is allowed to vary along each dimension, producing variably sized blocks, Fig 1 (a), depicts a block of size 4).
Regarding claim 6, Ahrens in view of Trommer teaches the method of claim 3 (as stated above); Ahrens also teaches wherein the range of distance values is based on a respective group size and indicates a number of elements between elements to be included in the grouping (Pg. 4, The DynB
format relaxes all alignment and size constraints, allowing variably sized blocks to start at any entry of
the matrix[31]. Algorithms for producing CSR-SIMD, VBSR, and DynB formats create their blocks with
greedy algorithms that add adjacent elements into the block up to a density-related threshold, The
distance between the first and last element of the block is dependent upon the block size and indicates the number of elements between the first and last element in the block).
Regarding claims 14-19, the inventive concept is essentially the same as claims 1-6 with the addition of a non-transitory computer-readable storage medium comprising instructions that, when executed by a processing device, cause the processing device to perform operations which is taught by Ahrens (Pg. 8, We ran our programs on the “Haswell” partition of the “Cori” NERSC Supercomputer. We used a single core of a 16-core Intel® Xeon® Processor…. implying the use of a non-transitory CRM).
Regarding claims 7 and 20, these claims have been searched for and no prior art which anticipates nor renders obvious the limitations of the claims have been uncovered.
Response to Arguments
Regarding Objections:
Applicant’s arguments, see Pg. 10, filed 07/30/26, with respect to claim 12 and the drawings have been fully considered and are persuasive. The objection of 05/04/26 has been withdrawn.
Regarding the prior art rejection:
Regarding claims 8-13, Applicant’s arguments, see Pg.15, filed 07/30/26, with respect to claims 8-13 have been fully considered but they are not persuasive. The applicant asserts Ahrens fails to disclose the limitations in the independent claim. The examiner respectfully disagrees given the claim still recites a processing device to perform the operations not one that is configured to do the operations. Any processing device that is capable of performing the operations falls within the claim scope. If the claim was amended to recite “configured to”, claims 8-13 would have no prior art rejection.
Regarding claims 1-6, 14-19, Applicant's arguments filed 07/30/26 have been fully considered but they are not persuasive. The applicant asserts the combination of cited references fails to teach wherein identifying the plurality of groupings comprises selecting candidate groupings of elements from the sparse array based on different offsets and distance values, wherein elements of each candidate grouping are separated in the sparse array by a corresponding distance value from a corresponding offset, and selecting, from the candidate groupings, a selected candidate grouping for inclusion in the plurality of groupings based on a number of zero-valued elements in the selected candidate grouping not exceeding a zero- count threshold. The examiner respectfully disagrees. The added details are not sufficient to overcome the existing art, had the applicant provided further detail about the specifics of the distance values and which elements of the grouping they relate to then the existing art would be overcome. Additionally, the applicant asserts the combination of cited references fails to teach and performing one or more computations using the trained machine-learning model, wherein performing the one or more computations comprises reconstructing at least a portion of the sparse array from the group data structures associated with the plurality of groupings stored in memory. The examiner agrees; however, Dong teaches the limitation, and along with the existing combination, teaches the whole claim.
Regarding the 35 U.S.C §101:
Applicant's arguments filed 07/30/26 have been fully considered but they are not persuasive. The applicant asserts that the claims do not recite concepts that explicitly fall into the abstract idea exception categories, the examiner respectfully disagrees. Identifying groupings from an array is something that can be done in the human mind or with the aid of pen and paper; furthermore, creating a grouping data structure is also something that can be done with a pen and paper given a human being can merely write out the data structure with all the elements.
Additionally, the applicant asserts that even if the claims recite a judicial exception, they integrate such recitation into a practical application because the practical application of the claims lies in reducing memory and storage which enables deployment of neural networks on resource-constrained devices. The examiner respectfully disagrees because the added element of performing one or more computations using the trained machine-learning model, wherein performing the one or more computations comprises reconstructing at least a portion of the sparse array from the group data structures associated with the plurality of groupings stored in memory does not explicitly show how the trained machine-learning model or any other computer function is improved by the judicial exception, merely that the model reconstructs a portion of the array. It also fails to explain how the model does the reconstruction but that it simply uses the group data structure. Therefore, the claim as a whole fails to display a clear improvement in technology merely that groupings based on an array are stored using less memory and that these groups are used to reconstruct portions of the array later which does not explicitly show an improvement in technology.
Furthermore, the applicant asserts that even if the claims are not integrated into a practical application, they add significantly more than the judicial exception. The applicant asserts the “receiving” and “storing” limitations must be considered as an ordered combination and as such are not routine or conventional. The applicant asserts that the present claims are analogous to those found in Enfish, LLC v. Microsoft Corp.; the examiner understands the connection the applicant is attempting to make but disagrees. The main distinction is in Enfish, the claim included the specific manner in which the memory is configured using the specific data structure (self-referential table), thus reflecting an improvement in computer function (MPEP 2106.05(f(3))), while here the step of storing is merely an insignificant extra solution activity (MPEP 2106.05(g) states in part: The term "extra-solution activity" can be understood as activities incidental to the primary process or product that are merely a nominal or tangential addition to the claim). The storing as recited is a generic storing step, it does not include any details of "storing" the group data structure in a specific manner amounting to an improvement over generic and well-understood, routine, conventional (WURC) storing.
Applicant did not address the software-per-se rejection for claims 8-13.
Conclusion
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). 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.
/NATNAEL A ASEGDEW/ Examiner, Art Unit 2122
/BRIAN M SMITH/ Primary Examiner, Art Unit 2122