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 .
Response to Arguments
Applicant’s arguments with respect to claim(s) have been considered but are moot because the new ground of rejection does not rely on any reference applied in the prior rejection of record for any teaching or matter specifically challenged in the argument. The amended limitations overcome the prior rejections including any 35 U.S.C. 101 rejections.
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.
Claim 17 was reviewed for compliance with 35 U.S.C. 101 and was found to be in compliance with 35 U.S.C. 101 given that the method requires the implementing hardware circuitry and software combined to process data and perform specific data compression and encoding.
Claim Rejections - 35 USC § 102
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of 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.
(a)(2) the claimed invention was described in a patent issued under section 151, or in an application for patent published or deemed published under section 122(b), in which the patent or application, as the case may be, names another inventor and was effectively filed before the effective filing date of the claimed invention.
Claim(s) 1, 3, 5-10, 12, 14-17, 19 and 24-25 is/are rejected under 35 U.S.C. 102(a)(2) as being anticipated by GOPAL (US 20190268017 A1).
In Re claim 1. GOPAL discloses (abstract) an apparatus (FIG.1-3) comprising:
circuitry to perform data compression by performing dictionary matching of data using hardware circuitry (abstract [0048]) to generate dictionary matched results [0112] and cause post-processing of dictionary matched results using software [0042] executed by a processor, wherein:
the dictionary matching comprises dictionary matching based on LZ4s, [0047, 0116]
LZ4s comprises a variant of an LZ4 block format, and [0047-0048]
the post-processing comprises entropy encoding and conversion of dictionary matched results based on LZ4s to a ZSTD sequence. [0116]
[0047] In some exemplary embodiment illustrated herein, the novel error-checking scheme is implemented with compression and decompression using the DEFLATE scheme. However, this is not meant to be limiting, as the technique can generally be applied to other compression/decompression schemes in a similar manner, such as but not limited to LZ4 and ZStandard. The DEFLATE scheme uses a combination of LZ77 compression and Huffman encoding (entropy encoding) to encode a bitstream comprising a sequence of blocks. Each block is preceded by a 3-bit header that identifies whether or not the block is the last block in the stream and the type of encoding method used for the block. Many or most blocks will end being encoded using dynamic Huffman encoding, while other blocks may store a literal or string between 0 and 65,535 bytes in length. Static Huffman encoding may also be used for some blocks.
[0112] FIGS. 12a-12d illustrate modified Zstandard compression/decompression processes including an LZ parity encoder in accordance with one or more embodiments herein. As shown in FIG. 12a, input data 1200 is received by an LZ with parity encoder 1202, which is configured to implement a window size >32 KB in accordance with the Zstandard LZ77 implementation discussed above. In the illustrated embodiments a dictionary 1204 is used; this dictionary can either be created using a training process or may be a user-defined pre-populated dictionary. In this simplified representation, the output of LZ with parity encoder 1202 is buffered in buffers 1206, and entropy-encoded using a finite state entropy encoder 1208, which also has access to dictionary 1204. Finite state entropy encoder 1208 output compressed data 1210, which may either be streamed or written to a Zstandard file.
[0116] In addition to implementations using DEFLATE and Zstandard, the teachings and principles disclosed herein may be applied to other compression schemes employing an LZ-based encoders and decoders in a similar manner, including but not limited to Zlib, gzip, Brotli, Snappy, LZ4, LZO, LZS, and LZF.
Re claim 3. GOPAL discloses [0109, 0114] The apparatus of claim 1, wherein the dictionary matching occurs on multiple segments of data in parallel.
Claims 12 and 19 are rejected as claim 3.
Re claim 5. GOPAL discloses [0005, 0030-0033] The apparatus of claim 1, wherein the post-processing comprises Zstandard entropy encoding.
Claim 14 is rejected as claim 5.
Re claim 6. GOPAL discloses [0005] The apparatus of claim 1, wherein the data compression comprises a lossless data compression.
Claim 15 is rejected as claim 6.
Re claim 7. GOPAL discloses [0006] The apparatus of claim 1, wherein the data compression is consistent with one or more of: Zstandard, Google® Broth, DEFLATE, LZ4, or LZ77.
Claims 16 and 24 are rejected as claim 7.
Re claim 8. GOPAL discloses [0050] The apparatus of claim 1, comprising: at least one central processing unit to execute an application that is to issue a request to perform data compression to the circuitry.
Re claim 9. GOPAL discloses [0096, 0121-0127] The apparatus of claim 8, comprising: a host system server comprising the at least one central processing unit and the circuitry.
In Re claim 10. GOPAL discloses (as for claim 1) At least one non-transitory computer-readable medium comprising instructions stored thereon, that if executed, cause one or more processors to:
request to perform data compression by performing dictionary matching of data using hardware circuitry to generate dictionary matched results and perform post-processing of dictionary matched results using software executed by a processor, wherein:
the dictionary matching comprises dictionary matching based on LZ4s,
LZ4s comprises a variant of an LZ4 block format, and
the post-processing comprises entropy encoding and conversion of dictionary matched results based on LZ4s to a ZSTD sequence.
In Re claim 17. GOPAL discloses (as for claim 1) a method comprising:
performing data compression by performing dictionary matching of data using hardware circuitry to generate dictionary matched results and
performing post-processing of dictionary matched results using software executed by a processor, wherein:
the dictionary matching comprises dictionary matching based on LZ4s,
LZ4s comprises a variant of an LZ4 block format, and
the post-processing comprises entropy encoding and conversion of dictionary matched results based on LZ4s to a ZSTD sequence.
Re claim 25. GOPAL discloses [0134, 0146] The method of claim 17, comprising: storing the post-processed results in memory.
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
This application currently names joint inventors. In considering patentability of the claims the examiner presumes that the subject matter of the various claims was commonly owned as of the effective filing date of the claimed invention(s) absent any evidence to the contrary. Applicant is advised of the obligation under 37 CFR 1.56 to point out the inventor and effective filing dates of each claim that was not commonly owned as of the effective filing date of the later invention in order for the examiner to consider the applicability of 35 U.S.C. 102(b)(2)(C) for any potential 35 U.S.C. 102(a)(2) prior art against the later invention.
Claim(s) 21-23 is/are rejected under 35 U.S.C. 103 as being unpatentable over GOPAL (US 20190268017 A1) in view of SACKI et al. (US 6581184 B1).
However, GOPAL fails to explicitly disclose:
21. The method of claim 17, wherein: the post-processing includes run length coding.
22. The method of claim 17, wherein: the post-processing includes Broth coding.
23. The method of claim 17, wherein: the post-processing includes Golomb coding.
SACKI teaches (abstract) in a similar field of invention, wherein a post-processing function operates with run length coding, for example.
The prior art also teaches the known technique of SACKI teaches another post-processing method such as run length coding. A person of ordinary skill in the art would have recognized that applying the known technique of any equivalent or similar post-processing operations such as known run length, Broth or Golomb coding since doing so would have yielded predictable results and would have improved post processing results, given that an absence of criticality is evident given that many other types of software post-processing can be performed.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
The following references at minimum, could have been applied similarly to the references as applied above, for the purpose of rejection of the currently amended claims. PARIKH et al. (US 11973519 B2) teaches in a similar field of invention using similar dictionary matching methods. KUMAR et al. (US 20210135685 A1) teaches in a similar field of invention a compression engine using similar dictionary matching schemes as claimed. CASSETTI et al. (US 20190207624 A1) teaches [0019] “encoder encodes the matched later portion of the input data using a reference (length and offset) to the matching string in the history”. CHU (US 5444445 A) teaches (c.2, l.25-34) generating compressed data output by comparing an uncompressed portion of input data to data in a history of processed input data and using matching data string located in history for current data string, which is encoded in compressed data stream as a pointer, corresponding to an offset and a data length.
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.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to CARLOS E GARCIA whose telephone number is (571)270-1354. The examiner can normally be reached M-Th 9-6pm F 9-5pm.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Brian Zimmerman can be reached at (571) 272-3059. 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.
CARLOS E. GARCIA
Primary Examiner
Art Unit 2686
/Carlos Garcia/Primary Examiner, Art Unit 2686 12/23/2025