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 § 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 20 is rejected under 35 U.S.C. 101 as software per se as the claim is directed to a computer program product which is to always be construed as software.
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.
Claims 1, 2, 4, 9, 11-13, 15, and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Dronamraju et al. (US PGPub 2013/0238832, hereafter referred to as Dronamraju) in view of Colgrove et al. (US PGPub 2013/0097380, hereafter referred to as Colgrove).
Regarding claim 1, Dronamraju teaches a data deduplication method, comprising: receiving a write request that comprises a first data block, writing the first data block into a storage device (Paragraph [0050], describes the post-processing deduplication process which involves first storing blocks from a write request meaning the write request would have to be received), and the metadata of the first data block comprises a first fingerprint corresponding to the first data block and address information of the first data block (Paragraph [0050], states that fingerprints can be used for the deduplication process. Paragraph [0028], states that blocks have address associated with them), and when the metadata structure includes a fingerprint that is the same as the first fingerprint corresponding to the first data block, deleting the metadata of the first data block and deleting the first data block from the storage device based on the address information of the first data block (Paragraph [0050], as stated previously, describes the post-processing deduplication process which involves detecting to see if there is a match (using the fingerprints), if there is a match: deleting the previously stored data and updating the entry for the fingerprint that already exists). Dronamraju does not teach writing metadata of the first data block into a first partition in a plurality of partitions of a metadata management structure, wherein the first partition is determined based on a feature of the first data block, and when the first partition includes a fingerprint that is the same as the first fingerprint corresponding to the first data block, deleting the metadata of the first data block in the first partition and deleting the first data block from the storage device based on the address information of the first data block.
Colgrove teaches writing metadata of the first data block into a first partition in a plurality of partitions of a metadata management structure (Paragraph [0053], describes the multiple fingerprint tables (partitions of a metadata structure) that the metadata for the data would need to be written to), wherein the first partition is determined based on a feature of the first data block (Paragraph [0053], states that entries can be added to a particular table based on a particular feature of the data), and when the first partition includes a fingerprint that is the same as the first fingerprint corresponding to the first data block, deleting the metadata of the first data block in the first partition and deleting the first data block from the storage device based on the address information of the first data block (Paragraph [0062], states deduplication can be done using post-processing deduplication which, also described in Dronamraju, involves first saving the data to memory and then checking for duplicates and deleting any data that is determined to duplicates and update the metadata tables accordingly). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify the teachings of Dronamraju to utilize the fingerprint tables as taught in Colgrave so to efficiently remove duplicate data blocks at a fine-granularity from a storage array (Colgrove, Paragraph [0002]).
Regarding claim 2, Dronamraju and Colgrove teach all the limitations to claim 1. Colgrove further teaches wherein the feature of the first data block is the first fingerprint corresponding to the first data block (Paragraph [0053] and [0056], states that the fingerprint can be stored in the fingerprint tables with the other attributes of the data), and wherein the writing metadata of the first data block into the first partition in the plurality of partitions of the metadata management structure comprises: determining hotness of the first fingerprint corresponding to the first data block, determining, based on the hotness of the first fingerprint corresponding to the first data block, the first partition that is in the plurality of partitions of the metadata management structure and that corresponds to the hotness of the first fingerprint of the first data block, and writing the metadata of the first data block into the first partition (Paragraph [0053], states that entries (metadata) can be added to tables based on a particular attribute of the data. Fig. 4 and Paragraph [0068], show the attributes that can be associated with data which includes access rate (hotness) which means the hotness can be used at the attribute for selecting the table). The combination of and reason for combining are the same as those given in claim 1.
Regarding claim 4, Dronamraju and Colgrove teach all the limitations to claim 1. Colgrove further teaches wherein the write request further comprises a second data block, hotness of a second fingerprint corresponding to the second data block is greater than the hotness of the first fingerprint corresponding to the first data block, and the method further comprises: writing the second data block into the storage device, and writing metadata of the second data block into a second partition in the plurality of partitions of the metadata management structure (Paragraphs [0053] and [0056], as stated in the rejection to claims 1 and 2, if a different piece of data has a different access rate and that is the attribute being used to determine which table to store its entry in then it would mean that the data would be written to storage (as is standard procedure for writes in the system) and then its metadata would be written into the appropriate table which can be different from the first table), wherein a capacity of the second partition is less than a capacity of the first partition (Paragraph [0053], states that one of the tables may be a subset of another table meaning it would have less capacity as it is smaller). The combination of and reason for combining are the same as those given in claim 1.
Regarding claim 9, Dronamraju and Colgrove teach all the limitations to claim 1. Colgrove further teaches wherein the address information of the first data block is a logical address of the first data block, and the method further comprises: writing the logical address and a physical address of the first data block into an address mapping table (Paragraph [0058], states that mapping tables can exist that map the virtual to physical addresses), and wherein the deleting the first data block from the storage device based on the address information of the first data block comprises: obtaining the physical address of the first data block from an address mapping table based on the logical address of the first data block, finding the first data block from the storage device based on the physical address; and deleting the first data block (Paragraphs [0062] and [0072], while not explicitly stated, one of ordinary skill would recognize that in order to delete the already stored data, it would first have to be located (the purpose of the mapping tables existence), and then deleted from the identified location. It should be noted that this is the standard process of deleting data in any system). The combination of and reason for combining are the same as those given in claim 1.
Regarding claim 11, Dronamraju and Colgrove teach all the limitataions to claim 9. Colgrover further teaches when at least one partition of the metadata management structure meets an eviction condition, evicting metadata in the at least one partition (Paragraph [0066], states that there are conditions that will result in entries being evicted from a particular table). The combination of and reason for combining are the same as those given in claim 1.
Regarding claims 12, 13, and 15, claims 12, 13, and 15 are the apparatus claims associated with claims 1, 2, and 4. Since Dronamraju and Colgrove teach all the limitations to claims 1, 2, and 4 and Dronamraju teaches at least one processor and at least one storage, the at least one storage stores a program code for execution by the at least one processor, the program code including computer-readable instructions (Paragraph [0070], describes the computer readable medium which can be a storage device that when used by a processor executes the program code stored on it), they also teach all the limitations to claims 12, 13, and 15; therefore the rejections to claims 1, 2, and 4 also apply to claims 12, 13, and 15.
Regarding claim 20, claim 20 is the computer program product claim associated with claim 1. Since Dronamraju and Colgrove teach all the limitations to claims 1, they also teach all the limitations to claim 20; therefore the rejection to claim 1 also applies to claim 20.
Allowable Subject Matter
Claims 3, 5-8, 10, 14, and 16-19 are objected to as being dependent upon a rejected base claim, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to NICHOLAS A PAPERNO whose telephone number is (571)272-8337. The examiner can normally be reached Mon-Fri 9:30-5 EST.
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.
/NICHOLAS A. PAPERNO/Examiner, Art Unit 2132