Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
DETAILED ACTION
1. This action is responsive to the application filed on November 11, 2024.
2. Claims 1-20 have been examined.
Double Patenting Rejection
3. A rejection based on double patenting of the “same invention” type finds its support in the language of 35 U.S.C. 101 which states that “whoever invents or discovers any new and useful process... may obtain a patent therefor...” (Emphasis added). Thus, the term “same invention,” in this context, means an invention drawn to identical subject matter. See Miller v. Eagle Mfg. Co., 151 U.S. 186 (1894); In re Vogel, 422 F.2d 438, 164 USPQ 619 (CCPA 1970); In re Ockert, 245 F.2d 467, 114 USPQ 330 (CCPA 1957).
A statutory type (35 U.S.C. 101) double patenting rejection can be overcome by canceling or amending the claims that are directed to the same invention so they are no longer coextensive in scope. The filing of a terminal disclaimer cannot overcome a double patenting rejection based upon 35 U.S.C. 101.
Claim 1 is rejected under 35 U.S.C. 101 as claiming the same invention as that of claim 1 of prior U.S. Patent No. 11,093,240. This is a statutory double patenting rejection.
US Patent 11,093,240
Present Application
1. A method for adding a library model to a library knowledge base, comprising:
receiving by a device comprising a processor and a memory, a software program to be submitted as a library model;
generating, by the device, a library configuration file by filling a configuration file template with extracted data to automatically populate a plurality of data fields in the library configuration file with information identifying the library model and a set of custom inputs for the library model, and passing a set of test cases from the set of custom inputs to an input/output matching engine to evaluate a repository of code snippets and identify a set of functionally similar code snippets for inclusion in one of the data fields in the library configuration file;
submitting, by the device, the library configuration file to a validator which validates the library configuration file to ensure that the library model is correctly formatted and satisfies predetermined library model constraints; and
adding the library model to the library knowledge base if the library configuration file is correctly formatted and satisfies predetermined library model constraints.
1. A method for adding a library model to a library knowledge base, comprising:
receiving, by a device comprising a processor and a memory, a software program to be submitted as a library model;
generating, by the device, a library configuration file by filling a configuration file template with extracted data to automatically populate a plurality of data fields in the library configuration file with information identifying the library model and a set of custom inputs for the library model, and passing a set of test cases from the set of custom inputs to an input/output matching engine to evaluate a repository of code snippets and identify a set of functionally similar code snippets for inclusion in one of the data fields in the library configuration file;
submitting, by the device, the library configuration file to a validator which validates the library configuration file to ensure that the library model is correctly formatted and satisfies predetermined library model constraints; and
adding the library model to the library knowledge base if the library configuration file is correctly formatted and satisfies predetermined library model constraints.
Claim 10 is rejected under 35 U.S.C. 101 as claiming the same invention as that of claim 10 of prior U.S. Patent No. 11,797,298. This is a statutory double patenting rejection.
US Patent 11,797,298
Present Application
10. A non-transitory, computer program product comprising at least one recordable medium having stored thereon executable instructions and data which, when executed by at least one processing device, cause the at least one processing device to:
receive a software program to be submitted as a library model;
generate a library configuration file by filling a configuration file template with extracted data to automatically populate a plurality of data fields in the library configuration file with information identifying the library model and a set of custom inputs for the library model, and passing a set of test cases from the set of custom inputs to an input/output matching engine to evaluate a repository of code snippets and identify a set of functionally similar code snippets for inclusion in one of the data fields in the library configuration file;
submit the library configuration file to a validator which validates the library configuration file to ensure that the library model is correctly formatted and satisfies predetermined library model constraints; and
add the library model to the library knowledge base if the library configuration file is correctly formatted and satisfies predetermined library model constraints.
16. A system comprising: one or more processors; a memory coupled to at least one of the processors; and a set of instructions stored in the memory and executed by at least one of the one or more processors to enhance operable functionality of a software program by adding a library model to a library knowledge base, wherein the set of instructions are executable to perform actions of:
receiving a software program to be submitted as a library model;
generating a library configuration file by filling a configuration file template with extracted data to automatically populate a plurality of data fields in the library configuration file with information identifying the library model and a set of custom inputs for the library model, and passing a set of test cases from the set of custom inputs to an input/output matching engine to evaluate a repository of code snippets and identify a set of functionally similar code snippets for inclusion in one of the data fields in the library configuration file;
submitting the library configuration file to a validator which validates the library configuration file to ensure that the library model is correctly formatted and satisfies predetermined library model constraints; and
adding the library model to the library knowledge base if the library configuration file is correctly formatted and satisfies predetermined library model constraints.
10. A computer program product comprising at least one recordable medium having stored thereon executable instructions and data which, when executed by at least one processing device, cause the at least one processing device to:
receive a software program to be submitted as a library model;
generate a library configuration file by filling a configuration file template with extracted data to automatically populate a plurality of data fields in the library configuration file with information identifying the library model and a set of custom inputs for the library model, and passing a set of test cases from the set of custom inputs to an input/output matching engine to evaluate a repository of code snippets and identify a set of functionally similar code snippets for inclusion in one of the data fields in the library configuration file;
submit the library configuration file to a validator which validates the library configuration file to ensure that the library model is correctly formatted and satisfies predetermined library model constraints; and
add the library model to the library knowledge base if the library configuration file is correctly formatted and satisfies predetermined library model constraints.
16. A system comprising: one or more processors; a memory coupled to at least one of the processors; and a set of instructions stored in the memory and executed by at least one of the processors to enhance operable functionality of a software program by adding a library model to a library knowledge base, wherein the set of instructions are executable to perform actions of:
receiving a software program to be submitted as a library model;
generating a library configuration file by filling a configuration file template with extracted data to automatically populate a plurality of data fields in the library configuration file with information identifying the library model and a set of custom inputs for the library model, and passing a set of test cases from the set of custom inputs to an input/output matching engine to evaluate a repository of code snippets and identify a set of functionally similar code snippets for inclusion in one of the data fields in the library configuration file;
submitting the library configuration file to a validator which validates the library configuration file to ensure that the library model is correctly formatted and satisfies predetermined library model constraints; and
adding the library model to the library knowledge base if the library configuration file is correctly formatted and satisfies predetermined library model constraints.
4. 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. See 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); and 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) may be used to overcome an actual or provisional rejection based on a nonstatutory double patenting ground provided the conflicting application or patent is shown to be commonly owned with this application. See 37 CFR 1.131 (c). A registered attorney or agent of record may sign a terminal disclaimer.
The USPTO Internet website contains terminal disclaimer forms which may be used. Please visit www.uspto.gov/forms/. The filing date of the application will determine what form 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/process/ file/efs/guidance/eTD-info-l.jsp.
Claims 1, 10, and 16 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims of U.S. Patent numbers 10,474,455, 11,093,240, and 11,797,298. Although the claims at issue are not identical, they are not patentably distinct from each other (the claims under examination are anticipated by the reference claims) because claims of the present application are just broader versions of the patent claims.
US Patent 10,474,455
Present Application
1. A method for adding a library model to a library knowledge base, comprising:
receiving, by a device comprising a processor and a memory, a software program to be submitted as a library model;
generating, by the device, a library configuration file by filling a configuration file template with extracted data to automatically populate a plurality of data fields in the library configuration file with information identifying the library model and a set of custom inputs for the library model, and passing a set of test cases from the set of custom inputs to an input/output matching engine to evaluate a repository of code snippets that when executed and provided the custom inputs respond with outputs to at least assist to identify a set of functionally similar code snippets for inclusion in one of the data fields in the library configuration file;
submitting, by the device, the library configuration file to a validator which validates the library configuration file to ensure that the library model is correctly formatted and satisfies predetermined library model constraints; and
adding the library model to the library knowledge base if the library configuration file is correctly formatted and satisfies predetermined library model constraints.
10. A non-transitory, computer program product comprising at least one recordable medium having stored thereon executable instructions and data which, when executed by at least one processing device, cause the at least one processing device to:
receive a software program to be submitted as a library model;
generate a library configuration file by filling a configuration file template with extracted data to automatically populate a plurality of data fields in the library configuration file with information identifying the library model and a set of custom inputs for the library model, and passing a set of test cases from the set of custom inputs to an input/output matching engine to evaluate a repository of code snippets that when executed and provided the custom inputs respond with outputs to at least assist to identify a set of functionally similar code snippets for inclusion in one of the data fields in the library configuration file;
submit the library configuration file to a validator which validates the library configuration file to ensure that the library model is correctly formatted and satisfies predetermined library model constraints; and
add the library model to the library knowledge base if the library configuration file is correctly formatted and satisfies predetermined library model constraints.
16. A system comprising: one or more processors; a memory coupled to at least one of the processors; and a set of instructions stored in the memory and executed by at least one of the processors to enhance operable functionality of a software program by adding a library model to a library knowledge base, wherein the set of instructions are executable to perform actions of:
receiving a software program to be submitted as a library model;
generating a library configuration file by filling a configuration file template with extracted data to automatically populate a plurality of data fields in the library configuration file with information identifying the library model and a set of custom inputs for the library model, and passing a set of test cases from the set of custom inputs to an input/output matching engine to evaluate a repository of code snippets that when executed and provided the custom inputs respond with outputs to at least assist to identify a set of functionally similar code snippets for inclusion in one of the data fields in the library configuration file;
submitting the library configuration file to a validator which validates the library configuration file to ensure that the library model is correctly formatted and satisfies predetermined library model constraints; and
adding the library model to the library knowledge base if the library configuration file is correctly formatted and satisfies predetermined library model constraints.
1. A method for adding a library model to a library knowledge base, comprising:
receiving, by a device comprising a processor and a memory, a software program to be submitted as a library model;
generating, by the device, a library configuration file by filling a configuration file template with extracted data to automatically populate a plurality of data fields in the library configuration file with information identifying the library model and a set of custom inputs for the library model, and passing a set of test cases from the set of custom inputs to an input/output matching engine to evaluate a repository of code snippets and identify a set of functionally similar code snippets for inclusion in one of the data fields in the library configuration file;
submitting, by the device, the library configuration file to a validator which validates the library configuration file to ensure that the library model is correctly formatted and satisfies predetermined library model constraints; and
adding the library model to the library knowledge base if the library configuration file is correctly formatted and satisfies predetermined library model constraints.
10. A computer program product comprising at least one recordable medium having stored thereon executable instructions and data which, when executed by at least one processing device, cause the at least one processing device to:
receive a software program to be submitted as a library model;
generate a library configuration file by filling a configuration file template with extracted data to automatically populate a plurality of data fields in the library configuration file with information identifying the library model and a set of custom inputs for the library model, and passing a set of test cases from the set of custom inputs to an input/output matching engine to evaluate a repository of code snippets and identify a set of functionally similar code snippets for inclusion in one of the data fields in the library configuration file;
submit the library configuration file to a validator which validates the library configuration file to ensure that the library model is correctly formatted and satisfies predetermined library model constraints; and
add the library model to the library knowledge base if the library configuration file is correctly formatted and satisfies predetermined library model constraints.
16. A system comprising: one or more processors; a memory coupled to at least one of the processors; and a set of instructions stored in the memory and executed by at least one of the processors to enhance operable functionality of a software program by adding a library model to a library knowledge base, wherein the set of instructions are executable to perform actions of:
receiving a software program to be submitted as a library model;
generating a library configuration file by filling a configuration file template with extracted data to automatically populate a plurality of data fields in the library configuration file with information identifying the library model and a set of custom inputs for the library model, and passing a set of test cases from the set of custom inputs to an input/output matching engine to evaluate a repository of code snippets and identify a set of functionally similar code snippets for inclusion in one of the data fields in the library configuration file;
submitting the library configuration file to a validator which validates the library configuration file to ensure that the library model is correctly formatted and satisfies predetermined library model constraints; and
adding the library model to the library knowledge base if the library configuration file is correctly formatted and satisfies predetermined library model constraints.
US Patent 11,093,240
Present Application
10. A method for adding a library model to a library knowledge base, comprising: sending, by a first device comprising a first processor and a first memory, a software program to be submitted as a library model, wherein the software program is received by a second device, comprising a second processor and a second memory, wherein the second device performs:
generating, by the device, a library configuration file by filling a configuration file template with extracted data to automatically populate a plurality of data fields in the library configuration file with information identifying the library model and a set of custom inputs for the library model, and passing a set of test cases from the set of custom inputs to an input/output matching engine to evaluate a repository of code snippets and identify a set of functionally similar code snippets for inclusion in one of the data fields in the library configuration file;
submitting, by the device, the library configuration file to a validator which validates the library configuration file to ensure that the library model is correctly formatted and satisfies predetermined library model constraints; and
adding the library model to the library knowledge base if the library configuration file is correctly formatted and satisfies predetermined library model constraints.
1. A method for adding a library model to a library knowledge base, comprising:
receiving, by a device comprising a processor and a memory, a software program to be submitted as a library model;
generating, by the device, a library configuration file by filling a configuration file template with extracted data to automatically populate a plurality of data fields in the library configuration file with information identifying the library model and a set of custom inputs for the library model, and passing a set of test cases from the set of custom inputs to an input/output matching engine to evaluate a repository of code snippets and identify a set of functionally similar code snippets for inclusion in one of the data fields in the library configuration file;
submitting, by the device, the library configuration file to a validator which validates the library configuration file to ensure that the library model is correctly formatted and satisfies predetermined library model constraints; and
adding the library model to the library knowledge base if the library configuration file is correctly formatted and satisfies predetermined library model constraints.
US Patent 11,797,298
Present Application
10. A method for adding a library model to a library knowledge base, comprising: sending, by a first device comprising a first processor and a first memory, a software program to be submitted as a library model, wherein the software program is received by a second device, comprising a second processor and a second memory, wherein the second device performs:
generating, by the device, a library configuration file by filling a configuration file template with extracted data to automatically populate a plurality of data fields in the library configuration file with information identifying the library model and a set of custom inputs for the library model, and passing a set of test cases from the set of custom inputs to an input/output matching engine to evaluate a repository of code snippets and identify a set of functionally similar code snippets for inclusion in one of the data fields in the library configuration file;
submitting, by the device, the library configuration file to a validator which validates the library configuration file to ensure that the library model is correctly formatted and satisfies predetermined library model constraints; and
adding the library model to the library knowledge base if the library configuration file is correctly formatted and satisfies predetermined library model constraints.
1. A method for adding a library model to a library knowledge base, comprising:
receiving, by a device comprising a processor and a memory, a software program to be submitted as a library model;
generating, by the device, a library configuration file by filling a configuration file template with extracted data to automatically populate a plurality of data fields in the library configuration file with information identifying the library model and a set of custom inputs for the library model, and passing a set of test cases from the set of custom inputs to an input/output matching engine to evaluate a repository of code snippets and identify a set of functionally similar code snippets for inclusion in one of the data fields in the library configuration file;
submitting, by the device, the library configuration file to a validator which validates the library configuration file to ensure that the library model is correctly formatted and satisfies predetermined library model constraints; and
adding the library model to the library knowledge base if the library configuration file is correctly formatted and satisfies predetermined library model constraints.
Allowable Subject Matter
5. The following is an examiner’s statement of reasons for allowance:
US 7,117,411 to McNeely et al. discloses a test tools server includes a version control environment. A number of database elements, including test plans/test cases, test results, a communication interface, and a device under test operating software library, reside within the version control environment.
US 10,372,597 to Alam et al. discloses a system enables a process for improving hardware/software technology by automating the execution of test case-based software and performing a context sensitive pattern matching process to map software actions, data parameters, and software objects to existing software steps from a step library database and software objects from an object repository of a target software application.
NPL to Monce et al. discloses test cases for testing client-library compatibility.
However, neither McNeely, Alam, nor Monce anticipates or renders obvious the combination set forth in the independent claims recited as "filling a configuration file template with extracted data to automatically populate a plurality of data fields in the library configuration file with information identifying the library model," "passing a set of test cases from the set of custom inputs to an input/output matching engine to evaluate a repository of code snippets and identify a set of functionally similar code snippets for inclusion in one of the data fields in the library configuration file," and "submitting, by the device, the library configuration file to a validator which validates the library configuration file to ensure that the library model is correctly formatted and satisfies predetermined library model constraints."
That is, McNeely, Alam, and Monce disclose test cases and software libraries but do not disclose the specific limitations as required above in all independent claims.
The aforementioned limitations and reasons are in conjunction with all other claim limitations and the structure and environment which are not specifically recited in the quotes or expounded upon in the reasons. The Notice of Allowability is based on the totality of the claims. Thus, for at least the foregoing reasons, the prior art of record neither anticipates nor rendered obvious the present invention as set forth in the claims.
Any comments considered necessary by applicant must be submitted no later than the payment of the issue fee and, to avoid processing delays, should preferably accompany the issue fee. Such submissions should be clearly labeled “Comments on Statement of Reasons for Allowance.”
Resolving the 35 U.S.C. 101 rejection would put in condition for allowance.
Incorporating allowable subject matter and resolving the 35 U.S.C. 101 rejection would put in condition for allowance.
Conclusion
6. Any inquiry concerning this communication should be directed to examiner Thuy (Twee) Dao, whose telephone/fax numbers are (571) 272 8570 and (571) 273 8570, respectively. Examiner can normally be reached from Monday to Friday, 5:30am - 2:00pm ET.
If attempts to reach Examiner by telephone are unsuccessful, Examiner’s supervisor, Hyung (Sam) Sough, can be reached at (571) 272 6799.
The fax phone number for the organization where this application or proceeding is assigned is (571) 273 8300.
Any inquiry of a general nature of relating to the status of this application or proceeding should be directed to the TC 2100 Group receptionist whose telephone number is (571) 272 2100.
Information regarding the status of an application may be obtained from the Patent Application Information Retrieval (PAIR) system. For more information about the PAIR system, see http://pair-direct.uspto.gov. Should you have questions on access to the PAIR system, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free).
/Thuy Dao/Primary Examiner, Art Unit 2192