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 12 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.
Claim 12 recites the limitation "said particular causes record" in line 10 of claim 12. There is insufficient antecedent basis for this limitation in the claim. Appears it should be “said particular data log record”
Claim Rejections - 35 USC § 102
The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention.
Claim(s) 1-3, 5-8, 10, 11-13, 15-18, and 20 is/are rejected under 35 U.S.C. 102(a)(1) as being anticipated by U.S. Patent application publication 20120323849 by Garlin et. al. (hereafter Garlin).
Claim 1:
Garlin discloses:
“each host of a plurality of hosts storing a respective replica of a set of rows in a database table,” [ each host of a plurality of hosts (0004, primary data system; 0004 standby system; fig. 1)storing a respective replica (0004, replica copy; 0004 primary copy) of a set of rows in a database table (0010, database records (rows of a table))]
“wherein said plurality of hosts include a first host and another plurality of other hosts; ” [wherein said plurality of hosts (fig. 1 110/120; 0004, primary data system; 0004 standby system)include a first host (0004, primary data system; fig. 1 110)and another plurality of other hosts(0004, standby system; fig. 1 120)]
“within a database transaction:” [0040, transactions]
“said first host of said plurality of hosts making a particular change to data of a particular row of the database table in the respective replica of the first host;” [said first host(0041, primary) of said plurality of hosts (0041, primary/standby) making a particular change to data (0041,in step 200, a session commits a transaction) of a particular row of a database table in the respective replica (0010, replicated at the lowest atomic level of database (e.g. rows of a table); replication of the transaction) of the first host(0041, primary)]
“said first host sending each other host of said another plurality of other hosts a particular data log record that contains said particular change and requests to prepare to commit said database transaction;” [said first host (0041, primary) sending each other host (0041, standby)of said another plurality of other hosts (0041, standby; 0008, types of standby) a particular data log record that contains said particular change (0041, send the session’s commit record in the redo stream to the standby) and request to prepare to commit said database transaction (0041, waits for notification that the commit record is stored persistently in the standby log)]
“said first host receiving a prepared acknowledgement for said database transaction from each other host of said another plurality of other hosts; and” [ said first host receiving (fig. 2 230 is commit record stored persistently to standby log; yes) a prepared acknowledgement (fig. 2 270, send indication that the commit record is stored persistently in standby) for said database transaction from each other host of said another plurality of other hosts (fig. 2 260, store commit record persistently in standby; 0041 last record persisted in the standby log); and ]
“in response to receiving a prepared acknowledgement for said database transaction from each other host of said another plurality of other hosts, said first host causing commit of said database transaction on said plurality of hosts, including said first host without sending a prepare request message, other than said particular data log record, to request to prepare said database transaction.” [ in response to receiving (fig. 2 230 is commit record stored persistently to standby log; yes) a prepared acknowledgement(fig. 2 270, send indication that the commit record is stored persistently in standby) for said database transaction from each other host of said another plurality of other hosts(fig. 2 260, store commit record persistently in standby), said first host causing (fig. 2 210; 0041 primary) commit of said database transaction (0040, transaction commit) on said plurality of hosts (fig. 2 260; 0041, standby), including said first host (0040, primary’s perspective, the transaction is not committed until the primary receives the commitment acknowledgement) without sending a prepare request message, other than said particular data log record (fig. 2 250, send commit record to standby log; primary does not send a prepare to commit message to standby as it sends the records), to request to prepare said database transaction (fig. 2 260, store commit record persistently in standby log; prepares to store since it is storing and not yet finished until 270)]
Claim 2:
Garlin discloses:
“within the database transaction:”[0040, transaction]
“said first host making a plurality of changes to a plurality of rows in the respective replica of said first host, wherein said plurality of changes include the particular change to the particular row; and” [said first host (0041, primary; fig. 1, primary) making a plurality of changes to a plurality of rows in the respective replica of said first host (0041, commit log record is generated and stored persistently in the primary’s local redo log), wherein said plurality of changes(0041, commit log record is generated and stored persistently in the primary’s local redo log) include the particular change (0041, commit log record) to the particular row(0010, database records (rows of a table); committed record is a change to a row in the table); and]
“determining that said particular change is known or estimated to be a last change to be made by said database transaction,
wherein said first host causes said particular data log record to request to prepare said database transaction in response to determining that said particular change is known or estimated to be the last change to be made by said database transaction.”[ determining that said particular change is known or estimated to be a last change to be made by said database transaction (0041, comparing the location of the last record persisted in the standbylog to location of the commit record in the primary log; last record (last change to be made by said database transaction was made)),
wherein said first host causes said particular data log record to request to prepare said database transaction (0041, concurrently with steps 220 and 230, the primary’s log writer may send send the sessions commit reord in the redo stream to the standby) in response to determining that said particular change is known or estimated to be the last change to be made by said database transaction (fig. 2 230; 0041, comparing the location of the last record persisted in the standbylog to location of the commit record in the primary log; determines that the last commit has been commited, if it has not the last commit is sent as it is concurrent to 230 as well.)]
Claim 3:
Garlin discloses:
“The method of claim 1, wherein said database transaction is an autonomous database transaction.”[ wherein said database transaction (0040, transaction; transaction is a database transaction) is an autonomous database transaction (0040 application session commits a transaction; autonomous database transaction as it is commited an application and functions of fig. 2 and not manually)]
Claim 5:
Garlin discloses:
“The method of claim 1, further including, within the database transaction, said first host making a plurality of changes to a plurality of rows in the respective replica of said first host, wherein said plurality of changes include the particular change to the particular row. [within the database transaction (0041, transaction), said first host (0041, primary; fig. 1, primary) making a plurality of changes to a plurality of rows in the respective replica of said first host (0041, commit log record is generated and stored persistently in the primary’s local redo log), wherein said plurality of changes(0041, commit log record is generated and stored persistently in the primary’s local redo log) include the particular change (0041, commit log record) to the particular row(0010, database records (rows of a table); committed record is a change to a row in the table (record))]
Claim 6:
Garlin discloses:
“The method of claim 5, further including, within said database transaction, after said first host receiving a prepared acknowledgement for said database transaction from each other host of said another plurality of other hosts, said first host sending each other host of said another plurality of other hosts a particular message that indicates to enter an active transaction state for said database transaction.” [within said database transaction (0041, transaction), after said first host receiving (fig. 2 230, is commit record stored persistently; yes) a prepared acknowledgement for said database transaction from each other host of said another plurality of other hosts (fig. 2 270, send indication that the commit record is stored in standby), said first host sending each other host of said another plurality of other hosts a particular message that indicates to enter an active transaction state for said database transaction (fig. 2 280; application continues and next transaction commits, wherein standby is sent commit records again in at least 250)]
Claim 7:
Garlin discloses:
“The method of claim 6, wherein said first host sending said particular message is performed as a response to determining a threshold number of reads has occurred for rows changed by said database transaction.”[ wherein said first host sending said particular message is performed as (fig. 2 250; 0041, primary log writer may send the session’s commit) a response to determining a threshold number of reads has occurred for rows changed by said database transaction (0036, limited buffer space…log writer to free buffer space)]
Claim 8:
Garlin discloses: “The method of claim 7, further including, after sending said particular message, said first host sending each other host of said another plurality of other hosts a message to prepare to commit said database transaction.”[ after sending said particular message(0041, primary log writer may send the session’s commit), said first host sending each other host of said another plurality of other hosts a message to prepare to commit said database transaction(fig. 2 250; 0041, primary log writer may send the session’s commit; 0008, types of standby database systems; more than one standby system can be utilized)]
Claim 10:
Garlin discloses: “The method of claim 1, wherein: said plurality of hosts include a second host not included in said another plurality of other hosts; the method further includes:
within said database transaction, said first host sending said second host another data log record that contains said particular change but does not request to prepare to commit said database transaction; and
said first host sending a message to said second host to prepare to commit said database transaction.”[ said plurality of hosts include a second host not included in (0009, physical standby) said another plurality of other hosts (fig. 2 standby); the method further includes:
within said database transaction, said first host (0009, primary system) sending said second host another log record that contains said particular change but does not request to prepare to commit said database transaction (0009, changes made to data blocks on primary database system are replicated in replicas of those data blocks on physical standby);
and said first host sending a message (fig. 2 250, send commit record to standby) to said second host to prepare to commit said database transaction (fig. 2 250, for storing in standby log)]
Claims 11-13, 15-18, 20:
Claims 11-13, 15-18, and 20 recite similar limitations as that of claims 1-3, 5-8, and 10 except that they are directed to a non-transitory computer-readable media instead of a method. The limitations of claims 11-13, 15-18, and 20 are rejected under similar rationale as that of claims 1-3, 5-8, and 10. Garlin further discloses a non-transitory computer-readable media in at least figure 5.
Allowable Subject Matter
Claims 4, 9, 14, and 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.
Response to Arguments
Applicant's arguments filed 4/27/26 have been fully considered but they are not persuasive. Applicant’s primarily assert the following:
Page 9, Applicant asserts Garlin does not teach “wherein said plurality of hosts includes a first host and another plurality of other hosts” because Garlin teaches a primary and a standby system, and that if primary system is the first host there is only one other host. Garlin does not teach another plurality of hosts.
Garlin teaches a plurality of host as there are multiple database servers. If the primary host fails the standby host takes over, see Garlin 0006.
Page 9, that “said first host sending each other host of said another plurality of other hosts a particular log record that specifies said particular change and to prepare to commit said database transaction” is not disclosed since the commit record is not “a particular data log record that contains said particular change and requests to prepare to commit said database transaction” and wherein said particular change is to a particular row of the database table.” Page 9, That “to prepare to commit said database transaction” is not disclosed since there is no mention of a two phase commit with a prepare and commit phase.
Regarding, commit record is not a particular data log record, this is disagreed.
With regard to commit record containing the particular change, see 0041, “commit log record is generated and stored persistently in the primary’s local reado log….230…determining that a commit record is stored persistently by comparing the location of the last record persisted in the standby log to the location of the commit record in the primary log”, the commit record contains at least the particular change because the commit record is the transaction record to commit.
The transaction commit record is for lowest atomic level of a database (rows of a database) as the transaction pertains to the replicating the changes, see 0010. The transaction commit record is a particular change to a particular row of the database table.
With regard to “to prepare to commit said database transaction” is not disclosed since Garlin does not indicate a two-phase commit with a prepare and commit phase, there is nothing in the claim mentioning a two phase commit. Garlin prepares for commit of transaction at 260 since it is storing, and commits transaction at 270 as it is finished storing and therefore provides for a prepare and commit.
Page 10, Garlin does not teach said first host causing commit of said database transaction on said plurality of hosts, including the first host, in response to receiving a prepared acknowledgment for said database transaction from each other host of said another plurality of hosts.
This is disagreed, since the primary (first host) has caused commits to occur at the standby, as well as, committing to itself as a result of receiving the acknowledgement 270.
Garlin teaches said first host causing (fig. 2 210) commit of said database transaction on said plurality of hosts (fig. 2 270, commit record is stored in standby), including the first host (0040, primary’s perspective, the transaction is not committed until the primary receives commitment acknowledgement), in response to receiving a prepared acknowledgment for said database transaction from each other host of said another plurality of hosts (fig. 2 270 indication / 230 yes).
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
THIS ACTION IS MADE FINAL. 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.
Contact Information
Any inquiry concerning this communication or earlier communications from the examiner should be directed to MICHAEL PHAM whose telephone number is (571)272-3924. The examiner can normally be reached M-F 11-730pm Eastern.
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, Kavita Stanley can be reached at 571-272-8352. 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.
/MICHAEL PHAM/Primary Examiner, Art Unit 2167