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 .
DETAILED ACTION
This responds to Applicant’s Arguments/Remarks filed 11/07/2026. Claims 1, 3, 19-20 have been amended. Claims 7, 17-18 have been cancelled. Claims 1-6, 8-16, 19-22 are now pending in this Application.
Response to Arguments
Applicant’s arguments with respect to claim(s) 1-6, 8-16, 19-22 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.
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.
Claim(s) 1, 3-4, 8, 10-13, 19-20 is/are rejected under 35 U.S.C. 103 as being unpatentable over Douglis et al (U.S. Pub No. 2005/0131939 A1), and in view of Ku et al (U.S. Patent No. 9,324,367).
As per claim 1, Douglis discloses a journal storage acceleration method, applied to a distributed storage system and comprising: dividing a to-be-written file into a plurality of to-be-written objects, respectively storing the plurality of to-be-written objects in object placement groups, and then constructing corresponding small-block write operations based on the plurality of to-be-written objects and the object placement groups (par [0024-0025, 0036, 0039] divided the object into chunks, stored data chunk);
so as to merge the small-block write operations into a large-block sequential write operation, and flushing of the large-block sequential write operation to a write-back queue; and writing back the large-block sequential write operation in the write-back queue into an extended file system for storage (Par [0047-0049]).
Douglis discloses hash value Ku does not explicitly disclose committing the small-block write operations to a journal file system by using a journal queue, writing the small-block write operations into a hash-based multi-linked list data structure through the journal file system; wherein writing the small-block write operations into the hash-based multi-linked list data structure through the journal file system, so as to merge the small-block write operations into a large-block sequential write operation comprises: respectively writing, into the hash-based multi-linked list data structure through the journal file system based on a multi-thread write mode, the small-block write operations corresponding to the plurality of to-be-written objects divided from the to-be-written file, so as to merge the small-block write operations into the large block sequential write operation corresponding to the to-be-written.
However, Ku discloses committing the small-block write operations to a journal file system by using a journal queue, writing the small-block write operations into a hash-based multi-linked list data structure through the journal file system; wherein writing the small-block write operations into the hash-based multi-linked list data structure through the journal file system, so as to merge the small-block write operations into a large-block sequential write operation comprises: respectively writing, into the hash-based multi-linked list data structure through the journal file system based on a multi-thread write mode, the small-block write operations corresponding to the plurality of to-be-written objects divided from the to-be-written file, so as to merge the small-block write operations into the large block sequential write operation corresponding to the to-be-written (Col 2 lines 61-67 through col 3 lines 1-17, col 9 lines 13-28).
It would have been obvious to one of ordinary skill in the art before the effective filling date of the claimed invention was made to incorporate the features as disclosed in Ku into the teaching of Douglis in order to increase storage capacity (Col 1 lines13).
As per claim 3, Douglis discloses the journal storage acceleration method according to claim 2, wherein writing the small-block write operations into the hash-based multi-linked list data structure through the journal file system, so as to merge the small-block write operations to obtain the large-block sequential write operation, and flushing the large-block sequential write operation to the write-back queue comprises (par [0047-0049]):
for each small-block write operation in the small-block write operations, searching, based on an open addressing method, for a target slot from the hash-based multi-linked list data structure through the journal file system and by using the object identifier in the small-block write operation; when the target slot is not found, directly flushing the small-block write operation to the write-back queue; when the target slot is found, mapping the small-block write operation to the target slot, and searching for a target block from a target linked list corresponding to the target slot by using the object placement group identifier in the small-block write operation; when the target block is not found, directly flushing the small-block write operation to the write-back queue; and when the target block is found, merging the small-block write operation into the target block in a manner of append-write data, so as to obtain the large-block sequential write operation, and then flushing the large-block sequential write operation into the write-back queue (Par [0007, 0025, 0049]).
Douglis discloses hash value Douglis does not explicitly disclose committing the small-block write operations to a journal file system by using a journal queue, writing the small-block write operations into a hash-based multi-linked list data structure through the journal file system.
However, Ku discloses committing the small-block write operations to a journal file system by using a journal queue, writing the small-block write operations into a hash-based multi-linked list data structure through the journal file system (Col 2 lines 61-67 through col 3 lines 1-17, col 9 lines 13-28).
It would have been obvious to one of ordinary skill in the art before the effective filling date of the claimed invention was made to incorporate the features as disclosed in Ku into the teaching of Douglis in order to increase storage capacity (Col 1 lines13).
As per claim 4, Douglis discloses the journal storage acceleration method according to claim 3, wherein writing back the large-block sequential write operation in the write-back queue into an extended file system for storage comprises:
writing the large-block sequential write operation in the write-back queue and the small-block write operations directly flushed to the write-back queue back to the extended file system, and storing the large-block sequential write operation in the write-back queue and the small-block write operations directly flushed to the write-back queue according to a write-back sequence (Par [0047-0049]).
As per claim 8, Douglis discloses the journal storage acceleration method according to claim 1, wherein before dividing the to-be-written file into the plurality of to-be-written objects, the method further comprises: when a file write operation is detected, writing the to-be-written file into a file system interface, and converting the file write operation into an object write operation through the file system interface, wherein the file write operation is used for requesting to write the to-be-written file (Par [0007, 0025, 0049]).
As per claim 10, Ku discloses the journal storage acceleration method according to claim 2, wherein each linked list in the hash-based multi-linked list data structure contains M blocks, wherein a size of each block is equal to a size of an object designated by the journal file system, and a block located at a same position in the linked list is associated with a same object placement group identifier, where M is a positive integer greater than or equal to 2 (Col 6 lines 1-37).
As per claim 11, Ku discloses the journal storage acceleration method according to claim 10, wherein values of the object placement group identifiers corresponding to the blocks are allocated to most frequently used blocks, and update is performed after triggering the whole flushing operation (Col 5 lines 64-67 through col 7 lines 1-10).
As per claim 12, Ku discloses the journal storage acceleration method according to claim 10, wherein the hash-based multi-linked list data structure is initialized in a memory, and comprises a combination of N slots and N linked lists, wherein each slot serves as a start pointer of the linked list, N is a positive integer greater than or equal to 2, and N and M are values determined according to preset memory consumption of the hash-based multi-linked list data structure (Col 6 lines 1-37, Col 13 lines 33).
As per claim 13, Douglis discloses the journal storage acceleration method according to claim 5, wherein the method further comprises: when the large-block sequential write operation in the write-back queue and the small-block write operations directly flushed to the write-back queue are all successfully written back to the extended file system, discarding the to-be-written file; or after sorting the serial numbers of the operations to be checked in the preset linked list according to the preset operation sequence, when the operation serial numbers of the small-block write operations corresponding to the large-block sequential write operation in the write-back queue, and the operation serial numbers of the small-block write operations directly flushed to the write-back queue are recorded in the preset linked list, discarding the to-be-written file (Par [0007, 0025, 0049]).
As per claim 19, Douglis discloses an electronic device, comprising a processor and a memory, wherein the processor implements the following operations when executing a computer program stored in the memory:
dividing a to-be-written file into a plurality of to-be-written objects, respectively storing the plurality of to-be-written objects in object placement groups, and then constructing corresponding small-block write operations based on the plurality of to-be-written objects and the object placement groups (par [0024-0025, 0036, 0039] divided the object into chunks, stored data chunk);
to merge the small-block write operations into a large-block sequential write operation, and flushing of the large-block sequential write operation to a write-back queue; and writing back the large-block sequential write operation in the write-back queue into an extended file system for storage (Par [0047-0049]).
Douglis discloses hash value Ku does not explicitly disclose committing the small-block write operations to a journal file system by using a journal queue, writing the small-block write operations into a hash-based multi-linked list data structure through the journal file system; wherein writing the small-block write operations into the hash-based multi-linked list data structure through the journal file system, so as to merge the small-block write operations into a large-block sequential write operation comprises: respectively writing, into the hash-based multi-linked list data structure through the journal file system based on a multi-thread write mode, the small-block write operations corresponding to the plurality of to-be-written objects divided from the to-be-written file, so as to merge the small-block write operations into the large block sequential write operation corresponding to the to-be-written.
However, Ku discloses committing the small-block write operations to a journal file system by using a journal queue, writing the small-block write operations into a hash-based multi-linked list data structure through the journal file system; wherein writing the small-block write operations into the hash-based multi-linked list data structure through the journal file system, so as to merge the small-block write operations into a large-block sequential write operation comprises: respectively writing, into the hash-based multi-linked list data structure through the journal file system based on a multi-thread write mode, the small-block write operations corresponding to the plurality of to-be-written objects divided from the to-be-written file, so as to merge the small-block write operations into the large block sequential write operation corresponding to the to-be-written (Col 2 lines 61-67 through col 3 lines 1-17, col 9 lines 13-28).
It would have been obvious to one of ordinary skill in the art before the effective filling date of the claimed invention was made to incorporate the features as disclosed in Ku into the teaching of Douglis in order to increase storage capacity (Col 1 lines13).
As per claim 20, Douglis discloses a computer non-volatile readable storage medium, configured to store a computer program, wherein the computer program, when executed by a processor, implements the following operations:
dividing a to-be-written file into a plurality of to-be-written objects, respectively storing the plurality of to-be-written objects in object placement groups, and then constructing corresponding small-block write operations based on the plurality of to-be-written objects and the object placement groups (par [0024-0025, 0036, 0039] divided the object into chunks, stored data chunk);
to merge the small-block write operations into a large-block sequential write operation, and flushing of the large-block sequential write operation to a write-back queue; and writing back the large-block sequential write operation in the write-back queue into an extended file system for storage (Par [0047-0049]).
Douglis discloses hash value Ku does not explicitly disclose committing the small-block write operations to a journal file system by using a journal queue, writing the small-block write operations into a hash-based multi-linked list data structure through the journal file system; wherein writing the small-block write operations into the hash-based multi-linked list data structure through the journal file system, so as to merge the small-block write operations into a large-block sequential write operation comprises: respectively writing, into the hash-based multi-linked list data structure through the journal file system based on a multi-thread write mode, the small-block write operations corresponding to the plurality of to-be-written objects divided from the to-be-written file, so as to merge the small-block write operations into the large block sequential write operation corresponding to the to-be-written.
However, Ku discloses committing the small-block write operations to a journal file system by using a journal queue, writing the small-block write operations into a hash-based multi-linked list data structure through the journal file system; wherein writing the small-block write operations into the hash-based multi-linked list data structure through the journal file system, so as to merge the small-block write operations into a large-block sequential write operation comprises: respectively writing, into the hash-based multi-linked list data structure through the journal file system based on a multi-thread write mode, the small-block write operations corresponding to the plurality of to-be-written objects divided from the to-be-written file, so as to merge the small-block write operations into the large block sequential write operation corresponding to the to-be-written (Col 2 lines 61-67 through col 3 lines 1-17, col 9 lines 13-28).
It would have been obvious to one of ordinary skill in the art before the effective filling date of the claimed invention was made to incorporate the features as disclosed in Ku into the teaching of Douglis in order to increase storage capacity (Col 1 lines13).
Claim(s) 2, 5-6 and 14-16 is/are rejected under 35 U.S.C. 103 as being unpatentable over Douglis et al (U.S. Pub No. 2005/0131939 A1), and Ku et al (U.S. Patent No. 9,324,367), and further in view of Borate et al (U.S. Pub No. 2019/0129972 A1).
As per claim 2, Douglis discloses the journal storage acceleration method according to claim 1, wherein constructing corresponding small-block write operations based on the plurality of to-be-written objects and the object placement groups comprises: acquiring to-be-written data corresponding to the plurality of to-be-written objects (par [0047-0049]).
Douglis and Ku do not explicitly disclose setting object placement group identifiers for the object placement groups and setting object identifiers for the plurality of to-be-written objects, constructing the small-block write operations each sequentially containing the object placement group identifier, the object identifier, the target operation serial number, and the to-be-written data in a form of quadruples.
However, Borate discloses setting object placement group identifiers for the object placement groups and setting object identifiers for the plurality of to-be-written objects, and then setting target operation serial numbers of the small-block write operations according to a preset operation sequence; and constructing the small-block write operations each sequentially containing the object placement group identifier, the object identifier, the target operation serial number, and the to-be-written data in a form of quadruples (Par [0055-0056]).
It would have been obvious to one of ordinary skill in the art before the effective filling date of the claimed invention was made to incorporate the features as disclosed in Borate into the teaching of Douglis as modified by Ku in order to reduce cost (Par [0026]).
As per claim 5, Douglis discloses the journal storage acceleration method according to claim 4, wherein after writing the large-block sequential write operation in the write-back queue and the small-block write operations directly flushed to the write-back queue back to the extended file system, and storing the large-block sequential write operation in the write-back queue and the small-block write operations directly flushed to the write-back queue according to a write-back sequence, the method further comprises: determining the small-block write operations corresponding to the large-block sequential write operation stored in the extended file system and the small-block write operations directly flushed to the write-back queue as target write operations (Par [0047-0049]).
Douglis and Ku do not explicitly disclose determining the target operation serial numbers corresponding to the target write operations as serial numbers of operations to be checked, and storing the serial numbers of the operations to be checked into a preset linked list according to the write-back sequence; and checking the serial numbers of the operations to be checked which are stored in the preset linked list according to a serial number of an operation to be written back which is stored in a preset check recording unit, so as to sort the serial numbers of the operations to be checked in the preset linked list according to the preset operation sequence.
However, Borate discloses determining the target operation serial numbers corresponding to the target write operations as serial numbers of operations to be checked, and storing the serial numbers of the operations to be checked into a preset linked list according to the write-back sequence; and checking the serial numbers of the operations to be checked which are stored in the preset linked list according to a serial number of an operation to be written back which is stored in a preset check recording unit, so as to sort the serial numbers of the operations to be checked in the preset linked list according to the preset operation sequence (Par [0040, 0055-0056]).
It would have been obvious to one of ordinary skill in the art before the effective filling date of the claimed invention was made to incorporate the features as disclosed in Borate into the teaching of Douglis as modified by Ku in order to reduce cost (Par [0026]).
As per claim 6, Borate discloses the journal storage acceleration method according to claim 5, wherein before checking the serial numbers of the operations to be checked which are stored in the preset linked list according to a serial number of an operation to be written back which is stored in the preset check recording unit, the method further comprises: according to the preset operation sequence, determining the target operation serial number corresponding to a first small-block write operation that has not been written back to the extended file system as the serial number of the operation to be written back, and storing the serial number of the operation to be written back in the preset check recording unit (Par [0040, 0057, 0075]).
As per claim 14, Douglis discloses the operation to be written back of the target written.
Douglis and Ku do not explicitly disclose the journal storage acceleration method according to claim 5, wherein sorting the serial numbers of the operations to be checked in the preset linked list according to the preset operation sequence comprises: comparing the serial number of the operation to be written back of the target write operation in the preset check recording unit with a serial number of an operation to be checked in a first node in the preset linked list; when the serial number of the operation to be written back of the target write operation in the preset check recording unit is equal to the serial number of the operation to be checked in the first node in the preset linked list, moving the preset check recording point backward through one write operation, and deleting the first node in the preset linked list; and when the serial number of the operation to be written back of the target write operation in the preset check recording unit is not equal to the serial number of the operation to be checked in the first node in the preset linked list, ending the sorting of the serial numbers of the operations to be checked in the preset linked list.
Borate discloses wherein sorting the serial numbers of the operations to be checked in the preset linked list according to the preset operation sequence comprises: comparing the serial number of the operation to be written back of the target write operation in the preset check recording unit with a serial number of an operation to be checked in a first node in the preset linked list; when the serial number of the operation to be written back of the target write operation in the preset check recording unit is equal to the serial number of the operation to be checked in the first node in the preset linked list, moving the preset check recording point backward through one write operation, and deleting the first node in the preset linked list; and when the serial number of the operation to be written back of the target write operation in the preset check recording unit is not equal to the serial number of the operation to be checked in the first node in the preset linked list, ending the sorting of the serial numbers of the operations to be checked in the preset linked list (Par [0055-0056, 0057, 0075]).
It would have been obvious to one of ordinary skill in the art before the effective filling date of the claimed invention was made to incorporate the features as disclosed in Borate into the teaching of Douglis as modified by Ku in order to reduce cost (Par [0026]).
As per claim 15, Ku discloses the journal storage acceleration method according to claim 5, wherein storing the serial numbers of the operations to be checked into the preset linked list according to the write-back sequence comprises: inserting the target operation serial number corresponding to each new target write operation which has been successfully written back into the preset linked list as the serial number of the operation to be checked, wherein all the serial numbers of the operations to be checked in the preset linked list are sorted according to the write-back sequence of the target write operation in the journal file system (Col 2 lines 61-67 through col 3 lines 1-23).
Douglis and Ku do not explicitly disclose serial number of the operation. However, Borate discloses serial number of the operation (Par [0055-0056, 0057, 0075]).
It would have been obvious to one of ordinary skill in the art before the effective filling date of the claimed invention was made to incorporate the features as disclosed in Borate into the teaching of Douglis as modified by Ku in order to reduce cost (Par [0026]).
As per claim 16, Borate discloses the journal storage acceleration method according to claim 5, wherein the preset check recording unit records the target operation serial numbers corresponding to the target write operations in the journal file system which have been successfully written back last time (Par [Par [0055-0056, 0057, 0075]).
Claim(s) 21-22 is/are rejected under 35 U.S.C. 103 as being unpatentable Douglis et al (U.S. Pub No. 2005/0131939 A1), and in view of Ku et al (U.S. Patent No. 9,324,367), and further in view of Krishnaprasad et al (U.S. Pub No. 2010/0293338 A1).
As per claim 21, Douglis discloses the journal storage acceleration method according to claim 1, further comprising: acquiring to-be-written data identifiers corresponding to the plurality of to-be-written objects (Par [0047-0049]).
Douglis and Ku do not explicitly disclose solving a Hash conflict in the hash-based multi-linked list data structure by using the to-be-written data identifier as a Key and adopting an open addressing method, wherein the hash conflict refers to a case that a same hash address is able to be obtained corresponding to different keys.
However, Krishnaprasad discloses solving a Hash conflict in the hash-based multi-linked list data structure by using the to-be-written data identifier as a Key and adopting an open addressing method, wherein the hash conflict refers to a case that a same hash address is able to be obtained corresponding to different keys (par [0114]).
It would have been obvious to one of ordinary skill in the art before the effective filling date of the claimed invention was made to incorporate the features as disclosed in Krishnaprasad into the teaching of Douglis as modified by Ku in order to improve efficiency of data management (Par [0044]).
As per claim 22, Krishnaprasad discloses the journal storage acceleration method according to claim 21, wherein in the open addressing method, all elements are stored in a hash table, and when a hash conflict occurs, a next candidate position is calculated by a probe function, and when the next selected position is still conflicting, then continuous searching is performed by the probe function, until an empty slot is found to store an element to be inserted (par [0114]).
Claim(s) 9 is/are rejected under 35 U.S.C. 103 as being unpatentable over Douglis et al (U.S. Pub No. 2005/0131939 A1), and in view of Ku et al (U.S. Patent No. 9,324,367), and further in view of Golander et al (U.S. Pub No. 2017/0177447 A1).
As per claim 9, Douglis and Ku do not explicitly disclose the journal storage acceleration method according to claim 1, wherein the journal file system is located in a Non-Volatile Memory express Solid-State Drive.
However, Golander discloses the journal storage acceleration method according to claim 1, wherein the journal file system is located in a Non-Volatile Memory express Solid-State Drive (NVMe SSD) (Par [0060]).
It would have been obvious to one of ordinary skill in the art before the effective filling date of the claimed invention was made to incorporate the features as disclosed in Golander into the teaching of Douglis as modified by Ku in order improve data access (Par [0095]).
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.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to THU N NGUYEN whose telephone number is (571)270-1765. The examiner can normally be reached Monday to Friday from 9:30AM-6:00PM.
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, Boris Gorney can be reached at 571-272-5626. 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.
February 24, 2026
/THU N NGUYEN/Examiner, Art Unit 2154