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 . Claims 1-5, 8-10, 12-16, and 18-19 are pending.
Claim Objections
Claims 9-10 and 18-19 are objected to because of the following informalities.
Applicant’s amended claim 9 omits the requisite underlining for newly added features:
[…] performing a first comparison of a first input with one or more of (i) one or more logs of a code generation tool, (ii) one or more associated indicators or text from indicator obtained from developers comprised therein and (iii) a third database (DB3) comprising one or more generated components suggested by a code generated tool for inclusion in the software product to obtain one or more of a first set of generated components, a second set of generated components, a third set of generated components and a first set of unidentified components, to obtain a first set of generated components, wherein the indicators or text from the indicators are interpreted by the code generation tool, wherein the code generation tool comprises one or more of a generative artificial intelligence (AI) model, a model-driven generation tool, and a grammar-driven generation tool […]
In an effort to facilitate compact prosecution, examiner has proceeded with examination, as opposed to transmitting a notice of non-compliant amendment.
Applicant’s claim 18 recites “generating a first report for the first set of generated components, and a second report for the first set of unidentified components,” where, for consistency, the limitation should read: “generate a first report for the first set of generated components, and a second report for the first set of unidentified components.”
The dependent claims are objected to by virtue of their dependency. Appropriate correction is required.
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claims 1-5, 8-10, 12-16, and 18-19 are rejected under 35 U.S.C. 101 because the claimed invention is directed to a judicial exception without significantly more.
Step 1 (The Statutory Categories): Is the claim to a process, machine, manufacture or composition of matter? MPEP 2106.03.
Per Step 1, claims 1 and 9 are to a method (i.e., a process), and claims 12 and 18 are to a system (i.e., a machine). Thus, the claims are directed to statutory categories of invention. However, the claims are rejected under 35 U.S.C. 101 because they are directed to an abstract idea, a judicial exception, without reciting additional elements that integrate the judicial exception into a practical application.
The analysis proceeds to Step 2A Prong One.
Step 2A Prong One: Does the claim recite an abstract idea, law of nature, or natural phenomenon? MPEP 2106.04.
The abstract idea of claim 1 is:
receiving a first input comprising one or more of (i) one or more Open Source Software (OSS) components, (ii) one or more code blocks comprised in a software product, and (iii) the software product embedded with the one or more OSS components;
performing a first comparison of the first input to identify a first set of matched OSS components and a first set of unidentified components;
performing a second comparison of one or more unidentified components from the first set of unidentified components with one or more of (i) one or more logs of a code generation tool that generated the one or more unidentified components, (ii) one or more associated indicators comprised in the first set of unidentified components, wherein the associated indicators are interpreted, and (iii) one or more generated components suggested and accepted for inclusion in the software product are detected during a software product development, to obtain one or more of a first set of generated components, a second set of generated components, a third set of generated components, and a second set of unidentified components;
categorizing based on licensing information, the first set of matched OSS components as (i) OSS components having a strong copyleft license, (ii) OSS components having a permissive license, or (iii) OSS components having a weak copyleft license;
identifying a usage type for (i) the OSS components having a strong copyleft license, (ii) the OSS components having a permissive license, and (iii) the OSS components having a weak copyleft license;
performing a compliance analysis for the first set of matched OSS components, and one or more of the first set of generated components, the second set of generated components, the third set of generated components and the second set of unidentified components based on the usage type, and one or more pre-defined rules, wherein the compliance analysis for the first set of matched OSS components is further based on one or more attributes associated thereof, wherein the attributes stored in a pre-defined format include one or more OSS component names followed by OSS component license types followed by commercial distribution permission, followed by OSS component compile permission; and
generating a compliance analysis report pertaining to each of the first set of matched OSS components, and one or more the first set of generated components, the second set of generated components, the third set of generated components, and the second set of unidentified components based on the compliance analysis.
The abstract idea of claim 9 is:
receiving an input comprising of a software product, or a portion thereof;
performing a first comparison of a first input with one or more of (i) one or more logs of a code generation tool, (ii) one or more associated indicators or text from indicator obtained from developers comprised therein and (iii) one or more generated components suggested for inclusion in the software product to obtain one or more of a first set of generated components, a second set of generated components, a third set of generated components and a first set of unidentified components, wherein the indicators or text from the indicators are interpreted;
generating a first report for the first set of generated components, and a second report for the first set of unidentified components; and
performing a compliance analysis for the first set of generated components in accordance with the first report and generating a compliance analysis report thereof.
The abstract idea of claim 12 is:
receive a first input comprising one or more of (i) one or more Open Source Software (OSS) components, (ii) one or more code blocks comprised in a software product, and (iii) the software product embedded with the one or more OSS components;
perform a first comparison of the first input to identify a first set of matched OSS components and a first set of unidentified components;
perform a second comparison of one or more unidentified components from the first set of unidentified components with one or more of (i) one or more logs of a code generation tool that generated the one or more unidentified components, and (ii) one or more associated indicators comprised in the first set of unidentified components, wherein the associated indicators are interpreted , and (iii) one or more generated components suggested and accepted for inclusion in the software product are detected during a software product development, to obtain one or more of a first set of generated components, a second set of generated components, a third set of generated components and a second set of unidentified components;
categorize based on licensing information, the first set of matched OSS components as (i) OSS components having a strong copyleft license, (ii) OSS components having a permissive license, or (iii) OSS components having a weak copyleft license;
identify a usage type for (i) the OSS components having a strong copyleft license, (ii) the OSS components having a permissive license, and (iii) the OSS components having a weak copyleft license;
perform a compliance analysis for the first set of matched OSS components, and one or more of the first set of generated components, the second set of generated components, the third set of generated components and the second set of unidentified components based on the usage type, and one or more pre-defined rules, wherein the compliance analysis for the first set of matched OSS components is further based on one or more attributes associated thereof, wherein the attributes stored in a pre-defined format include one or more OSS component names, followed by OSS component license types followed by commercial distribution permission, followed by OSS component compile permission; and
generate a compliance analysis report pertaining to each of the first set of matched OSS components, and one or more of the first set of generated components, the second set of generated components, the third set of generated components and the second set of unidentified components based on the compliance analysis.
The abstract idea of claim 18 is:
receive an input comprising of a software product, or a portion thereof;
perform a first comparison of a first input with one or more of (i) one or more logs of a code generation tool, (ii) one or more associated indicators or text from indicator obtained from developers comprised in the first input and (iii) one or more generated components suggested for inclusion in the software product to obtain one or more of a first set of generated components, a second set of generated components, a third set of generated components, and a first set of unidentified components, wherein the indicators or text from the indicators are interpreted;
generating a first report for the first set of generated components, and a second report for the first set of unidentified components; and
perform a compliance analysis for the first set of generated components in accordance with the first report, and the second set of generated components, and generating a compliance analysis report thereof.
The abstract idea steps italicized above are those which could be performed mentally, including with pen and paper. The steps describe, at a high level, evaluating compliance based on software components. If a claim limitation, under its broadest reasonable interpretation, covers performance of the limitation in the mind, including observations, evaluations, judgements, and/or opinions, then it falls within the Mental Processes – Concepts Performed in the Human Mind grouping of abstract ideas. Accordingly, the claim recites an abstract idea. (Examiner notes that software code/components could be received in text format on paper; further during a software product development, given BRI, encompasses a manual planning stage.)
Additionally and alternatively, the abstract idea steps italicized above relate to the rules or instructions, communicated between parties, which govern software compliance decisions. This constitutes a process that, under its broadest reasonable interpretation, covers managing personal behavior relationships, interactions between people. This is further supported by [003] of applicant’s specification as filed. If a claim limitation, under its broadest reasonable interpretation, covers managing personal behavior relationships, interactions between people, including social activities, teaching, and/or following rules or instructions, then it falls within the Certain Methods of Organizing Human Activity – Managing Personal Behavior Relationships, Interactions Between People grouping of abstract ideas. Accordingly, the claim recites an abstract idea.
Step 2A Prong Two: Does the claim recite additional elements that integrate the judicial exception into a practical application? MPEP 2106.04.
The claims recite the following additional elements.
Claim 1: a first database (DB1); a second database (DB2); a third database (DB3); wherein the pre-defined format facilitates faster retrieval of information comprised in the DB2 as compared to fetching information based on metadata; by the code generation tool; wherein the code generation tool comprises one or more of a generative artificial intelligence (Al) model, a model-driven generation tool, and a grammar-driven generation tool.
Claim 9: a third database (DB3); by the code generation tool; wherein the code generation tool comprises one or more of a generative artificial intelligence (AI) model, a model-driven generation tool, and a grammar-driven generation tool.
Claim 12: a memory storing instructions; one or more communication interfaces; one or more hardware processors coupled to the memory via the one or more communication interfaces; a first database (DB1); a second database (DB2); a third database (DB3); wherein the pre-defined format facilitates faster retrieval of information comprised in the DB2 as compared to fetching information based on metadata; by the code generation tool; wherein the code generation tool comprises one or more of a generative artificial intelligence (AI) model, a model-driven generation tool, and a grammar-driven generation tool.
Claim 18: a memory storing instructions; one or more communication interfaces; one or more hardware processors coupled to the memory via the one or more communication interfaces; a code generation tool; a third database (DB3); by the code generation tool; wherein the code generation tool comprises one or more of a generative artificial intelligence (AI) model, a model-driven generation tool, and a grammar-driven generation tool.
These elements are merely instructions to apply the abstract idea to a computer, per MPEP 2106.05(f). Applicant has only described generic computing elements in their specification, as seen in [051] and Fig. 1 of applicant’s specification as filed.
Further, the combination of these elements is nothing more than a generic computing system. Because the additional elements are merely instructions to apply the abstract idea to a computer, as described in MPEP 2106.05(f), they do not integrate the abstract idea into a practical application.
Therefore, per Step 2A Prong Two, the additional elements, alone and in combination, do not integrate the judicial exception into a practical application. The claim is directed to an abstract idea.
Step 2B (The Inventive Concept): Does the claim recite additional elements that amount to significantly more than the judicial exception? MPEP 2106.05.
Step 2B involves evaluating the additional elements to determine whether they amount to significantly more than the judicial exception itself.
The examination process involves carrying over identification of the additional element(s) in the claim from Step 2A Prong Two and carrying over conclusions from Step 2A Prong Two pertaining to MPEP 2106.05(f).
The additional elements and their analysis are therefore carried over: applicant has merely recited elements that facilitate the tasks of the abstract idea, as described in MPEP 2106.05(f).
Further, the combination of these elements is nothing more than a generic computing system with machine learning models. When the claim elements above are considered, alone and in combination, they do not amount to significantly more.
Therefore, per Step 2B, the additional elements, alone and in combination, are not significantly more. The claims are not patent eligible.
The analysis takes into consideration all dependent claims as well:
Dependent claims 2-5 and 13-16 further narrow the abstract idea with additional tasks. There are no further additional elements to consider, beyond those highlighted above. This narrowing of the abstract idea does not integrate the abstract idea into practical application or add significantly more.
Dependent claims 8, 10, and 19, in addition to further narrowing the abstract idea with additional tasks, contain further additional elements, which include:
Claim 8: querying the first database (DB1); querying the second database (DB2).
Claims 10 and 19: a first database (DB1); a second database (DB2).
Similar to above, these additional elements are generic computing elements being used in an ordinary manner to facilitate the tasks of the abstract idea. Whether viewed alone or in combination, these additional elements do not integrate the abstract idea into practical application or add significantly more. See MPEP 2106.05(f).
Accordingly, claims 1-5, 8-10, 12-16, and 18-19 are rejected under 35 USC § 101 as being directed to non-statutory subject matter.
Response to Arguments
Applicant's RCE submission filed 1/28/26 contains no additional remarks. However, in an effort to facilitate compact prosecution, examiner will address remarks from the 1/21/26 after final response.
Claim Rejections - 35 USC § 101
Regarding the rejections under 35 USC § 101, applicant offers, after summarizing examiner’s position (tables/images omitted for brevity):
In response, Applicant submits that the claimed subject matter integrates a judicial exception in terms of improvement in functionality of the computer (MPEP §§ 2106.04(d)(1) and 2106.05(a)) i.e., storing the attributes in the second database (DB2) in pre-defined format facilities faster retrieval of information comprised in the DB2 as compared to fetching information based on metadata. As stated in paragraphs [0062] [0063] of Applicant's published application, "In an embodiment, at least the second OSS database (DB2) has a pre-defined format comprising the attributes including OSS component name, OSS component version, OSS component home page URL, OSS component license type, OSS component license URL, OSS component attribution note, license usage type, commercial distribution permission, OSS component compile permission, license compatibility with the OSS component license type associated with other OSS components comprised in the product or compatibility with proprietary license. The pre-defined format is configured to facilitate faster retrieval of information comprised therein as compared to fetching information based on metadata”, “In an embodiment, the second OSS database (DB2) having exemplary attributes may be represented as shown in Table 2 herein below."
[…]
Applicant submits that the claimed subject matter integrates a judicial exception into a practical application in terms of improvement in functionality of the computer (MPEP §§ 2106.04(d)(1) and 2106.05(a)) i.e., performing comparison quickly or directly on DB3 (generated components) which was otherwise stepwise and consumes time to identify generated components in the software product and to exclude OSS and proprietary components. This saves processing time, computational resources. Further, implicitly, there is faster assessment of the software product with the faster identification and information retrieval of generated components with direct comparison with DB3 as opposed to lengthier process of excluding OSS, proprietary components and then traverse to DB3. For instance, if the software product is developed using open source components and suggestions from the code generation tool and requirement is to quickly identify generated components in the given software product. In this case, the claimed subject matter directly compares the software product with either logs, associated indicators or text from developers, or with DB3 storing generated components exclusively to quickly identify generated components which cannot be performed mentally (mental process).
Applicant submits that the claimed subject matter integrates a judicial exception into a practical application in terms of improvement in functionality of the computer (MPEP §§ 2106.04(d)(1) and 2106.05(a)) i.e., 2 distinct reports i.e., a first report for first set of generated components, and a second report for the first set of unidentified components. Furthermore, performing a compliance analysis for the first set of generated components is in accordance with the first report (generated components) and accordingly generated a compliance analysis report. As stated in paragraphs [0113] [0114] of Applicant's published application, "Similar to how comparison was done in step 406 of FIG. 4, the one or more hardware processors 104 perform the comparison of the input with logs of the code generation tool and/or associated indicators comprised in the input. Based on the first comparison, the system 100 generates a first report (RI') for the first set of generated components, and a second report (R2') for the first set of unidentified components", "At step 506 of the method of the present disclosure, the one or more hardware processors 104 perform a compliance analysis for the first set of generated components with the help of the first report (RI') and generate a compliance analysis report thereof (e.g., say third report R3')".
Applicant submits that the claimed subject matter integrates a judicial exception into a practical application exception in terms of improvement in functionality of the computer (MPEP §§ 2106.04(d)(1) and 2106.05(a)) i.e., detecting during software development, the generated components suggested by the code generation tool. Further, the artificial intelligence methodologies interpret indicators or text from indicators. As stated in paragraphs [0089] [0110] of Applicant's published application, "The system 100 may be trained or assisted by one or more artificial intelligence (AI) methodologies as known in the art for detecting the indicators or text from the indicators (are from the developer) and interpret the intent from the indicators or text from the indicators", "the system 100 detects (or may detect), during a software product development, one or more generated components suggested by the code generated tool and accepted for inclusion in the software product, and a third database (DB3) is populated with the one or more generated components suggested by the code generated tool".
Applicant submits that the claimed subject matter integrates a judicial exception into a practical application exception in terms of improvement in functionality of the computer (MPEP §§ 2106.04(d)(1) and 2106.05(a)) i.e., hierarchically traversing with the comparison from one database to another database. Applicant submits that the first comparison of the input is with a second database DB2 to identify first set of matched OSS components and a first set of unidentified components, followed by performing a second comparison of the first set of unidentified components with a third database (DB3) comprising one or more generated components suggested by a code generation tool for inclusion in the software product.
Therefore, Applicant believes that the judicial exception is integrated into a practical application, and claims 1-5, 8-10, 12-16, 18-19 are patent-eligible (Step 2A: No).
While well taken, applicant’s arguments are not persuasive. Examiner first notes that applicant has appeared to conflate the abstract idea, identified at Step 2A Prong One, with the additional elements, identified at Step 2A Prong Two. Here, examiner identified an abstract idea that includes (claim 1 being representative):
receiving a first input comprising one or more of (i) one or more Open Source Software (OSS) components, (ii) one or more code blocks comprised in a software product, and (iii) the software product embedded with the one or more OSS components;
performing a first comparison of the first input to identify a first set of matched OSS components and a first set of unidentified components;
performing a second comparison of one or more unidentified components from the first set of unidentified components with one or more of (i) one or more logs of a code generation tool that generated the one or more unidentified components, (ii) one or more associated indicators comprised in the first set of unidentified components, wherein the associated indicators are interpreted, and (iii) one or more generated components suggested and accepted for inclusion in the software product are detected during a software product development, to obtain one or more of a first set of generated components, a second set of generated components, a third set of generated components, and a second set of unidentified components;
categorizing based on licensing information, the first set of matched OSS components as (i) OSS components having a strong copyleft license, (ii) OSS components having a permissive license, or (iii) OSS components having a weak copyleft license;
identifying a usage type for (i) the OSS components having a strong copyleft license, (ii) the OSS components having a permissive license, and (iii) the OSS components having a weak copyleft license;
performing a compliance analysis for the first set of matched OSS components, and one or more of the first set of generated components, the second set of generated components, the third set of generated components and the second set of unidentified components based on the usage type, and one or more pre-defined rules, wherein the compliance analysis for the first set of matched OSS components is further based on one or more attributes associated thereof, wherein the attributes stored in a pre-defined format include one or more OSS component names followed by OSS component license types followed by commercial distribution permission, followed by OSS component compile permission; and
generating a compliance analysis report pertaining to each of the first set of matched OSS components, and one or more the first set of generated components, the second set of generated components, the third set of generated components, and the second set of unidentified components based on the compliance analysis.
Examiner maintains that the steps above are those that could be performed mentally, facilitated with pen and paper. The limitations of the claim are broadly recited and describe 1) receiving information; 2) performing comparisons; and 3) categorizing based on licensing information. These are steps an administrator could perform manually, and applicant’s statements to the contrary have not been persuasive.
The additional elements – e.g., a first database (DB1); a second database (DB2); a third database (DB3); wherein the pre-defined format facilitates faster retrieval of information comprised in the DB2 as compared to fetching information based on metadata; by the code generation tool; wherein the code generation tool comprises one or more of a generative artificial intelligence (Al) model, a model-driven generation tool, and a grammar-driven generation tool (claim 1 being representative) – are nothing more than generically recited computing elements claimed in a results-oriented manner. MPEP 2106.05(f) is explicit that simply using generic computing devices or other machinery as a tool also amounts to no more than merely applying the abstract idea to a computer, especially when claimed in a solution-oriented manner:
(1) Whether the claim recites only the idea of a solution or outcome i.e., the claim fails to recite details of how a solution to a problem is accomplished. The recitation of claim limitations that attempt to cover any solution to an identified problem with no restriction on how the result is accomplished and no description of the mechanism for accomplishing the result, does not integrate a judicial exception into a practical application or provide significantly more because this type of recitation is equivalent to the words "apply it". See Electric Power Group, LLC v. Alstom, S.A., 830 F.3d 1350, 1356, 119 USPQ2d 1739, 1743-44 (Fed. Cir. 2016); Intellectual Ventures I v. Symantec, 838 F.3d 1307, 1327, 120 USPQ2d 1353, 1366 (Fed. Cir. 2016); Internet Patents Corp. v. Active Network, Inc., 790 F.3d 1343, 1348, 115 USPQ2d 1414, 1417 (Fed. Cir. 2015). In contrast, claiming a particular solution to a problem or a particular way to achieve a desired outcome may integrate the judicial exception into a practical application or provide significantly more. See Electric Power, 830 F.3d at 1356, 119 USPQ2d at 1743.
[…]
(2) Whether the claim invokes computers or other machinery merely as a tool to perform an existing process. Use of a computer or other machinery in its ordinary capacity for economic or other tasks (e.g., to receive, store, or transmit data) or simply adding a general purpose computer or computer components after the fact to an abstract idea (e.g., a fundamental economic practice or mathematical equation) does not integrate a judicial exception into a practical application or provide significantly more. See Affinity Labs v. DirecTV, 838 F.3d 1253, 1262, 120 USPQ2d 1201, 1207 (Fed. Cir. 2016) (cellular telephone); TLI Communications LLC v. AV Auto, LLC, 823 F.3d 607, 613, 118 USPQ2d 1744, 1748 (Fed. Cir. 2016) (computer server and telephone unit). Similarly, "claiming the improved speed or efficiency inherent with applying the abstract idea on a computer" does not integrate a judicial exception into a practical application or provide an inventive concept. Intellectual Ventures I LLC v. Capital One Bank (USA), 792 F.3d 1363, 1367, 115 USPQ2d 1636, 1639 (Fed. Cir. 2015). In contrast, a claim that purports to improve computer capabilities or to improve an existing technology may integrate a judicial exception into a practical application or provide significantly more. McRO, Inc. v. Bandai Namco Games Am. Inc., 837 F.3d 1299, 1314-15, 120 USPQ2d 1091, 1101-02 (Fed. Cir. 2016); Enfish, LLC v. Microsoft Corp., 822 F.3d 1327, 1335-36, 118 USPQ2d 1684, 1688-89 (Fed. Cir. 2016). See MPEP §§ 2106.04(d)(1) and 2106.05(a) for a discussion of improvements to the functioning of a computer or to another technology or technical field.
In this case, “wherein the pre-defined format facilitates faster retrieval of information comprised in the DB2 as compared to fetching information based on metadata” and “wherein the code generation tool comprises one or more of a generative artificial intelligence (Al) model, a model-driven generation tool, and a grammar-driven generation tool” provide nothing more than a results-oriented solution that lacks detail of the mechanism for accomplishing the result and is equivalent to the words “apply it,” per MPEP 2106.05(f).
Accordingly, the additional elements do not integrate the abstract idea into practical application at Step 2A Prong Two. This conclusion holds whether the additional elements are viewed alone or in combination. There is no improvement to technology, as applicant submits.
Applicant continues, regarding Step 2B:
Applicant asserts that the claimed subject achieves significantly more in terms of faster retrieval of information from the second database (DB2) owing to the nature of storing details of OSS components in a pre-defined format i.e., one or more OSS component names followed by OSS component license types (refer Table 2) (Emphasis added).
Applicant asserts that the claimed subject achieves significantly more in terms of providing assistance by AI generated methodologies for detecting indicators or text from indicators and then interpret intent from the indicators or text from the indicators (refer paragraph [0089]) (Emphasis added). As stated in paragraph [0091] of Applicant's published application, "The code generation tool comprises at least one of a generative artificial intelligence (AI) model, a model- driven generation tool, and a grammar-driven generation tool. Examples of such tools or models may comprise, but are not limited to, (i) Model-Driven Development (MDD) tool, (ii) Template, Rule, Grammar or Annotation based generation tool, (iii) Domain-Specific Language (DSL) based generators, (iv) Application Builders and Low Code No Code platforms, (v) Generative AI and Code Completion technologies,(vi) Code synthesis from Diagrams, (vii) Code scaffoldings & Frameworks, and so on".
Therefore, taking all the claim elements individually, or in combination, the claim as a whole amounts to "significantly more" than an abstract idea of itself (Step 2B: Yes).
Examiner notes that the determination made at Step 2B was informed by MPEP 2106.05, subsection II, which recites:
Although the conclusion of whether a claim is eligible at Step 2B requires that all relevant considerations be evaluated, most of these considerations were already evaluated in Step 2A Prong Two. Thus, in Step 2B, examiners should:
Carry over their identification of the additional element(s) in the claim from Step 2A Prong Two;
Carry over their conclusions from Step 2A Prong Two on the considerations discussed in MPEP §§ 2106.05(a) - (c), (e) (f) and (h);
Re-evaluate any additional element or combination of elements that was considered to be insignificant extra-solution activity per MPEP § 2106.05(g), because if such re-evaluation finds that the element is unconventional or otherwise more than what is well-understood, routine, conventional activity in the field, this finding may indicate that the additional element is no longer considered to be insignificant; and
Evaluate whether any additional element or combination of elements are other than what is well-understood, routine, conventional activity in the field, or simply append well-understood, routine, conventional activities previously known to the industry, specified at a high level of generality, to the judicial exception, per MPEP § 2106.05(d).
As seen in the second bullet point above, examiner “carried over” the conclusions pertaining to Step 2A Prong Two. In the instant application, the additional elements – e.g., a first database (DB1); a second database (DB2); a third database (DB3); wherein the pre-defined format facilitates faster retrieval of information comprised in the DB2 as compared to fetching information based on metadata; by the code generation tool; wherein the code generation tool comprises one or more of a generative artificial intelligence (Al) model, a model-driven generation tool, and a grammar-driven generation tool (claim 1 being representative) – are nothing more than generically recited computing elements claimed in a results-oriented manner. MPEP 2106.05(f) is explicit that simply using generic computing devices or other machinery as a tool also amounts to no more than merely applying the abstract idea to a computer, especially when claimed in a solution-oriented manner.
Accordingly, examiner maintains that the additional elements do not add significantly more. This conclusion holds whether the additional elements are viewed alone or in combination. Similar to the conclusion reached at Step 2A Prong Two, there is no improvement to technology, as applicant submits.
Therefore, the examiner maintains the rejections under 35 USC § 101.
Claim Rejections - 35 USC § 103
Regarding the rejections under 35 USC § 103, applicant clarifying remarks and amendments are persuasive. These rejections have been withdrawn.
With respect to claims 9 and 18, Weigert, considered the closest prior art and most relevant for applicant’s amendments, discloses in [0094]: "In addition to being reviewed for keywords and text strings that indicate references to one or more licenses in the license database 185b, the license review system 105 may include a code provenance engine 135 configured to review software for undocumented and/or improperly documented source code. For example, open source components may typically carry prominent copyright and/or license information, and may liberally point to sources of borrowed code, while closed source (or proprietary) components do not."
However, claims 9 and 18 disclose non-OSS components and the input is a software product or a portion and then through a first comparison with logs and/or associated indicators, results in identifying generated components and unidentified components. This clearly shows a context of input being a software product/portion, a first comparison with logs of code generation tool, and associating indicators to identify generated components and unidentified components, which differs from teachings of Weigert that involves mere keyword/strings review and open-source components.
Ouali, cited previously also considered relevant for applicant’s amendments, discloses logs of the code generation without relating the logs to identify generated components and unidentified components. Ouali merely maps to logs of code generation without explicitly disclosing that the logs of the code generation during comparison facilitates identifying both generated components and unidentified components. In the claimed subject matter, the generated components are suggested by the code generation tool for inclusion in the software product that excludes identification of OSS components or proprietary components. Weigert and Ouali fail to teach or suggest the generated components by the code generation tool, in the manner reflected in claims 9 and 18.
receiving an input comprising of a software product, or a portion thereof;
performing a first comparison of a first input with one or more of (i) one or more logs of a code generation tool, (ii) one or more associated indicators or text from indicator obtained from developers comprised therein and (iii) a third database (DB3) comprising one or more generated components suggested by a code generated tool for inclusion in the software product to obtain one or more of a first set of generated components, a second set of generated components, a third set of generated components and a first set of unidentified components, to obtain a first set of generated components, wherein the indicators or text from the indicators are interpreted by the code generation tool, wherein the code generation tool comprises one or more of a generative artificial intelligence (AI) model, a model-driven generation tool, and a grammar-driven generation tool;
generating a first report for the first set of generated components, and a second report for the first set of unidentified components; and
performing a compliance analysis for the first set of generated components in accordance with the first report and generating a compliance analysis report thereof.
In an updated search, examiner identified the following references, which, while generally relevant to the field of endeavor, stop short of the specificity of the claim:
US 20060155711, which teaches: The present invention relates to a method, system and software for management of software product licences. More particularly, a method of analysing software product licence data is disclosed. The software product licence data is received from a sales database. The data is then collated into an analysis database and an analysis of the data from the analysis database is displayed. Additional information for the analysis database may be provided by assessment of a licence ownership position for a customer, and determination of an appropriate licence agreement for a customer. User interface methods for selecting a software product of a vendor, linking two company names, and displaying linked company names are also disclosed.
US 20100242028, which teaches: A system and method is provided for performing code provenance review in a software due diligence system. In particular, performing code provenance review may include sub-dividing source code under review and third-party source into logical fragments using a language-independent text fracturing algorithm. For example, the fracturing algorithm may include a set of heuristic rules that account for variations in coding style to create logical fragments that are as large as possible without being independently copyrightable. Unique fingerprints may then be generated for the logical fragments using a fingerprint algorithm that features arithmetic computation. As such, potentially related source code may be identified if sub-dividing the source code under review and the third-party source code produces one or more logical fragments that have identical fingerprints.
US 20120166300, which teaches: Management of software licenses in a client-server mode starts with a license policing based on clustering, nominally, into differently valued bundles many variegated applications to be licensed. Applications have an initial size which can be upgraded on request. The size may encompass a variable number of different entities. Two management processes run concurrently at the server side: a first one is dedicated to distribute licenses for new software applications and licenses for upgrading to new versions of previously licensed applications, and further checking any attempt to violate a software license; a second one, upon reception of specific requests by licensees, calculates the number of credits which are needed for upgrading the size previously licensed for applications, checks that available credits at the requesters be sufficient for upgrading, otherwise sends back a warning for insufficient credits.
Accordingly, the outstanding rejections under 35 USC § 103 are withdrawn.
In summary, examiner has responded to all of applicant’s arguments.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure:
US 20060155711, which teaches: The present invention relates to a method, system and software for management of software product licences. More particularly, a method of analysing software product licence data is disclosed. The software product licence data is received from a sales database. The data is then collated into an analysis database and an analysis of the data from the analysis database is displayed. Additional information for the analysis database may be provided by assessment of a licence ownership position for a customer, and determination of an appropriate licence agreement for a customer. User interface methods for selecting a software product of a vendor, linking two company names, and displaying linked company names are also disclosed.
US 20100242028, which teaches: A system and method is provided for performing code provenance review in a software due diligence system. In particular, performing code provenance review may include sub-dividing source code under review and third-party source into logical fragments using a language-independent text fracturing algorithm. For example, the fracturing algorithm may include a set of heuristic rules that account for variations in coding style to create logical fragments that are as large as possible without being independently copyrightable. Unique fingerprints may then be generated for the logical fragments using a fingerprint algorithm that features arithmetic computation. As such, potentially related source code may be identified if sub-dividing the source code under review and the third-party source code produces one or more logical fragments that have identical fingerprints.
US 20120166300, which teaches: Management of software licenses in a client-server mode starts with a license policing based on clustering, nominally, into differently valued bundles many variegated applications to be licensed. Applications have an initial size which can be upgraded on request. The size may encompass a variable number of different entities. Two management processes run concurrently at the server side: a first one is dedicated to distribute licenses for new software applications and licenses for upgrading to new versions of previously licensed applications, and further checking any attempt to violate a software license; a second one, upon reception of specific requests by licensees, calculates the number of credits which are needed for upgrading the size previously licensed for applications, checks that available credits at the requesters be sufficient for upgrading, otherwise sends back a warning for insufficient credits.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to JOHN SAMUEL WASAFF whose telephone number is (571)270-5091. The examiner can normally be reached Monday through Friday 8:00 am to 6:00 pm.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, SARAH MONFELDT can be reached at (571) 270-1833. 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.
JOHN SAMUEL WASAFF
Primary Examiner
Art Unit 3629
/JOHN S. WASAFF/Primary Examiner, Art Unit 3629