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 § 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.
Claims 1, 2, 4-6, 10-11, 13-17, and 19-20 are rejected under 35 U.S.C. 103 as being unpatentable over Bailey (US Patent 5,659,614) in view of Curran et al. (US Pre-Grant Publication 2004/0267838), further in view of Liu et al. (US Pre-Grant Publication 2012/0182860).
As to claim 1, Bailey teaches a method comprising:
executing a … operation at a first node (see Bailey 13:38-50. A change is executed against a data block);
identifying a [record] of [a] file that [is] modified by the execution of the … operation by the first node (see Bailey 13:38-50. A data block to be analyzed is read);
maintaining a second list of affected [data objects] of files that were modified by operations executed at the first node and dispatched to a second node for subsequent execution (see Bailey 13:38-50. A database of blocks that have previously been dispatched to a backup site is maintained)
…;
performing dependency aware parallel replication of non-overlapping independent metadata operations over a network from the first node to the second node while maintaining consistency between the first node and the second node by:
comparing [an] affected [data object] within the first [record] of [an] affected [data object] with affected [data objects] within the second list of affected [data objects] for identifying [an] affected [data objects] occurring in both the first [record] of [an] affected [data object] and the second list of affected [data objects] (see Bailey 13:51-14:27. A data block being analyzed is compressed and a number is generated to identify it. This number is compared to the numbers for data blocks that have already been dispatched to the backup site);
in response to determining that none of the affected [data objects] within the first [record] of affected [data objects] occur within the second list of affected [data objects], transmitting the … operation over the network from the first node to the second node (see Bailey 13:51-14:27. If the data block number comparison results in a determination that the data block is not present within the list of blocks that have already been sent to the backup site, it is transmitted to the backup site),
otherwise, withholding transmission of the … operation to the second node (see Bailey 13:51-14:27. If the number is already present in the list of blocks transmitted to the backup site, it is withheld); and
in response to receiving a data operation after the … operation has been dispatched to the second node, transmitting the data operation over the network from the first node to the second node based upon the data operation not overlapping with the … operation (see Bailey 13:51-14:27. Changes that do not match changes that have already been sent to the backup site are sent to the backup site).
Bailey does not explicitly teach:
executing a metadata operation at a first node;
identifying a first list of affected inodes that are modified by the metadata operation;
wherein an affected inode is inserted into the second list in response to an operation executed at the first node modifying the affected inode and the affected inode is retained within the second list after dispatch of the operation to the second node until acknowledgement by the second node that the operation is complete;
Curran teaches:
executing a metadata operation at a first node (see Curran paragraphs [0046] and [0050]. Operations that modify attributes of an inode are tracked);
identifying a first list of affected inodes that are modified by the execution of the metadata operation by the first node (see paragraph [0050]. Curran teaches to maintain a list of inodes that have changed)
As noted above, Bailey does not contain a first “list” of multiple updates to data blocks that have occurred. Bailey only compares an individual record of data that has been changed to a list of records that have been transmitted or already backed up. Curran provides to Bailey a reference list of multiple inodes that have changed, rather than the single operation analysis of Bailey. This will allow Bailey to identify multiple changed blocks in a single comparison, rather than one at a time.
It would have been obvious to one of ordinary skill in the art before the earliest filing date of the invention to have modified Bailey by the teachings of Curran, because both references are directed towards managing data updates and backups. Curran merely provides to Bailey the benefit of being able to track a list of multiple update operations, as in Curran, and compare the list of update operations in Curran with the already sent list of Bailey to determine which operations need to be backed up.
As noted above, Bailey teaches the claimed comparison, but only in view of a single modified element to a list of elements to determine whether to transmit the single element. Curran provides the benefit wherein a list of modified elements is generated, rather than only generating a single element. The difference between comparing multiple modified elements against a reference list, as opposed to comparing a single modified element against a list in Bailey, is a mere “duplication of parts.” As noted in MPEP 2144.04 (IV) (B), Duplication of parts is obvious.
In reHarza, 274 F.2d 669, 124 USPQ 378 (CCPA 1960) (Claims at issue were directed to a water-tight masonry structure wherein a water seal of flexible material fills the joints which form between adjacent pours of concrete. The claimed water seal has a “web” which lies in the joint, and a plurality of “ribs” projecting outwardly from each side of the web into one of the adjacent concrete slabs. The prior art disclosed a flexible water stop for preventing passage of water between masses of concrete in the shape of a plus sign (+). Although the reference did not disclose a plurality of ribs, the court held that mere duplication of parts has no patentable significance unless a new and unexpected result is produced.).
Liu et al. teaches:
wherein an affected inode is inserted into the second list in response to an operation executed at the first node modifying the affected inode and the affected inode is retained within the second list after dispatch of the operation to the second node until acknowledgement by the second node that the operation is complete (see Liu paragraph [0061]. Liu shows wherein a list of transmitted data maintains a data entry for a transmitted chunk of data until all recipients of the chunk of data acknowledge successful reception of the data. See Curran above for where the list of data is inodes that have changed).
It would have been obvious to one of ordinary skill in the art before the earliest filing date of the invention to have modified Bailey by the teachings of Liu, because both references are directed towards managing data updates between nodes. Liu merely provides to Bailey the benefit of being able to verify that updates have occurred, which will increase the reliability of Bailey while keeping receiving nodes from waiting too long (see Liu paragraph [0061]).
As to claim 2, Bailey as modified teaches the method of claim 1, comprising:
withholding dispatch of the data operation to the second node based upon the data operation overlapping with the metadata operation (see Bailey 13:51-14:27 for withholding overlapping changes. See Curran paragraphs [0046] and [0050] for metadata operations).
As to claim 4, Bailey as modified teaches the method of claim 1, comprising:
withholding dispatch of the data operation to the second node based upon the data operation overlapping with one or more of the operations (see Bailey 13:51-14:27 for withholding overlapping changes).
As to claim 5, Bailey as modified teaches the method of claim 1, comprising:
withholding dispatch of the metadata operation to the second node based upon at least one inode within the first list of affected inodes occurring within the second list of affected inodes (see Bailey 13:51-14:27 for withholding overlapping changes. See Curran paragraphs [0046] and [0050] for metadata operations).
As to claim 6, Bailey as modified teaches the method of claim 1, comprising:
executing the data operation at the first node (see Bailey 13:38-50. A change is executed against a data block).
As to claim 10, Bailey as modified by Curran teaches the method of claim 1, dispatching a plurality of independent metadata operations to the second node, wherein the plurality of independent metadata operations are identified as metadata operations that affect non-overlapping sets of inodes with respect to one another (see Bailey 13:51-14:27 for dispatching changes to a second node. It would be obvious that Bailey may be used for more than one operation. See Curran paragraph [0050] for tracking overlapping operations via inodes).
As to claim 11, Bailey as modified by Curran teaches the method of claim 1, comprising: sequentially executing metadata operations at the first node (see Curran paragraph [0046] and [0050]. Metadata operations are tracked by time, and thus executed sequentially).
As to claims 13 and 19, see the rejection of claim 1.
As to claims 14 and 20, see the rejection of claim 2.
As to claim 15, see the rejection of claim 4.
As to claim 16, see the rejection of claim 5.
As to claim 17, see the rejection of claim 6.
Claims 3, 7, 12, and 18 is rejected under 35 U.S.C. 103 as being unpatentable over Bailey (US Patent 5,659,614) in view of Curran et al. (US Pre-Grant Publication 2004/0267838), in view of Liu et al. (US Pre-Grant Publication 2012/0182860), and further in view of Avati et al. (US Pre-Grant Publication 2014/0222878).
As to claim 3, Bailey as modified teaches the method of claim 1.
Bailey does not teach comprising:
incrementing a count of pending data operations being executed by the first node and replicated to the second node based upon the data operation being dispatched to one of the first node and in parallel to the second node during synchronous replication of the data operation.
Avati teaches:
incrementing a count of pending data operations being executed by the first node and replicated to the second node based upon the data operation being dispatched to one of the first node and in parallel to the second node during synchronous replication of the data operation (see paragraph [0019] and [0030]-[0032]. Avati shows to increment a counter for a file to representing a pending change to a file. Avati also retains the count when a change is dispatched to a second node during a synchronous replication of the data operation, see paragraph [0030]-[0032]).
It would have been obvious to one of ordinary skill in the art before the earliest filing date of the invention to have modified Bailey by the teachings of Avati, because both references are directed towards the transmitting of data updates. Avati provides to Bailey the benefit of improved tracking of replicated commands to ensure that the system has an accurate count of pending commands across all replicas.
As to claim 7, Bailey as modified teaches the method of claim 1.
Bailey does not teach comprising: tracking a count of pending data operations being executed by the first node and replicated to the second node based upon a synchronous replication relationship where data operations are dispatched in parallel to the first node and the second node.
Avati teaches comprising: tracking a count of pending data operations being executed by the first node and replicated to the second node based upon a synchronous replication relationship where data operations are dispatched in parallel to the first node and the second node (see Avati paragraphs [0019] and [0030]-[0032]).
It would have been obvious to one of ordinary skill in the art before the earliest filing date of the invention to have modified Bailey by the teachings of Avati, because both references are directed towards the transmitting of data updates. Avati provides to Bailey the benefit of improved tracking of replicated commands to ensure that the system has an accurate count of pending commands across all replicas.
As to claim 12, Bailey as modified teaches the method of claim 1.
Bailey does not explicitly teach comprising:
updating the second list of affected inodes with affected inodes within the first list of affected inodes based upon the metadata operation being dispatched to the second node.
Avati teaches
updating the second list of affected inodes with affected inodes within the first list of affected inodes based upon the metadata operation being dispatched to the second node (see Avati paragraphs [0019] and [0030]-[0032]. It is noted that Avati maintains a list of affected files. Curran teaches to track inodes, see [0050]).
It would have been obvious to one of ordinary skill in the art before the earliest filing date of the invention to have modified Bailey by the teachings of Avati, because both references are directed towards the transmitting of data updates. Avati provides to Bailey the benefit of improved tracking of replicated commands to ensure that the system has an accurate count of pending commands across all replicas.
As to claim 18, see the rejection of claim 7.
Allowable Subject Matter
Claims 8-9 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.
Additionally Cited References
The following references are made of record because they are relevant to the claimed invention, but have not been cited in any rejection:
Shankar (US Patent 8,751,598) shows maintaining a request queue for managing data sets already sent to a remote node. When a confirmation of a successful mirroring operation is received from the remote node, an object may remove the request from the queue (see Shankar 2:49-61).
Response to Arguments
Applicant’s remaining arguments with respect to amendments to the claims 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.
Applicant's arguments filed 31 December 2026 have been fully considered but they are not persuasive.
Applicant asserts that Bailey and Curran “do not teach maintaining two separate lists of inodes of files that were modified by execution of operations at a first node where an affected inode is inserted into the second list in response to an operation executed at the first node modifying the affected inode and the affected inode is retained within the second list after dispatch of the operation to the second node until acknowledgement by the second node that the operation is complete, and where the two lists of inodes are compared to determine whether a metadata operation can be transmitted from the first node to the second node, as provided by independent claim 1, 13, and 19.”
In response to this argument, it is noted that Bailey as modified by Curran and Liu does teach these limitations for the reasons provided in the rejection above. Bailey teaches a comparison step to determine whether data can be transmitted from a first node to a second node (see Bailey 13:51-14:27). Curran teaches that operations that modify attributes of an inode are tracked (see Curran paragraphs [0046] and [0050]). The references combined teach the limitations to the extent claimed.
Remarks
Examiner phoned Applicant’s representative Daniel Tate (Reg. No. 60,870) on 15 April 2026 and asked if Applicant would be willing to incorporate the subject matter of claims 7 and 8 into the independent claims. Examiner followed up with Applicant’s representative on 23 April 2026. As of 30 April 2026, no response has been received.
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 CHARLES D ADAMS whose telephone number is (571)272-3938. The examiner can normally be reached M-F, 9-5:30 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, Aleksandr Kerzhner can be reached at 5712701760. 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.
/CHARLES D ADAMS/Primary Examiner, Art Unit 2165