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
This action is in response to the claimed listing filed on 03/13/2024.
Claims 1-20 are pending.
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, 4-9, 11-17. 19-20 are rejected under 35 U.S.C. 103 as being unpatentable over Tech Mastery, “Transforming API Development: How to Use ChatGPT for OpenAPI Specs”, 2023, retrieved from https://www.albinsblog.com/2023/11/ransforming-api-documentation-through-chatgpt-genai.html , 8 pages , in view of Liblab blog, “SDK generation: what it is, how it works & best practices” , 2023, retrieved from https://liblab.com/blog/sdk-generation , 9 page (hereinafter Liblab).
As per Claim 1: Tech Mastery discloses the limitations in bold as below:
1. A system for generating software development kits with software code components, comprising:
at least one processing device;
at least one memory device; and
(Standard element of a computing device)
a module stored in the at least one memory device comprising executable instructions that when executed by the at least one processing device (Referred to ChatGPT at an end user), cause the at least one processing device to:
receive a request from a kit recipient system (*) for [a software development kit], wherein the request comprises kit requirements;
(See p. 1, and “With ChatGPT, you can describe your API’s functionality in plain language, and the tool will help translate this into a structured
OpenAPI spec.” and prompts in p. 1, “Please generate an OpenAPI YAML definition incorporating the following details. Ensure the inclusion of separate schemas for any nested objects. Also, include request and response examples using the sample values provided.”, and additional prompts in p. 2, etc.
Note: (*) : In the specification [0024] ‘the end-users may be the recipient systems 201’. So, it reads on the local machine hosting ChatGPT )
analyze the request and the kit requirements, via an artificial intelligence engine;
(See heading that is above the ‘Sample Request body’ in p. 1
“API base URL - https://test.search.com/rest
Path - /search/v2
Method - POST
Query Parameter - testparam
Add service-level bearer token authentication for this endpoint”:
The above heading is given in the ChatGPT response after analyzing the end user Prompts, i.e. ‘kit requirements’ for describing API’s functionality in plain language)
generate, via the artificial intelligence engine, one or more software code components based on the kit requirements (E.g. in p. 1 with the code “Sample Request Body”, and in p. 2 with the code “Sample Response” by ChatGPT);
generate [the software development kit] comprising the one or more software code components; and transmit [ the software development kit] to the kit recipient system.
(With p. 2, “Additional Prompts” in p. 2, and in p. 4 “Now, you can import the YAML specification to Swagger Editor so that you can review the API details and test the API through the
browser”, and the screenshot Editor in p. 4).
Tech Mastery does not explicitly discloses “Software development kit”,
but rather the code for API specification.
Liblab discloses “Software development kit” where with Liblab discloses building “Software development kit” (Liblab: p. 2, top para., “By auto generating an SDK, you can provide this layer of abstraction for your API, and ensure that all developers are using the same best practices”, and p.3 top para., “Every generated SDK starts from an API specification. These use standards like OpenAPI to define the API - including the endpoints that can be called, and the expected data that will be sent as the request body, or the response of the call.”)
With the addition of Liblab, it shows that the API speciation in Tech Mastery is a main element to generate SDK.
Therefore, it would be obvious to an ordinary of skills in the art before the effective filing of the application to combine the teaching using an artificial intelligence engine to generate the API specification of Tech Mastery and the teaching of Liblab for generating SDK from API specification. The combination would yield predictable results because generated SDKs provide strongly-typed interfaces, and the availability generative-AI would be the developers’ choice for its availability and its generation abilities.
As per Claim 2: Tech Mastery and combining Liblab, where
Tech Mastery further discloses the limitations in bold below,
2. The system according to claim 1, wherein the executable instructions cause the at least one processing device to:
prompt the kit recipient system to provide feedback associated with [the software development kit];
(See Prompts in p. 1. With the prompt, ChatGPT with Sample Request Body/ Response code according to prompt “include request and response examples using the sample values provided”
Then use provides ‘feedback’ with the “Addition Prompt” in p. 2
“Include an enum named 'environment' with values 'stage', 'uat', and 'prod'. Give me the complete specification
Add a description for the request body field 'q', labeling it as 'Product Code. Give me the complete specification” )
receive the feedback from the kit recipient system;
(See the ChatGPT response with the code after “Additional Prompts” in p. 2-4)
dynamically alter the one or more software code components in [the software development kit] based on the feedback received from the kit recipient system;
(The code in p. 2-4 is the code modified from “Prompt” in p. 1 where the code is based on the additional functions in the “Additional Prompts”)
and
transmit altered [software development kit] to the kit recipient system.
(See in p. 4, the screenshot of an Editor, where the code generated by “Additional Prompts” is uploaded as a YAML file “Now you can either upload the YAML file generated or directly paste the YAML file on the Editor.”
Tech Mastery does not explicitly discloses “Software development kit”,
but rather altering the code based on user feedbacks from additional prompts.
Liblab discloses “Software development kit” (See the rationales provided in claim 1).
With the code generation ability of Artificial Intelligence engine like ChatGPT, it can alter the code based on user’s prompts, and Liblab shows that the API speciation in Tech Mastery is a main element to generate SDKs.
Therefore, it would be obvious to an ordinary of skills in the art before the effective filing of the application to combine the teaching using an artificial intelligence engine to modify the API specification of Tech Mastery and the teaching of Liblab for generating SDK from API specification. The combination would yield predictable results because the generated SDKs provide strongly-typed interfaces, and the availability generative-AI would be the developers’ choice for its availability and its modification abilities.
As per Claim 4: Tech Mastery and combining Liblab, where
Tech Mastery further discloses,
4. The system according to claim 1, wherein the executable instructions cause the at least one processing device to onboard a plurality of kit recipient systems.
(Tech Mastery in p. 5,
“You can even host a local server to share the API specifications with teams.
Another option is the online Swagger Hub, a licensed version, but the free trial is available for testing; here, you can upload the API specification, review, test, and share it with the teams.”
As per Claim 5: Tech Mastery and combining Liblab, where
Tech Mastery further discloses,
5. The system according to claim 1, wherein the kit requirements comprise required features and required functionalities.
(Tech Mastery: in p.1 “With ChatGPT, you can describe your API’s functionality in plain language, and the tool will help translate this into a structured OpenAPI spec” )
As per Claim 6: Tech Mastery and combining Liblab, where
Liblab further discloses
6. The system according to claim 1, wherein the one or more software code components are pre-validated by the kit recipient system, wherein the pre-validated one or more software code components are not associated with any historical anomalies when integrated with the kit recipient system.
(Liblab: p.4, last text portions,
“Before the SDK can be generated, the API needs to be validated…
…
Liblab can validate your API spec, and will give you a list of issues to resolve before you generate your SDK. The better your spec, the better your SDK will be.”)
Therefore, it would be obvious to an ordinary of skills in the art before the effective filing of the application to combine the teaching using an artificial intelligence engine to modify the API specification of Tech Mastery and the teaching of Liblab for generating SDKs,
and further in view of Liblab for pre-validating the components in the generation process in Liblab; the combination would yield predictable results because pre-validations reduces vulnerabilities and provides the product readiness; the combination is for conforming to the process requirements.
As per Claim 7 Tech Mastery and combining Liblab, where
Liblab further discloses
7. The system according to claim 1, wherein the one or more software code components comprise pre-certified software code components..
(Liblab: See in p. 4, the Liblab: p.4, last text portions, i.e. the validation has been done, see in p. 5, lines 1-2: “Once your API has been validated, the SDK can be generated. This is done by taking the validated API specification, and adding a sprinkle of liblab magic to generate the SDK code” )
Therefore, it would be obvious to an ordinary of skills in the art before the effective filing of the application to combine the teaching using an artificial intelligence engine to modify the API specification of Tech Mastery and the teaching of Liblab for generating SDKs,
and further in view of Liblab for adding a sprinkle after the certified components in the generation process in Liblab; the combination would yield predictable results pre-certification is for conforming to the process requirements.
As per claims 8-9, 11-14: Claims recite a product having limitations corresponding to the limitations recited in claims 1, 2, 4, 6, 7, 5 respectively. The Claim is rejected with the same rationale of claims 1, 2, 4, 6, 7, 5.
As per claims 15-17, 19-20: Claims recite a method having limitations corresponding to the limitations recited in claims 1, 2, 6, 4, 7 respectively. The Claim is rejected with the same rationale of claims 1, 2, 6, 4, 7.
Claims 3, 10, 18 are rejected under 35 U.S.C. 103 as being unpatentable over Tech Mastery, “Transforming API Development: How to Use ChatGPT for OpenAPI Specs”, 2023, retrieved from https://www.albinsblog.com/2023/11/ransforming-api-documentation-through-chatgpt-genai.html , 8 pages , in view of Liblab blog, “SDK generation: what it is, how it works & best practices” , 2023, retrieved from https://liblab.com/blog/sdk-generation , 9 page (hereinafter Liblab), and further in view of JI et al., US PAT. No. US20230418822A1.
As per Claim 3: Regarding,
3. The system according to claim 1, wherein the executable instructions cause the at least
one processing device to train the artificial intelligence engine based on training data, [wherein the training data comprises historical software kit development data and historical requirement data].
Per above limitation, Tech Mastery and combining Liblab disclose “wherein the executable instructions” as directed to the ChatGPT, an Artificial Intelligence Engine to execute user prompts, where it is known in the art that the ChatGPT trains datasets in its backend to response user prompts.
Tech Mastery and combining Liblab do not disclose training data comprises
“[wherein the training data comprises historical software kit development data and historical requirement data].”
JI discloses the limitations of “wherein the training data comprises historical software kit development data and historical requirement data.” (JI, in [0056] “…The server devices 204(1)-204(n) hosts the databases 206(1)-206(n) that are configured to store historical data that relates to software developments and deployments and a library of algorithm functions.”;
in text [0073],
“[0073 ] In an exemplary embodiment, the data analytics software development module….
…
applying an artificial intelligence (AI) algorithm that uses a machine learning (ML) technique to select appropriate software modules from the library. In an exemplary embodiment, the AI algorithm is trained by using historical software development data, such as, for example, historical ground truth data.”).
Thus, with the JI teaching, it shows that in any software developing process, recording historical data is a development process principle, it is as a part of the process, and the AI algorithm will use it as training data to select appropriate software code.
Therefore, it would be obvious to an ordinary od skill before the effective filing to include the teaching using artificial intelligence engine of Tech Mastery, and Liblab for generating SDK modules, with further teaching of JI for training using historical software development data. The combination would yield results predictable because historical data is part of learning model and the artificial intelligence engine where it would be used in trained datasets for selecting appropriate code based on the user’s prompts.
As per claim 10: Claim recites the product having limitations corresponding to the limitations recited in claim 3. The Claim is rejected with the same rationale of claim 3.
As per claim 18: Claim recites the method having limitations corresponding to the limitations recited in claim 3. The Claim is rejected with the same rationale of claim 3.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Ted T Vo whose telephone number is (571)272-3706. The examiner can normally be reached 8am-4:30pm ET.
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, Wei Y Mui can be reached at (571) 272-3708. 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.
TTV
February 5, 2026
/Ted T. Vo/
Primary Examiner, Art Unit 2191