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
Response to Amendment
This Office Action is in response to the amendment filed on 01/26/26.
The applicant’s remarks and amendments to the claims were considered and results as
follow: THIS ACTION IS MADE FINAL.
Claims 1, 3, 5-6, 8, 11, 13, 15-16, 21, 23, 25-26 has been amended. No claims have been cancelled. Claims 31-33 have been added. As a result, claims 1-33 now pending in this office action.
Claim Rejections 35 U.S.C. §103
3. 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 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-33 are rejected under 35 U.S.C. 103 as being unpatentable
over Rajgaria et al. (US Patent No. 12, 423. 196 B1) in view of Brendle et al. (US 2006/0171405 A1).
Regarding claim 1 Rajgaria teaches One or more non-transitory computer-readable media storing program instructions that, when executed by one or more processors of a first cluster, cause the one or more processors to perform a method comprising, (See Rajgaria Col. 23 lines 42-45, a computer-readable storage medium, for example, in the form of a computer program comprising instructions executable by one or more processors. The computer-readable storage medium is non-transitory):
receiving, at a first node, a write transaction directed to a first data block of a first extent in an extent group, (See Rajgaria Col. 8 lines 60-64, commit a transaction until and unless the client-side driver 130 receives a reply from enough page storage nodes 116 to constitute a write quorum, as may be defined in a protection group policy for the data.);
subsequent to logging the tentative update, forwarding the write transaction to a second node, (See Rajgaria Col. 18 lines 13-14, transactions that are committed may be given to the database engine to roll-forward),
determining that the first node restarted before the write transaction was committed on the first node, (See Rajgaria Col. 18 lines 8-12, the recovery process may require that the last binlog file needs to be read, where all transactions are read one by one and it is determined whether each has been committed—if the last transaction is not committed, that transaction is rolled back),
rolling back the write transaction for the first replica in response to the determining, (See Rajgaria Col. 18 lines 11-13, determined whether each has been committed—if the last transaction is not committed, that transaction is rolled back).
Rajgaria does not explicitly disclose logging, at the first node, a tentative update in a tentative update journal for a first replica of the first data block, by detecting that the tentative update remains present in the tentative update journal after the first node has restarted.
However, Brendle teaches logging, at the first node, a tentative update in a tentative update journal for a first replica of the first data block, (See Brendle paragraph [0018], if the local transaction is unsuccessful or otherwise terminated, a compensation message is transmitted indicating that the tentative updates need to be rolled back), by detecting that the tentative update remains present in the tentative update journal after the first node has restarted, (See Brendle paragraph [0018], if the local transaction ends successfully, a confirm message is sent indicating that any tentative updates can be committed, converting the tentative updates into permanent updates).
It would have been obvious to one with ordinary skill in the art before the
effective filing date of the claimed invention was made, to modify logging, at the first node, a tentative update in a tentative update journal for a first replica of the first data block, by detecting that the tentative update remains present in the tentative update journal after the first node has restarted of Brendle in order to avoid possible conflicts in the allocation of a specific resource, which can result in errors, failures, data corruption, or other negative consequences.
Claims 11 and 21 recite the same limitations as claim 1 above. Therefore, claims
and 21 are rejected based on the same reasoning.
Regarding claim 2, Rajgaria taught the one or more non-transitory computer-readable media of claim 1, as described above. Rajgaria further teaches wherein the method further comprises:
subsequent to rolling back the write transaction for the first replica, (See Rajgaria Col. 18 lines 11-13, determined whether each has been committed—if the last transaction is not committed, that transaction is rolled back), receiving a read transaction, (See Rajgaria Col. 8 lines 2-5, a query engine 120 and other components implementing transactions…receives requests (e.g., queries to read or write data, etc.)); and
returning, by the first node or the second node, data stored in the first data block prior to receiving the write transaction, (See Rajgaria Col. 18 lines 17-19, read the table volumes can directly return the set of transactions that are known as not having been written to the page volume).
Claims 12 and 22 recite the same limitations as claim 2 above. Therefore, claims
and 22 are rejected based on the same reasoning.
Regarding claim 3, Rajgaria taught the one or more non-transitory computer-readable media of claim 1, as described above. Rajgaria further teaches wherein the method further comprises:
receiving, at the second node, the write transaction from the first node, (See Rajgaria Col. 9 lines 19-23, a database node 114 includes a client-side storage driver 130, which routes read requests or redo log records 132 to various page storage nodes 116 within the storage layer 112, receives write acknowledgements from the storage layer 112);
determining that the second node failed prior to updating a second replica of the first data block, (See Rajgaria Col. 21 lines 9-17 and Col. 24 lines 35-40, performed for a first instance of the database in a first region, wherein the first instance previously had been a designated writer for the database prior to an unplanned failover where a second instance of the database in a second region became the designated writer; the database engine is part of the first instance); and
rolling forward the updating of for the second replica, (See Rajgaria Col. 18 lines 11-13, determined whether each has been committed—if the last transaction is not committed, that transaction is rolled back, See Rajgaria Col. 15 lines 8-12, the change log events can be sent as they occur without having to wait for transaction completion, and this architecture produces an advantage in that there is no loss of information in cases where the transaction is rolled back).
Claims 13 and 23 recite the same limitations as claim 3 above. Therefore, claims
and 23 are rejected based on the same reasoning.
Regarding claim 4, Rajgaria taught the one or more non-transitory computer-readable media of claim 1, as described above. Rajgaria further teaches The one or more non-transitory computer-readable media of claim 1, wherein the method further comprises:
subsequent to committing the write transaction for the first replica, , (See Rajgaria Col. 17 lines 21-23, a transaction table. Writes of binlog events can occur in the change log table, and once a transaction gets committed); receiving a read transaction, (See Rajgaria Col. 8 lines 2-5, a query engine 120 and other components implementing transactions…receives requests (e.g., queries to read or write data, etc.)); and
returning, by the first node or the second node, data stored in the first data block subsequent to the tentative update, (See Rajgaria Col. 18 lines 17-19, read the table volumes can directly return the set of transactions that are known as not having been written to the page volume).
Claims 14 and 24 recite the same limitations as claim 4 above. Therefore, claims
and 24 are rejected based on the same reasoning.
Regarding claim 5, Rajgaria taught the one or more non-transitory computer-readable media of claim 4, as described above. Rajgaria further teaches wherein the method further comprises:
subsequent to committing the write transaction, acknowledging, by the first node, (See Rajgaria Col. 8 lines 59-63, the database node 114 may not be able to commit a transaction until and unless the client-side driver 130 receives a reply from enough page storage nodes 116 to constitute a write quorum),
completion of an update of the first replica to a storage client, (See Rajgaria Col. 24 lines 31-33, the page volume is completely updated to the second point in time without any loss of committed transaction data).
Claims 15 and 25 recite the same limitations as claim 5 above. Therefore, claims
and 25 are rejected based on the same reasoning.
Regarding claim 6, Rajgaria taught the one or more non-transitory computer-readable media of claim 3, as described above. Rajgaria further teaches wherein the method further comprises in response to receiving an instruction for committing the write transaction, committing, by the second node, the second replica, (See Rajgaria Col. 14 lines 1-5, a database node 114 continuously interacts with the storage layer 112 and maintains state to establish quorum, advance volume durability, and register transactions as committed. As the database receives acknowledgements to establish the write quorum for each batch of redo log records).
Claims 16 and 26 recite the same limitations as claim 6 above. Therefore, claims
and 26 are rejected based on the same reasoning.
Regarding claim 7, Rajgaria taught the one or more non-transitory computer-readable media of claim 1, as described above. Rajgaria further teaches wherein data for the tentative update for the first replica is stored separately from current data for the first replica, (See Rajgaria Col. 10 lines 29-32, providing a copy-on-write technique for creating and updating copies of a database…the page storage nodes 116 also interface with a separate backup data store).
Claims 17 and 27 recite the same limitations as claim 7 above. Therefore, claims
and 27 are rejected based on the same reasoning.
Regarding claim 8, Rajgaria taught the one or more non-transitory computer-readable media of claim 1, as described above. Rajgaria further teaches further comprising:
recovering, at the first node, from a failure of the first node, (the database node 114 (e.g., the client-side driver 130) may determine that a failure condition exists…to obtain transactional metadata (e.g., from the transaction tables 314 at circle (3)) that is returned at circle (4));
determining, at the first node, that the tentative update corresponding to the write transaction is present in the tentative update journal, (See Rajgaria Col. 8 lines 65-67, Col. 9 lines 1-5, the database processing layer 113 (or, more specifically, a database node 114) includes a cache in which recently accessed data pages are held temporarily. In such examples, if a write request is received that targets a data page held in such a cache, in addition to sending a corresponding redo log record 132 to the storage layer, the database engine applies the change to the copy of the data page held in its cache..);; and
rolling back, at the first node, the write transaction for the first replica, (See Rajgaria Col. 18 lines 11-12, determined whether each has been committed—if the last transaction is not committed, that transaction is rolled back), in response to determining that the tentative update is present, (See Rajgaria Col. 8 lines 65-67 and Col. 9 lines 1-5, the database processing layer 113 (or, more specifically, a database node 114) includes a cache in which recently accessed data pages are held temporarily…the database engine applies the change to the copy of the data page held in its cache).
Claims 18 and 28 recite the same limitations as claim 8 above. Therefore, claims
and 28 are rejected based on the same reasoning.
Regarding claim 9, Rajgaria taught the one or more non-transitory computer-readable media of claim 8, as described above. Rajgaria further teaches further comprising:
subsequent to rolling back the write transaction, (See Rajgaria Col. 18 lines 11-13, determined whether each has been committed—if the last transaction is not committed, that transaction is rolled back), receiving a read transaction; and in response to the read transaction, (See Rajgaria Col. 8 lines 2-5, a query engine 120 and other components implementing transactions…receives requests (e.g., queries to read or write data, etc.)); returning data for the first replica stored prior to the write transaction, (See Rajgaria Col. 18 lines 17-19, read the table volumes can directly return the set of transactions that are known as not having been written to the page volume).
Claims 19 and 29 recite the same limitations as claim 9 above. Therefore, claims
19 and 29 are rejected based on the same reasoning.
Regarding claim 10, Rajgaria taught the one or more non-transitory computer-readable media of claim 1, as described above. Rajgaria further teaches wherein committing the write transaction on the first node, (See Rajgaria Col. 24 lines 31-33, the page volume is completely updated to the second point in time without any loss of committed transaction data), further comprises removing the tentative update from the tentative update journal, (See Rajgaria Col. 18 lines 33-39, the system can “truncate” (or remove/ignore) the extraneous LSNs in the page volume to make it consistent with the table volume. Third, for transactions made in the table volume but not in the page volume, the system can either truncate the table volume records and make it consistent with the page volume or update the page volume based on the table volume).
Claims 20 and 30 recite the same limitations as claim 10 above. Therefore, claims 20 and 30 are rejected based on the same reasoning.
Regarding claim 31, Rajgaria taught the one or more non-transitory computer-readable media of claim 1, as described above. Rajgaria further teaches wherein the method further comprises subsequent to rolling back the write transaction for the first replica, (See Rajgaria Col. 18 lines 11-13, determined whether each has been committed—if the last transaction is not committed, that transaction is rolled back).
Rajgaria does not explicitly disclose deleting the tentative update from the tentative update journal.
However, Brendle teaches deleting the tentative update from the tentative update journal, (See Brendle paragraph [0018], if the local transaction ends successfully, a confirm message is sent indicating that any tentative updates can be committed, converting the tentative updates into permanent updates).
It would have been obvious to one with ordinary skill in the art before the
effective filing date of the claimed invention was made, to modify deleting the tentative update from the tentative update journal of Brendle in order to avoid possible conflicts in the allocation of a specific resource, which can result in errors, failures, data corruption, or other negative consequences.
Regarding claim 32, Rajgaria taught the computer-implemented method of claim 11, as described above. Rajgaria further teaches wherein the method further comprises subsequent to rolling back the write transaction for the first replica, (See Rajgaria Col. 18 lines 11-13, determined whether each has been committed—if the last transaction is not committed, that transaction is rolled back).
Rajgaria does not explicitly disclose deleting the tentative update from the tentative update journal.
However, Brendle teaches deleting the tentative update from the tentative update journal, (See Brendle paragraph [0018], if the local transaction ends successfully, a confirm message is sent indicating that any tentative updates can be committed, converting the tentative updates into permanent updates).
It would have been obvious to one with ordinary skill in the art before the
effective filing date of the claimed invention was made, to modify deleting the tentative update from the tentative update journal of Brendle in order to avoid possible conflicts in the allocation of a specific resource, which can result in errors, failures, data corruption, or other negative consequences.
Regarding claim 33, Rajgaria taught the first computing device of claim 21, as described above. Rajgaria further teaches wherein the operations further comprise subsequent to rolling back the write transaction for the first replica, (See Rajgaria Col. 18 lines 11-13, determined whether each has been committed—if the last transaction is not committed, that transaction is rolled back).
Rajgaria does not explicitly disclose deleting the tentative update from the tentative update journal.
However, Brendle teaches deleting the tentative update from the tentative update journal, (See Brendle paragraph [0018], if the local transaction ends successfully, a confirm message is sent indicating that any tentative updates can be committed, converting the tentative updates into permanent updates).
It would have been obvious to one with ordinary skill in the art before the
effective filing date of the claimed invention was made, to modify deleting the tentative update from the tentative update journal of Brendle in order to avoid possible conflicts in the allocation of a specific resource, which can result in errors, failures, data corruption, or other negative consequences.
Response to Arguments
Applicant's arguments with respect to claims 1-33 have been considered but are
moot in view of the new ground(s) of rejection.
Conclusions/Points of Contacts
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 MULUEMEBET GURMU whose telephone number is (571)270-7095. The examiner can normally be reached M-F 9am - 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, Tony Mahmoudi can be reached at 5712724078. 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.
/MULUEMEBET GURMU/Primary Examiner, Art Unit 2163