DETAILED ACTION
Claims 1-20 are pending in the Instant Application.
Claims 1-20 are rejected (Non-Final Rejection).
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 .
Priority
The Instant Application, filed 04/08/2024, is a continuation of United States Patent Application 17/975,674, a continuation of United States Patent Application 16/846,576, filed 04/13/2020, a continuation of United States Patent Application 16/542,619, filed 08/16/2019. Thus, the earliest effective filing date for the Instant Application is 08/16/2019 for what is described therein.
Information Disclosure Statement
The information disclosure statements (IDSs) submitted on 05/08/2024 and 04/08/2024 were considered by the examiner.
Double Patenting
The nonstatutory double patenting rejection is based on a judicially created doctrine grounded in public policy (a policy reflected in the statute) so as to prevent the unjustified or improper timewise extension of the “right to exclude” granted by a patent and to prevent possible harassment by multiple assignees. A nonstatutory double patenting rejection is appropriate where the conflicting claims are not identical, but at least one examined application claim is not patentably distinct from the reference claim(s) because the examined application claim is either anticipated by, or would have been obvious over, the reference claim(s). See, e.g., In re Berg, 140 F.3d 1428, 46 USPQ2d 1226 (Fed. Cir. 1998); In re Goodman, 11 F.3d 1046, 29 USPQ2d 2010 (Fed. Cir. 1993); In re Longi, 759 F.2d 887, 225 USPQ 645 (Fed. Cir. 1985); In re Van Ornum, 686 F.2d 937, 214 USPQ 761 (CCPA 1982); In re Vogel, 422 F.2d 438, 164 USPQ 619 (CCPA 1970); In re Thorington, 418 F.2d 528, 163 USPQ 644 (CCPA 1969).
A timely filed terminal disclaimer in compliance with 37 CFR 1.321(c) or 1.321(d) may be used to overcome an actual or provisional rejection based on nonstatutory double patenting provided the reference application or patent either is shown to be commonly owned with the examined application, or claims an invention made as a result of activities undertaken within the scope of a joint research agreement. See MPEP § 717.02 for applications subject to examination under the first inventor to file provisions of the AIA as explained in MPEP § 2159. See MPEP § 2146 et seq. for applications not subject to examination under the first inventor to file provisions of the AIA . A terminal disclaimer must be signed in compliance with 37 CFR 1.321(b).
The filing of a terminal disclaimer by itself is not a complete reply to a nonstatutory double patenting (NSDP) rejection. A complete reply requires that the terminal disclaimer be accompanied by a reply requesting reconsideration of the prior Office action. Even where the NSDP rejection is provisional the reply must be complete. See MPEP § 804, subsection I.B.1. For a reply to a non-final Office action, see 37 CFR 1.111(a). For a reply to final Office action, see 37 CFR 1.113(c). A request for reconsideration while not provided for in 37 CFR 1.113(c) may be filed after final for consideration. See MPEP §§ 706.07(e) and 714.13.
The USPTO Internet website contains terminal disclaimer forms which may be used. Please visit www.uspto.gov/patent/patents-forms. The actual filing date of the application in which the form is filed determines what form (e.g., PTO/SB/25, PTO/SB/26, PTO/AIA /25, or PTO/AIA /26) should be used. A web-based eTerminal Disclaimer may be filled out completely online using web-screens. An eTerminal Disclaimer that meets all requirements is auto-processed and approved immediately upon submission. For more information about eTerminal Disclaimers, refer to www.uspto.gov/patents/apply/applying-online/eterminal-disclaimer.
Claims 1, 11, and 18 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 6, 14 and 22 of U.S. Patent No. 11,514,026. Although the claims at issue are not identical, they are not patentably distinct from each other because the claims in U.S. Patent No. 11,514,026 include \the limitations of the claims in the Instant Application, while also including other methods of optimizing transactions. .
Instant Application
U.S. Patent No. 11,514,026
Claim 1
1. A computer-implemented method comprising:
receiving, by a first computing device, a transaction, wherein the transaction comprises a plurality of write operations to a row of a table;
reducing a number of write operations, in the plurality of write operations, by
\
[ From later in claim 1
--and writing the reduced number of write operations in the plurality of write operations to a database in parallel---].
replacing, a first update operation and a second update operation, with a third update operation,
wherein the second update operation adds at least one column to the first update operation;
Claim 6, with base claim 1 and intervening claim 4
1. A method comprising:
receiving, by a first computing device, a first transaction, wherein the first transaction comprises a plurality of write operations including a first write operation and a second write operation; determining whether the first write operation and the second write operation write to a first row of a first table; generating a third write operation, based on a determination that the first write operation and the second write operation write to the first row in the first table, as a replacement for the first write operation and the second write operation by combining the first write operation and the second write operation according to a plurality of rules, wherein the plurality of rules maintains an order of operations of the first write operation and the second write operation; deleting the first write operation and the second write operation and replacing the first write operation and the second write operation with the third write operation to reduce a number of write operations in the plurality of write operations; combining delete and update operations with the same number of columns into a single prepared statement;
and writing the reduced number of write operations in the plurality of write operations and the single prepared statement to a first database in parallel.
4. The method of claim 1, wherein generating the third write operation comprises: generating, based on the plurality of rules, a third update row operation as the third write operation as the replacement for the first write operation and the second write operation, wherein the first write operation is a first update row operation that is followed by the second write operation being a second update row operation.
.
6. The method of claim 4, wherein the second update row operation adds at least one column to the first update row operation.
Claim 11
11. A system comprising:
a database interface configured to receive a transaction, wherein the transaction comprises a plurality of write operations to a row of a table; one or more processors; and memory storing instructions that, when executed by the one or more processors, cause the system to:
reduce a number of write operations, in the plurality of write operations,
[ From later in claim 11
-- and write the reduced number of write operations in the plurality of write operations to a database in parallel.---].
by replacing, a first update operation and a second update operation, with a third update operation,
wherein the second update operation adds at least one column to the first update operation;
Claim 14 with base claim 9 and intervening claim 12
9. A computing device comprising:
a database interface configured to receive a plurality of transactions from a first application, one or more processors; and memory storing instructions that, when executed by the one or more processors, cause the computing device to: receive a first transaction, wherein the first transaction comprises a plurality of write operations including a first write operation and a second write operation; determine whether the first write operation and the second write operation write to a first row of a first table; generate a third write operation, based on a determination that the first write operation and the second write operation write to the first row of the first table, as a replacement for the first write operation and the second write operation by combining the first write operation and the second write operation according to a plurality of rules, wherein the plurality of rules maintains an order of operations of the first write operation and the second write operation; delete the first write operation and the second write operation and replace the first write operation and the second write operation with the third write operation to reduce a number of write operations; combine delete and update operations with the same number of columns into a single prepared statement;
and write the reduced number of write operations in the plurality of write operations and the prepared statement to a first database in parallel.
12. The computing device of claim 9, wherein the instructions, when executed by the one or more processors, cause the computing device to: generate, based on the plurality of rules, a third update row operation when generating the third write operation as the replacement for the first write operation and the second write operation, wherein the first write operation is a first update row operation that is followed by the second write operation being a second update row operation.
14. The computing device of claim 12, wherein the second update row operation adds at least one column to the first update row operation.
Claim 19
19. A non-transitory computer-readable medium storing instructions that, when executed, cause a server to:
receive a transaction comprising a plurality of write operations to a row of a table;
reduce a number of write operations, in the plurality of write operations,
[ From later in claim 19
-- and write the reduced number of write operations in the plurality of write operations to a database in parallel.---].
by replacing, a first update operation and a second update operation, with a third update operation,
\wherein the second update operation adds at least one column to the first update operation.
Claim 22 with base claim 17 and intervening claim 20
17. One or more non-transitory media storing instructions that, when executed by one or more processors, cause the one or more processors to perform steps comprising:
receiving a first transaction, wherein the first transaction comprises a plurality of write operations including a first write operation and a second write operation; determining whether the first write operation and the second write operation write to a first row of a first table; generating a third write operation, based on a determination that the first write operation and the second write operation write to the first row in the first table, as a replacement for the first write operation and the second write operation by combining the first write operation and the second write operation according to a plurality of rules, wherein the plurality of rules maintains an order of operations of the first write operation and the second write operation; deleting the first write operation and the second write operation and replacing the first write operation and the second write operation with the third write operation to reduce a number of write operations in the plurality of write operations; combining delete and update operations with the same number of columns into a single prepared statement; and writing the reduced number of write operations in the plurality of write operations and the single prepared statement to a first database in parallel.
20. The one or more non-transitory media of claim 17, wherein the instructions, when executed by one or more processors, cause the one or more processors to perform steps comprising: generating, based on the plurality of rules, a third update row operation when generating the third write operation as the replacement for the first write operation and the second write operation, wherein the first write operation is a first update row operation that is followed by the second write operation being a second update row operation.
22. The one or more non-transitory media of claim 20, wherein the second update row operation adds at least one column to the first update row operation.
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, 6, 11, 12, 16 and 19 are rejected under 35 U.S.C. 103 as being unpatentable over Reiter et al. (“Reiter”), United States Patent No. 5,666,526, in view of Fish, United States Patent Application Publication No. 2011/0173619.
As per claim 1, Reiter discloses a computer-implemented method comprising: receiving, by a first computing device, a transaction, wherein the transaction comprises a plurality of write operations to a row of a table ([Col 4, lines 33-46] and [Col 3, lines 28-30] wherein multiple updates to fields in a row of a virtual table are described);
reducing a number of write operations, in the plurality of write operations, by replacing, a first update operation and a second update operation, with a third update operation, wherein the second update operation adds at least one column to the first update operation ([Col 8, lines 42-59] wherein all updates to columns (fields in the prior art) in a row are done in a singular third update instead of two individual update operations, wherein since the second transaction can be for a different column, the second updates adds a column to the first update); but does not disclose writing the reduced number of write operations in the plurality of write operations to a database in parallel. However, Fish teaches writing the reduced number of write operations in the plurality of write operations to a database in parallel ([0103] wherein operations in a transaction can be applied in parallel).
Both Reiter and Fish describe writing transactions to databases. One could use the parallel processing in Fish with the reducing the number of update operations in Reiter to teach the claimed invention. It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to combine the method of reducing writes in a transaction in Reiter with the parallel processing of transaction operations in Fish in order to speed up transaction processing by performing updates at the same time.
As per claim 2, note the rejection of claim 1 where Reiter and Fish are combined. The combination teaches the computer-implemented method of claim 1. Reiter further discloses wherein the reduced number of write operations reduces the number of write operations such that no two write operations write to a same row in the database ([Col 8, lines 42-59] wherein a single third update performs all the writes for a single row, thus, each row would have their own write and no two write operations would write to the same row).
As per claim 6, note the rejection of claim 1 where Reiter and Fish are combined. The combination teaches the computer-implemented method of claim 1. Reiter further discloses wherein the reduced number of write operations are written to the table as a single transaction ([Col 8, lines 42-59] wherein all updates to columns (fields in the prior art) in a row are done in a singular third update.)
As per claim 11, Reiter discloses a system comprising: a database interface configured to receive a transaction ([Col 4, lines 33-46] wherein a database receiving transactions is described), wherein the transaction comprises a plurality of write operations to a row of a table ([Col 5, lines 42-46] wherein the user can perform a transaction on a row of a table); one or more processors ([Col 6, lines 3-4]); and memory ([Col 6, line 4]) storing instructions that, when executed by the one or more processors, cause the system to perform the method of claim 1. Thus, claim 11 is rejected for the same combination of Reiter and Fish as described above for claim 1.
As per claim 12, claim 12 is the system that performs the method of claim 2 and is rejected for the same rationale and reasoning.
As per claim 16, claim 16 is the system that performs the method of claim 6 and is rejected for the same rationale and reasoning.
As per claim 19, claim 19 is a program product that performs the method of claim 1 and is rejected for the same rationale and reasoning.
Claims 3, 7-10, 13, 17 and 18 are rejected under 35 U.S.C. 103 as being unpatentable over Reiter in view of Fish, in further view of Lawande, United States Patent No. 6,882,993.
As per claim 3, note the rejection of claim 1 where Reiter and Fish are combined. The combination teaches the computer-implemented method of claim 1, but does not teach receiving a write operation to the row of the table; determining that a delete operation to the row of the table occurs after the write operation; and further reducing the number of write operations by deleting the write operation from the transaction. However, Lawande teaches receiving a write operation to the row of the table ([Col 13, lines 57-63] wherein the write operations on a row are received by combining the MV log and the direct load log and [Col 8, lines 58-65] wherein the log contains write operations (the plurality of operations) from multiple rows indicated by a row ID); determining that a delete operation to the row of the table occurs after the write operation ([Col 13, lines 20-46] wherein a first DLM can be a write (recognized as an update in the prior art) followed by a second DLM, a delete); and further reducing the number of write operations by deleting the write operation from the transaction ([Col 11, lines 65-67]-[Col 12, lines 1-16] wherein all the write (update) operations on a row are deleted by replacing them with the last operation (equivalent operation in the prior art), delete in this case, which reduces the number of write operations on the materialized view table).
Both Reiter and Lawande describe reducing the number of writes on a table. One could incorporate the other possible write considerations along with the combining of update operation into a single update in Reiter to teach the claimed invention. It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to combine the method of reducing updates in a transaction in Reiter with reductions of updates before a delete as in Lawande in order to reduce the number of stale transactions performed.
As per claim 7, note the rejection of claim 1 where Reiter and Fish are combined. The combination teaches the computer-implemented method of claim 1, but does not teach reducing the number of write operations by replacing a first insert operation and an update operation with a second insert operation, wherein the second insert operation comprises columns from the first insert operation being overwritten by columns in the update operation. However, Lawande teaches reducing the number of write operations by replacing a first insert operation and an update operation with a second insert operation, wherein the second insert operation comprises columns from the first insert operation being overwritten by columns in the update operation ([Col 13, lines 20-46] wherein an insert is followed by an update, and they are replaced by a second insert operation with the column data from the update VN.).
Both Reiter and Lawande describe reducing the number of writes on a table. One could incorporate the other possible write considerations along with the combining of update operation into a single update in Reiter to teach the claimed invention. It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to combine the method of reducing updates in a transaction in Reiter with further updates overwriting earlier updates as in Lawande in order to reduce the number of stale transactions performed.
As per claim 8, note the rejection of claim 1 where Reiter and Fish are combined. The combination teaches the computer-implemented method of claim 1, but does not teach further reducing the number of write operations by replacing a first insert operation and a second insert operation with a third insert operation, wherein the first insert operation and the second insert operation write to the row of the table. However, Lawande teaches further reducing the number of write operations by replacing a first insert operation and a second insert operation with a third insert operation, wherein the first insert operation and the second insert operation write to the row of the table ([Col 11, lines 43-67]-[Col 12, lines 1-16] wherein if a first operation is an insert, and the last operation is an insert, on a particular row, than they are both replaced with a third insert operation that performs the last insert to that particular row).
Both Reiter and Lawande describe reducing the number of writes on a table. One could incorporate the other possible write considerations om Lawande along with the combining of update operation into a single update in Reiter to teach the claimed invention. It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to combine the method of reducing updates in a transaction in Reiter with further updates overwriting earlier updates as in Lawande in order to reduce the number of stale transactions performed.
As per claim 9, note the rejection of claim 1 where Reiter and Fish are combined. The combination teaches the computer-implemented method of claim 1, but does not teach reducing the number of write operations by replacing, a fourth update operation and a fifth update operation, with a sixth update operation, wherein the fifth update operation overwrites columns in the fourth update operation. However, Lawande teaches reducing the number of write operations by replacing, a fourth update operation and a fifth update operation, with a sixth update operation, wherein the fifth update operation overwrites columns in the fourth update operation ([Col 12, lines 7-13] wherein a number of updates are ignored, reducing the write operations, on the same column.)
Both Reiter and Lawande describe reducing the number of writes on a table. One could incorporate the other possible write considerations om Lawande along with the combining of update operation into a single update in Reiter to teach the claimed invention. It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to combine the method of reducing updates in a transaction in Reiter with further updates overwriting earlier updates as in Lawande in order to reduce the number of stale transactions performed.
As per claim 10, note the rejection of claim 1 where Reiter and Fish are combined. The combination teaches the computer-implemented method of claim 1, but does not teach reducing the number of write operations according to a plurality of rules, wherein the plurality of rules maintains an order of operations of the first update operation and the second update operation. However, Lawande teaches reducing the number of write operations according to a plurality of rules, wherein the plurality of rules maintains an order of operations of the first update operation and the second update operation ([Col 11, lines 43-67]-[Col 12, lines 1-16] wherein the set of rules are found in Table 1).
Both Reiter and Lawande describe reducing the number of writes on a table. One could incorporate the other possible write considerations om Lawande along with the combining of update operation into a single update in Reiter to teach the claimed invention. It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to combine the method of reducing updates in a transaction in Reiter with further updates overwriting earlier updates as in Lawande in order to reduce the number of stale transactions performed.
As per claim 13, claim 13 is the system that performs the method of claim 3 and is rejected for the same rationale and reasoning.
As per claim 17, claim 7 is the system that performs the method of claim 7 and is rejected for the same rationale and reasoning.
As per claim 18, claim 8 is the system that performs the method of claim 9 and is rejected for the same rationale and reasoning.
As per claim 20, claim 20 is a program product that performs the method of claim 7 and is rejected for the same rationale and reasoning.
Claims 4, 5, 14 and 15 are rejected under 35 U.S.C. 103 as being unpatentable over Reiter in view of Fish, in further view of Eisenreich et al. (“Eisenreich”), United States Patent Application Publication No. 2016/0171039.
As per claim 4, note the rejection of claim 1 where Reiter and Fish are combined. The combination teaches the computer-implemented method of claim 1, but does not teach generating a first hash value from a first value in a primary key column of the first update operation; generating a second hash value from a second value in the primary key column of the second update operation; and determining the first update operation and the second update operation operate on the row when the first hash value is equal to the second hash value. However, Eisenreich teaches generating a first hash value from a first value in a primary key column of the first update operation ([0003] wherein hash values for primary key columns are stored, wherein the creation of a record is an update operation); generating a second hash value from a second value in the primary key column of the second update operation ([0003] wherein another hash value is described for comparison); and determining the first update operation and the second update operation operate on the row when the first hash value is equal to the second hash value ([0003] wherein an existing record exists if there is a match).
Both Reiter and Eisenreich teach determining certain changed data in a database table. While Eisenreich does not explicitly match hash of primary key columns in updates, one could use the hash in Eisenreich with the method of combining update operations on the same row in Reiter to teach the claimed invention. It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to combine the method of o consolidating update operations in Reiter with the comparison of primary keys done with a hash comparison in Eisenreich in order to speed up the comparison process.
.
As per claim 5, note the rejection of claim 4 where. Reiter, Fish and Eisenreich are combined. The combination teaches the computer-implemented method of claim 4. Eisenreich further teaches wherein the first update operation is stored in a hash table based on the first hash value ([0003] wherein included first update records (creation records are stored as a hash in a hash table as they are created i.e. written).
As per claim 14, claim 14 is the system that performs the method of claim 4 and is rejected for the same rationale and reasoning.
As per claim 15, claim 13 is the system that performs the method of claim 5 and is rejected for the same rationale and reasoning.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to KANNAN SHANMUGASUNDARAM whose telephone number is (571)270-7763. The examiner can normally be reached M-F 9:00 AM -6:00 PM.
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, Charles Rones can be reached at (571) 272-4085. 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.
/KANNAN SHANMUGASUNDARAM/Primary Examiner, Art Unit 2168