Detailed Action
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Claims 1-20 are pending in the application.
Information Disclosure Statement
The information disclosure statement (IDS) submitted on August 27, 2024 is not in compliance with the provisions of 37 CFR 1.97 and 37 CFR 1.98.
37 CFR 1.98(a) states in part,
(5) Each publication listed in an information disclosure statement must be identified by publisher, author (if any), title, relevant pages of the publication, date, and place of publication.
MPEP §609.04(a) states in part,
(B) All content requirements of 37 CFR 1.98. See MPEP § 609.04(a) for more information.
(1) Requirements for the IDS listing:
(v) Non-patent literature cited by publisher, author (if any), title, relevant pages, and date and place of publication.
The non-patent literature document “Black Duck Open Source Audits” is not identified by a date of publication. Accordingly, the document has not been considered. The rest of the IDS has been considered by the examiner.
Double Patenting
The nonstatutory double patenting rejection is based on a judicially created doctrine grounded in public policy (a policy reflected in the statute) so as to prevent the unjustified or improper timewise extension of the “right to exclude” granted by a patent and to prevent possible harassment by multiple assignees. A nonstatutory double patenting rejection is appropriate where the conflicting claims are not identical, but at least one examined application claim is not patentably distinct from the reference claim(s) because the examined application claim is either anticipated by, or would have been obvious over, the reference claim(s). See, e.g., In re Berg, 140 F.3d 1428, 46 USPQ2d 1226 (Fed. Cir. 1998); In re Goodman, 11 F.3d 1046, 29 USPQ2d 2010 (Fed. Cir. 1993); In re Longi, 759 F.2d 887, 225 USPQ 645 (Fed. Cir. 1985); In re Van Ornum, 686 F.2d 937, 214 USPQ 761 (CCPA 1982); In re Vogel, 422 F.2d 438, 164 USPQ 619 (CCPA 1970); In re Thorington, 418 F.2d 528, 163 USPQ 644 (CCPA 1969).
A timely filed terminal disclaimer in compliance with 37 CFR 1.321(c) or 1.321(d) may be used to overcome an actual or provisional rejection based on nonstatutory double patenting provided the reference application or patent either is shown to be commonly owned with the examined application, or claims an invention made as a result of activities undertaken within the scope of a joint research agreement. See MPEP § 717.02 for applications subject to examination under the first inventor to file provisions of the AIA as explained in MPEP § 2159. See MPEP § 2146 et seq. for applications not subject to examination under the first inventor to file provisions of the AIA . A terminal disclaimer must be signed in compliance with 37 CFR 1.321(b).
The filing of a terminal disclaimer by itself is not a complete reply to a nonstatutory double patenting (NSDP) rejection. A complete reply requires that the terminal disclaimer be accompanied by a reply requesting reconsideration of the prior Office action. Even where the NSDP rejection is provisional the reply must be complete. See MPEP § 804, subsection I.B.1. For a reply to a non-final Office action, see 37 CFR 1.111(a). For a reply to final Office action, see 37 CFR 1.113(c). A request for reconsideration while not provided for in 37 CFR 1.113(c) may be filed after final for consideration. See MPEP §§ 706.07(e) and 714.13.
The USPTO Internet website contains terminal disclaimer forms which may be used. Please visit www.uspto.gov/patent/patents-forms. The actual filing date of the application in which the form is filed determines what form (e.g., PTO/SB/25, PTO/SB/26, PTO/AIA /25, or PTO/AIA /26) should be used. A web-based eTerminal Disclaimer may be filled out completely online using web-screens. An eTerminal Disclaimer that meets all requirements is auto-processed and approved immediately upon submission. For more information about eTerminal Disclaimers, refer to www.uspto.gov/patents/apply/applying-online/eterminal-disclaimer.
Claims 1 and 11 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1 and 11 of U.S. Patent No. 12,105,807.
Although the claims at issue are not identical, they are not patentably distinct from each other because as shown below claims of Patent ‘807 anticipates claims of the application.
Instant Application
US Patent No. 12,105,807
1. A system for software management, the system comprising: one or more processors;
a software tracking component including instructions, which when executed by the one or more processors, cause the one or more processors to perform operations comprising:
1. A system for software management, the system comprising: one or more processors;
a software tracking component including instructions, which when executed by the one or more processors, configure the system to:
record a software component used by an enterprise in a software component record, the software component record including a link to a source code location where source code for the software component is stored in a software component storage component;
record a software component used by an enterprise in a software component record, the software component record including a link to a source code location where source code for the software component is stored in a software component storage component;
record a software application used by the enterprise in a software application record, the software application record including links to the software component record, the software component being part of the software application;
record a software application used by the enterprise in a software application record, the software application record including links to the software component record, the software component part of the software application;
the software component storage component configured to store code for the software component, the software component approved by the enterprise prior to storage in the software component storage component;
automatically cause access to be restricted to the software application containing the software component to enforce a usage condition of a software license of the software component;
a software licensing component including instructions, which when executed by the one or more processors, configure the system to:
store a software license record of a software license, the software license record including a link to the software application record in the software tracking component indicating that the software application is governed by the software license, the software license record including a licensing term mapped to a usage condition; and
automatically cause access to be restricted to the software application containing the software component to enforce the usage condition;
a software vulnerabilities and remediation management component including instructions, which when executed by the one or more processors, cause the one or more processors to perform operations comprising:
interface with a vulnerability database to identify a known vulnerability of the software component;
a software vulnerabilities and remediation management component including instructions, which when executed by the one or more processors, configure the system to:
interface with a vulnerability database to identify a known vulnerability of the software component;
communicate with the software tracking component to identify that the software application includes the software component; and
communicate with the software tracking component to identify that the software application includes the software component; and
automatically initiate a remedial action applied to the software application to address the known vulnerability responsive to identifying that the software application includes the software component.
automatically initiate a remedial action applied to the software application to address the known vulnerability responsive to identifying that the software application includes the software component; and
a software risk management component including instructions, which when executed by the one or more processors, configure the system to implement security controls over the software component using one or more security profiles based upon the software license record.
Instant Application
US Patent No. 12,105,807
11. A method for software management, the method comprising:
recording a software component used by an enterprise in a software component record at a software tracking component, the software component record including a link to a source code location where source code for the software component is stored in a software component storage component;
11. A method for software management, the method comprising:
performing on one or more processors, operations comprising:
recording a software component used by an enterprise in a software component record at a software tracking component, the software component record including a link to a source code location where source code for the software component is stored in a software component storage component;
recording a software application used by the enterprise in a software application record at the software tracking component, the software application record including links to the software component record, the software component part of the software application;
recording a software application used by the enterprise in a software application record at the software tracking component, the software application record including links to the software component record, the software component part of the software application; storing code for the software component at the software component storage component, the software component approved by the enterprise prior to storage in the software component storage component;
automatically causing access to be restricted to the software application containing the software component to enforce a usage condition of a software license of the software component;
automatically causing access to be restricted to the software application containing the software component at the software licensing component to enforce the usage condition;
interfacing with a vulnerability database to identify a known vulnerability of the software component;
interfacing, at a software vulnerabilities and remediation management component, with a vulnerability database to identify a known vulnerability of the software component;
communicating with the software tracking component to identify that the software application includes the software component; and
communicating, at the software vulnerabilities and remediation management component, with the software tracking component to identify that the software application includes the software component;
automatically initiating a remedial action applied to the software application to address the known vulnerability responsive to identifying that the software application includes the software component.
automatically initiating, at the software vulnerabilities and remediation management component, a remedial action applied to the software application to address the known vulnerability responsive to identifying that the software application includes the software component; and
implementing security controls over the software component at a software risk management component using one or more security profiles based upon the software license record.
Claims 2, 6, 12, and 16 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1 and 11 of U.S. Patent No. 12,105,807 (“Patent ‘807”) in view of Borthakur et al. US Patent Publication No. 2020/0401390 (“Borthakur”).
Regarding claim 2, claims of Patent ‘807 do not disclose the limitation, “cause the one or more processors to perform additional operations comprising generating a graphical user interface (GUI) that allows administrators to manage software records.” Borthakur discloses generating a graphical user interface (GUI) that allows administrators to manage software records (para. [0105] display region 710 includes a menu bar 720; a navigation pane 730; a software discovery models toolbar 740; a software discovery models header 750; and software discovery model (SDM) listings 752, 754, 756, and 758. para. [0112] display region 910 generated for presenting information about a software entitlement in a computing network). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have implemented the feature of generating a GUI for benefits of enabling a user such as an administrator to facilitate software decisions (para. [0094],[0131]).
Regarding claim 6, claims of Patent ‘807 do not disclose the limitation, “cause the one or more processors to perform additional operations comprising enforcing usage conditions based on a license expiration date, a user limit, or a geographic restriction.” Borthakur discloses enforcing usage conditions based on a license expiration date, a user limit, or a geographic restriction (para. [0065] software entitlements (e.g., software licenses). para. [0086] invoking 450 installation or uninstallation of software responsive to the allocation of software entitlements. para. [0092] compares the software entitlements for a computing network to the detected information about the current state of deployment. automatically implement corrective actions to address identified mismatches, such as installing or uninstalling software components). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have implemented the feature of enforcing usage conditions in order to have maintained software compliance (para. [0024],[0131]).
Regarding claim 12, claims of Patent ‘807 do not disclose the limitation, “generating a graphical user interface (GUI) that allows administrators to manage software records.” Borthakur discloses generating a graphical user interface (GUI) that allows administrators to manage software records (para. [0105] display region 710 includes a menu bar 720; a navigation pane 730; a software discovery models toolbar 740; a software discovery models header 750; and software discovery model (SDM) listings 752, 754, 756, and 758. para. [0112] display region 910 generated for presenting information about a software entitlement in a computing network). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have implemented the feature of generating a GUI for benefits of enabling a user such as an administrator to facilitate software decisions (para. [0094],[0131]).
Regarding claim 16, claims of Patent ‘807 do not disclose the limitation, “enforcing usage conditions based on a license expiration date, a user limit, or a geographic restriction.” Borthakur discloses enforcing usage conditions based on a license expiration date, a user limit, or a geographic restriction (para. [0065] software entitlements (e.g., software licenses). para. [0086] invoking 450 installation or uninstallation of software responsive to the allocation of software entitlements. para. [0092] compares the software entitlements for a computing network to the detected information about the current state of deployment. automatically implement corrective actions to address identified mismatches, such as installing or uninstalling software components). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have implemented the feature of enforcing usage conditions in order to have maintained software compliance (para. [0024],[0131]).
Claims 3 and 13 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1 and 11 of U.S. Patent No. 12,105,807 (“Patent ‘807”) in view of Borthakur and Basak US Patent Publication No. 2012/0072887 (“Basak”).
Regarding claim 3, claims of Patent ‘807 do not disclose the limitation, “cause the one or more processors to perform additional operations comprising generating a dependency graph to visualize software component dependencies.” Basak discloses generating a dependency graph to visualize software component dependencies (para. [0083] aggregating the data to form a directed graph that represents dependencies between the plurality of software components as the software components process transactions; and displaying a dependency map on a display screen based on the directed graph). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have implemented the feature of generating and displaying a dependency graph for a benefit of enabling a user to easily and quickly determine problems (para. [0017]).
Regarding claim 13, claims of Patent ‘807 do not disclose the limitation, “generating a dependency graph to visualize software component dependencies.” Basak discloses generating a dependency graph to visualize software component dependencies (para. [0083] aggregating the data to form a directed graph that represents dependencies between the plurality of software components as the software components process transactions; and displaying a dependency map on a display screen based on the directed graph). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have implemented the feature of generating and displaying a dependency graph for a benefit of enabling a user to easily and quickly determine problems (para. [0017]).
Claims 4 and 14 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1 and 11 of U.S. Patent No. 12,105,807 (“Patent ‘807”) in view of Hahn US Patent Publication No. 2024/0103889 (“Hahn”).
Regarding claim 4, claims of Patent ‘807 do not disclose the limitation, “the software application record includes a version history, developer information, and deployment status.” Hahn discloses software application record that includes a version history, developer information, and deployment status (para. [0176] detailed description of the application, the developer, various application functionalities, application reviews, and/or application history (e.g., application update history, currently installed application version identifier, application installation date)). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have implemented the feature of the software application record because it would have been beneficial to have been provided various informational data regarding the application (para. [0110],[0155]) for management of applications.
Regarding claim 14, claims of Patent ‘807 do not disclose the limitation, “the software application record includes a version history, developer information, and deployment status.” Hahn discloses software application record that includes a version history, developer information, and deployment status (para. [0176] detailed description of the application, the developer, various application functionalities, application reviews, and/or application history (e.g., application update history, currently installed application version identifier, application installation date)). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have implemented the feature of the software application record because it would have been beneficial to have been provided various informational data regarding the application (para. [0110],[0155]) for management of applications.
Claims 5 and 15 rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1 and 11 of U.S. Patent No. 12,105,807 (“Patent ‘807”) in view of Hahn and Sarkar US Patent Publication No. 2022/0012341 (“Sarkar”).
Regarding claim 5, claims of Patent ‘807 do not disclose the limitation, “cause the one or more processors to perform additional operations comprising recording an audit trail to track changes and approvals.” Sarkar discloses recording an audit trail to track changes and approvals (para. [0090] changes detected in an enterprise over time may be recorded in an audit trail 108, for example in the form of a change graph. audit trail may also be configured to depict information about the change, for example a time that the change was detected, a user responsible for making and/or approving the change). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have implemented the feature of recording an audit trail to track changes and approvals because it would have been beneficial to have allowed a user to view the state of software in the enterprise, which would have aided in the management of applications, including analysis of an enterprise’s software assets.
Regarding claim 15, claims of Patent ‘807 do not disclose the limitation, “recording an audit trail to track changes and approvals.” Sarkar discloses recording an audit trail to track changes and approvals (para. [0090] changes detected in an enterprise over time may be recorded in an audit trail 108, for example in the form of a change graph. audit trail may also be configured to depict information about the change, for example a time that the change was detected, a user responsible for making and/or approving the change). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have implemented the feature of recording an audit trail to track changes and approvals because it would have been beneficial to have allowed a user to view the state of software in the enterprise, which would have aided in the management of applications, including analysis of an enterprise’s software assets.
Claims 7 and 17 rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1 and 11 of U.S. Patent No. 12,105,807 (“Patent ‘807”) in view of Borthakur and Ronning et al. US Patent Publication No. 2006/0059100 (“Ronning”).
Regarding claim 7, claims of Patent ‘807 do not disclose the limitation, “cause the one or more processors to perform additional operations comprising providing a notification when a usage condition is about to be violated.” Ronning discloses providing a notification when a usage condition is about to be violated (para. [0046] sample error message 146 shown to a customer that attempts to install a software license on a computer system that violates a licensing policy (e.g., a geographic use limitation) embedded in the wrapped software application). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have implemented the feature of providing a notification when a usage condition is about to be violated because it would have been beneficial for a user to be informed of potential violations and prevent violations of licensing policy.
Regarding claim 17, claims of Patent ‘807 do not disclose the limitation of, “providing a notification when a usage condition is about to be violated.” Ronning discloses providing a notification when a usage condition is about to be violated (para. [0046] sample error message 146 shown to a customer that attempts to install a software license on a computer system that violates a licensing policy (e.g., a geographic use limitation) embedded in the wrapped software application). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have implemented the feature of providing a notification when a usage condition is about to be violated because it would have been beneficial for a user to be informed of potential violations and prevent violations of licensing policy.
Claims 8-9, 18-19 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1 and 11 of U.S. Patent No. 12,105,807 (“Patent ‘807”) in view of Brucker et al. US Patent Publication No. 2017/0169229 (“Brucker”).
Regarding claim 8, claims of Patent ‘807 do not disclose the limitation of, “cause the one or more processors to perform additional operations comprising performing code analysis to identify vulnerabilities.” Brucker discloses performing code analysis to identify vulnerabilities (para. [0069] vulnerability information can identify which portions of a component are affected by vulnerabilities. component monitoring system 106 can obtain vulnerability information from vulnerability databases. portion of the component affected by a vulnerability can be determined based on an analysis of the source code or byte-code of the component). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have implemented the feature of performing code analysis to identify vulnerabilities for benefits of detecting and correcting vulnerability of software components (para. [0003]).
Regarding claim 9, claims of Patent ‘807 do not disclose the limitation of, “cause the one or more processors to perform additional operations comprising interfacing with a plurality of vulnerability databases.” Brucker discloses interfacing with a plurality of vulnerability databases (para. [0069] vulnerability information can identify which portions of a component are affected by vulnerabilities. component monitoring system 106 can obtain vulnerability information from vulnerability databases. portion of the component affected by a vulnerability can be determined based on an analysis of the source code or byte-code of the component). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have implemented Brucker’s disclosure of interfacing with a plurality of vulnerability databases because it would have been beneficial to utilize a plurality of sources of information to detect vulnerability of software components.
Regarding claim 18, claims of Patent ‘807 do not disclose the limitation of, “performing code analysis to identify vulnerabilities.” Brucker discloses performing code analysis to identify vulnerabilities (para. [0069] vulnerability information can identify which portions of a component are affected by vulnerabilities. component monitoring system 106 can obtain vulnerability information from vulnerability databases. portion of the component affected by a vulnerability can be determined based on an analysis of the source code or byte-code of the component). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have implemented the feature of performing code analysis to identify vulnerabilities for benefits of detecting and correcting vulnerability of software components (para. [0003]).
Regarding claim 19, claims of Patent ‘807 do not disclose the limitation of, “interfacing with a plurality of vulnerability databases.” Brucker discloses interfacing with a plurality of vulnerability databases (para. [0069] vulnerability information can identify which portions of a component are affected by vulnerabilities. component monitoring system 106 can obtain vulnerability information from vulnerability databases. portion of the component affected by a vulnerability can be determined based on an analysis of the source code or byte-code of the component). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have implemented Brucker’s disclosure of interfacing with a plurality of vulnerability databases because it would have been beneficial to utilize a plurality of sources of information to detect vulnerability of software components.
Claims 10 and 20 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1 and 11 of U.S. Patent No. 12,105,807 (“Patent ‘807”) in view of Brucker and Tao et al. US Patent Publication No. 2018/0060225 (“Tao”).
Regarding claim 10, claims of Patent ‘807 do not disclose the limitation of the claim. Tao discloses executing software component; observing an execution profile of the software component (para. [0080] may collect diagnostic data from… and software programs 114. diagnostic data such as the type, location, time and frequency of the new software problems. para. [0081] identify the error chains associated with the new software problems); comparing the execution profile to the software component to an execution profile a component that is known to be compromised or defective; determining that a portion of the execution profile matches a portion of the execution profile of the component that is compromised or known to be defective (para. [0086] compare and match the generated error chains associated with the generated error patterns to the stored/known error chains associated with the stored/known error patterns); and responsive to determining that a portion of the execution profile matches a portion of the execution profile of the component that is compromised or known to be defective, providing a warning in a graphical user interface (para. [0045] create a ranked list of the matched stored/known error patterns associated with stored/known software problems, and present the ranked list to the user. para. [0088] error chain matching program 108A, 108B (FIG. 1) may rank the matching stored/known error pattern). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have implemented Tao’s disclosure. One of ordinary skill in the art would have been motivated to do so for benefits of providing the capability for fast resolution of software problems (para. [0006],[0021]).
Regarding claim 20, claims of Patent ‘807 do not disclose the limitation of the claim. Tao discloses executing software component; observing an execution profile of the software component (para. [0080] may collect diagnostic data from… and software programs 114. diagnostic data such as the type, location, time and frequency of the new software problems. para. [0081] identify the error chains associated with the new software problems); comparing the execution profile to the software component to an execution profile a component that is known to be compromised or defective; determining that a portion of the execution profile matches a portion of the execution profile of the component that is compromised or known to be defective (para. [0086] compare and match the generated error chains associated with the generated error patterns to the stored/known error chains associated with the stored/known error patterns); and responsive to determining that a portion of the execution profile matches a portion of the execution profile of the component that is compromised or known to be defective, providing a warning in a graphical user interface (para. [0045] create a ranked list of the matched stored/known error patterns associated with stored/known software problems, and present the ranked list to the user. para. [0088] error chain matching program 108A, 108B (FIG. 1) may rank the matching stored/known error pattern). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have implemented Tao’s disclosure. One of ordinary skill in the art would have been motivated to do so for benefits of providing the capability for fast resolution of software problems (para. [0006],[0021]).
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 1, 8-9, 11, 18-19 are rejected under 35 U.S.C. 103 as being unpatentable over Brucker et al. US Patent Publication No. 2017/0169229 (“Brucker”) in view of Banerjee et al. US Patent Publication No. 2023/0418835 (“Banerjee”), Stienhans US Patent Publication No. 2007/0038983 (“Stienhans”), and Mahan et al. US Patent Publication No. 2017/0098064 (“Mahan”).
Regarding claim 1, Brucker teaches a system for software management, the system comprising:
one or more processors (para. [0039] system architecture. para. [0073] computer systems… execute implementations of the present disclosure. processor);
a software tracking component including instructions, which when executed by the one or more processors, cause the one or more processors to perform operations comprising:
record a software component used in a software component record (para. [0030] list of individual components… used by or incorporated into the application);
record a software application, the software component being part of the software application (para. [0030],[0072] software application received);
a software vulnerabilities and remediation management component including instructions, which when executed by the one or more processors, cause the one or more processors to perform operations comprising:
interface with a vulnerability database to identify a known vulnerability of the software component (para. [0069] vulnerability information can identify which portions of a component are affected by vulnerabilities. component monitoring system 106 can obtain vulnerability information from vulnerability databases. portion of the component affected by a vulnerability can be determined based on an analysis of the source code or byte-code of the component);
communicate with the software tracking component to identify that the software application includes the software component (para. [0058] vulnerability analysis module… analyzes determines whether applications are affected by vulnerabilities identified in a component of the application. para. [0070] determined whether the application is exposed to the affected portion of the component); and
automatically initiate a remedial action applied to the software application to address the known vulnerability responsive to identifying that the software application includes the software component (para. [0056] component monitoring system 106 can provide appropriate notices or updates (e.g., code fixes or patches) to users of the respective application. para. [0070] if an affected portion of a vulnerable component is exposed by an application, code can be provided to correct the vulnerability. update to the application can be generated and provided to customers who purchased the application. para. [0072] if a component is determined to have a vulnerability, code can selectively be provided to correct the vulnerability).
Brucker does not teach the software component and software used by an enterprise.
Brucker does not teach:
the software component record including a link to a source code location where source code for the software component is stored in a software component storage component;
record a software application in a software application record, the software application record including links to the software component record;
automatically cause access to be restricted to the software application containing the software component to enforce a usage condition of a software license of the software component;
Banerjee teaches recording a software component in a software component record at a software tracking component, the software component record including a link to a source code location where source code for the software component is stored in a software component storage component (para. [0018] link (e.g., a bundle URL) for the source code may be included in the component registry database such that the web application may access the code for a respective application component via the link in the component registry database and load the code from the server system. para. [0041] component registry database 160 may include a link (e.g., a URL) to the code for various child web applications 151-154). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Brucker with Banerjee’s disclosure. One of ordinary skill in the art would have been motivated to do so for a benefit of providing increased processing speed of an application by utilizing a component registry database (para. [0018]).
Stienhans discloses management of software used in an enterprise and recording a software application in a software application record, the software application record including links to a software component record (para. [0037] application records 408, software module records 410, and functionality records 412 may include links 416 reflecting dependencies between applications, software modules, and functionalities. link 416 may connect software module records 410 associated with the software modules to reflect the dependencies between the software modules). Stienhans is in the same field of enterprise software management. It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Brucker and Banerjee with Stienhans’ disclosure of implementing a software application record and including links to other records such that the combination provides a link to the software component record. One of ordinary skill in the art would have been motivated to do so for similar benefits of assisting in management of software by evaluating dependencies, which may be used to detect changes between software and propose changes to software (para. [0026],[0031]).
Mahan discloses automatically causing access to be restricted to software application containing software component to enforce a usage condition of a software license of the software component
(para. [0031] base application is executed on a device and receives an input to acquire a subordinate licensable item. subordinate licensable items, such as application consumable items or an expansion application. para. [0032] base application enforces the subordinate license during execution of the base application. para. [0038] refer to access control technologies that are used by hardware manufacturers, publishers, copyright holders and individuals to limit the use of digital content. inhibits uses of licensable content in a manner that is not desired or intended. para. [0043] an expansion item that is executable with the base application 18 to provide the base application 18 with the additional functionality. para. [0046] define a single license agent service at the device 10 that can enforce all of the licenses. para. [0069] base application is executed on a device. obtains, from a license server, a subordinate license that corresponds to the subordinate licensable item). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Brucker, Banerjee, and Stienhans with Mahan’s disclosure of automatically causing access to be restricted to the software application containing the software component to enforce a usage condition of a software license of the software component. One of ordinary skill in the art would have been motivated to do so because it would have been desirable to manage and enforce licenses to control use of components and prevent undesired use of the components.
Regarding claim 11, Brucker teaches a method for software management, the method comprising:
recording a software component in a software component record at a software tracking component (para. [0030] list of individual components… used by or incorporated into the application);
recording a software application at the software tracking component, the software component part of the software application (para. [0030],[0072] software application received);
interfacing with a vulnerability database to identify a known vulnerability of the software component (para. [0069] vulnerability information can identify which portions of a component are affected by vulnerabilities. component monitoring system 106 can obtain vulnerability information from vulnerability databases. portion of the component affected by a vulnerability can be determined based on an analysis of the source code or byte-code of the component);
communicating with the software tracking component to identify that the software application includes the software component (para. [0058] vulnerability analysis module… analyzes determines whether applications are affected by vulnerabilities identified in a component of the application. para. [0070] determined whether the application is exposed to the affected portion of the component); and
automatically initiating a remedial action applied to the software application to address the known vulnerability responsive to identifying that the software application includes the software component (para. [0056] component monitoring system 106 can provide appropriate notices or updates (e.g., code fixes or patches) to users of the respective application. para. [0070] if an affected portion of a vulnerable component is exposed by an application, code can be provided to correct the vulnerability. update to the application can be generated and provided to customers who purchased the application. para. [0072] if a component is determined to have a vulnerability, code can selectively be provided to correct the vulnerability).
Brucker does not teach the software component and software used by an enterprise.
Brucker does not teach:
the software component record including a link to a source code location where source code for the software component is stored in a software component storage component;
record a software application in a software application record, the software application record including links to the software component record;
automatically cause access to be restricted to the software application containing the software component to enforce a usage condition of a software license of the software component;
Banerjee teaches recording a software component in a software component record at a software tracking component, the software component record including a link to a source code location where source code for the software component is stored in a software component storage component (para. [0018] link (e.g., a bundle URL) for the source code may be included in the component registry database such that the web application may access the code for a respective application component via the link in the component registry database and load the code from the server system. para. [0041] component registry database 160 may include a link (e.g., a URL) to the code for various child web applications 151-154). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Brucker with Banerjee’s disclosure. One of ordinary skill in the art would have been motivated to do so for benefits of providing increased processing speed of an application by utilizing a component registry database (para. [0018]).
Stienhans discloses management of software used in an enterprise and recording a software application in a software application record, the software application record including links to a software component record (para. [0037] application records 408, software module records 410, and functionality records 412 may include links 416 reflecting dependencies between applications, software modules, and functionalities. link 416 may connect software module records 410 associated with the software modules to reflect the dependencies between the software modules). Stienhans is in the same field of enterprise software management. It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Brucker and Banerjee with Stienhans’ disclosure of implementing a software application record and including links to other records such that the combination provides a link to the software component record. One of ordinary skill in the art would have been motivated to do so for benefits of assisting in management of software by evaluating dependencies, which may be used to detect changes between software and propose changes to software (para. [0026],[0031]).
Mahan discloses automatically causing access to be restricted to software application containing software component to enforce a usage condition of a software license of the software component
(para. [0031] base application is executed on a device and receives an input to acquire a subordinate licensable item. subordinate licensable items, such as application consumable items or an expansion application. para. [0032] base application enforces the subordinate license during execution of the base application. para. [0038] refer to access control technologies that are used by hardware manufacturers, publishers, copyright holders and individuals to limit the use of digital content. inhibits uses of licensable content in a manner that is not desired or intended. para. [0043] an expansion item that is executable with the base application 18 to provide the base application 18 with the additional functionality. para. [0046] define a single license agent service at the device 10 that can enforce all of the licenses. para. [0069] base application is executed on a device. obtains, from a license server, a subordinate license that corresponds to the subordinate licensable item). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Brucker, Banerjee, and Stienhans with Mahan’s disclosure of automatically causing access to be restricted to the software application containing the software component to enforce a usage condition of a software license of the software component. One of ordinary skill in the art would have been motivated to do so because it would have been desirable to manage and enforcelicenses to control use of components and prevent undesired use of the components.
Regarding claim 8, Brucker in view of Banerjee, Stienhans, and Mahan teach the system of claim 1, wherein the instructions of the software vulnerabilities and remediation management component further include instructions, which when executed by the one or more processors, cause the one or more processors to perform additional operations comprising performing code analysis to identify vulnerabilities (Brucker: para. [0069] vulnerability information can identify which portions of a component are affected by vulnerabilities. portion of the component affected by a vulnerability can be determined based on an analysis of the source code or byte-code of the component).
Regarding claim 9, Brucker in view of Banerjee, Stienhans, and Mahan teach the system of claim 8, wherein the instructions of the software vulnerabilities and remediation management component further include instructions, which when executed by the one or more processors, cause the one or more processors to perform additional operations comprising interfacing with a plurality of vulnerability databases (Brucker: para. [0069] vulnerability information can identify which portions of a component are affected by vulnerabilities. component monitoring system 106 can obtain vulnerability information from vulnerability databases).
Regarding claim 18, Brucker in view of Banerjee, Stienhans, and Mahan teach the method of claim 11, further comprising performing code analysis to identify vulnerabilities (Brucker: para. [0069] vulnerability information can identify which portions of a component are affected by vulnerabilities. component monitoring system 106 can obtain vulnerability information from vulnerability databases. portion of the component affected by a vulnerability can be determined based on an analysis of the source code or byte-code of the component).
Regarding claim 19, Brucker in view of Banerjee, Stienhans, and Mahan teach the method of claim 18, further comprising interfacing with multiple vulnerability databases to ensure comprehensive coverage (Brucker: para. [0069] vulnerability information can identify which portions of a component are affected by vulnerabilities. component monitoring system 106 can obtain vulnerability information from vulnerability databases).
Claims 2, 6, 12, and 16 are rejected under 35 U.S.C. 103 as being unpatentable over Brucker in view of Banerjee, Stienhans, Mahan, and Borthakur et al. US Patent Publication No. 2020/0401390 (“Borthakur”).
Regarding claim 2, Brucker does not expressly teach the system of claim 1, wherein the software tracking component includes instructions, which when executed by the one or more processors, cause the one or more processors to perform additional operations comprising generating a graphical user interface (GUI) that allows administrators to manage software records.
Borthakur discloses generating a graphical user interface (GUI) that allows administrators to manage software records (para. [0105] display region 710 includes a menu bar 720; a navigation pane 730; a software discovery models toolbar 740; a software discovery models header 750; and software discovery model (SDM) listings 752, 754, 756, and 758. para. [0112] display region 910 generated for presenting information about a software entitlement in a computing network). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Brucker with Borthakur’s disclosure of generating a GUI. One of ordinary skill in the art would have been motivated to do so because Brucker discloses providing graphical user interface, and it would have been beneficial to provide information to enable a user, such as an administrator, to facilitate software decisions (para. [0094],[0131]).
Regarding claim 6, Brucker does not teach the system of claim 1, wherein the system includes instructions, which when executed by the one or more processors, cause the one or more processors to perform additional operations comprising enforcing usage conditions based on a license expiration date, a user limit, or a geographic restriction.
Borthakur discloses enforcing usage conditions based on a license expiration date, a user limit, or a geographic restriction (para. [0065] software entitlements (e.g., software licenses). para. [0086] invoking 450 installation or uninstallation of software responsive to the allocation of software entitlements. para. [0092] compares the software entitlements for a computing network to the detected information about the current state of deployment. automatically implement corrective actions to address identified mismatches, such as installing or uninstalling software components). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Brucker with Borthakur’s disclosure of enforcing usage conditions based on a license expiration date, a user limit, or a geographic restriction. One of ordinary skill in the art would have been motivated to do so in order to have maintained software compliance (para. [0024],[0131]).
Regarding claim 12, Brucker does not expressly teach the method of claim 11, further comprising generating a graphical user interface (GUI) that allows administrators to manage software records.
Borthakur discloses generating a graphical user interface (GUI) that allows administrators to manage software records (para. [0105] display region 710 includes a menu bar 720; a navigation pane 730; a software discovery models toolbar 740; a software discovery models header 750; and software discovery model (SDM) listings 752, 754, 756, and 758. para. [0112] display region 910 generated for presenting information about a software entitlement in a computing network). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Brucker with Borthakur’s disclosure of generating a GUI. One of ordinary skill in the art would have been motivated to do so because Brucker discloses providing graphical user interface, and it would have been beneficial to provide information to enable a user, such as an administrator, to facilitate software decisions (para. [0094],[0131]).
Regarding claim 16, Brucker does not teach the method of claim 11, further comprising enforcing a usage condition based on license expiration dates, user limits, or geographic restrictions.
Borthakur discloses enforcing usage conditions based on a license expiration date, a user limit, or a geographic restriction (para. [0065] software entitlements (e.g., software licenses). para. [0086] invoking 450 installation or uninstallation of software responsive to the allocation of software entitlements. para. [0092] compares the software entitlements for a computing network to the detected information about the current state of deployment. automatically implement corrective actions to address identified mismatches, such as installing or uninstalling software components). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Brucker with Borthakur’s disclosure of enforcing usage conditions based on a license expiration date, a user limit, or a geographic restriction. One of ordinary skill in the art would have been motivated to do so in order to have maintained software compliance (para. [0024],[0131]).
Claims 3 and 13 are rejected under 35 U.S.C. 103 as being unpatentable over Brucker in view of Banerjee, Stienhans, Mahan, Borthakur, and Basak US Patent Publication No. 2012/0072887 (“Basak”)
Regarding claim 3, Brucker does not teach the system of claim 2, wherein the software tracking component includes instructions, which when executed by the one or more processors, cause the one or more processors to perform additional operations comprising generating a dependency graph to visualize software component dependencies.
Basak discloses generating a dependency graph to visualize software component dependencies (para. [0083] aggregating the data to form a directed graph that represents dependencies between the plurality of software components as the software components process transactions; and displaying a dependency map on a display screen based on the directed graph). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Brucker with Basak’s disclosure of generating and displaying a dependency graph. One of ordinary skill in the art would have been motivated to do so for a benefit of enabling a user to easily and quickly determine problems (para. [0017]).
Regarding claim 13, Brucker does not teach the method of claim 12, further comprising generating a dependency graph to visualize software component dependencies.
Basak discloses generating a dependency graph to visualize software component dependencies (para. [0083] aggregating the data to form a directed graph that represents dependencies between the plurality of software components as the software components process transactions; and displaying a dependency map on a display screen based on the directed graph). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Brucker with Basak’s disclosure of generating and displaying a dependency graph. One of ordinary skill in the art would have been motivated to do so for a benefit of enabling a user to easily and quickly determine problems (para. [0017]).
Claims 4 and 14 are rejected under 35 U.S.C. 103 as being unpatentable over Brucker in view of Banerjee, Stienhans, Mahan, and Hahn US Patent Publication No. 2024/0103889 (“Hahn”).
Regarding claim 4, Brucker does not teach the system of claim 1, wherein the software application record includes a version history, developer information, and deployment status.
Hahn discloses software application record that includes a version history, developer information, and deployment status (para. [0176] detailed description of the application, the developer, various application functionalities, application reviews, and/or application history (e.g., application update history, currently installed application version identifier, application installation date)). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Brucker with Hahn’s disclosure of a software application record that includes a version history, developer information, and deployment status. One of ordinary skill in the art would have been motivated to do so because it would have been beneficial to have been maintained various informational data regarding the application for management of applications (para. [0110],[0155]).
Regarding claim 14, Brucker does not teach the method of claim 11, wherein the software application record includes a version history, developer information, and deployment status.
Hahn discloses software application record that includes a version history, developer information, and deployment status (para. [0176] detailed description of the application, the developer, various application functionalities, application reviews, and/or application history (e.g., application update history, currently installed application version identifier, application installation date)). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Brucker with Hahn’s disclosure of a software application record that includes a version history, developer information, and deployment status. One of ordinary skill in the art would have been motivated to do so because it would have been beneficial to have maintained with various informational data regarding the application for management of applications (para. [0110],[0155]).
Claims 5 and 15 are rejected under 35 U.S.C. 103 as being unpatentable over Brucker in view of Banerjee, Stienhans, Mahan, Hahn, and Sarkar US Patent Publication No. 2022/0012341 (“Sarkar”).
Regarding claim 5, Brucker does not teach the system of claim 4, wherein the software application record includes instructions, which when executed by the one or more processors, cause the one or more processors to perform additional operations comprising recording an audit trail to track changes and approvals.
Sarkar discloses recording an audit trail to track changes and approvals (para. [0090] changes detected in an enterprise over time may be recorded in an audit trail 108, for example in the form of a change graph. audit trail may also be configured to depict information about the change, for example a time that the change was detected, a user responsible for making and/or approving the change). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Brucker with Sarkar’s disclosure of recording an audit trail to track changes and approvals. One of ordinary skill in the art would have been motivated to do so because it would have been beneficial to have maintained to the audit trail to allow a user to view the state of software in the enterprise, which would have assisted in the management of applications, including analysis of an enterprise’s software assets.
Regarding claim 15, Brucker does not teach the method of claim 14, further comprising recording an audit trail to track changes and approvals in the software application record.
Sarkar discloses recording an audit trail to track changes and approvals (para. [0090] changes detected in an enterprise over time may be recorded in an audit trail 108, for example in the form of a change graph. audit trail may also be configured to depict information about the change, for example a time that the change was detected, a user responsible for making and/or approving the change). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Brucker with Sarkar’s disclosure of recording an audit trail to track changes and approvals. One of ordinary skill in the art would have been motivated to do so because it would have been beneficial to have maintained to the audit trail to allow a user to view the state of software in the enterprise, which would have assisted in the management of applications, including analysis of an enterprise’s software assets.
Claims 7 and 17 are rejected under 35 U.S.C. 103 as being unpatentable over Brucker in view of Banerjee, Stienhans, Mahan, Borthakur, and Ronning et al. US Patent Publication No. 2006/0059100 (“Ronning”).
Regarding claim 7, Brucker does not teach the system of claim 6, wherein the system includes instructions, which when executed by the one or more processors, cause the one or more processors to perform additional operations comprising providing a notification when a usage condition is about to be violated.
Ronning discloses providing a notification when a usage condition is about to be violated (para. [0046] sample error message 146 shown to a customer that attempts to install a software license on a computer system that violates a licensing policy (e.g., a geographic use limitation) embedded in the wrapped software application). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Brucker with Ronning’s disclosure of providing a notification when a usage condition is about to be violated. One of ordinary skill in the art would have been motivated to do so because it would have been beneficial for a user to be informed of potential violations and prevent violations of licensing policy.
Regarding claim 17, Brucker does not teach the method of claim 16, further comprising providing a notification or alert when usage conditions are about to be violated.
Ronning discloses providing a notification when a usage condition is about to be violated (para. [0046] sample error message 146 shown to a customer that attempts to install a software license on a computer system that violates a licensing policy (e.g., a geographic use limitation) embedded in the wrapped software application). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Brucker with Ronning’s disclosure of providing a notification when a usage condition is about to be violated. One of ordinary skill in the art would have been motivated to do so because it would have been beneficial for a user to be informed of potential violations and prevent violations of licensing policy.
Claims 10 and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Brucker in view of Banerjee, Stienhans, Mahan, and Tao et al. US Patent Publication No. 2018/0060225 (“Tao”).
Regarding claim 10, Brucker does not teach the system of claim 8, wherein the instructions of the software vulnerabilities and remediation management component further include instructions, which when executed by the one or more processors, cause the one or more processors to perform additional operations comprising: executing the software component; observing an execution profile of the software component; comparing the execution profile to the software component to an execution profile a component that is known to be compromised or defective; determining that a portion of the execution profile matches a portion of the execution profile of the component that is compromised or known to be defective; and responsive to determining that a portion of the execution profile matches a portion of the execution profile of the component that is compromised or known to be defective, providing a warning in a graphical user interface.
Tao discloses executing software component; observing an execution profile of the software component (para. [0080] may collect diagnostic data from… and software programs 114. diagnostic data such as the type, location, time and frequency of the new software problems. para. [0081] identify the error chains associated with the new software problems); comparing the execution profile to the software component to an execution profile a component that is known to be compromised or defective; determining that a portion of the execution profile matches a portion of the execution profile of the component that is compromised or known to be defective (para. [0086] compare and match the generated error chains associated with the generated error patterns to the stored/known error chains associated with the stored/known error patterns); and responsive to determining that a portion of the execution profile matches a portion of the execution profile of the component that is compromised or known to be defective, providing a warning in a graphical user interface (para. [0045] create a ranked list of the matched stored/known error patterns associated with stored/known software problems, and present the ranked list to the user. para. [0088] error chain matching program 108A, 108B (FIG. 1) may rank the matching stored/known error pattern). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Brucker with Tao’s disclosure. One of ordinary skill in the art would have been motivated to do so for benefits of providing the capability for fast resolution of software problems (para. [0006],[0021])
Regarding claim 20, Brucker does not teach the method of claim 18, further comprising: executing the software component; observing an execution profile of the software component; comparing the execution profile to the software component to an execution profile a component that is known to be compromised or defective; determining that a portion of the execution profile matches a portion of the execution profile of the component that is compromised or known to be defective; and responsive to determining that a portion of the execution profile matches a portion of the execution profile of the component that is compromised or known to be defective, providing a warning in a graphical user interface.
Tao discloses executing software component; observing an execution profile of the software component (para. [0080] may collect diagnostic data from… and software programs 114. diagnostic data such as the type, location, time and frequency of the new software problems. para. [0081] identify the error chains associated with the new software problems); comparing the execution profile to the software component to an execution profile a component that is known to be compromised or defective; determining that a portion of the execution profile matches a portion of the execution profile of the component that is compromised or known to be defective (para. [0086] compare and match the generated error chains associated with the generated error patterns to the stored/known error chains associated with the stored/known error patterns); and responsive to determining that a portion of the execution profile matches a portion of the execution profile of the component that is compromised or known to be defective, providing a warning in a graphical user interface (para. [0045] create a ranked list of the matched stored/known error patterns associated with stored/known software problems, and present the ranked list to the user. para. [0088] error chain matching program 108A, 108B (FIG. 1) may rank the matching stored/known error pattern). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Brucker with Tao’s disclosure. One of ordinary skill in the art would have been motivated to do so for benefits of providing the capability for fast resolution of software problems (para. [0006],[0021])
Examiner’s Note
The following prior art made of record and not relied upon is considered pertinent to applicant’s disclosure.
Abramvosky US Patent Publication No. 2018/0150639 discloses interfacing with a vulnerability database to identify a known vulnerability of the software component (para. [0025] generate s software components list comprising a software component used in an application. example software components may include plug-ins, frameworks, libraries, packages, drivers and client components. para. [0027] determine if any of the security vulnerabilities in the security vulnerabilities list affect any of the software components in the software components list).
Petratos et al. US Patent Publication No. 2019/0370471discloses identifying a known vulnerability of the software component (para. [0028] may receive a notification that a software component contains a vulnerability); communicating with a software tracking component to identify that the software application includes the software component (para. [0029] database comprising metadata corresponding to a plurality of software applications is accessed to identify a list of one or more applications having the version of the software component that includes the vulnerability); and automatically initiating a remedial action applied to the software application to address the known vulnerability responsive to identifying that the software application includes the software component (para. [0029] developers responsible of the identified applications may be notified that their applications have vulnerabilities and are to be patched. para. [0035] to replace the software component, the patch content added to the patching server may be accessed to identify the version to be replaced and the new version).
Kelley et al. US Patent Publication No. 2020/0042719 discloses interface with a vulnerability database to identify a known vulnerability of a software component (para. [0032] vulnerabilities that the vulnerability detection component 133 can detect include the presence of a malicious software, the presence of software or hardware components known to be susceptible to malicious exploit, and the presence of a component that lacks a software patch that remedies a flaw with the component. para. [0034] vulnerability detection component 133 can provide the management component 129 with results from its vulnerability scan); automatically initiate a remedial action applied to the software component to address the known vulnerability (para. [0052] management component 129 can process the results and determine whether the management component 129 should perform a responsive action. management component 129 can perform a remedial action specified by a compliance rule 126).
Hay et al. US Patent Publication No. 2018/0121657 (para. [0018] vulnerability detector 124 to detect a set of vulnerabilities for an application based on static analysis of the application. the vulnerability detector 124 can analyze source code for the application)
Smith US Patent Publication No. 2017/0357809 (para. [0019] software system/application 102 in which vulnerabilities are to be detected is analyzed by an analyzer 110. analyzer 110 may analyze the source code 104 and/or the binaries 106 to produce a report 120 that includes a list of defects/vulnerabilities/flaws 122 in the software application 102.
Conclusion
A shortened statutory period for reply to this Office action is set to expire THREE MONTHS from the mailing date of this action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Joshua Joo whose telephone number is 571 272-3966. The examiner can normally be reached on Monday-Friday 7am-3pm EST.
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, Oscar Louie can be reached on 571 270-1684. 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.
/JOSHUA JOO/Primary Examiner, Art Unit 2445