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 .
Specification
The drawings are objected to because Fig. 5 is unclear and blurry, not allowing the Examiner to read the text contained in the image. Examiner further notes that while some other figures (e.g., 2E, 2F) are also somewhat unclear, they are not presently objected to because one of ordinary skill in the art would appreciate that the essential structure of the polygraphs is still understandable from the figures even if the text labels are not fully visible. In contrast, one of ordinary skill in the art would not be able to point out the details of the user interface illustrated by Fig. 5; the essential content of the figure is not clear.
Corrected drawing sheets in compliance with 37 CFR 1.121(d) are required in reply to the Office action to avoid abandonment of the application. Any amended replacement drawing sheet should include all of the figures appearing on the immediate prior version of the sheet, even if only one figure is being amended. The figure or figure number of an amended drawing should not be labeled as “amended.” If a drawing figure is to be canceled, the appropriate figure must be removed from the replacement sheet, and where necessary, the remaining figures must be renumbered and appropriate changes made to the brief description of the several views of the drawings for consistency. Additional replacement sheets may be necessary to show the renumbering of the remaining figures. Each drawing sheet submitted after the filing date of an application must be labeled in the top margin as either “Replacement Sheet” or “New Sheet” pursuant to 37 CFR 1.121(d). If the changes are not accepted by the examiner, the applicant will be notified and informed of any required corrective action in the next Office action. The objection to the drawings will not be held in abeyance.
Claim Objections
Claims 8 is objected to because the claim recites “further comprising accessing workload data detect the one or more vulnerabilities.” For purposes of examination of the instant application, the claim shall be interpreted as “further comprising accessing workload data to detect the one or more vulnerabilities.” Appropriate correction is required.
Claim Rejections - 35 USC § 112
The following is a quotation of 35 U.S.C. 112(b):
(b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention.
The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph:
The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention.
Claim 10 is rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 U.S.C. 112, the applicant), regards as the invention.
Claim 10 recites the limitation “…wherein the recommendations are generated based on a plurality of recommendation factors”. There is insufficient antecedent basis for “the recommendations” in the claim. Examiner notes that claim 1 provides antecedent basis for version upgrade recommendations, which may or may not be “the recommendations” of claim 10. However, under the likely interpretation that “the recommendations” are “the version upgrade recommendations”, claim 10 becomes an exact duplicate of claim 5. For purposes of examination of the instant application, “the recommendations” of claim 10 shall be interpreted as “the version upgrade recommendations” consistent with ¶0608 of the accompanying specification. Examiner recommends that claim 10 be substantially amended to differentiate from claim 5.
Applicant is advised that should claim 5 be found allowable, claim 10 will be objected to under 37 CFR 1.75 as being a substantial duplicate thereof. When two claims in an application are duplicates or else are so close in content that they both cover the same thing, despite a slight difference in wording, it is proper after allowing one claim to object to the other as being a substantial duplicate of the allowed claim. See MPEP § 608.01(m).
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-10 are rejected under 35 U.S.C. 101 because the claimed invention is directed to abstract mental processes performable with the aid of a computer without significantly more.
The Alice/Mayo two-part test is the only test that should be used to evaluate the eligibility of claims under examination (MPEP §2016 (I)). Examiner’s analysis under this test is set forth below.
Step 1
Claim 1 is directed to a process. which is statutory material.
Step 2A, prong 1
Claims 1-10 describe:
Detecting vulnerabilities in a software package
Generating recommendations to upgrade
Generating a graph based on said upgrades
Detecting recommendations via generic software
Assigning security levels to vulnerabilities
Scanning code to detect vulnerabilities
Specifying versions
which are all mental processes on a generic computer. Therefore, the claims recite an abstract idea.
Step 2A, prong 2
Claims 1-10 describe additional elements, such as a software package, a user interface, code data, and workload data. These elements are not integrated into a practical exception because the claims invoke generic computer components, do not recite a particular machine or transformation, and do not do more than generally linking the mental processes to a particular technology (see MPEP §2106.04(d)(1)). Examiner also notes MPEP §2106.05(a): “It is important to note that in order for a method claim to improve computer functionality, the broadest reasonable interpretation of the claim must be limited to computer implementation. That is, a claim whose entire scope can be performed mentally, cannot be said to improve computer technology. Synopsys, Inc. v. Mentor Graphics Corp., 839 F.3d 1138, 120 USPQ2d 1473 (Fed. Cir. 2016)”. Claims 1-10 do not require the use of a computer, meaning they cannot constitute an improvement to the functioning of a computer.
Step 2B
Claims 1-10 describes a software package, a user interface, code data, and workload data, which do not rise to significantly more than the judicial exception because, in addition to the reasons presented above, the claim does not describe anything beyond what is well understood, routine, and conventional activity. Therefore, claims 1-10 are rejected under 35 U.S.C. 101 because the claimed invention is directed to abstract ideas without significantly more.
Claim Rejections - 35 USC § 102
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of 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)(2) the claimed invention was described in a patent issued under section 151, or in an application for patent published or deemed published under section 122(b), in which the patent or application, as the case may be, names another inventor and was effectively filed before the effective filing date of the claimed invention.
Claims 1-2, 5, 7, and 9-10 are rejected under 35 U.S.C. 102(a)(2) as being anticipated by US 20230195901 by Allen (hereinafter “Allen”).
Regarding claim 1, Allen describes:
A method comprising:
detecting one or more vulnerabilities (Fig. 2, Step 204: “Identify… vulnerable components”) in a software package (Fig. 2, Step 202: “Obtain, for an application, application dependency specifications”);
generating a version upgrade recommendation for each of the detected vulnerabilities (Fig. 2, Step 212: “Recommend, for the application, an upgrade solution including upgrading the candidate dependency specification to the upgraded version”);
generating a version graph including one or more of the version upgrade recommendations (Fig. 2, Step 210: “Verify, using a dependency graph generated from the application dependency specifications…”); and
displaying the version graph at a user interface ([0059]: “…the upgrade solution may be presented to the user via a graphical user interface (GUI) of the user computing system…”).
Regarding claim 2, Allen describes:
The method of claim 1, further comprising:
detecting that a version upgrade recommendation has been selected from the version graph ([0059]: “…the upgrade solution may be presented to the user via a graphical user interface (GUI) of the user computing system, where the user may approve or reject the upgrade solution.”); and
upgrading the software package to a package version associated with the selected version upgrade recommendation ([0028]: “The user computing system (102) includes functionality to upgrade the application (140) using the upgrade solution (130).”, [0047][0048]).
Regarding claim 5, Allen describes:
The method of claim 1, wherein the version upgrade recommendations are generated based on a plurality of recommendation factors (Examiner notes 4 “recommendation factors”: 1) whether the update fixes the issue. [0050]: “The upgrade manager may generate and process candidate version dependency graphs until an upgraded version ID is found that removes the dependency on the vulnerable component…”. See also [0051] and Fig. 4G for an example. 2) minimizing vulnerabilities if no clean version exists. [0050]: “…If no such version ID is found, then the earliest version ID with the fewest number of dependencies on vulnerable components may be selected.” 3) whether the upgrade is the minimal upgrade that solves the issue. [0016]: “The upgraded version ID may represent the minimal upgrade to a subsequent version ID that is closest to the current version ID and removes the dependency on the vulnerable component.” 4) ensuring the upgrade does not introduce new vulnerabilities. [0053]: “For example, a subsequent version of a component may introduce new dependencies on vulnerable components. If new dependencies on vulnerable components were added, Step 206 and/or Step 208 above may be repeated in an attempt to remove the new dependencies on vulnerable components.”).
Regarding claim 7, Allen describes:
The method of claim 1, further comprising scanning code data associated with the software package ([0060]: “… identifying the modules to be generated includes scanning a list of modules included in a top-level file (e.g., a top-level POM file) for the application. Each file (e.g., POM file) referenced in the list of modules may declare its own submodules, which may be scanned recursively.”) to detect the one or more vulnerabilities ([0060]: “The process of FIG. 2 may be extended to support multi-module applications as follows…” Examiner notes Fig. 2 includes “detect[ing] one or more vulnerabilities” at Step 204.).
Regarding claim 9, Allen describes:
The method of claim 1, further comprising accessing data ([0005]: “… selecting, for a vulnerable component, candidate dependency specifications each specifying a version ID for a component, selecting, for a candidate dependency specification, an upgraded version ID for a component…”) that specifies package versions that repair vulnerabilities ([0050]: “The upgrade manager may generate and process candidate version dependency graphs until an upgraded version ID is found that removes the dependency on the vulnerable component…”) prior to generating the version upgrade recommendations (Fig. 2: Steps 206 and 208 occur before Step 212).
For purposes of examination of the instant application, claim 10 is interpreted as reciting essentially the same content as claim 5 and is rejected for similar reasons.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claims 3-4, 6, and 8 are rejected under 35 U.S.C. 103 as being unpatentable over Allen as applied to claim 1 above in view of US 20240144136 by Singh et al. (hereinafter “Singh”).
Regarding claim 3, Allen discloses the method of claim 1.Allen does not disclose the remainder of the claim.However, Singh discloses:
automatically upgrading the software package (Singh [0014]: "with the recommendation engine 36 being capable of parsing the difference graph to generate an auto-remediation workflow 38 (which may include a set of steps to fix or prevent software vulnerability).").
Singh and Allen are art analogous to the claimed invention because all are directed towards keeping computing devices secure by keeping packages up-to-date. It would have been obvious to a person having ordinary skill in the art, prior to the effective filing date of the claimed invention, to automatically upgrade the packages as taught by Singh in order to remove a bottleneck present in Allen, namely requiring a human to “approve or reject the upgrade solution” (Allen [0059]), and fix vulnerable systems faster.
Regarding claim 4, Allen discloses the method of claim 1.Allen does not disclose the remainder of the claim.However, Singh discloses:
wherein the version upgrade recommendations (Singh [0014]: “security-operations/events 42 (which may include patching, software upgrades, end point detection and response, intrusion detection and prevention, etc.)”) are generated based on historical data (Singh [0013]: “…a cybersecurity score graph store 30 that may store versioned cybersecurity knowledge graphs and data models.” Fig. 1 shows 30 influencing 38 through 36.).
It would have been obvious to a person having ordinary skill in the art, prior to the effective filing date of the claimed invention, to use historical data to generate upgrades based on historical data as taught by Singh in order to minimize threats which have already been identified in the past, either in the local system (and thereby present in the cybersecurity graph) or through public vulnerability databases (e.g., Common Vulnerability and Exposures (CVE™) by The MITRE Corporation).
Regarding claim 6, Allen discloses the method of claim 1.Allen does not disclose the remainder of the claim.However, Singh discloses:
assigning a security level to each of the one or more detected vulnerabilities (Singh [0013]: “…a cybersecurity taxonomy or knowledge base 28 which may store cybersecurity taxonomy or scores and may be used for annotating graph nodes and edges; and a cybersecurity score graph store 30 that may store versioned cybersecurity knowledge graphs and data models.”).
It would have been obvious to a person having ordinary skill in the art, prior to the effective filing date of the claimed invention, to score each vulnerability as taught by Singh in order to triage vulnerabilities, treating more severe vulnerabilities with more urgency (especially when not all vulnerabilities can be remedied, as in Allen [0050]). Examiner notes this score may be considered an additional “recommendation factor” as described in claim 5.
Regarding claim 8, Allen discloses the method of claim 1.Allen does not disclose the remainder of the claim.However, Singh discloses:
accessing workload data detect the one or more vulnerabilities (Singh [0015]: “The application profiler 54 may profile an application and store information regarding an application's… application contexts (e.g., workload contexts, deployment contexts, business contexts, etc.). The vulnerability management system 48 may further store the profile of an application that has been profiled by application profiler 52, as well as have its information used in generating or updating the reference graph.”).
It would have been obvious to a person having ordinary skill in the art, prior to the effective filing date of the claimed invention, to use workload data to detect vulnerabilities as taught by Singh in order to detect anomalous behavior in previously profiled applications (e.g., by noticing suspicious types or volume of workflow).
Conclusion
The following prior art made of record and not relied upon is considered pertinent to applicant’s disclosure:
“History: Overview” by The MITRE Corporation provides an overview the Common Vulnerabilities and Exposures (CVE) project, its history, and the database’s contents.
US 20230267208 by Sethi et al. describes a method for detecting vulnerabilities, calculating an impact score, generating a fix for the vulnerability, and applying said fix.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to DANIEL HABASHI whose telephone number is (571)272-2245. The examiner can normally be reached M-F: 9 AM-6 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, Catherine Thiaw can be reached at (571)270-1138. 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.
/D.H/
Examiner
Art Unit 2407
/Catherine Thiaw/Supervisory Patent Examiner, Art Unit 2407 7/13/2026