DETAILED ACTION
This office action is in response to RCE filed on 4/29/2026.
Claims 1, 10 and 12 – 17 are amended.
Claim 4 is cancelled.
Claims 1, 3, 5 – 7 and 9 – 21 are pending.
35 USC 112(b) rejection of claim 1 is withdrawn in view of the amendment.
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 .
Continued Examination Under 37 CFR 1.114
A request for continued examination under 37 CFR 1.114, including the fee set forth in 37 CFR 1.17(e), was filed in this application after final rejection. Since this application is eligible for continued examination under 37 CFR 1.114, and the fee set forth in 37 CFR 1.17(e) has been timely paid, the finality of the previous Office action has been withdrawn pursuant to 37 CFR 1.114. Applicant's submission filed on 4/29/2026 has been entered.
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.
Claim(s) 1, 3, 5 – 7 and 9 – 21 is/are rejected under 35 U.S.C. 103 as being unpatentable over Ghag et al (US 20230039566, hereinafter Ghag), in view of Daute (US 20110029986), and further in view of (Dalinina et al (US 20200357060, hereinafter Dalinina).
As per claim 1, Ghag discloses: A system comprising:
a remote call library configured to enable communications with a monitored system; (Ghag figure 2 and [0046]: automation engine 208.)
a repository configured to store one or more relationships between a plurality of components of the monitored system; (Ghag [0049]: “The auto discover engine 212 may be configured to execute auto discovery process continuously or periodically which will ensure that stored RPA metadata configuration are in sync with the environment of the RPA platform that is being managed. The configuration interface 214 may be configured to display attributes of all the RPA components and dependent components to the user.”)
and a performance measurement module, implemented by at least one processor, configured to measure a performance of the monitored system using one or more remote calls of the remote call library based on at least one relationship of the one or more relationships between the plurality of components. (Ghag [0008]: “proactive approach of Managing RPA Platforms by having an end-to-end visibility of the health of all RPA components and their dependencies, proactively detect anomalies in any monitoring parameter or logs and then take corrective automated actions to bring back any non-working, unhealthy RPA component or its dependencies into a working, healthy state. The system continuously monitors RPA platforms and its dependent ecosystem, diagnoses failure of RPA components and promptly execute the remediation action to resolve the issue and notify the respective team about the failure and remediation action taken against those failures… The disclosed technology comprises various aspects such as monitoring which comprises health dashboard for RPA components, automated anomaly detection, and alerts and notification; self-healing aspects such as remedial plans (also referred as remediation action plans), automated execution of remedial plans and script repository; and analytics aspects comprising bot performance dashboard.”; [0048]: “As a part of auto discovery process, attributes of all the RPA components in the RPA platform may be extracted. The access of all the RPA component to the RPA platform may be verified by way of web API or direct call to database”.)
Ghag did not explicitly disclose:
and encrypt at least one relationship of the one or more relationships between the plurality of components;
an application programming interface (API) module configured to enable communications with a monitoring system;
a maintenance module configured to perform at least one maintenance function based on a communication received via the API module;
wherein the performance measurement module is configured to determine the at least one relationship based on a communication received via the API module using a given remote call from the remote call library and decrypt the at least one relationship of the one or more relationships between the plurality of components.
However, Daute teaches:
an application programming interface (API) module configured to enable communications with a monitoring system; a maintenance module configured to perform at least one maintenance function based on a communication received via the API module; (Daute [0025] - [0026]; [0037].)
It would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Daute into that of Ghag in order to have an application programming interface (API) module configured to enable communications with a monitoring system and a maintenance module configured to perform at least one maintenance function based on a communication received via the API module. Daute [0039] has shown that using API for monitoring is a commonly known and employed technique in the field of monitoring, while also being able to perform maintenance based on the monitored data, applicants have thus merely claimed the combination of known parts in the field to achieve predictable results of using API for monitoring purpose and is therefore rejected under 35 USC 103.
Dalinina teaches:
and encrypt at least one relationship of the one or more relationships between the plurality of components; wherein the performance measurement module is configured to determine the at least one relationship based on a communication received via the API module using a given remote call from the remote call library and decrypt the at least one relationship of the one or more relationships between the plurality of components. (Dalinina [0125])
It would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Khare into that of Ghag and Daute in order to encrypt at least one relationship of the one or more relationships between the plurality of components; wherein the performance module is configured to determine the at least one relationship based on a communication received via the API module using a given remote call from the remote call library and decrypt the at least one relationship of the one or more relationships between the plurality of components. Dalinina [0125] teaches doing so would improve the security when using third party, applicants have thus merely claimed the combination of known parts in the field to achieve predictable results of better security for monitoring purpose and is therefore rejected under 35 USC 103.
As per claim 3, the combination of Ghag, Daute and Dalinina further teach:
The system of claim 2, wherein the performance measurement module is configured to transmit a performance to the monitoring system via the API module. (Ghag [0056])
As per claim 5, the combination of Ghag, Daute and Dalinina further teach:
The system of claim 4, wherein the monitored system is a first monitored system, and wherein the at least one maintenance function is configured to include one or more of: adding data to the repository, deleting data from the repository, or determining data stored to the repository. (Ghag [0051])
As per claim 6, the combination of Ghag, Daute and Dalinina further teach:
The system of claim 5, wherein the performance measurement module is configured to transmit data stored to the repository to the monitoring system via the API module. (Ghag [0066] – [0067])
As per claim 7, the combination of Ghag, Daute and Dalinina further teach:
The system of claim 6, wherein the plurality of components is a first plurality of components, and wherein the data includes one or more of a first component of the first plurality of components, the first plurality of components, the first monitored system, a second monitored system having a second plurality of components, a second component of the second plurality of components, or the second plurality of components. (Ghag [0048] – [0049])
As per claim 9, the combination of Ghag, Daute and Dalinina further teach:
The system of claim 1, wherein the plurality of components comprise one or more standard components, one or more middleware components, one or more computer application components, or a combination thereof. (Ghag [0036]: RBA components.)
As per claim 10, Ghag discloses: A method comprising:
identifying a number of monitored systems and system components; wherein the number of monitored systems comprises a first monitored system and a second monitored system; (Ghag [0048]: “the onboarding process may comprise steps such as auto discovery process and activate process. As a part of auto discovery process, attributes of all the RPA components in the RPA platform may be extracted. The access of all the RPA component to the RPA platform may be verified by way of web API or direct call to database”.)
determining one or more relationships between system components of the first monitored system and system components of the second monitored system based on a communication received using a given remote call from the remote call library; (Ghag [0049]: “The auto discovery process may extract the attributes (also referred as metadata configurations or metadata 216) for each of the discovered RPA components such as, but not limited to bot name, bot location, server IP address, database IP address, connection string of database, Control Tower IP address, bot runner, VM component details etc. which may be used for monitoring and remedial actions by the system in the disclosed technology. The extracted attributes may be stored in the RPA metadata configuration database 222… The configuration interface 214 may be configured to display attributes of all the RPA components and dependent components to the user. The user may add, modify, or delete any RPA components and/or configurations related to RPA components and the dependent components. Each RPA component and the dependent components may be identified and termed as ‘resources’. Each of the resources may have relationship (communicatively coupled) with other resources and which may be modelled using the configuration interface 214. Each of the resources may be monitored/observed on various parameters which are termed as ‘observables’ (also termed as ‘observable metrics’ or ‘observation metrics’).”)
determining a performance of the monitored systems or of the system components based on the one or more relationships; (Ghag [0064]: “In one or more embodiments, as a part of Remediation Action Plan, a root cause analysis may be performed by root cause identifier 268 to ascertain if the resource being monitored has raised an error or if there are any correlated errors identified from another resource which could be a potential root cause of the anomaly. It is to be observed that the log data of resources are also being monitored and log data being streamed into the log listener 226 are parsed, transformed, and sent to error classifier 270 to identify an error type based on the patterns identified during the training phase. A pattern may be identified by querying the dependency classification and error check API 250 which will verify if a log transaction extracted from log file/log data for a specific resource is a labelled error type by querying the error pattern extraction engine 242. The dependency classification and error check API 250 may also be configured to return details of potential root cause found in other dependent resources which may have been found to be highly correlated wherein such information is fetched by querying the error correlation engine 244. If an error type is identified, such information may be stored in the log and error database 272 as an error type for that particular resource.”)
and generating a report of the performance. (Ghag [0065]: “the analytics engine 210 may configured to receive data from resource environment baseline storage device 264, operation database 266 and root cause identifier 268 and may be configured to generate insights from the received data and display to the user through a display of a computing device either in the textual format or graphical format. The analytics engine 210 may be configured to notify user through a notification displayed at the computing device associated with the user when an anomaly is detected such as bots stopped running, bot running for long, VM is down, database not connecting, etc.”)
Ghag did not explicitly disclose:
wherein relationship is determined based on a communication received via the API module using a given remote call from the remote call library;
performing at least one maintenance function based on a communication received via the API module, wherein the at least one maintenance function comprises modifying one or more system components of the monitored systems;
encrypt and storing the one or more relationship in a repository;
decrypting, by the performance module, the one or more relationship stored in the repository in response to another remote call from the remote call library.
However, Daute teaches:
an application programming interface (API) module configured to enable communications with a monitoring system; performing at least one maintenance function based on a communication received via the API module, wherein the at least one maintenance function comprises modifying one or more system components of the monitored systems; (Daute [0025] - [0026]; [0037].)
It would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Daute into that of Ghag in order to have an application programming interface (API) module configured to enable communications with a monitoring system and a maintenance module configured to perform at least one maintenance function based on a communication received via the API module, wherein the at least one maintenance function comprises modifying one or more system components of the monitored systems; Daute [0039] has shown that using API for monitoring is a commonly known and employed technique in the field of monitoring, while also being able to perform maintenance based on the monitored data, applicants have thus merely claimed the combination of known parts in the field to achieve predictable results of using API for monitoring purpose and is therefore rejected under 35 USC 103.
Dalinina teaches:
encrypt and storing the one or more relationship in a repository; decrypting, by the performance module, the one or more relationship stored in the repository in response to another remote call from the remote call library. (Dalinina [0125])
It would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Dalinina into that of Ghag and Daute in order to encrypt at least one relationship between the plurality of components; wherein the performance module is configured to determine the at least one relationship based on a communication received via the API module using a given remote call from the remote call library and decrypt the at least one relationship of the one or more relationships between the plurality of components. Dalinina [0125] teaches doing so would improve the security when using third party, applicants have thus merely claimed the combination of known parts in the field to achieve predictable results of better security for monitoring purpose and is therefore rejected under 35 USC 103.
As per claim 11, the combination of Ghag, Daute and Dalinina further teach:
The method of claim 10, wherein the one or more relationships describe a first set of dependencies between a middleware component and one or more standard components, a second set of dependencies between a computer application component and one or more middleware components, a third set of dependencies between the computer application component and one or more standard components, or a combination thereof. (Ghag [0048] – [0049])
As per claim 12, the combination of Ghag, Daute and Dalinina further teach:
The method of claim 11, further comprising: determining one or more measurements of each system component of each monitored system of the number of monitored systems; and determining the performance of each monitored system of the number of monitored systems based on the one or more measurements. (Ghag [0064] – [0065])
As per claim 13, the combination of Ghag, Daute and Dalinina further teach:
The method of claim 12, further comprising: storing the one or more measurements of each component of each monitored system of the number of monitored systems in the repository; and storing the performance of each monitored system of the number of monitored systems and the system components in the repository. (Ghag [0064] – [0065])
As per claim 14, the combination of Ghag, Daute and Dalinina further teach:
The method of claim 13, further comprising encrypting the one or more measurements and the performance of each monitored system of the number of monitored systems and the system components prior to storing. (Dalinina [0125])
As per claim 15, the combination of Ghag, Daute and Dalinina further teach:
The method of claim 13, further comprising determining one or more baselines based on the stored one or more measurements and the stored performance of each monitored system and system components. (Ghag [0064] – [0065])
As per claim 16, the combination of Ghag, Daute and Dalinina further teach:
The method of claim 15, wherein the one or more baselines comprises at least one of a first baseline of the first monitored system of the number of monitored systems, a second baseline of a computer application component of the first monitored system, or a third baseline of a middleware component of the first monitored system. (Ghag [0061])
As per claim 17, Ghag discloses: A non-transitory, computer-readable medium storing machine-readable instructions, which, when executed by a processor, cause the processor to:
identify a monitored system or system components; (Ghag [0048]: “the onboarding process may comprise steps such as auto discovery process and activate process. As a part of auto discovery process, attributes of all the RPA components in the RPA platform may be extracted. The access of all the RPA component to the RPA platform may be verified by way of web API or direct call to database”.)
determine at least one relationship between a plurality of components of the monitored system or system components; (Ghag [0049]: “The auto discovery process may extract the attributes (also referred as metadata configurations or metadata 216) for each of the discovered RPA components such as, but not limited to bot name, bot location, server IP address, database IP address, connection string of database, Control Tower IP address, bot runner, VM component details etc. which may be used for monitoring and remedial actions by the system in the disclosed technology. The extracted attributes may be stored in the RPA metadata configuration database 222… The configuration interface 214 may be configured to display attributes of all the RPA components and dependent components to the user. The user may add, modify, or delete any RPA components and/or configurations related to RPA components and the dependent components. Each RPA component and the dependent components may be identified and termed as ‘resources’. Each of the resources may have relationship (communicatively coupled) with other resources and which may be modelled using the configuration interface 214. Each of the resources may be monitored/observed on various parameters which are termed as ‘observables’ (also termed as ‘observable metrics’ or ‘observation metrics’).”)
measure a performance of the monitored system or system components using one or more remote calls of a remote call library based on the at least one relationship; and transmit the performance via an application programming interface (API). (Ghag [0059]: “the monitor module 254 may fetch the observable metrics configured for each resource from the RPA metadata configuration database 222. Since the health check or monitoring of RPA components are driven through configurations, the user/administrator may enable or disable the health check for specific RPA components centrally rather than enabling or disabling at individual script levels. To execute a specific observation health check based on which RPA platform needs to be monitored, the monitor module 254 will query the RPA metadata configuration database 222 to identify the list of RPA components that needs to be monitored and the associated observable metrics, and then identify the script which needs to be executed… Each health check executed by the monitor module 254 may generate a metric message containing the details of the observable metrics and the details of resources for which the observations have been made”; [0061]: API.)
Ghag did not explicitly disclose:
wherein relationship is determined based on a communication received via the API module using a given remote call from the remote call library;
perform at least one maintenance function based on a communication received via the API, wherein the at least one maintenance function comprises modifying one or more components of the monitored system or system components;
encrypt and store the one or more relationship between the plurality of components in a repository;
decrypt the at least one relationship.
However, Daute teaches:
wherein relationship is determined based on a communication received via the API module using a given remote call from the remote call library; perform at least one maintenance function based on a communication received via the API, wherein the at least one maintenance function comprises modifying one or more components of the monitored system or system components; (Daute [0025] - [0026]; [0037].)
It would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Daute into that of Ghag in order to the relationship is determined based on a communication received via the API module using a given remote call from the remote call library; perform at least one maintenance function based on a communication received via the API, wherein the at least one maintenance function comprises modifying one or more components of the monitored system or system components; Daute [0039] has shown that using API for monitoring is a commonly known and employed technique in the field of monitoring, while also being able to perform maintenance based on the monitored data, applicants have thus merely claimed the combination of known parts in the field to achieve predictable results of using API for monitoring purpose and is therefore rejected under 35 USC 103.
Dalinina teaches:
encrypt and store the one or more relationship between the plurality of components in a repository; decrypt the at least one relationship. (Dalinina [0125])
It would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Khare into that of Ghag and Daute in order to encrypt at least one relationship of the one or more relationships between the plurality of components; wherein the performance module is configured to determine the at least one relationship based on a communication received via the API module using a given remote call from the remote call library and decrypt the at least one relationship of the one or more relationships between the plurality of components. Dalinina [0125] teaches doing so would improve the security when using third party, applicants have thus merely claimed the combination of known parts in the field to achieve predictable results of better security for monitoring purpose and is therefore rejected under 35 USC 103.
As per claim 18, the combination of Ghag, Daute and Dalinina further teach:
The non-transitory, computer-readable medium of claim 17, wherein the processor is operable to: encrypt the performance of the monitored system or system components; store the encrypted performance to a repository; retrieve the plurality of components stored to the repository; and delete data of the monitored system or system components stored to the repository, wherein the data comprises one or more encrypted performances and the plurality of components. (Dalinina [0125])
As per claim 19, the combination of Ghag, Daute and Dalinina further teach:
The non-transitory, computer-readable medium of claim 18, wherein the processor is operable to: determine one or more measurements of each component described by the at least one relationship to measure the performance of the monitored system or system components; encrypt the one or more measurements; and store the encrypted one or more measurements to the repository. (Ghag [0049] and Dalinina [0125])
As per claim 20, the combination of Ghag, Daute and Dalinina further teach:
The non-transitory, computer-readable medium of claim 19, wherein the processor is operable to: determine at least one baseline based on the one or more measurements; encrypt the at least one baseline; and store the encrypted at least one baseline to the repository. (Ghag [0061] and Dalinina [0125])
As per claim 21, the combination of Ghag, Daute and Dalinina further teach:
The system of claim 9, wherein the monitored system is a first monitored system having a first plurality of components, the system further comprising a second monitored system having a second plurality of components, wherein the repository is configured to store one or more relationships between the first and second monitored systems. (Ghag [0048] – [0049])
Response to Arguments
Applicant’s arguments with respect to claim(s) 1, 3, 5 – 7 and 9 – 21 have been considered but are moot because the new ground of rejection does not rely on any reference applied in the prior rejection of record for any teaching or matter specifically challenged in the argument.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to CHARLES M SWIFT whose telephone number is (571)270-7756. The examiner can normally be reached Monday - Friday: 9:30 AM - 7PM.
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, April Blair can be reached at 5712701014. 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.
/CHARLES M SWIFT/Primary Examiner, Art Unit 2196