DETAILED ACTION
This is the initial Office action based on the application filed on October 9, 2024.
Claims 1-20 are pending.
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 .
Internet Communications
Without a written authorization for Internet communications by the Applicant in place, the USPTO cannot communicate with the Applicant via email and will not respond via email to any Internet correspondence which contains information subject to the confidentiality requirement as set forth in 35 U.S.C. § 122, such as claimed subject matter in an interview agenda or proposed claim amendments for an Examiner’s Amendment.
Therefore, in the interest of facilitating compact prosecution, the Examiner kindly asks the Applicant to authorize Internet communications with the USPTO by using Form PTO/SB/439 (available at https://www.uspto.gov/patents/apply/forms). The form may be submitted via the USPTO patent electronic filing system (Patent Center) using the document description “Internet Communications Authorized” to facilitate processing. The written authorization for Internet communications must be submitted on a separate paper to be entitled to acceptance in accordance with 37 CFR § 1.4(c). The separate paper will facilitate processing and avoid confusion. The written authorization for Internet communications may not be submitted via an email. See MPEP § 502.03(II).
Claim Interpretation
During patent examination, the pending claims must be “given their broadest reasonable interpretation consistent with the specification.” See MPEP § 2111. Under a broadest reasonable interpretation (BRI), words of the claim must be given their plain meaning, unless such meaning is inconsistent with the specification. The plain meaning of a term means the ordinary and customary meaning given to the term by those of ordinary skill in the art at the relevant time. The ordinary and customary meaning of a term may be evidenced by a variety of sources, including the words of the claims themselves, the specification, the drawings, and the prior art. See MPEP § 2111.01(I).
Applicant is entitled to be their own lexicographer and may rebut the presumption that claim terms are to be given their ordinary and customary meaning by clearly setting forth a definition of the term that is different from its ordinary and customary meaning(s) in the specification at the relevant time. Where an explicit definition is provided by the Applicant for a term, that definition will control interpretation of the term as it is used in the claim. See MPEP § 2111.01(IV)(A). Any such lexicographic definition for a term will be expressly noted by the Examiner in the prior art rejections of the claims.
Claim Mapping
For clarity of the prosecution history record, the Examiner has provided annotations in the prior art rejections of the claims to aid the Applicant in understanding the Examiner’s interpretations of the claimed invention and the prior art, such as emphasizing notable and relevant portions of the prior art citations, using item-to-item matching to the prior art citations, pairing exact claim language to particular language used in the prior art citations, and/or clearly explaining the Examiner’s interpretation as to how a prior art citation maps to the claim language, especially when there is no one-to-one matching of terms. Furthermore, the annotations are provided in the prior art rejections of the claims at the Examiner’s discretion where the Examiner deemed to be appropriate and necessary.
Specification
The title of the invention is not descriptive. A new title is required that is clearly indicative of the invention to which the claims are directed.
The following title is suggested: SOFTWARE BILL OF MATERIALS FOR COMPONENT USAGE OF AN APPLICATION.
Claim Objections
Claims 9 and 19 are objected to because of the following informalities:
Claims 9 and 19 recite “one or more of the plurality of components.” It should read -- one or more components of the plurality of components --.
Appropriate correction is required.
Claim Rejections - 35 U.S.C. § 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-20 are rejected under 35 U.S.C. § 101 because the claimed invention is directed to a judicial exception (i.e., a law of nature, a natural phenomenon, or an abstract idea) without significantly more.
Claim Interpretation: It is essential that the broadest reasonable interpretation (BRI) of a claim as a whole be established prior to examining the claim for eligibility. Under the BRI, the limitations of Claim 1 are presumed to have their plain meaning consistent with the specification as it would be interpreted by one of ordinary skill in the art. See MPEP § 2111.
The BRI of Claim 1 is a method for obtaining, by a process, a software bill of materials for an application, the software bill of materials listing a plurality of components associated with the application; monitoring, by the process, runtime execution of the application; measuring, by the process, usage of each individual component of the plurality of components associated with the application during the runtime execution of the application; and generating, by the process, a usage report for the software bill of materials based on the usage each individual component of the plurality of components associated with the application during the runtime execution of the application.
Step 1: This part of the eligibility analysis evaluates whether the claim falls within any statutory category. See MPEP § 2106.03. Claim 1 is directed to a method, which is a process (a series of steps or acts), and falls within one of the statutory categories of invention. (Step 1: YES).
Step 2A, Prong One: This part of the eligibility analysis evaluates whether the claim recites a judicial exception. As explained in MPEP § 2106.04(II), a claim “recites” a judicial exception when the judicial exception is “set forth” or “described” in the claim.
Claim 1 recites the limitations:
(a) monitoring […] runtime execution of the application;
(b) measuring […] usage of each individual component of the plurality of components associated with the application during the runtime execution of the application; and
(c) generating […] a usage report for the software bill of materials based on the usage each individual component of the plurality of components associated with the application during the runtime execution of the application.
These recited steps, under the BRI, cover performance of the steps in the human mind alone or with the aid of pen and paper. That is, other than reciting:
(1) […] by the process […].
Nothing in the claim precludes the steps from practically being performed in the human mind alone using observation, evaluation, judgment, and opinion or with the aid of pen and paper. For example, the limitation (a) in the context of the claim encompasses a human observing runtime execution of the application in the human mind alone using observation, evaluation, judgment, and opinion or with the aid of pen and paper. And the limitation (b) in the context of the claim encompasses a human observing the runtime execution of the application in the human mind alone using observation, evaluation, judgment, and opinion or with the aid of pen and paper to measure usage of each individual component of the plurality of components associated with the application. And the limitation (c) in the context of the claim encompasses a human evaluating the usage each individual component of the plurality of components associated with the application in the human mind alone using observation, evaluation, judgment, and opinion or with the aid of pen and paper to generating a usage report for the software bill of materials. See MPEP § 2106.04(a)(2)(III).
If a claim limitation, under its BRI, covers a practical performance in the human mind alone or with the aid of pen and paper but for the recitation of generic computer components, then it falls within the “Mental Processes” grouping of abstract ideas. Accordingly, the claim recites an abstract idea. (Step 2A, Prong One: YES).
Step 2A, Prong Two: This part of the eligibility analysis evaluates whether the claim as a whole integrates the recited judicial exception into a practical application of the judicial exception or whether the claim is “directed to” the judicial exception. This evaluation is performed by (1) identifying whether there are any additional elements recited in the claim beyond the judicial exception, and (2) evaluating those additional elements individually and in combination to determine whether the claim as a whole integrates the judicial exception into a practical application. See MPEP § 2106.04(d).
This judicial exception is not integrated into a practical application. In particular, the claim recites the additional element:
(1) […] by the process […].
The additional element (1) is recited at a high level of generality such that it amounts to no more than mere instructions to apply the judicial exception using generic computer components. The process implies that a computer/machine is used as a tool to perform the monitoring, measuring, and generating steps of the claim. See MPEP § 2106.05(f).
Also, the claim recites the additional element:
(2) obtaining, by a process, a software bill of materials for an application, the software bill of materials listing a plurality of components associated with the application.
The additional element (2) is mere data gathering recited at a high level of generality and thus, is an insignificant extra-solution activity. See MPEP § 2106.05(g). Furthermore, all uses of the judicial exception require such data gathering, and, as such, the additional element does not impose any meaningful limits on the claim. The additional element amounts to necessary data gathering. See MPEP § 2106.05(g).
Accordingly, even when viewed in combination, the additional elements do not integrate the recited judicial exception into a practical application because they do not impose any meaningful limits on practicing the judicial exception. (Step 2A, Prong Two: NO). The claim is directed to an abstract idea. (Step 2A: YES).
Step 2B: This part of the eligibility analysis evaluates whether the claim as a whole amounts to significantly more than the recited judicial exception, i.e., whether any additional element, or combination of additional elements, adds an inventive concept to the claim. See MPEP § 2106.05.
The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception because the additional elements when considered both individually and as a combination do not amount to significantly more than the judicial exception. As discussed above with respect to integration of the judicial exception into a practical application, the claim recites the additional element:
(1) […] by the process […].
The additional element (1) amounts to no more than mere instructions to apply the judicial exception using generic computer components. The analysis under Step 2A, Prong Two is carried through to Step 2B. The use of a computer or other machinery in its ordinary capacity does not integrate a judicial exception into a practical application or provide significantly more.
Also, the claim recites the additional element:
(2) obtaining, by a process, a software bill of materials for an application, the software bill of materials listing a plurality of components associated with the application.
The additional element (2) simply appends a well-understood, routine, and conventional activity previously known to the industry, specified at a high level of generality, to the judicial exception and thus, is not indicative of an inventive concept. MPEP § 2106.05(d)(II) expressly states that the courts have recognized the computer function of receiving or transmitting data over a network, e.g., using the Internet to gather data as a well‐understood, routine, and conventional computer function when it is claimed in a merely generic manner (e.g., at a high level of generality) or as an insignificant extra-solution activity. Thus, a person of ordinary skill in the art would readily comprehend that it is well-understood, routine, and conventional in the computing art to obtain a software bill of materials for an application. Therefore, the limitation remains an insignificant extra-solution activity even upon reconsideration and does not amount to significantly more.
Thus, taken alone, the additional elements do not amount to significantly more than the above-identified judicial exception (the abstract idea). Looking at the additional elements as a combination adds nothing that is not already present when looking at the additional elements taken individually. Even when considered in combination, the additional elements represent mere instructions to apply a judicial exception using generic computer components and an insignificant extra-solution activity, and therefore do not provide an inventive concept. (Step 2B: NO). The claim is not patent eligible.
Claims 2-11 are dependent on Claim 1, but do not add any feature or subject matter that would solve the judicial exception deficiencies of Claim 1.
Claim 2 recites the limitation:
(a) instrumenting the application to monitor the runtime execution of the application.
<<>> + <<>> + <<>> • × • <<>> + <<>> + <<>>
Claim 3 recites the limitations:
(a) wherein monitoring comprises:
(b) stack sampling the application to review call stacks to determine executed 3 methods; and
(c) mapping the executed methods to the plurality of components.
<<>> + <<>> + <<>> • × • <<>> + <<>> + <<>>
Claim 4 recites the limitation:
(a) reading the software bill of materials to determine the plurality of components to monitor.
<<>> + <<>> + <<>> • × • <<>> + <<>> + <<>>
Claim 5 recites the limitation:
(a) wherein the usage report indicates a dependency of the application on the plurality of components.
<<>> + <<>> + <<>> • × • <<>> + <<>> + <<>>
Claim 6 recites the limitation:
(a) wherein the usage report indicates, for each class within the software bill of materials, an amount of time the runtime execution of the application was executing that class.
<<>> + <<>> + <<>> • × • <<>> + <<>> + <<>>
Claim 7 recites the limitation:
(a) wherein the usage report indicates, for each method within the software bill of materials, an amount of time the runtime execution of the application was executing that method.
<<>> + <<>> + <<>> • × • <<>> + <<>> + <<>>
Claim 8 recites the limitations:
(a) wherein generating the usage report comprises:
(b) appending the usage report into the software bill of materials.
<<>> + <<>> + <<>> • × • <<>> + <<>> + <<>>
Claim 9 recites the limitation:
(a) wherein the usage report indicates an additional assessment notation with one or more of the plurality of components.
<<>> + <<>> + <<>> • × • <<>> + <<>> + <<>>
Claim 10 recites the limitation:
(a) wherein the additional assessment notation indicates a relative timing and/or occasionality of execution of a corresponding component.
<<>> + <<>> + <<>> • × • <<>> + <<>> + <<>>
Claim 11 recites the limitation:
(a) wherein the additional assessment notation indicates whether a corresponding component is internal to the application or an external call to outside of the application.
Claims 2-4 and 8 recite further mental steps which can be practically performed in the human mind alone using observation, evaluation, judgment, and opinion or with the aid of pen and paper and thus, fail to make the claim any less abstract under Step 2A, Prong One (see MPEP § 2106.04(a)(2)(III)).
Claims 5-7 and 9-11 recite further additional elements that do not integrate the judicial exception into a practical application of the judicial exception because they merely indicate a field of use or technological environment in which the judicial exception is performed and thus, fail to add an inventive concept to the claims under Step 2A, Prong Two (see MPEP § 2106.05(h)) and thus, are also not significantly more than the abstract idea under Step 2B.
Thus, Claims 2-11 do not add any steps or additional elements, when considered both individually and as a combination, that would convert Claim 1 into patent-eligible subject matter.
Therefore, Claims 1-11 are not drawn to patent-eligible subject matter as they are directed to an abstract idea without significantly more.
<<>> • × • <<>> • × • <<>> • × • <<>> • + • <<>> • × • <<>> • × • <<>> • × • <<>>
Claim Interpretation: It is essential that the broadest reasonable interpretation (BRI) of a claim as a whole be established prior to examining the claim for eligibility. Under the BRI, the limitations of Claim 12 are presumed to have their plain meaning consistent with the specification as it would be interpreted by one of ordinary skill in the art. See MPEP § 2111.
The BRI of Claim 12 is a tangible, non-transitory, computer-readable medium for obtaining, by a process, a software bill of materials for an application, the software bill of materials listing a plurality of components associated with the application; monitoring, by the process, runtime execution of the application; measuring, by the process, usage of each individual component of the plurality of components associated with the application during the runtime execution of the application; and generating, by the process, a usage report for the software bill of materials based on the usage each individual component of the plurality of components associated with the application during the runtime execution of the application.
Step 1: This part of the eligibility analysis evaluates whether the claim falls within any statutory category. See MPEP § 2106.03. Claim 12 is directed to a tangible, non-transitory, computer-readable medium, which is an article of manufacture, and falls within one of the statutory categories of invention. (Step 1: YES).
Step 2A, Prong One: This part of the eligibility analysis evaluates whether the claim recites a judicial exception. As explained in MPEP § 2106.04(II), a claim “recites” a judicial exception when the judicial exception is “set forth” or “described” in the claim.
Claim 12 recites the limitations:
(a) monitoring runtime execution of the application;
(b) measuring usage of each individual component of the plurality of components associated with the application during the runtime execution of the application; and
(c) generating a usage report for the software bill of materials based on the usage each individual component of the plurality of components associated with the application during the runtime execution of the application.
These recited steps, under the BRI, cover performance of the steps in the human mind alone or with the aid of pen and paper. That is, other than reciting:
(1) [a] tangible, non-transitory, computer-readable medium storing program instructions that cause a device to execute a process comprising.
Nothing in the claim precludes the steps from practically being performed in the human mind alone using observation, evaluation, judgment, and opinion or with the aid of pen and paper. For example, the limitation (a) in the context of the claim encompasses a human observing runtime execution of the application in the human mind alone using observation, evaluation, judgment, and opinion or with the aid of pen and paper. And the limitation (b) in the context of the claim encompasses a human observing the runtime execution of the application in the human mind alone using observation, evaluation, judgment, and opinion or with the aid of pen and paper to measure usage of each individual component of the plurality of components associated with the application. And the limitation (c) in the context of the claim encompasses a human evaluating the usage each individual component of the plurality of components associated with the application in the human mind alone using observation, evaluation, judgment, and opinion or with the aid of pen and paper to generating a usage report for the software bill of materials. See MPEP § 2106.04(a)(2)(III).
If a claim limitation, under its BRI, covers a practical performance in the human mind alone or with the aid of pen and paper but for the recitation of generic computer components, then it falls within the “Mental Processes” grouping of abstract ideas. Accordingly, the claim recites an abstract idea. (Step 2A, Prong One: YES).
Step 2A, Prong Two: This part of the eligibility analysis evaluates whether the claim as a whole integrates the recited judicial exception into a practical application of the judicial exception or whether the claim is “directed to” the judicial exception. This evaluation is performed by (1) identifying whether there are any additional elements recited in the claim beyond the judicial exception, and (2) evaluating those additional elements individually and in combination to determine whether the claim as a whole integrates the judicial exception into a practical application. See MPEP § 2106.04(d).
This judicial exception is not integrated into a practical application. In particular, the claim recites the additional element:
(1) [a] tangible, non-transitory, computer-readable medium storing program instructions that cause a device to execute a process comprising.
The additional element (1) is recited at a high level of generality such that it amounts to no more than mere instructions to apply the judicial exception using generic computer components. The tangible, non-transitory, computer-readable medium and device are used as a tool to perform the monitoring, measuring, and generating steps of the claim. See MPEP § 2106.05(f).
Also, the claim recites the additional element:
(2) obtaining a software bill of materials for an application, the software bill of materials listing a plurality of components associated with the application.
The additional element (2) is mere data gathering recited at a high level of generality and thus, is an insignificant extra-solution activity. See MPEP § 2106.05(g). Furthermore, all uses of the judicial exception require such data gathering, and, as such, the additional element does not impose any meaningful limits on the claim. The additional element amounts to necessary data gathering. See MPEP § 2106.05(g).
Accordingly, even when viewed in combination, the additional elements do not integrate the recited judicial exception into a practical application because they do not impose any meaningful limits on practicing the judicial exception. (Step 2A, Prong Two: NO). The claim is directed to an abstract idea. (Step 2A: YES).
Step 2B: This part of the eligibility analysis evaluates whether the claim as a whole amounts to significantly more than the recited judicial exception, i.e., whether any additional element, or combination of additional elements, adds an inventive concept to the claim. See MPEP § 2106.05.
The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception because the additional elements when considered both individually and as a combination do not amount to significantly more than the judicial exception. As discussed above with respect to integration of the judicial exception into a practical application, the claim recites the additional element:
(1) [a] tangible, non-transitory, computer-readable medium storing program instructions that cause a device to execute a process comprising.
The additional element (1) amounts to no more than mere instructions to apply the judicial exception using generic computer components. The analysis under Step 2A, Prong Two is carried through to Step 2B. The use of a computer or other machinery in its ordinary capacity does not integrate a judicial exception into a practical application or provide significantly more.
Also, the claim recites the additional element:
(2) obtaining a software bill of materials for an application, the software bill of materials listing a plurality of components associated with the application.
The additional element (2) simply appends a well-understood, routine, and conventional activity previously known to the industry, specified at a high level of generality, to the judicial exception and thus, is not indicative of an inventive concept. MPEP § 2106.05(d)(II) expressly states that the courts have recognized the computer function of receiving or transmitting data over a network, e.g., using the Internet to gather data as a well‐understood, routine, and conventional computer function when it is claimed in a merely generic manner (e.g., at a high level of generality) or as an insignificant extra-solution activity. Thus, a person of ordinary skill in the art would readily comprehend that it is well-understood, routine, and conventional in the computing art to obtain a software bill of materials for an application. Therefore, the limitation remains an insignificant extra-solution activity even upon reconsideration and does not amount to significantly more.
Thus, taken alone, the additional elements do not amount to significantly more than the above-identified judicial exception (the abstract idea). Looking at the additional elements as a combination adds nothing that is not already present when looking at the additional elements taken individually. Even when considered in combination, the additional elements represent mere instructions to apply a judicial exception using generic computer components and an insignificant extra-solution activity, and therefore do not provide an inventive concept. (Step 2B: NO). The claim is not patent eligible.
Claims 13-19 are dependent on Claim 12, but do not add any feature or subject matter that would solve the judicial exception deficiencies of Claim 12.
Claim 13 recites the limitation:
(a) instrumenting the application to monitor the runtime execution of the application.
<<>> + <<>> + <<>> • × • <<>> + <<>> + <<>>
Claim 14 recites the limitations:
(a) wherein monitoring comprises:
(b) stack sampling the application to review call stacks to determine executed 3 methods; and
(c) mapping the executed methods to the plurality of components.
<<>> + <<>> + <<>> • × • <<>> + <<>> + <<>>
Claim 15 recites the limitation:
(a) wherein the usage report indicates a dependency of the application on the plurality of components.
<<>> + <<>> + <<>> • × • <<>> + <<>> + <<>>
Claim 16 recites the limitation:
(a) wherein the usage report indicates, for each class within the software bill of materials, an amount of time the runtime execution of the application was executing that class.
<<>> + <<>> + <<>> • × • <<>> + <<>> + <<>>
Claim 17 recites the limitation:
(a) wherein the usage report indicates, for each method within the software bill of materials, an amount of time the runtime execution of the application was executing that method.
<<>> + <<>> + <<>> • × • <<>> + <<>> + <<>>
Claim 18 recites the limitations:
(a) wherein generating the usage report comprises:
(b) appending the usage report into the software bill of materials.
<<>> + <<>> + <<>> • × • <<>> + <<>> + <<>>
Claim 19 recites the limitation:
(a) wherein the usage report indicates an additional assessment notation with one or more of the plurality of components.
Claims 13, 14, and 18 recite further mental steps which can be practically performed in the human mind alone using observation, evaluation, judgment, and opinion or with the aid of pen and paper and thus, fail to make the claim any less abstract under Step 2A, Prong One (see MPEP § 2106.04(a)(2)(III)).
Claims 15-17 and 19 recite further additional elements that do not integrate the judicial exception into a practical application of the judicial exception because they merely indicate a field of use or technological environment in which the judicial exception is performed and thus, fail to add an inventive concept to the claims under Step 2A, Prong Two (see MPEP § 2106.05(h)) and thus, are also not significantly more than the abstract idea under Step 2B.
Thus, Claims 13-19 do not add any steps or additional elements, when considered both individually and as a combination, that would convert Claim 12 into patent-eligible subject matter.
Therefore, Claims 12-19 are not drawn to patent-eligible subject matter as they are directed to an abstract idea without significantly more.
<<>> • × • <<>> • × • <<>> • × • <<>> • + • <<>> • × • <<>> • × • <<>> • × • <<>>
Claim Interpretation: It is essential that the broadest reasonable interpretation (BRI) of a claim as a whole be established prior to examining the claim for eligibility. Under the BRI, the limitations of Claim 20 are presumed to have their plain meaning consistent with the specification as it would be interpreted by one of ordinary skill in the art. See MPEP § 2111.
The BRI of Claim 20 is an apparatus for obtaining, by a process, a software bill of materials for an application, the software bill of materials listing a plurality of components associated with the application; monitoring, by the process, runtime execution of the application; measuring, by the process, usage of each individual component of the plurality of components associated with the application during the runtime execution of the application; and generating, by the process, a usage report for the software bill of materials based on the usage each individual component of the plurality of components associated with the application during the runtime execution of the application.
Step 1: This part of the eligibility analysis evaluates whether the claim falls within any statutory category. See MPEP § 2106.03. Claim 20 is directed to an apparatus, which is a machine, and falls within one of the statutory categories of invention. (Step 1: YES).
Step 2A, Prong One: This part of the eligibility analysis evaluates whether the claim recites a judicial exception. As explained in MPEP § 2106.04(II), a claim “recites” a judicial exception when the judicial exception is “set forth” or “described” in the claim.
Claim 20 recites the limitations:
(a) monitoring runtime execution of the application;
(b) measuring usage of each individual component of the plurality of components associated with the application during the runtime execution of the application; and
(c) generating a usage report for the software bill of materials based on the usage each individual component of the plurality of components associated with the application during the runtime execution of the application.
These recited steps, under the BRI, cover performance of the steps in the human mind alone or with the aid of pen and paper. That is, other than reciting:
(1) one or more network interfaces to communicate with a network;
(2) a processor coupled to the one or more network interfaces and configured to execute one or more processes; and
(3) a memory configured to store a process that is executable by the processor, the process comprising.
Nothing in the claim precludes the steps from practically being performed in the human mind alone using observation, evaluation, judgment, and opinion or with the aid of pen and paper. For example, the limitation (a) in the context of the claim encompasses a human observing runtime execution of the application in the human mind alone using observation, evaluation, judgment, and opinion or with the aid of pen and paper. And the limitation (b) in the context of the claim encompasses a human observing the runtime execution of the application in the human mind alone using observation, evaluation, judgment, and opinion or with the aid of pen and paper to measure usage of each individual component of the plurality of components associated with the application. And the limitation (c) in the context of the claim encompasses a human evaluating the usage each individual component of the plurality of components associated with the application in the human mind alone using observation, evaluation, judgment, and opinion or with the aid of pen and paper to generating a usage report for the software bill of materials. See MPEP § 2106.04(a)(2)(III).
If a claim limitation, under its BRI, covers a practical performance in the human mind alone or with the aid of pen and paper but for the recitation of generic computer components, then it falls within the “Mental Processes” grouping of abstract ideas. Accordingly, the claim recites an abstract idea. (Step 2A, Prong One: YES).
Step 2A, Prong Two: This part of the eligibility analysis evaluates whether the claim as a whole integrates the recited judicial exception into a practical application of the judicial exception or whether the claim is “directed to” the judicial exception. This evaluation is performed by (1) identifying whether there are any additional elements recited in the claim beyond the judicial exception, and (2) evaluating those additional elements individually and in combination to determine whether the claim as a whole integrates the judicial exception into a practical application. See MPEP § 2106.04(d).
This judicial exception is not integrated into a practical application. In particular, the claim recites the additional elements:
(1) one or more network interfaces to communicate with a network;
(2) a processor coupled to the one or more network interfaces and configured to execute one or more processes; and
(3) a memory configured to store a process that is executable by the processor, the process comprising.
The additional elements (1) to (3) are recited at a high level of generality such that they amount to no more than mere instructions to apply the judicial exception using generic computer components. The network interfaces, processor, and memory are used as a tool to perform the monitoring, measuring, and generating steps of the claim. See MPEP § 2106.05(f).
Also, the claim recites the additional element:
(4) obtaining a software bill of materials for an application, the software bill of materials listing a plurality of components associated with the application.
The additional element (4) is mere data gathering recited at a high level of generality and thus, is an insignificant extra-solution activity. See MPEP § 2106.05(g). Furthermore, all uses of the judicial exception require such data gathering, and, as such, the additional element does not impose any meaningful limits on the claim. The additional element amounts to necessary data gathering. See MPEP § 2106.05(g).
Accordingly, even when viewed in combination, the additional elements do not integrate the recited judicial exception into a practical application because they do not impose any meaningful limits on practicing the judicial exception. (Step 2A, Prong Two: NO). The claim is directed to an abstract idea. (Step 2A: YES).
Step 2B: This part of the eligibility analysis evaluates whether the claim as a whole amounts to significantly more than the recited judicial exception, i.e., whether any additional element, or combination of additional elements, adds an inventive concept to the claim. See MPEP § 2106.05.
The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception because the additional elements when considered both individually and as a combination do not amount to significantly more than the judicial exception. As discussed above with respect to integration of the judicial exception into a practical application, the claim recites the additional elements:
(1) one or more network interfaces to communicate with a network;
(2) a processor coupled to the one or more network interfaces and configured to execute one or more processes; and
(3) a memory configured to store a process that is executable by the processor, the process comprising.
The additional elements (1) to (3) amount to no more than mere instructions to apply the judicial exception using generic computer components. The analysis under Step 2A, Prong Two is carried through to Step 2B. The use of a computer or other machinery in its ordinary capacity does not integrate a judicial exception into a practical application or provide significantly more.
Also, the claim recites the additional element:
(4) obtaining a software bill of materials for an application, the software bill of materials listing a plurality of components associated with the application.
The additional element (4) simply appends a well-understood, routine, and conventional activity previously known to the industry, specified at a high level of generality, to the judicial exception and thus, is not indicative of an inventive concept. MPEP § 2106.05(d)(II) expressly states that the courts have recognized the computer function of receiving or transmitting data over a network, e.g., using the Internet to gather data as a well‐understood, routine, and conventional computer function when it is claimed in a merely generic manner (e.g., at a high level of generality) or as an insignificant extra-solution activity. Thus, a person of ordinary skill in the art would readily comprehend that it is well-understood, routine, and conventional in the computing art to obtain a software bill of materials for an application. Therefore, the limitation remains an insignificant extra-solution activity even upon reconsideration and does not amount to significantly more.
Thus, taken alone, the additional elements do not amount to significantly more than the above-identified judicial exception (the abstract idea). Looking at the additional elements as a combination adds nothing that is not already present when looking at the additional elements taken individually. Even when considered in combination, the additional elements represent mere instructions to apply a judicial exception using generic computer components and an insignificant extra-solution activity, and therefore do not provide an inventive concept. (Step 2B: NO). The claim is not patent eligible.
Claim Rejections - 35 U.S.C. § 102
The following is a quotation of the appropriate paragraphs of 35 U.S.C. § 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention.
Claims 1, 4, 12, and 20 are rejected under 35 U.S.C. § 102(a)(1) as being anticipated by US 2024/0126530 (hereinafter “Kairali”) (cited in the IDS submitted on 10/09/2024).
As per Claim 1, Kairali discloses:
A method (paragraph [0050], “Computing environment 100 contains an example of an environment for executing at least some of the computer code involved in performing the inventive methods, such as software compliance management in a hybrid environment as shown in block 200.”), comprising:
obtaining, by a process, a software bill of materials for an application (paragraph [0109]1, “In 520, the method may include generating a software bill of materials (SBOM) for the software program which comprises names of the identified components [obtaining, by a process, a software bill of materials for an application].”), the software bill of materials listing a plurality of components associated with the application (paragraph [0029], “The host service may use this collected information to generate one or more SBOMs. As an example, each software program, library, package, application, etc., may have its own SBOM created for it. The SBOMs may include details about the software and it’s OSS and third-party components that are combined to make the software including an author, a supplier, component name(s), a version string, a component hash, a unique identifier, relationship information, and the like, of each of the components. The components within the SBOM may include open software and third-party software products such as methods, programs, code modules, libraries, application programming interfaces, and the like (emphasis added).”);
1Examiner’s Remarks: Note that Kairali discloses generating a software bill of materials (SBOM) for the software program. Thus, one of ordinary skill in the art would readily comprehend that the SBOM is obtained after being generated.
monitoring, by the process, runtime execution of the application (paragraph [0030], “The example embodiments are directed to a system that can monitor a hybrid environment and identify the software programs (e.g., applications, services, libraries, packages, etc.) currently running within the hybrid environment as well as the components of the software programs. The components may include open source software, third party software, and other components which make up the software program (emphasis added).”);
measuring, by the process, usage of each individual component of the plurality of components associated with the application during the runtime execution of the application (paragraph [0067], “Resource provisioning 81 provides dynamic procurement of computing resources and other resources that are utilized to perform tasks within the cloud computing environment. Metering and Pricing 82 provide cost tracking as resources are utilized within the cloud computing environment, and billing or invoicing for consumption of these resources. In one example, these resources may include application software licenses (emphasis added).”); and
generating, by the process, a usage report for the software bill of materials based on the usage each individual component of the plurality of components associated with the application during the runtime execution of the application (paragraph [0028], “An SBOM is a formal record of all the components needed to build a particular piece of software and the supply chain relationships of these components.”; paragraph [0037]2, “Measured service: cloud systems automatically control and optimize resource use by leveraging a metering capability at some level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported, providing transparency for both the provider and consumer of the utilized service (emphasis added).”; paragraph [0067], “Resource provisioning 81 provides dynamic procurement of computing resources and other resources that are utilized to perform tasks within the cloud computing environment. Metering and Pricing 82 provide cost tracking as resources are utilized within the cloud computing environment, and billing or invoicing for consumption of these resources. In one example, these resources may include application software licenses (emphasis added).”).
2Examiner’s Remarks: Note that Kairali discloses that resource usage can be monitored, controlled, and reported. Thus, one of ordinary skill in the art would readily comprehend that a resource usage report is generated based on the usage of each resource of a plurality of resources.
Examiner’s Remarks: Note that the limitation “for the software bill of materials” is non-limiting and can be treated as an intended use limitation. Thus, it does not limit the scope of the claim and is of no significance to claim construction. See MPEP § 2111.02(II).
As per Claim 4, the rejection of Claim 1 is incorporated; and Kairali further discloses:
reading the software bill of materials to determine the plurality of components to monitor (paragraph [0077], “[…] the SCC may be modified to include an additional layer of capability to get the details of SBOM from the software programs deployed within the hybrid environment. The SBOM includes a list of entities, components, libraries of software of a target, etc.”).
Claim 12 is a tangible, non-transitory, computer-readable medium claim corresponding to the method claim hereinabove (Claim 1). Therefore, Claim 12 is rejected for the same reason set forth in the rejection of Claim 1.
Claim 20 is an apparatus claim corresponding to the method claim hereinabove (Claim 1). Therefore, Claim 20 is rejected for the same reason set forth in the rejection of Claim 1.
Claim Rejections - 35 U.S.C. § 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 2 and 13 are rejected under 35 U.S.C. § 103 as being unpatentable over Kairali in view of US 2006/0218533 (hereinafter “Koduru”).
Examiner’s Remarks: In order for a reference to be proper for use in an obviousness rejection under 35 U.S.C. § 103, the reference must be analogous art to the claimed invention. In re Bigio, 381 F.3d 1320, 1325, 72 USPQ2d 1209, 1212 (Fed. Cir. 2004). A reference is analogous art to the claimed invention if: (1) the reference is from the same field of endeavor as the claimed invention (even if it addresses a different problem); or (2) the reference is reasonably pertinent to the problem faced by the inventor (even if it is not in the same field of endeavor as the claimed invention). See MPEP § 2141.01(a)(I).
Note that the claimed invention is generally directed to software bill of materials (SBOM) component usage (specification, page 1, lines 1 and 2). As for the “same field of endeavor” test, Kairali is generally directed to identifying, via a hybrid environment, components which are included in a first software program within the hybrid environment by generating a software bill of materials (SBOM) for the first software program based on the identified components (specification, paragraph [0003]). As for the “reasonably pertinent” test, Koduru is generally directed to monitoring performance in an application where a user can select what entities in an application file are monitored and the monitoring commands are incorporated into a new version of the application file (specification, paragraph [0002]). Thus, Kairali and Koduru are both analogous art to the claimed invention (even if they address different problems or are not in the same field of endeavor as the claimed invention).
As per Claim 2, the rejection of Claim 1 is incorporated; and Kairali does not explicitly disclose:
instrumenting the application to monitor the runtime execution of the application.
However, Koduru discloses:
instrumenting the application to monitor the runtime execution of the application (paragraph [0023], “The instrumentation tool adds performance monitoring methods to the application file and generates a new instrumented application file that is transferred to the mobile device. When the instrumented application file is executed on the mobile device, the performance monitoring methods instrumented into the file execute generating data in a performance log file that is stored on the mobile device.”).
As pointed out hereinabove, Kairali and Koduru are both analogous art to the claimed invention. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Koduru into the teaching of Kairali to include “instrumenting the application to monitor the runtime execution of the application.” The modification would be obvious because one of ordinary skill in the art would be motivated to add performance monitoring methods or functions in an application file that are tailored to user selected entities in an application allowing for focused monitoring and/or reduced resource requirements (Koduru, paragraph [0025]).
Claim 13 is a tangible, non-transitory, computer-readable medium claim corresponding to the method claim hereinabove (Claim 2). Therefore, Claim 13 is rejected for the same reason set forth in the rejection of Claim 2.
Claims 3 and 14 are rejected under 35 U.S.C. § 103 as being unpatentable over Kairali in view of US 2012/0304172 (hereinafter “Greifeneder”).
Examiner’s Remarks: In order for a reference to be proper for use in an obviousness rejection under 35 U.S.C. § 103, the reference must be analogous art to the claimed invention. In re Bigio, 381 F.3d 1320, 1325, 72 USPQ2d 1209, 1212 (Fed. Cir. 2004). A reference is analogous art to the claimed invention if: (1) the reference is from the same field of endeavor as the claimed invention (even if it addresses a different problem); or (2) the reference is reasonably pertinent to the problem faced by the inventor (even if it is not in the same field of endeavor as the claimed invention). See MPEP § 2141.01(a)(I).
Note that the claimed invention is generally directed to software bill of materials (SBOM) component usage (specification, page 1, lines 1 and 2). As for the “same field of endeavor” test, Kairali is generally directed to identifying, via a hybrid environment, components which are included in a first software program within the hybrid environment by generating a software bill of materials (SBOM) for the first software program based on the identified components (specification, paragraph [0003]). As for the “reasonably pertinent” test, Greifeneder is generally directed to tracing individual transactions at the granularity of method calls using instrumentation based transaction tracing mechanisms to enhance thread call stack sampling mechanisms (Abstract). Thus, Kairali and Greifeneder are both analogous art to the claimed invention (even if they address different problems or are not in the same field of endeavor as the claimed invention).
As per Claim 3, the rejection of Claim 1 is incorporated; and Kairali does not explicitly disclose:
wherein monitoring comprises:
stack sampling the application to review call stacks to determine executed methods; and
mapping the executed methods to the plurality of components.
However, Greifeneder discloses:
wherein monitoring comprises:
stack sampling the application to review call stacks to determine executed methods (paragraph [0229], “The statistic data 1960 contains data about the statistical distribution of the detected method call in call stack samples. For example, the statistic data may contain the number of times the method was a leaf in a call stack sample for each different thread state 1961 as provided by the payload data of the path sampling event nodes 1356 which contained tracing data of the method execution described by the path sampling method node 1951.”); and
mapping the executed methods to the plurality of components (paragraph [0016], “The described system creates a stack data structure at the thread local storage which maps the current method call stack. The stack data structure is used to correlate method calls to the method execution sequence performed in the local thread.”).
As pointed out hereinabove, Kairali and Greifeneder are both analogous art to the claimed invention. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Greifeneder into the teaching of Kairali to include “wherein monitoring comprises: stack sampling the application to review call stacks to determine executed methods; and mapping the executed methods to the plurality of components.” The modification would be obvious because one of ordinary skill in the art would be motivated to analyze call stacks using statistical methods which provide estimates of execution times, method CPU times, wait times, synchronization times, method call nesting level, method call frequency, etc. of individual method calls (Greifeneder, paragraph [0049]).
Claim 14 is a tangible, non-transitory, computer-readable medium claim corresponding to the method claim hereinabove (Claim 3). Therefore, Claim 14 is rejected for the same reason set forth in the rejection of Claim 3.
Claims 5 and 15 are rejected under 35 U.S.C. § 103 as being unpatentable over Kairali in view of US 2023/0126113 (hereinafter “Balasubramanian”).
Examiner’s Remarks: In order for a reference to be proper for use in an obviousness rejection under 35 U.S.C. § 103, the reference must be analogous art to the claimed invention. In re Bigio, 381 F.3d 1320, 1325, 72 USPQ2d 1209, 1212 (Fed. Cir. 2004). A reference is analogous art to the claimed invention if: (1) the reference is from the same field of endeavor as the claimed invention (even if it addresses a different problem); or (2) the reference is reasonably pertinent to the problem faced by the inventor (even if it is not in the same field of endeavor as the claimed invention). See MPEP § 2141.01(a)(I).
Note that the claimed invention is generally directed to software bill of materials (SBOM) component usage (specification, page 1, lines 1 and 2). As for the “same field of endeavor” test, Kairali is generally directed to identifying, via a hybrid environment, components which are included in a first software program within the hybrid environment by generating a software bill of materials (SBOM) for the first software program based on the identified components (specification, paragraph [0003]). As for the “reasonably pertinent” test, Balasubramanian is generally directed to monitoring operating statuses of an application and its dependencies (Abstract). Thus, Kairali and Balasubramanian are both analogous art to the claimed invention (even if they address different problems or are not in the same field of endeavor as the claimed invention).
As per Claim 5, the rejection of Claim 1 is incorporated; and Kairali discloses “the usage report,” but Kairali does not explicitly disclose:
wherein the usage report indicates a dependency of the application on the plurality of components.
However, Balasubramanian discloses:
wherein the […] report indicates a dependency of the application on the plurality of components (Figure 3B; paragraph [0059], “One example of a report provided to users may be system status window 443, which may comprise a visualization of application 401 and its dependencies in the same manner as FIG. 3B. Monitoring application 430 may also provide results/reports regarding system operating status to administrative processes 445, which may further process the operating data and/or automate portions of system administrative.”).
As pointed out hereinabove, Kairali and Balasubramanian are both analogous art to the claimed invention. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Balasubramanian into the teaching of Kairali to include “wherein the usage report indicates a dependency of the application on the plurality of components.” The modification would be obvious because one of ordinary skill in the art would be motivated to collect and report the operating status of a monitored application and each of the dependencies of the monitored application (Balasubramanian, paragraph [0050]).
Claim 15 is a tangible, non-transitory, computer-readable medium claim corresponding to the method claim hereinabove (Claim 5). Therefore, Claim 15 is rejected for the same reason set forth in the rejection of Claim 5.
Claims 6, 7, 9, 10, 16, 17, and 19 are rejected under 35 U.S.C. § 103 as being unpatentable over Kairali in view of US 2015/0378864 (hereinafter “Lensmar”).
Examiner’s Remarks: In order for a reference to be proper for use in an obviousness rejection under 35 U.S.C. § 103, the reference must be analogous art to the claimed invention. In re Bigio, 381 F.3d 1320, 1325, 72 USPQ2d 1209, 1212 (Fed. Cir. 2004). A reference is analogous art to the claimed invention if: (1) the reference is from the same field of endeavor as the claimed invention (even if it addresses a different problem); or (2) the reference is reasonably pertinent to the problem faced by the inventor (even if it is not in the same field of endeavor as the claimed invention). See MPEP § 2141.01(a)(I).
Note that the claimed invention is generally directed to software bill of materials (SBOM) component usage (specification, page 1, lines 1 and 2). As for the “same field of endeavor” test, Kairali is generally directed to identifying, via a hybrid environment, components which are included in a first software program within the hybrid environment by generating a software bill of materials (SBOM) for the first software program based on the identified components (specification, paragraph [0003]). As for the “reasonably pertinent” test, Lensmar is generally directed to instrumenting scripts of webpages (Abstract). Thus, Kairali and Lensmar are both analogous art to the claimed invention (even if they address different problems or are not in the same field of endeavor as the claimed invention).
As per Claim 6, the rejection of Claim 1 is incorporated; and Kairali discloses “the usage report” and “the software bill of materials,” but Kairali does not explicitly disclose:
wherein the usage report indicates, for each class within the software bill of materials, an amount of time the runtime execution of the application was executing that class.
However, Lensmar discloses:
wherein the […] report indicates, for each class […], an amount of time the runtime execution of the application was executing that class (paragraph [0095], “The report may include profiling and performance metric such as execution time of functions, methods, classes, and call stacks.”).
As pointed out hereinabove, Kairali and Lensmar are both analogous art to the claimed invention. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Lensmar into the teaching of Kairali to include “wherein the usage report indicates, for each class within the software bill of materials, an amount of time the runtime execution of the application was executing that class.” The modification would be obvious because one of ordinary skill in the art would be motivated to provide a user with profiling and performance metric, such as execution times of classes (Lensmar, paragraph [0095]).
As per Claim 7, the rejection of Claim 1 is incorporated; and Kairali discloses “the usage report” and “the software bill of materials,” but Kairali does not explicitly disclose:
wherein the usage report indicates, for each method within the software bill of materials, an amount of time the runtime execution of the application was executing that method.
However, Lensmar discloses:
wherein the […] report indicates, for each method […], an amount of time the runtime execution of the application was executing that method (paragraph [0095], “The report may include profiling and performance metric such as execution time of functions, methods, classes, and call stacks.”).
As pointed out hereinabove, Kairali and Lensmar are both analogous art to the claimed invention. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Lensmar into the teaching of Kairali to include “wherein the usage report indicates, for each method within the software bill of materials, an amount of time the runtime execution of the application was executing that method.” The modification would be obvious because one of ordinary skill in the art would be motivated to provide a user with profiling and performance metric, such as execution times of methods (Lensmar, paragraph [0095]).
As per Claim 9, the rejection of Claim 1 is incorporated; and Kairali discloses “the usage report,” but Kairali does not explicitly disclose:
wherein the usage report indicates an additional assessment notation with one or more of the plurality of components.
However, Lensmar discloses:
wherein the […] report indicates an additional assessment notation with one or more of the plurality of components (paragraph [0056], “The instrumented mobile app 116 may be include one or more instrumentation instructions that sends a report to the report server 125 or stores a log in the memory of the mobile client 115. The instrumentation instructions may correspond to one or more objects or functions. The instrumented mobile app 116 may report profiling, performance, trace and debugging information.”; paragraph [0095], “The report may include profiling and performance metric such as execution time of functions, methods, classes, and call stacks.”).
As pointed out hereinabove, Kairali and Lensmar are both analogous art to the claimed invention. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Lensmar into the teaching of Kairali to include “wherein the usage report indicates an additional assessment notation with one or more of the plurality of components.” The modification would be obvious because one of ordinary skill in the art would be motivated to provide a user with profiling and performance metric, such as execution times of functions, methods, classes, and call stacks (Lensmar, paragraph [0095]).
As per Claim 10, the rejection of Claim 9 is incorporated; and Kairali does not explicitly disclose:
wherein the additional assessment notation indicates a relative timing and/or occasionality of execution of a corresponding component.
However, Lensmar discloses:
wherein the additional assessment notation indicates a relative timing and/or occasionality of execution of a corresponding component (paragraph [0056], “The instrumented mobile app 116 may be include one or more instrumentation instructions that sends a report to the report server 125 or stores a log in the memory of the mobile client 115. The instrumentation instructions may correspond to one or more objects or functions. The instrumented mobile app 116 may report profiling, performance, trace and debugging information.”; paragraph [0095], “The report may include profiling and performance metric such as execution time of functions, methods, classes, and call stacks.”).
As pointed out hereinabove, Kairali and Lensmar are both analogous art to the claimed invention. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Lensmar into the teaching of Kairali to include “wherein the additional assessment notation indicates a relative timing and/or occasionality of execution of a corresponding component.” The modification would be obvious because one of ordinary skill in the art would be motivated to provide a user with profiling and performance metric, such as execution times of functions, methods, classes, and call stacks (Lensmar, paragraph [0095]).
Claims 16, 17, and 19 are tangible, non-transitory, computer-readable medium claims corresponding to the method claims hereinabove (Claims 6, 7, and 9, respectively). Therefore, Claims 16, 17, and 19 are rejected for the same reasons set forth in the rejections of Claims 6, 7, and 9, respectively.
Claims 8 and 18 are rejected under 35 U.S.C. § 103 as being unpatentable over Kairali in view of US 2023/0367881 (hereinafter “Bussell”).
Examiner’s Remarks: In order for a reference to be proper for use in an obviousness rejection under 35 U.S.C. § 103, the reference must be analogous art to the claimed invention. In re Bigio, 381 F.3d 1320, 1325, 72 USPQ2d 1209, 1212 (Fed. Cir. 2004). A reference is analogous art to the claimed invention if: (1) the reference is from the same field of endeavor as the claimed invention (even if it addresses a different problem); or (2) the reference is reasonably pertinent to the problem faced by the inventor (even if it is not in the same field of endeavor as the claimed invention). See MPEP § 2141.01(a)(I).
Note that the claimed invention is generally directed to software bill of materials (SBOM) component usage (specification, page 1, lines 1 and 2). As for the “same field of endeavor” test, Kairali is generally directed to identifying, via a hybrid environment, components which are included in a first software program within the hybrid environment by generating a software bill of materials (SBOM) for the first software program based on the identified components (specification, paragraph [0003]). As for the “reasonably pertinent” test, Bussell is generally directed to generating, modifying, and using SBOMs for facilitating risk assessment and threat mitigation for corresponding programs, and particularly for large programming builds (Abstract). Thus, Kairali and Bussell are both analogous art to the claimed invention (even if they address different problems or are not in the same field of endeavor as the claimed invention).
As per Claim 8, the rejection of Claim 1 is incorporated; and Kairali discloses “generating the usage report,” but Kairali does not explicitly disclose:
wherein generating the usage report comprises:
appending the usage report into the software bill of materials.
However, Bussell discloses:
appending the [new declaration] into the software bill of materials (paragraph [0151], “When adding the new declaration, the system may append the new declaration to an existing SBOM, generate a new strong identifier for the modified SBOM, and create or update/amend a record in the table or index that associates the different identifiers with their SBOMs and corresponding program configurations.”).
As pointed out hereinabove, Kairali and Bussell are both analogous art to the claimed invention. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Bussell into the teaching of Kairali to include “wherein generating the usage report comprises: appending the usage report into the software bill of materials.” The modification would be obvious because one of ordinary skill in the art would be motivated to update and utilize SBOMs to facilitate improved accuracy of the SBOMs and for using the SBOMs to perform risk analysis and threat mitigation (Bussell, paragraph [0014]).
Claim 18 is a tangible, non-transitory, computer-readable medium claim corresponding to the method claim hereinabove (Claim 8). Therefore, Claim 18 is rejected for the same reason set forth in the rejection of Claim 8.
Claim 11 is rejected under 35 U.S.C. § 103 as being unpatentable over Kairali in view of Lensmar as applied to Claim 9 above, and further in view of US 2016/0224461 (hereinafter “Araya”).
Examiner’s Remarks: In order for a reference to be proper for use in an obviousness rejection under 35 U.S.C. § 103, the reference must be analogous art to the claimed invention. In re Bigio, 381 F.3d 1320, 1325, 72 USPQ2d 1209, 1212 (Fed. Cir. 2004). A reference is analogous art to the claimed invention if: (1) the reference is from the same field of endeavor as the claimed invention (even if it addresses a different problem); or (2) the reference is reasonably pertinent to the problem faced by the inventor (even if it is not in the same field of endeavor as the claimed invention). See MPEP § 2141.01(a)(I).
Note that the claimed invention is generally directed to software bill of materials (SBOM) component usage (specification, page 1, lines 1 and 2). As for the “reasonably pertinent” test, Araya is generally directed to receiving run-time telemetry, and to performing analysis on collected telemetry (Abstract). Thus, Araya is an analogous art to the claimed invention (even if it is not in the same field of endeavor as the claimed invention).
As per Claim 11, the rejection of Claim 9 is incorporated; and the combination of Kairali and Lensmar does not explicitly disclose:
wherein the additional assessment notation indicates whether a corresponding component is internal to the application or an external call to outside of the application.
However, Araya discloses:
wherein the additional assessment notation indicates whether a corresponding component is internal to the application or an external call to outside of the application (paragraphs [0078] to [0085], “Reports may include statistics on the basis of the following: Per entry field of a web page, Per resource accessed in an application, Per call to a service or external library, Time between sensor (instrumentation) points, Per transaction, Per component, and Per trace.”).
As pointed out hereinabove, Araya is an analogous art to the claimed invention. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Araya into the combined teachings of Kairali and Lensmar to include “wherein the additional assessment notation indicates whether a corresponding component is internal to the application or an external call to outside of the application.” The modification would be obvious because one of ordinary skill in the art would be motivated to provide reports regarding the performance of a computing application under test that includes load time and response time and various statistics for calls to services or external libraries (Araya, paragraph [0078]).
Pertinent Prior Art
The prior art made of record and not relied upon is considered pertinent to the Applicant’s disclosure. They are as follows:
US 2024/0028310 (hereinafter “Stauber”) discloses a website building system (WBS) includes a component analysis and visualization (CCAV) module to analyze elements of an underlying application built using the WBS and to generate a visual system architecture diagram (SAD) representing the hierarchical arrangement of the elements.
<<>> + <<>> + <<>> • × • <<>> + <<>> + <<>>
US 2024/0152625 (hereinafter “Bar”) discloses an SBOM-reporting software program product that generates dynamic software bill of materials (SBOM) data for a software application during execution of the software application.
<<>> + <<>> + <<>> • × • <<>> + <<>> + <<>>
US 2024/0264817 (hereinafter “Kairali”) discloses publishing a plurality of software bill of materials (SBOMs) on an open channel for registered software vendors to access.
<<>> + <<>> + <<>> • × • <<>> + <<>> + <<>>
US 2024/0289745 (hereinafter “Larkin”) discloses operationalizing standard bill of material (SBOM) content for software, providing SBOM analysis, and remediating vulnerabilities.
<<>> + <<>> + <<>> • × • <<>> + <<>> + <<>>
US 2024/0388595 (hereinafter “Cam-Winget”) discloses determining and mitigating a risk to an organization associated with a security threat.
<<>> + <<>> + <<>> • × • <<>> + <<>> + <<>>
US 2024/0411895 (hereinafter “Dubey”) discloses an integrated security analysis data structure and a method for multi-container software projects.
<<>> + <<>> + <<>> • × • <<>> + <<>> + <<>>
US 2025/0045412 (hereinafter “Kawaguchi”) discloses SBOM management systems.
<<>> + <<>> + <<>> • × • <<>> + <<>> + <<>>
US 2025/0209171 (hereinafter “Barton”) discloses leveraging machine learning and behavior monitoring in cloud-native applications to effectively identify 0-day and supply chain attacks and other potentially malicious workloads in the runtime environment.
<<>> + <<>> + <<>> • × • <<>> + <<>> + <<>>
US 2026/0003764 (hereinafter “Rossetti”) discloses executing operating systems based on software bill of materials to facilitate safety compliance.
<<>> + <<>> + <<>> • × • <<>> + <<>> + <<>>
US 2026/0037311 (hereinafter “Griffin”) discloses scheduling an execution of a software application based on a software inventory of the software application to facilitate safety compliance.
<<>> + <<>> + <<>> • × • <<>> + <<>> + <<>>
US 2026/0079810 (hereinafter “Griffin”) discloses optimizing resource allocation based on common dependencies among applications deployed in such environments.
Conclusion
Any inquiry concerning this communication or earlier communications from the Examiner should be directed to Qing Chen whose telephone number is 571-270-1071. The Examiner can normally be reached on Monday through Friday from 9:00 AM to 5:00 PM ET.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, the Applicant is encouraged to use the USPTO Automated Interview Request (AIR) at https://www.uspto.gov/ interviewpractice.
If attempts to reach the Examiner by telephone are unsuccessful, the Examiner’s supervisor, Wei 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 more 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.
/Qing Chen/
Primary Examiner, Art Unit 2191