DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Claim Rejections - 35 USC § 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.
Claims 2-11 are 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.
With respect to claim 2, line 6 recites “the hash tables.” It is unclear if this is referring to the hash tables of claim 1, line 15, or claim 2, lines 4-5.
With respect to claim 4, line 5 recites “the hash tables.” It is unclear if this is referring to the hash tables of claim 1, line 15, or claim 2, lines 4-5.
The remaining claims mentioned in the header of the rejection but not specifically addressed depend from claim 2 and do not resolve the deficiencies, and are therefore similarly rejected.
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
The text of those sections of Title 35, U.S. Code not included in this action can be found in a prior Office action.
Claim(s) 1-7, 10 and 34-36 is/are rejected under 35 U.S.C. 103 as being unpatentable over WO 2020/112596, issued to Billa et al., hereafter “Billa,” in view of Gopal et al., US Patent 9,825,648, hereafter “Gopal,” further in view of WO 2009/005758 A2, issued to Laker et al., hereafter “Laker,” further in view of Fallon et al., US Patent 6,597,812
With respect to claim 1, Billa teaches an apparatus comprising:
a plurality of cores (par. 5); and
a compression/decompression accelerator coupled to or integral to one or more of the plurality of cores, the compression/decompression accelerator to perform decompression and compression operations in response to read and write operations, respectively (pars. 80-81),
Billa fails to teach wherein performing a compression job comprises compressing a memory page or a portion thereof by the compression/decompression accelerator, wherein compressing the memory page or the portion thereof through a dictionary is controlled by setting a load dictionary flag in a data structure, and wherein the data structure specifies a first size of dictionary text and a second size of hash table, and a number of pointers per hash table entry.
Gopal teaches:
wherein performing a compression job comprises compressing a memory page or a portion thereof by the compression/decompression accelerator (col. 8, lines 34-49, the data block corresponds to the memory page, which is compressed by the compression engine. Col. 5, lines 25-30 disclose that the compression engine is an accelerator), wherein compressing the memory page or the portion thereof is based on a data structure, and wherein the data structure specifies one or more checksums to protect underlying data (par. 90).
Gopal fails to teach that the data structure specifies an output accumulator to accumulate output data and associated valid bits, a set of Huffman tables, and dictionary data of a dictionary to perform the compression job.
Laker teaches:
a data structure (par. 55, dictionary 146), and wherein the data structure specifies an output accumulator to accumulate output data and associated valid bits (pars. 55-56, dictionary match entries each include a valid bit), a set of Huffman tables (par. 159), and dictionary data of a dictionary to perform the compression job (pars. 54-55, the dictionary is part of a compression/decompression module).
Billa, Gopal and Laker fail to teach wherein the dictionary data comprises a first variable- length region indicating dictionary text and a second variable-length region indicating one or more corresponding hash tables corresponding to the dictionary text.
Fallon teaches:
wherein the dictionary data comprises a first variable-length region indicating dictionary text (col. 5, line 66, through col. 6, line 13, and fig. 1, dictionary 15. Col. 6, lines 52-63 disclose that the dictionary is variable length, “the amount of entries D[i]0 in the dictionary 15 can increase significantly,” and that the dictionary data is dictionary text, specifically a “character string”) and a second variable-length region indicating one or more corresponding hash tables corresponding to the dictionary text (col. 6, line 64, through col. 7, line 11, the hash table, with a number of arrays corresponding to the dictionary data. Col. 7, lines 25-29 describe that the hash table is dynamically modified to incorporate new entries D[i], and is thus also variable-length).
It would have been obvious to one of ordinary skill in the art, having the teachings of Billa and Gopal before him before the earliest effective filing date, to modify the compression method of Billa with the compression method of Gopal, as setting a maximum number of pointers for a hash value of a hash table provides speed advantages for a compression accelerator, as taught by Gopal in col. 5, lines 19-30. Further, it would have been obvious, also having the teachings of Laker before him before the earliest effective filing date, to modify the compression method of Billa and Gopal with the compression method of Laker, in order to accelerate match operations in a dictionary, as taught by Laker in pars. 40-41. Finally, it would have been obvious, also having the teachings of Fallon before him before the earliest effective filing date, to modify the compression method of Billa, Gopal and Laker with the compression method of Fallon, in order to implement a data compression system comprising a hash table utilized by a dictionary encoder during an encoding process to reduce the search time for finding a matching character string in a dictionary, as taught by Fallon in col. 6, lines 52-63.
With respect to claim 2, Billa, Gopal, Laker and Fallon teach all limitations of the parent claim. Billa further teaches the apparatus of claim 1 wherein the compression/decompression accelerator is to match portions of pre-configured dictionary data of the dictionary with portions of the memory page to generate compressed output data (figs. 5 and 9, and par. 84) based on sequences of bytes from the memory page (par. 84, strings of bytes are matched), the compression/decompression accelerator to further be provided with hash tables associated with the pre-configured dictionary data, the compression/decompression accelerator to read pointers from the hash tables based on sequences of bytes from the memory page (par. 7).
With respect to claim 3, Billa, Gopal, Laker and Fallon teach all limitations of the parent claim. Billa further teaches the apparatus of claim 2 wherein the compression/decompression accelerator is to use the pointers to attempt to match the portions of the pre-configured dictionary data with the portions of the memory page to generate the compressed output data (par. 7)
With respect to claim 4, Billa, Gopal, Laker and Fallon teach all limitations of the parent claim. Billa further teaches the apparatus of claim 3 wherein the compression/decompression accelerator further comprises: hash logic to execute a hash function using each of the sequences of bytes from the memory page to generate an N-bit value and to use the N-bit value to index one of a set of hash buckets of the hash tables (pars. 104-105).
With respect to claim 5, Billa, Gopal, Laker and Fallon teach all limitations of the parent claim. Billa further teaches the apparatus of claim 4 wherein the sequences of bytes from the memory page comprises three consecutive bytes and wherein the N-bit value comprises a 10-bit value (pars. 104-105).
With respect to claim 6, Billa, Gopal, Laker and Fallon teach all limitations of the parent claim. Billa further teaches the apparatus of claim 2 wherein the hash tables comprise a pre-processed version of the dictionary data (par. 104-105).
With respect to claim 7, Billa, Gopal, Laker and Fallon teach all limitations of the parent claim. Billa further teaches the apparatus of claim 2 wherein the hash tables and pre-configured dictionary data are selected based on characteristics of the compression job and/or the memory page (pars. 116-118).
With respect to claim 10, Billa, Gopal, Laker and Fallon teach all limitations of the parent claim. Billa further teaches the apparatus of claim 2 wherein the compression/decompression accelerator is to append a compression state data structure including the hash tables and associated pre-configured dictionary data to the compressed output data prior to storing or transmitting the compressed output data (par. 103).
With respect to claim 34, Billa, Gopal, Laker and Fallon teach all limitations of the parent claim. Fallon further teaches the apparatus of claim 1, wherein the one or more corresponding hash tables comprise hash table entries having either two pointers per entry or four pointers per entry (col. 7, lines 12-24, the first level of hashing using the first character to subdivide the dictionary and the second level of hashing using the second character to further subdivide the entries corresponding to the two pointers per entry).
With respect to claim 35, Billa, Gopal, Laker and Fallon teach all limitations of the parent claim. Fallon further teaches the apparatus of claim 1, wherein the dictionary data supports a plurality of dictionary styles having different dictionary-text sizes and different hash-table sizes (col. 5, line 66, through col. 6, line 13 disclose different character string lengths, corresponding to dictionary-text sizes, while col. 7, lines 25-29 disclose different hash-table sizes, as the hash table is dynamically modified to incorporate new entries D[i]).
With respect to claim 36, Billa, Gopal, Laker and Fallon teach all limitations of the parent claim. Laker further teaches the apparatus of claim 1, wherein the dictionary data is located after the set of Huffman tables within the data structure (par. 159, the Huffman tables are reloaded, followed by re-initializing the data buffer, corresponding to the dictionary data).
Claim(s) 8-9 and 11 is/are rejected under 35 U.S.C. 103 as being unpatentable over Billa, Gopal, Laker and Fallon, as applied to claims 1-2, 7, and 10 above, in view of Klein et al., US PGPub 2021/0255999.
With respect to claim 8, Billa, Gopal, Laker and Fallon teach the apparatus of claim 7, but fail to teach wherein the hash tables and pre-configured dictionary data are selected from a pre-configured group of dictionary styles, including a first dictionary style comprising dictionary data of a first size and hash tables of a first size, a second dictionary style comprising dictionary data of a second size and hash tables of the first size, and a third dictionary style comprising dictionary data of the second size and hash tables of a second size. Klein teaches wherein the hash tables and pre-configured dictionary data are selected from a pre-configured group of dictionary styles, including a first dictionary style comprising dictionary data of a first size and hash tables of a first size, a second dictionary style comprising dictionary data of a second size and hash tables of the first size, and a third dictionary style comprising dictionary data of the second size and hash tables of a second size (par. 37, where there are multiple different sizes of the records).
It would have been obvious to one of ordinary skill in the art, having the teachings of Billa, Gopal, Laker, Fallon and Klein before him before the earliest effective filing date, to modify the data storage apparatus of Billa, Gopal, Laker, and Fallon with the data storage apparatus of Klein, in order to implement record-based matching, which improves the compression ratio of compression techniques, as taught by Klein in par. 41.
With respect to claim 9, Billa, Gopal, Laker, Fallon and Klein teach the limitations of the parent claim. Klein further teaches the apparatus of claim 8 wherein the first dictionary style comprises 2 KB dictionary data and 4 KB hash tables, the second dictionary style comprises 4 KB dictionary data and 4 KB hash tables, and the third dictionary style comprises 4 KB dictionary data and 8 KB hash tables (par. 37, where there are different sizes, and the particular size would be merely a design choice).
With respect to claim 11, Billa, Gopal, Laker, Fallon and Klein teach the limitations of the parent claim, but fail to teach wherein compression/decompression accelerator is to include Huffman tables, output accumulator data, and checksums in the compression state data structure. Klein further teaches the apparatus of claim 10 wherein compression/decompression accelerator is to include Huffman tables, output accumulator data, and checksums in the compression state data structure (par. 34, the Huffman encoder produces the compressed bitstream).
It would have been obvious to one of ordinary skill in the art, having the teachings of Billa, Gopal, Laker, Fallon and Klein before him before the earliest effective filing date, to modify the data storage apparatus of Billa, Gopal, Laker and Fallon with the data storage apparatus of Klein, in order to implement record-based matching, which improves the compression ratio of compression techniques, as taught by Klein in par. 41.
Response to Arguments
Applicant's arguments filed 09/15/2026 have been fully considered but they are not persuasive. With respect to Applicant’s comments on page 5, regarding the application pending for five years, the examiner remains available and willing to conduct subsequent interviews in the interest of compact prosecution. Applicant’s arguments on pages 5-8 are directed towards the cited Bill, Gopal and Laker failing to disclose dictionary data comprising a first variable- length region indicating dictionary text and a second variable-length region indicating one or more corresponding hash tables corresponding to the dictionary text. These arguments are moot, as the new Fallon reference teaches this new limitation. Similarly the arguments regarding motivation to combine the cited reference to teach the new limitation are moot, as Fallon teaches the new limitation, and a motivation to combine in presented in the current rejection. Applicant’s arguments on page 9 regarding the dependent claims are moot, as they are directed towards their dependence on independent claim 1.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to RYAN DARE whose telephone number is (571)272-4069. The examiner can normally be reached M-F 9:00-5:00.
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, Hosain Alam can be reached at 571-272-3978. 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.
/RYAN DARE/Examiner, Art Unit 2132
/HOSAIN T ALAM/Supervisory Patent Examiner, Art Unit 2132