DETAILED ACTION
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 .
Continued Examination Under 37 CFR 1.114
A request for continued examination under 37 CFR 1.114, including the fee set forth in 37 CFR 1.17(e), was filed in this application after final rejection. Since this application is eligible for continued examination under 37 CFR 1.114, and the fee set forth in 37 CFR 1.17(e) has been timely paid, the finality of the previous Office action has been withdrawn pursuant to 37 CFR 1.114. Applicant's submission filed on 03/25/2026 has been entered.
Status of the claims
Claims 1-20 were pending, claims 1, 8 and 15 have been amended. Therefore, claims 1-20 are currently pending for examination.
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-20 rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1-20 of U.S. Patent No. 12153564. Although the claims at issue are not identical, they are not patentably distinct from each other because claims 1-20 of instant application recited similar limitations. Therefore, they are rejected on the ground of nonstatutory double patenting.
Instant application
1. A system for supporting SQL-based rich queries in a blockchain fabric comprising:
one or more computers, each comprising a microprocessor;
a blockchain fabric running on the one or more computers; and
a transaction manager, the transaction manager controlling access to a database associated with the blockchain fabric;
wherein a smart contract comprising a query is run against the blockchain fabric;
wherein the query, when executed, accesses the database via a relational interface, the relational interface comprising an abstraction layer that provides use of a relational engine, the relational interface comprising an abstraction layer that provides use of a relational engine, the relational engine supporting concurrent read write access to the database;
wherein the query, when executed, compares a plurality of values utilizing the relational engine to execute reads and writes of the query concurrently, wherein the plurality of compared values are written in at least two blocks of the blockchain fabric.
2. The system of claim 1, wherein a result of the query is obtained.
3. The system of claim 2, wherein the result of the query is validated prior to being committed to a block of the blockchain fabric.
4. The system of claim 1, wherein the database comprises a state of the world database for the blockchain fabric.
5. The system of claim 4, wherein the state of the world database comprises a versioned database and the relational interface.
6. The system of claim 5, wherein the state of the world database provides concurrent read/write access.
7. The system of claim 1, wherein the query further comprises a data filtering step; and
wherein the data filtering step is performed at a storage engine.
8. A method for supporting SQL-based rich queries in a blockchain fabric comprising:
providing one or more computers, each comprising a microprocessor:
running a blockchain fabric on the one or more computers; and
providing a transaction manager, the transaction manager controlling access to a database associated with the blockchain fabric;
running a smart contract comprising a query against the blockchain fabric; and
accessing, by the query, when executed, accesses the database via a relational interface, the relational interface comprising an abstraction layer that provides use of a relational engine, the relational interface comprising an abstraction layer that provides use of a relational engine, the relational engine supporting concurrent read write access to the database;
wherein the query, when executed, compares a plurality of values utilizing the relational engine to execute reads and writes of the query concurrently, wherein the plurality of compared values are written in at least two blocks of the blockchain fabric.
9. The method of claim 8, wherein a result of the query is obtained.
10. The method of claim 9, wherein the result of the query is validated prior to being committed to a block of the blockchain fabric.
11. The method of claim 8, wherein the database comprises a state of the world database for the blockchain fabric.
12. The method of claim 11, wherein the state of the world database comprises a versioned database and the relational interface.
13. The method of claim 12, wherein the state of the world database provides concurrent read/write access.
14. The method of claim 8, wherein the query further comprises a data filtering step; and
wherein the data filtering step is performed at a storage engine.
15. A non-transitory computer readable storage medium having instructions thereon for supporting SQL-based rich queries in a blockchain fabric, which when read and executer cause a computer to perform steps comprising:
running a blockchain fabric on the computer; and
providing a transaction manager, the transaction manager controlling access to a database associated with the blockchain fabric;
running a smart contract comprising a query against the blockchain fabric; and
accessing, by the query, when executed, accesses the database via a relational interface, the relational interface comprising an abstraction layer that provides use of a relational engine, the relational interface comprising an abstraction layer that provides use of a relational engine, the relational engine supporting concurrent read write access to the database;
wherein the query, when executed, compares a plurality of values utilizing the relational engine to execute reads and writes of the query concurrently, wherein the plurality of compared values are written in at least two blocks of the blockchain fabric.
16. The method of claim 15,wherein a result of the query is obtained.
17. The method of claim 16, wherein the result of the query is validated prior to being committed to a block of the blockchain fabric.
18. The method of claim 15, wherein the database comprises a state of the world database for the blockchain fabric.
19. The method of claim 18, wherein the state of the world database comprises a versioned database and the relational interface.
20. The method of claim 19, wherein the state of the world database provides concurrent read/write access.
U.S. Patent No. 12153564
1. A system for supporting SQL-based rich queries in a blockchain fabric comprising: one or more computers, each comprising a microprocessor; a blockchain fabric, the blockchain fabric comprising a ledger of a plurality of blocks; a state of the world database, the state of the world database being populated by a persistence engine running against the blockchain fabric, the state of the world database comprising a versioned database and a relational database interface; wherein a smart contract, the smart contract comprising at least one SQL-based rich query, is run against the state of the world database via the relational database interface, wherein the at least one SQL-based rich query comprises a query comprising a data filtering step performed by a storage engine.
2. The system of claim 1, wherein the at least one SQL-based rich query runs a comparison among a plurality of values contained within the state of the world database.
3. The system of claim 2, wherein the versioned database comprises a transactionally aware database which provides for transaction of the smart contract to be run in concurrent read/write mode.
4. The system of claim 3, wherein the state of the world database is accessible by the blockchain fabric.
5. The system of claim 4, wherein the relational database interface provides a relational database interface layer between the versioned database of the state of the world database and the at least one rich query.
6. The system of claim 5, wherein the state of the world database provides concurrent read/write access.
7. The system of claim 1, wherein the blockchain fabric is provided as a distributed ledger fabric, the distributed ledger fabric being provisioned as a blockchain cloud service, the blockchain cloud service comprising: a peer container, an ordering container, and a chaincode container.
8. A method for supporting SQL-based rich queries in a blockchain fabric comprising: providing, at one or more computers, each comprising a microprocessor, a blockchain fabric, the blockchain fabric comprising a ledger of a plurality of blocks; providing a state of the world database, the state of the world database being populated by a persistence engine running against the blockchain fabric, the state of the world database comprising a versioned database and a relational database interface; running, via the relational database interface, a smart contract comprising at least one SQL-based rich query against the state of the world database, wherein the at least one SQL-based rich query comprises a query comprising a data filtering step performed by a storage engine.
9. The method of claim 8, wherein the at least one SQL-based rich query runs a comparison among a plurality of values contained within the state of the world database.
10. The method of claim 9, wherein the versioned database comprises a transactionally aware database which provides for transaction of the smart contract to be run in concurrent read/write mode.
11. The method of claim 10, wherein the state of the world database is accessible by the blockchain fabric.
12. The method of claim 11, wherein the relational database interface provides a relational database interface layer between the versioned database of the state of the world database and the at least one rich query.
13. The method of claim 12, wherein the state of the world database provides concurrent read/write access.
14. The method of claim 8, wherein the blockchain fabric is provided as a distributed ledger fabric, the distributed ledger fabric being provisioned as a blockchain cloud service, the blockchain cloud service comprising: a peer container, an ordering container, and a chaincode container.
15. A non-transitory computer readable storage medium having instructions thereon for supporting SQL-based rich queries in a blockchain fabric comprising, that when read and executed cause one or more computers to perform steps comprising: providing, at one or more computers, each comprising a microprocessor, a blockchain fabric, the blockchain fabric comprising a ledger of a plurality of blocks; providing a state of the world database, the state of the world database being populated by a persistence engine running against the blockchain fabric, the state of the world database comprising a versioned database and a relational database interface; running, via the relational database interface, a smart contract comprising at least one SQL-based rich query against the state of the world database, wherein the at least one SQL-based rich query comprises a query comprising a data filtering step performed by a storage engine.
16. The non-transitory computer readable storage medium of claim 15, wherein the at least one SQL-based rich query runs a comparison among a plurality of values contained within the state of the world database.
17. The non-transitory computer readable storage medium of claim 16, wherein the versioned database comprises a transactionally aware database which provides for transaction of the smart contract to be run in concurrent read/write mode.
18. The non-transitory computer readable storage medium of claim 17, wherein the state of the world database is accessible by the blockchain fabric.
19. The non-transitory computer readable storage medium of claim 18, wherein the relational database interface provides a relational database interface layer between the versioned database of the state of the world database and the at least one rich query.
20. The non-transitory computer readable storage medium of claim 19, wherein the state of the world database provides concurrent read/write access.
Claims 1-20 rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1-17 of U.S. Patent No. 11169985. Although the claims at issue are not identical, they are not patentably distinct from each other because claims 1-20 of instant application recited similar limitations. Therefore, they are rejected on the ground of nonstatutory double patenting.
Instant application
1. A system for supporting SQL-based rich queries in a blockchain fabric comprising:
one or more computers, each comprising a microprocessor;
a blockchain fabric running on the one or more computers; and
a transaction manager, the transaction manager controlling access to a database associated with the blockchain fabric;
wherein a smart contract comprising a query is run against the blockchain fabric;
wherein the query, when executed, accesses the database via a relational interface, the relational interface comprising an abstraction layer that provides use of a relational engine, the relational interface comprising an abstraction layer that provides use of a relational engine, the relational engine supporting concurrent read write access to the database;
wherein the query, when executed, compares a plurality of values utilizing the relational engine to execute reads and writes of the query concurrently, wherein the plurality of compared values are written in at least two blocks of the blockchain fabric.
2. The system of claim 1, wherein a result of the query is obtained.
3. The system of claim 2, wherein the result of the query is validated prior to being committed to a block of the blockchain fabric.
4. The system of claim 1, wherein the database comprises a state of the world database for the blockchain fabric.
5. The system of claim 4, wherein the state of the world database comprises a versioned database and the relational interface.
6. The system of claim 5, wherein the state of the world database provides concurrent read/write access.
7. The system of claim 1, wherein the query further comprises a data filtering step; and
wherein the data filtering step is performed at a storage engine.
8. A method for supporting SQL-based rich queries in a blockchain fabric comprising:
providing one or more computers, each comprising a microprocessor:
running a blockchain fabric on the one or more computers; and
providing a transaction manager, the transaction manager controlling access to a database associated with the blockchain fabric;
running a smart contract comprising a query against the blockchain fabric; and
accessing, by the query, when executed, accesses the database via a relational interface, the relational interface comprising an abstraction layer that provides use of a relational engine, the relational interface comprising an abstraction layer that provides use of a relational engine, the relational engine supporting concurrent read write access to the database;
wherein the query, when executed, compares a plurality of values utilizing the relational engine to execute reads and writes of the query concurrently, wherein the plurality of compared values are written in at least two blocks of the blockchain fabric.
9. The method of claim 8, wherein a result of the query is obtained.
10. The method of claim 9, wherein the result of the query is validated prior to being committed to a block of the blockchain fabric.
11. The method of claim 8, wherein the database comprises a state of the world database for the blockchain fabric.
12. The method of claim 11, wherein the state of the world database comprises a versioned database and the relational interface.
13. The method of claim 12, wherein the state of the world database provides concurrent read/write access.
14. The method of claim 8, wherein the query further comprises a data filtering step; and
wherein the data filtering step is performed at a storage engine.
15. A non-transitory computer readable storage medium having instructions thereon for supporting SQL-based rich queries in a blockchain fabric, which when read and executer cause a computer to perform steps comprising:
running a blockchain fabric on the computer; and
providing a transaction manager, the transaction manager controlling access to a database associated with the blockchain fabric;
running a smart contract comprising a query against the blockchain fabric; and
accessing, by the query, when executed, accesses the database via a relational interface, the relational interface comprising an abstraction layer that provides use of a relational engine, the relational interface comprising an abstraction layer that provides use of a relational engine, the relational engine supporting concurrent read write access to the database;
wherein the query, when executed, compares a plurality of values utilizing the relational engine to execute reads and writes of the query concurrently, wherein the plurality of compared values are written in at least two blocks of the blockchain fabric.
16. The method of claim 15,wherein a result of the query is obtained.
17. The method of claim 16, wherein the result of the query is validated prior to being committed to a block of the blockchain fabric.
18. The method of claim 15, wherein the database comprises a state of the world database for the blockchain fabric.
19. The method of claim 18, wherein the state of the world database comprises a versioned database and the relational interface.
20. The method of claim 19, wherein the state of the world database provides concurrent read/write access.
U.S. Patent No. 11169985
1. A system for supporting SQL-based rich queries in a blockchain fabric comprising: one or more computers, each comprising a microprocessor; an enterprise-grade, distributed ledger framework; a distributed ledger fabric, the distributed ledger fabric comprising at least a transaction manager and a validator; a blockchain fabric, the blockchain fabric comprising a ledger of a plurality of blocks, each block comprising a plurality of key-value pairs; and a state of the world database, the state of the world database comprising a versioned database and a relational database interface, wherein the state of the world database is accessible by the blockchain fabric; wherein the versioned database is populated by a persistence engine running against the blockchain fabric; and wherein the relational database interface provides a relational database interface layer between the versioned database of the state of the world database and one or more transactions running on the blockchain fabric.
2. The system of claim 1, wherein at least one of the one or more transactions comprises at least one rich query.
3. The system of claim 2, wherein the at least one rich query accesses the versioned database via the relational database interface.
4. The system of claim 1, wherein the state of the world database provides concurrent read/write access.
5. The system of claim 2, wherein the at least one rich query comprises chaincode.
6. The system of claim 1, wherein the distributed ledger fabric is provisioned as a blockchain cloud service, the blockchain cloud service comprising a peer container, an ordering container, and a chaincode container.
7. A method for supporting SQL-based rich queries in a blockchain fabric comprising: providing, at one or more computers including a microprocessor, an enterprise-grade, distributed ledger framework, and a blockchain fabric running at the distributed ledger framework, the blockchain fabric comprising a ledger of a plurality of blocks, each block comprising a plurality of key-value pairs; running a distributed ledger fabric within the distributed ledger framework, the distributed ledger fabric comprising at least a transaction manager and a validator; and associating a state of the world database with the distributed ledger fabric, the state of the world database comprising a versioned database and a relational database interface, wherein the state of the world database is accessible by the blockchain fabric; wherein the versioned database is populated by a persistence engine running against the blockchain fabric; and wherein the relational database interface provides a relational database interface layer between the versioned database of the state of the world database and one or more transactions running on the blockchain fabric.
8. The method of claim 7, wherein at least one of the one or more transactions comprises at least one rich query.
9. The method of claim 8, wherein the at least one rich query accesses the versioned database via the relational database interface.
10. The method of claim 7, wherein the state of the world database provides concurrent read/write access.
11. The method of claim 8, wherein the at least one rich query comprises chaincode.
12. The method of claim 7, wherein the distributed ledger fabric is provisioned as a blockchain cloud service, the blockchain cloud service comprising a peer container, an ordering container, and a chaincode container.
13. A non-transitory computer readable storage medium having instructions thereon for supporting SQL-based rich queries in a blockchain fabric comprising, that when read and executed cause one or more computers to perform steps comprising: providing, at one or more computers including a microprocessor, an enterprise-grade, distributed ledger framework; and a blockchain fabric running at the distributed ledger framework, the blockchain fabric comprising a ledger of a plurality of blocks, each block comprising a plurality of key-value pairs; running a distributed ledger fabric within the distributed ledger framework, the distributed ledger fabric comprising at least a transaction manager and a validator; and associating a state of the world database with the distributed ledger fabric, the state of the world database comprising a versioned database and a relational database interface, wherein the state of the world database is accessible by the blockchain fabric; wherein the versioned database is populated by a persistence engine running against the blockchain fabric; and wherein the relational database interface provides a relational database interface layer between the versioned database of the state of the world database and one or more transactions running on the blockchain fabric.
14. The non-transitory computer readable storage medium of claim 13, wherein at least one of the one or more transactions comprises at least one rich query.
15. The non-transitory computer readable storage medium of claim 14, wherein the at least one rich query accesses the versioned database via the relational database interface.
16. The non-transitory computer readable storage medium of claim 13, wherein the state of the world database provides concurrent read/write access.
17. The non-transitory computer readable storage medium of claim 13, wherein the distributed ledger fabric is provisioned as a blockchain cloud service, the blockchain cloud service comprising a peer container, an ordering container, and a chaincode container.
Response to Arguments
Claim rejections under Double Patenting
Applicant requests that this rejection be held in abeyance until the claims of the instant applicant are deemed to be in condition or allowance. Therefore, the rejection is still stands.
Claim rejections under Claim Rejections - 35 USC § 103
Applicant has amended the claims and Applicant’s arguments have been fully considered and are persuasive. The rejection has been withdrawn.
Contact Information
Any inquiry concerning this communication or earlier communications from the examiner should be directed to CINDY NGUYEN whose telephone number is (571)272-4025. The examiner can normally be reached M-F 8:00-4:30.
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, Bhatia Ajay can be reached at 571-272-3906. 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.
/CINDY NGUYEN/Examiner, Art Unit 2156