DETAILED ACTION
This Action is a response to the filing received 3 December 2024. Claim 1 is presented for examination.
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
Applicant’s claim for the benefit of a prior-filed application under 35 U.S.C. 119(e) or under 35 U.S.C. 120, 121, 365(c), or 386(c) is acknowledged.
Claim Objections
Claim 1 is objected to because of the following informalities:
At line 3, “a data database change management system” should be corrected to “[[a]]the
At line 9, “the package job” should be corrected to “the .
Appropriate correction is required.
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.
Claim 1 is rejected on the ground of nonstatutory double patenting as being unpatentable over claim 1 of U.S. Patent No. 11,494,349 and claim 1 of U.S. Patent No. 12,169,482. Although the claims at issue are not identical, they are not patentably distinct from each other because with the exception of some minor wording choices, the limitations of currently pending claim 1 are present in the reference claims. With respect to the ‘349 patent, while currently pending claim 1 recites generate change objects by parsing the SQL scripts, claim 1 of the ‘349 patent describes a series of steps that result in parsing the SQL scripts. With respect to the ‘482 patent, while currently pending claim 1 recites that the SQL scripts are configured for a packaging job for a project relating to a set of changes to a database, and being as changes based on a configuration for the project, claim 1 of the ‘482 patent otherwise describes packaging the SQL scripts to generate changesets (i.e., a packaging job based on a configuration of a project and relating to a set of changes to a database).
Complete tables have been provided below for reference in comparing the currently pending claim with the reference claims:
Current Application
U.S. 11,494,349
1. A database change management system, comprising:
1. A database change management system, comprising:
a database server maintaining a database according to a database schema;
a database server maintaining a database according to a database schema;
a data database change management system coupled to the database server, the database change management system including a processor and a non-transitory computer readable medium storing computer executable instructions executable to provide a set of services comprising:
a data database change management system coupled to the database server, the database change management system including a processor and a non-transitory computer readable medium storing computer executable instructions executable to provide a set of services comprising:
a packaging service configured to:
a packaging service configured to:
retrieve SQL scripts from a source code manager repository, the SQL scripts configured for a packaging job for a project, the package job relating to a set of changes to a database;
retrieve SQL scripts from a source code manager repository, the SQL scripts configured for a packaging job for a project, the package job relating to a set of changes to a database;
package the SQL scripts as changes based on a configuration for the project by generating changesets pointing to corresponding SQL scripts;
package the SQL scripts as changes based on a configuration for the project by generating changesets pointing to corresponding SQL scripts;
generate change objects by parsing the SQL scripts;
strip out SQL comments from the SQL scripts; substitute SQL properties of one or more attribute values; replace package blocks with placeholders; split SQL text into individual blocks of SQL statements; tokenize each of the blocks of SQL statements to generate tokenized SQL statements; parse the tokenized SQL statements into change objects;
generate a forecast report by applying changes in the change objects to a reference database, wherein the forecast report is indicative of a prediction of a failure or success of an implementation of the set of changes to the reference database; and
generate a forecast report by applying changes in the change objects to a reference database, wherein the forecast report is indicative of a prediction of a failure or success of an implementation of the set of changes to the reference database; and
responsive to a predicted implementation success, deploy the set of changes to the reference database.
responsive to a predicted implementation success, deploy the set of changes to the reference database.
Current Application
U.S. 12,169,482
1. A database change management system, comprising:
1. A system, comprising:
a database server maintaining a database according to a database schema; a data database change management system coupled to the database server,
a database change management system coupled to a database server maintaining a database according to a database schema;
the database change management system including a processor and a non-transitory computer readable medium storing computer executable instructions executable to provide a set of services comprising:
the database change management system including a processor and a non-transitory computer readable medium storing computer executable instructions executable to provide a set of services comprising:
a packaging service configured to:
a packaging service configured to:
retrieve SQL scripts from a source code manager repository, the SQL scripts configured for a packaging job for a project, the package job relating to a set of changes to a database;
retrieve Structured Query Language (SQL) scripts from a source code manager repository;
package the SQL scripts as changes based on a configuration for the project by generating changesets pointing to corresponding SQL scripts;
package the SQL scripts, wherein packaging the SQL scripts comprises generating changesets pointing to SQL scripts;
generate change objects by parsing the SQL scripts;
process the changesets to generate change objects that model changes to be applied to the database, wherein generating the change objects comprises parsing the SQL scripts and identifying from the SQL scripts, changes to be applied to the database; apply the changes in the change objects to a virtual model of the database to simulate changing the database;
generate a forecast report by applying changes in the change objects to a reference database, wherein the forecast report is indicative of a prediction of a failure or success of an implementation of the set of changes to the reference database; and
generate a forecast report based on simulating changing the database, wherein the forecast report is indicative of a prediction of a failure or success of an implementation of the set of changes to the database; and
responsive to a predicted implementation success, deploy the set of changes to the reference database.
responsive to a predicted implementation success, deploy the changes to the database.
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. §§ 102 and 103 (or as subject to pre-AIA 35 U.S.C. §§ 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of 35 U.S.C. § 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. § 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claim 1 is rejected under 35 U.S.C. § 103 as being unpatentable over Thompson et al., U.S. 9,971,595 B1 (hereinafter referred to as “Thompson”) in view of Joshi et al., U.S. 2011/0093513 A1 (hereinafter referred to as “Joshi”) and Kasani et al., U.S. 2021/0124647 A1 (hereinafter referred to as “Kasani”).
Regarding claim 1, Thompson teaches: A database change management system, comprising: a database server maintaining a database according to a database schema (Thompson, e.g., 4:58-5:5, “AutoD application may be implemented as a daemon or ‘always running’ program that runs on the same server that a target database (or its copy) resides …” See also, e.g., 8:25-40, describing database schema);
a data database change management system coupled to the database server (Thompson, e.g., FIG. 2, Jenkins server; also reference the AutoD application, which aids in performing the database changes, at 4:49-5:5, wherein “coupled” may comprise separate servers connected by a network (11:63-12:8, Jenkins)), or software modules intercommunicating on a same computer (AutoD and the target database)), the database change management system including a processor and a non-transitory computer readable medium storing computer executable instructions executable to provide a set of services (Thompson, e.g., 12:9-59, 13:9-37) comprising:
a packaging service configured to: retrieve SQL scripts from a source code manager repository (Thompson, e.g., 5:67-42, “new change SQL is checked into the source code repository, the AutoD application may be executed to run that SQL against a copy of QA database …”), the SQL scripts configured for a packaging job for a project, the package job relating to a set of changes to a database (Thompson, e.g., 5:28-36, “A developer who wishes to apply changes to a target database has to check in SQL code by placing .sql files into an object type folder …”); …
generate a forecast report by applying changes in the change objects to a reference database, wherein the forecast report is indicative of a prediction of a failure or success of an implementation of the set of changes to the reference database (Thompson, e.g., 5:47-67, “process … locates all the currently proposed database changes in a designated source code repository … files in the ‘proposed_changes’ folder at the designated storage changes may be checked for errors … automatically pulled from the source control … pre-validated against a progressive version of a copy of the QA database (referred to as Pre-QA database) …” See also, e.g., 6:17-24, “pre-validation of the proposed database changes may be based on parsing of the change SQL file(s) and/or execution of the change SQL in the Pre-QA environment … a report and/or notification email listing an execution errors and/or parsing errors may be automatically generated …”); and
responsive to a predicted implementation success, deploy the set of changes to the reference database (Thompson, e.g., 7:9-12, “the SQL in the proposed changes that runs without issue is now pre-validated and can be moved to a second designated storage location, ‘validated_changes’ …” See also, e.g., FIG. 6 and more generally 9:22-11:47, describing the process of rolling out the pre-validated SQL changes in an execution SQL package).
Thompson does not more particularly teach packaging the SQL scripts as changes based on a configuration of the project by generating changesets pointing to corresponding SQL scripts. However, Joshi does teach: package the SQL scripts as changes based on a configuration for the project by generating changesets pointing to corresponding SQL scripts (Joshi, e.g., ¶59, “script manager 420 is operable to obtain one or more scripts indicating database operations to perform for the target database in conjunction with installing the code on the target … script manager 420 may determine the one or more scripts to obtain via a file that includes references to other scripts …” See also, e.g., ¶61, “An installer (whether included in the package …), when executed, may … execute any scripts …” Examiner’s note: the package comprises one or more changesets pointing to the corresponding SQL scripts, i.e. a file that includes references to other scripts) for the purpose of packaging a plurality of SQL scripts in an organized manner facilitating the installation thereof on a database (Joshi, ibid.).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify the systems and methods of performing automated database deployment as taught by Thompson to provide for packaging the SQL scripts as changes based on a configuration of the project by generating changesets pointing to corresponding SQL scripts because the disclosure of Joshi shows that it was known to those of ordinary skill in the pertinent art to improve systems and methods of performing automated database deployment to provide for packaging the SQL scripts as changes based on a configuration of the project by generating changesets pointing to corresponding SQL scripts for the purpose of packaging a plurality of SQL scripts in an organized manner facilitating the installation thereof on a database (Joshi, Id.).
Thompson in view of Joshi does not more particularly teach generating change objects by parsing the SQL scripts. However, Kasani does teach: generate change objects by parsing the SQL scripts (Kasani, e.g., Abs., “identifying a database install scripts … parsing the database install script prior to execution to determine an object type, object name and object operation for database objects affected by the database install script … generating a rollback script based at least in part on the definition of the database install script …” Examiner’s note: the rollback script comprises the change object, in that it is comprised of one or more changes in order to rollback installation operations and is generated via at least the parsing of the installation scripts. That it is well-known to use SQL scripts to perform database change operations is disclosed by Thompson, cited above) for the purpose of determining operations contained in an installation script and using that information to generate further script commands (Kasani, ibid.).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify the systems and methods of performing automated database deployment as taught by Thompson in view of Joshi to provide for generating change objects by parsing the SQL scripts because the disclosure of Kasani shows that it was known to those of ordinary skill in the pertinent art to improve systems and methods of performing automated database deployment to provide for generating change objects by parsing the SQL scripts for the purpose of determining operations contained in an installation script and using that information to generate further script commands (Kasani, Id.).
Conclusion
Examiner has identified particular references contained in the prior art of record within the body of this action for the convenience of Applicant. Although the citations made are representative of the teachings in the art and are applied to the specific limitations within the enumerated claims, the teaching of the cited art as a whole is not limited to the cited passages. Other passages and figures may apply. Applicant, in preparing the response, should consider fully the entire reference as potentially teaching all or part of the claimed invention, as well as the context of the passage as taught by the prior art and/or disclosed by Examiner.
Examiner respectfully requests that, in response to this Office Action, support be shown for language added to any original claims on amendment and any new claims. That is, indicate support for newly added claim language by specifically pointing to page(s) and line number(s) in the specification and/or drawing figure(s). This will assist Examiner in prosecuting the application.
When responding to this Office Action, Applicant is advised to clearly point out the patentable novelty which he or she thinks the claims present, in view of the state of the art disclosed by the references cited or the objections made. He or she must also show how the amendments avoid such references or objections. See 37 C.F.R. 1.111(c).
Examiner interviews are available via telephone and video conferencing using a USPTO-supplied web-based collaboration tool. Applicant is encouraged to submit an Automated Interview Request (AIR) which may be done via https://www.uspto.gov/patent/uspto-automated-interview-request-air-form, or may contact Examiner directly via the methods below.
Any inquiry concerning this communication or earlier communication from Examiner should be directed to Andrew M. Lyons, whose telephone number is (571) 270-3529, and whose fax number is (571) 270-4529. The examiner can normally be reached Monday to Friday from 10:00 AM to 6:00 PM ET. If attempts to reach Examiner by telephone are unsuccessful, Examiner’s supervisor, Wei Mui, can be reached at (571) 272-3708. Information regarding the status of an application may be obtained from the Patent Center system. For more information about the Patent Center system, see https://www.uspto.gov/patents/apply/patent-center. If you would like assistance from a USPTO Customer Service Representative or access to the automated information system, call (800) 786-9199 (in USA or Canada) or (571) 272-1000.
/Andrew M. Lyons/Primary Examiner, Art Unit 2191