Prosecution Insights
Last updated: July 17, 2026
Application No. 18/162,706

APPARATUS AND METHOD FOR DETECTION, TRIAGING AND REMEDIATION OF UNRELIABLE MESSAGE EXECUTION IN A MULTI-TENANT RUNTIME

Non-Final OA §103
Filed
Jan 31, 2023
Examiner
RIGGINS, ARI FAITH COLEMA
Art Unit
2197
Tech Center
2100 — Computer Architecture & Software
Assignee
Salesforce Inc.
OA Round
3 (Non-Final)
50%
Grant Probability
Moderate
3-4
OA Rounds
1m
Est. Remaining
99%
With Interview

Examiner Intelligence

Grants 50% of resolved cases
50%
Career Allowance Rate
2 granted / 4 resolved
-5.0% vs TC avg
Strong +100% interview lift
Without
With
+100.0%
Interview Lift
resolved cases with interview
Typical timeline
3y 7m
Avg Prosecution
22 currently pending
Career history
40
Total Applications
across all art units

Statute-Specific Performance

§101
16.5%
-23.5% vs TC avg
§103
79.8%
+39.8% vs TC avg
§102
2.8%
-37.2% vs TC avg
§112
0.9%
-39.1% vs TC avg
Black line = Tech Center average estimate • Based on career data from 4 resolved cases

Office Action

§103
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 . This Office Action is in response to claims filed on 02/23/2026. Claims 1-6, 9-20, and 23-28 are pending. 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 02/23/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. Claims 1-3 and 15-17 are rejected under 35 U.S.C. 103 as being unpatentable over Wang (US 10,169,090 B2) in view of Malik (US 2023/0045896 A1) in view of Arrigoni (US 2024/0242031 A1) in view of Moulhaud (US 2013/0111011 A1). With regard to claim 1, Wang teaches: An article of manufacture comprising a non-transitory machine-readable storage medium that provides instructions that, if executed by one or more electronic devices are configurable to cause the one or more electronic devices to perform operations comprising: “A non-transitory machine-readable medium comprising a plurality of instructions which, when executed by a processing device, cause the processing device to perform operations comprising:” [Wang Claim 15]. responsive to one or more resource utilization thresholds being reached, “In one embodiment, resource utilization aggregator ("aggregator") 809 may include sliding window maintenance logic ("window logic") 272 having collection logic 813 to work with global sliding window digest ("sliding window) 811 to collect data including various statistics about job types, organizations, application servers, resources, etc., such as data relating to resources consumed by tenants, job types, and a combination thereof, both completed and inflight messages, backed by mem-cache with historical data (e.g., 30 minute history), etc. Further, in one embodiment, processing framework 210 of resource mechanism 110 may include workload logic 262 having routing framework 266 and fair usage monitor 264 including calculation logic 807 to calculate fair usage of resources by computing starvation factor and categorizing tenants and/or job types into one or more categories, such as VICTIM, OFFENDER, and FAIR” [Wang Col. 16 Lines 14-29]. “For example, the fair usage monitor takes the container object as an input and categorizes queues into FAIR, VICTIM, and OFFENDER buckets using a combination of, for example, starvation factor and longest waiter information from each queue. For example, a VICTIM is any queue with starvation factor of 0.5 or higher (resource utilization threshold) (jobs receiving 50% or less thread time than they should have received) and experiencing delays of a predetermined time period, such as 20 minutes or more. An OFFENDER is any queue with starvation factor of -0.5 or lower (resource utilization threshold) (jobs receiving 50% or more thread time than it should have received). All other queues are considered FAIR” [Wang Col. 18 Lines 53-64]. “In one embodiment, an interface is employed that can take a set of sliding window thread time (users can substitute for any resource type) and queuing time measurements and compute the fairness metric for each queue” [Wang Col. 18 Lines 28-31 Examiner notes that although thread time is used as an example, Wang allows for the monitoring and regulation of utilization of any resource type]. analyzing metering data “In accordance with embodiments, there are provided mechanisms and methods for facilitating tiered service model-based fair allocation of resources for application servers in multi-tenant environments. In one embodiment and by way of example, a method includes collecting, by and incorporating into the database system, data relating to job types associated with one or more tenants of a plurality of tenants within a multi-tenant database system, computing, based on the data, an actual resource use and an expected resource allocation associated with each job type, and assigning classifications to the job types based on their corresponding actual resource use and the expected resource allocation” [Wang Col. 3 Lines 52-65]. “In one embodiment, routing framework 266 may facilitate and provide access to tables 282 and have the ability obtain any relevant data and/or metadata to perform any number and type of tasks related to workload logic 262. In one embodiment, resource mechanism 110 and its workload logic 262 provides for a routing framework 266 facilitating a routing table to capture how message queue traffic is routed and processed. In one embodiment, workload logic 262 is adaptive in that it can be tuned, at runtime, how messages are processed for one or more organizations and/or message types” [Wang Col. 9 Lines 27-37]. “The tenant data 623 might be divided into individual tenant storage areas 712, which can be either a physical arrangement and/or a logical arrangement of data. Within each tenant storage area 712, user storage 714 and application metadata 716 might be similarly allocated for each user” [Wang Col. 29 Lines 50-55]. from a plurality of application instances “Application platform 618 may be a framework that allows the applications of system 616 to run, such as the hardware and/or software, e.g., the operating system. In an embodiment, on-demand database service 616 may include an application platform 618 that enables creation, managing and executing one or more applications developed by the provider of the on-demand database service, users accessing the on-demand database service via user systems 612, or third party application developers accessing the on-demand database service via user systems 612” [Wang Col. 26 Lines 13-22]. “Application platform 618 includes an application setup mechanism 738 that supports application developers' creation and management of applications, which may be saved as metadata into tenant data storage 622 by save routines 736 for execution by subscribers as one or more tenant process spaces 704 managed by tenant management process 710 for example” [Wang Col. 29-30 Lines 65-67, 1-4]. of an application cluster “In some embodiments, workload logic 262 provides extensibility, tiered-services, and hierarchical rules. Workload logic 262 captures policy decisions from a database node (e.g., Real Application Cluster (RAC®) node by Oracle®) level to that of an individual organization, which provides wide latitude to employ different algorithms for scheduling messages. A cluster or node combination refers to a consolidation of multiple databases ("database node" or simply "node"), such as RAC” [Wang Col. 10 Lines 4-12]. “In this manner, system 616 is multitenant, wherein system 616 handles storage of, and access to, different objects, data and applications across disparate users and organizations” [Wang Col. 30 Lines 50-53]. to identify a particular message type and entity combination “Messages can be grouped into any number of types, such as roughly 300 types, ranging from user facing work such as refreshing a report on the dashboard to internal work, such as deleting unused files” [Wang Col. 2 Lines 8-12]. “Additionally, routing table tracks each rule's lineage (for who created it) and hierarchy (for how important is it) and in tum, sweeper 268 of workload logic 262 automatically determines which policy rules from policy table to apply depending on the context (e.g., organization and message type) of each incoming message” [Wang Col. 10 Lines 21-27]. that is responsible, at least in part, for the one or more resource utilization thresholds being reached, “Throttling queues for OFFENDER job types with the least relevance frees up the most absolute amount of capacity. This additional capacity is then used to boost the processing of VICTIM job types” [Wang Col. 17 Lines 36-39]. “An OFFENDER is any queue with starvation factor of -0.5 or lower (jobs receiving 50% or more thread time than it should have received)” [Wang Col. 18 Lines 61-63]. “Moreover, terms Like "job", "request" and "message" may be used interchangeably throughout this document” [Wang Col. 7 Lines 6-8]. wherein the metering data includes resource utilization by message type “Distributing point of delivery resources, such as application server thread time, equitably among different types of messages has been a challenge, particularly in a multi-tenant on-demand system” [Wang Col. 2 Lines 4-7].“In one embodiment, routing table may have separate columns, one each for node, message type, organization identifier, as well as bucket identifier, which together with state may form a composite key” [Wang Col. 10 Lines 56-59]. “For example, calculation logic 807 of fair usage monitor 264 may calculate actual usage and expected usage of each job type, where actual usage refers to total thread time for all completed and in-flight messages/jobs, and expected usage refers to total thread time for job types that are behaving fairly” [Wang Col. 16 Lines 39-45]. “Embodiments introduce a range of novel, multi-tenant features, such as (without limitation) real-time monitoring of resource utilization at a per-tenant per-message or job type level, fair usage algorithms that automatically target victims ("VICTIMS") (e.g., tenants that are starved of resources) and offenders ("OFFENDERS") (e.g., tenants that monopolize too much resources) job types, and a tiered service model that incrementally tunes the number of application servers assigned to each job type to enforce fairness, etc” [Wang Col. 24 Lines 40-48]. resulting from processing messages of different ones of a plurality of message types by the plurality of application instances “In one embodiment, resource utilization aggregator ("aggregator") 809 may include sliding window maintenance logic ("window logic") 272 having collection logic 813 to work with global sliding window digest ("sliding window) 811 to collect data including various statistics about job types, organizations, application servers, resources, etc., such as data relating to resources consumed by tenants, job types, and a combination thereof, both completed and inflight messages, backed by mem-cache with historical data (e.g., 30 minute history), etc.” [Wang Col. 16 Lines 14-23]. “In accordance with embodiments, there are provided mechanisms and methods for facilitating tiered service model-based fair allocation of resources for application servers in multi-tenant environments” [Wang Col. 3 Lines 52-55]. using a plurality of resources of the application cluster, wherein processing messages of at least some of the plurality of message types uses different sets of the plurality of resources; “In one embodiment, backing these tiers is resource mechanism 110 that facilitates fair allocation of queuing resources (e.g., thread time, database Central Processing Unit (CPU), disk, etc., such that fair allocation of threads is implemented across competing job types” [Wang Col. 16 Lines 8-13]. “Messages can be grouped into any number of types, such as roughly 300 types, ranging from user facing work such as refreshing a report on the dashboard to internal work, such as deleting unused files. As such, messages exhibit wide variability in the amount of resources they consume including thread time” [Wang Col. 2 Lines 7-14]. responsive to the identification of the particular message type and entity combination, automatically causing one or more remediation actions to alter processing of messages of the particular message type on the plurality of application instances, “The amount of resources being consumed by a job type may be adjusted or tuned by having the job type move between multiple tiers, such as tiers 1-4, etc” [Wang Col. 17 Lines 24-26]. “Throttling queues for OFFENDER job types with the least relevance frees up the most absolute amount of capacity. This additional capacity is then used to boost the processing of VICTIM job types” [Wang Col. 17 Lines 36-39]. “Further, the routing table stores rules that describe multitenant policy decisions, such as suspending processing for one organization, restricting a message type to consume no more than a threshold (e.g., 25%) of POD resources, isolating the traffic from competing organizations to prevent starvation, or promoting organizations to a higher tier of queues to provide better quality of service guarantees” [Wang Col. 9 Lines 59-65]. “In one embodiment, fair usage monitor 264 is employed to facilitate fair usage of thread resources and to keep routing table general enough so each row in the routing table allows for enqueuing of messages of a specific types or attributes (e.g., node, message type, and organization identifier, etc., or a combination thereof) to a specific physical queue, where having these attributes in routing table may help minimize changes to the application server enqueue/ dequeue logic” [Wang Col. 10 Lines 40-46]. wherein the causing the one or more remediation actions comprises publishing an event “Further, in one embodiment, processing framework 210 of resource mechanism 110 may include workload logic 262 having routing framework 266 and fair usage monitor 264 including calculation logic 807 to calculate fair usage of resources by computing starvation factor and categorizing tenants and/or job types into one or more categories, such as VICTIM, OFFENDER, and FAIR” [Wang Col. 16 Lines 23-29]. “In one embodiment, the one or more assigned and grouped categories of VICTIM, OFFENDER, and FAIR are collected by enforcement logic 803 from decision logic 801 and using this information, job queues are computed to be promoted (for VICTIM) or demoted (for OFFENDER) or maintained (for FAIR) 1043 at enforcement logic 803” [Wang Col. 22 Lines 37-42 Examiner notes a categorization of a tenant or job/message type is considered an event]. to be electronically accessed by a remediation manager “In one embodiment, transaction sequence 440 may be performed by thread resource management mechanism (remediation manager) 110 of FIG. 1” [Wang Col. 15 Lines 15-17]. “In one embodiment, workload logic 262 provides an adaptive and multi-tenant aware routing table to facilitate a dynamic regulation of resources consumed via a tier service module” [Wang Col. 10 Lines 28-31]. configured with a plurality of scripts each associated with a different resource type and indicating remediation actions to be taken “Further, the routing table stores rules (scripts) that describe multitenant policy decisions, such as suspending processing for one organization, restricting a message type to consume no more than a threshold (e.g., 25%) of POD resources, isolating the traffic from competing organizations to prevent starvation, or promoting organizations to a higher tier of queues to provide better quality of service guarantees” [Wang Col. 9 Lines 59-65, Fig. 2 Examiner notes the inclusion of routing table 268 in thread resource management mechanism 110]. “Additionally, routing table tracks each rule's lineage (for who created it) and hierarchy (for how important is it) and in turn, sweeper 268 of workload logic 262 automatically determines which policy rules from policy table to apply depending on the context (e.g., organization and message type) of each incoming message” [Wang Col. 10 Lines 21-27]. “In one embodiment, backing these tiers is resource mechanism 110 that facilitates fair allocation of queuing resources (e.g., thread time, database Central Processing Unit (CPU), disk, etc., such that fair allocation of threads is implemented across competing job types.” [Wang Col. 16 Lines 8-13]. the event indicating the particular message type, the entity, and a particular resource type associated with the one or more resource utilization thresholds “Additionally, routing table tracks each rule's lineage (for who created it) and hierarchy (for how important is it) and in turn, sweeper 268 of workload logic 262 automatically determines which policy rules from policy table to apply depending on the context (e.g., organization and message type) of each incoming message” [Wang Col. 10 Lines 21-27]. “Further, in one embodiment, processing framework 210 of resource mechanism 110 may include workload logic 262 having routing framework 266 and fair usage monitor 264 including calculation logic 807 to calculate fair usage of resources by computing starvation factor and categorizing tenants and/or job types (message types) into one or more categories, such as VICTIM, OFFENDER, and FAIR” [Wang Col. 16 Lines 23-29].“Each row in the routing table maps messages of a specific type (e.g., node (e.g., RAC node), message type, and organization identification (id), etc.) to a physical queue in the transport” [Wang Col. 10 Lines 40-43]. “For example, the fair usage monitor takes the container object as an input and categorizes queues into FAIR, VICTIM, and OFFENDER buckets using a combination of, for example, starvation factor and longest waiter information from each queue. For example, a VICTIM is any queue with starvation factor of 0.5 or higher (resource utilization threshold) (jobs receiving 50% or less thread time than they should have received) and experiencing delays of a predetermined time period, such as 20 minutes or more. An OFFENDER is any queue with starvation factor of -0.5 or lower (resource utilization threshold) (jobs receiving 50% or more thread time than it should have received). All other queues are considered FAIR” [Wang Col. 18 Lines 53-64]. to cause the remediation manager to transmit remediation actions indicated by a script associated with the particular resource type to the plurality of application instances “Additionally, routing table tracks each rule's lineage (for who created it) and hierarchy (for how important is it) and in turn, sweeper 268 of workload logic 262 automatically determines which policy rules from policy table to apply depending on the context (e.g., organization and message type) of each incoming message” [Wang Col. 10 Lines 21-27]. “In one embodiment, routing table 306 and routing policy table 308 of tables 282 of FIG. 2 may also maintain communication, via framework 266 of FIG. 2, with sweeper 268, where routing policy table 308 is accessed and used by sweeper 268 for collection of policy decisions for restricting and/or boosting tenant resources. Sweeper 268 may provide updated assignment of tenant jobs and worker hosts to queues to routing table 306. Routing table 306 then propagates assignment of worker hosts from a cluster of worker hosts 304 to queues” [Wang Col. 14 Lines 11-20]. “In one embodiment, routing table may be updated incrementally to account for one or more of: new message types, manual override rules, and rules that suspend processing of certain messages. To ensure that each application server caches the latest routing rules, an updater job will run for a threshold amount of time, such as every 5 minutes, to query for any latest changes …” [Wang Col. 11 Lines 52-58]. “Each row in the routing table maps messages of a specific type (e.g., node (e.g., RAC node), message type, and organization identification (id), etc.) to a physical queue in the transport. Routing table may be periodically updated by a routing job, such as every 15 minutes and to minimize calls to database 280, each application server may cache a local copy of routing table” [Wang Col. 10 Lines 40-46]. to cause the plurality of application instances to perform the remediation actions indicated by the script associated with the particular resource type with respect to messages having the particular message type that are associated with the entity; “In one embodiment, resource mechanism 110 and its workload logic 262 provides for a routing framework 266 facilitating a routing table to capture how message queue traffic is routed and processed. In one embodiment, workload logic 262 is adaptive in that it can be tuned, at runtime, how messages are processed for one or more organizations and/or message types” [Wang Col. 9 Lines 31-37]. “Throttling queues for OFFENDER job types with the least relevance frees up the most absolute amount of capacity. This additional capacity is then used to boost the processing of VICTIM job types” [Wang Col. 17 Lines 36-39]. “For example, if there are two tiers of queues and two job types, where tier 1 has jobs processed on all (100%) application servers and tier 2 has jobs processed on half (50%) the application servers, and that we have two job types with each job type bound by different tiers, such as job type 1 with tier 1, and job type 2 with tier 2. In one embodiment, each job type gets mapped to a physical queue, such as jobs type 1 are assigned to tier 1 queue, while jobs type 2 are assigned to tier 2 queue” [Wang Col. 19 Lines 38-46]. “In one embodiment, fair usage monitor 264 is employed to facilitate fair usage of thread resources and to keep routing table general enough so each row in the routing table allows for enqueuing of messages of a specific types or attributes (e.g., node, message type, and organization identifier, etc., or a combination thereof) to a specific physical queue, where having these attributes in routing table may help minimize changes to the application server enqueue/ dequeue logic” [Wang Col. 10 Lines 40-46]. the identification of the particular message type and entity combination, “Further, in one embodiment, processing framework 210 of resource mechanism 110 may include workload logic 262 having routing framework 266 and fair usage monitor 264 including calculation logic 807 to calculate fair usage of resources by computing starvation factor and categorizing tenants and/or job types (message types) into one or more categories, such as VICTIM, OFFENDER, and FAIR” [Wang Col. 16 Lines 23-29].“Each row in the routing table maps messages of a specific type (e.g., node (e.g., RAC node), message type, and organization identification (id), etc.) to a physical queue in the transport” [Wang Col. 10 Lines 40-43]. Wang fails to explicitly teach scripts each associated with a different resource type and to alleviate saturation of resources having the resource type associated with the script, the event indicating the particular message type, the entity, and a particular resource type … to cause the remediation manager to transmit remediation actions indicated by a script associated with the particular resource type … the script associated with the particular resource type … a tracing operation that traces execution of code paths triggered by the particular message type and entity combination, wherein the tracing operation generates metrics indicating a length of time taken to process different functions in the code paths; and transmitting the metrics to the entity. However, Malik teaches: scripts each associated with a different resource type “If this analysis suggests with some threshold level of confidence that a shared resource is expected to become a bottleneck and result in a noisy-neighbor situation, it can trigger some automatic actions, such as rebalancing resource allocation and timing thereof, and/or raising an alert or other communication to a support team, as examples … The remedial action could be to schedule an action to be automatically taken, now or later, to control resource allocation (timing, amount, duration, etc.) of the shared resource(s) to the noisy-neighbor, for instance … All of this can be done at the specific resource level (resource type) (network, CPU, etc.) and/or by specific node” [Malik ¶ 26]. “Example shared resources (resource types) include CPU/processing capacity, network bandwidth, storage input/output (I/O) and capacity, and others” [Malik ¶ 44]. to alleviate saturation of resources having the resource type associated with the script, “For instance, the patterns might reflect that, historically, Sunday mornings at 5:00 AM are times of high (saturated) CPU demand by a specific node (caused by usage of specific application(s)/application component(s) on the node) that is a noisy-neighbor to other nodes of the same cluster. It can be predicted therefore that at 5:00 AM of the upcoming Sunday there is expected to be a noisy-neighbor situation to proactively address. In this manner, the process can identify, based on the impact analysis, noisy-neighbor(s) that use the shared resource(s). Appropriate actions, such as automatically raising an alert indicating the actual or predicted noisy-neighbor(s) and/or performing remedial actions, can be taken at that point” [Malik ¶ 22]. the event indicating the particular message type, the entity, and a particular resource type “For instance, the patterns might reflect that, historically, Sunday mornings at 5:00 AM are times of high CPU (particular resource type) demand by a specific node (caused by usage of specific application(s)/application component(s) on the node) that is a noisy-neighbor to other nodes of the same cluster. It can be predicted therefore that at 5:00 AM of the upcoming Sunday there is expected to be a noisy-neighbor situation to proactively address. In this manner, the process can identify, based on the impact analysis, noisy-neighbor(s) that use the shared resource(s). Appropriate actions, such as automatically raising an alert indicating the actual or predicted noisy-neighbor(s) and/or performing remedial actions, can be taken at that point” [Malik ¶ 22]. to cause the remediation manager to transmit remediation actions indicated by a script associated with the particular resource type “If this analysis suggests with some threshold level of confidence that a shared resource is expected to become a bottleneck and result in a noisy-neighbor situation, it can trigger some automatic actions, such as rebalancing resource allocation and timing thereof, and/or raising an alert or other communication to a support team, as examples … The remedial action could be to schedule an action to be automatically taken, now or later, to control resource allocation (timing, amount, duration, etc.) of the shared resource(s) to the noisy-neighbor, for instance … All of this can be done at the specific resource level (resource type) (network, CPU, etc.) and/or by specific node” [Malik ¶ 26]. “Example shared resources (resource types) include CPU/processing capacity, network bandwidth, storage input/output (I/O) and capacity, and others” [Malik ¶ 44]. the script associated with the particular resource type “If this analysis suggests with some threshold level of confidence that a shared resource is expected to become a bottleneck and result in a noisy-neighbor situation, it can trigger some automatic actions, such as rebalancing resource allocation and timing thereof, and/or raising an alert or other communication to a support team, as examples … The remedial action could be to schedule an action to be automatically taken, now or later, to control resource allocation (timing, amount, duration, etc.) of the shared resource(s) to the noisy-neighbor, for instance … All of this can be done at the specific resource level (resource type) (network, CPU, etc.) and/or by specific node” [Malik ¶ 26]. “Example shared resources (resource types) include CPU/processing capacity, network bandwidth, storage input/output (I/O) and capacity, and others” [Malik ¶ 44]. a tracing operation that traces execution of code paths triggered by the particular message type and entity combination, wherein the tracing operation generates metrics indicating a length of time taken to process different functions in the code paths; “Network traces component 212 provides a real time data feed to repository 202 of the traces (end-to-end paths) of transactions or other flows performed by or on behalf of components. In a banking transaction, for instance, the transaction may involve several components inputting and outputting data along a path. The network traces can reflect which components (endpoints) are along that path, the time and resources consumed at each component, and other information. If time/resources consumed at one endpoint is significantly greater than at other endpoints, more information about that one endpoint might be desired. The different endpoints could correlate to different nodes, sub-processes. applications, shared resources, etc” [Malik ¶ 32]. “By performing real-time monitoring of, e.g., workload processing and associated resource consumption of the application components (such as consumption by sub-processes of the applications) that use shared resource(s) and of application performance of the applications, this can be correlated to generate insights as to the time-based consumption and performance by applications, tenants, nodes, etc” [Malik ¶ 35]. and transmitting the metrics to the entity. “The engine 226 can generate insights to an alerting and remediation engine 240, for instance to automatically raise an alert indicating the noisy-neighbor(s). In this regard, the alerting and remediation engine 240 can perform real-time alerting on the detected noisy-neighbor(s). The alerting can be to an administrator, stakeholder, administrative team, or any other desired target. In situations where tenants are customers of a service provider, the alert can be to an administrator/team of the service provider, and specifically those of the node(s) and/or cluster(s) of the involved and impacted components” [Malik ¶ 41]. Malik is considered to be analogous to the claimed invention because it is in the same field of workload monitoring. Therefore, it would be obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Wang to incorporate the teachings of Malik and include scripts each associated with a different resource type and to alleviate saturation of resources having the resource type associated with the script, the event indicating the particular message type and a particular resource type … to cause the remediation manager to transmit remediation actions indicated by a script associated with the particular resource type … the script associated with the particular resource type … a tracing operation that traces execution of code paths triggered by the particular message type and entity combination, wherein the tracing operation generates metrics indicating a length of time taken to process different functions in the code paths; and transmitting the metrics to the entity. Doing so would allow for remediation actions to address separate utilization challenges pertaining to different types of resources. “It is possible that more than one noisy-neighbor exists at a given point. A special case of this is when component A is a noisy-neighbor to component B with respect to a first resource but component B is a noisy neighbor to component A with respect to a second resource, different from the first resource. Aspects discussed herein can identify and take corrective action to address these situations by way of resource allocation adjustments to remedy each noisy-neighbor situation” [Malik ¶ 27]. Wang in view of Malik fails to teach also responsive to the identification of the particular message type and entity combination, initiating a tracing operation. However, Arrigoni teaches also responsive to the identification of the particular (problem) message type and entity combination, initiating a tracing operation “As data moves from one service to another service, distributed tracing is the capacity to track and observe service requests to understand the flow of requests so a user may pinpoint weak spots in the system, such as failures or performance issues” [Arrigoni ¶ 54]. “The first step of troubleshooting is to determine what is going on in the environment. By having metrics 207 instrumented over an environment, users can clearly see when issues are occurring and act on those issues before they blow up. Metrics 207 may inform whether there is a problem, but they do not inform of the root cause. The second step of troubleshooting is locating where the problem is happening. Since the complex systems have so many moving parts, it is imperative to locate the right pieces to fix via traces 211” [Arrigoni ¶ 54]. Arrigoni is considered to be analogous to the claimed invention because it is in the same field of indexing schemes relating to monitoring. Wang teaches identifying a problem with a particular message type and entity combination. Arrigoni teaches using tracing operations as a second step after problem identification to track the execution of service requests. These teachings can be combined to initiate a tracing operation in response to the identification of the particular message type and entity combination. Therefore, it would be obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Wang in view of Malik to incorporate the teachings of Arrigoni and include also responsive to the identification of the particular message type and entity combination, initiating a tracing operation. Doing so would allow for locating the root cause of the problem within the request flow. “Metrics 207 may inform whether there is a problem, but they do not inform of the root cause. The second step of troubleshooting is locating where the problem is happening. Since the complex systems have so many moving parts, it is imperative to locate the right pieces to fix via traces 211” [Arrigoni ¶ 54]. Wang in view of Malik in view of Arrigoni fails to explicitly teach a tracing operation that traces execution of code paths triggered by the particular message type and entity combination, and transmitting the metrics to the entity. However, Moulhaud teaches initiating a tracing operation that traces execution of code paths triggered by the particular (criteria) message type and entity combination, “In one example, the tracing criteria component 410 may automatically create tracing criteria based upon detecting an issue associated with a user request received from the client computer (e.g., page unavailable). For example, the tracing criteria may correspond to the client computer, a user, the issue detected, and/or other information” [Moulhaud ¶ 26]. “If the identifying information extracted from the user request 404 matches the tracing criteria 412 (e.g., the tracing criteria specifies that user requests from user ID=Dan are to be traced), then the user request 404 may be traced during processing of the user request 404 by the server 406 to generate tracing data 414” [Moulhaud ¶ 27]. “For example, tracing criteria may comprise user ID=Dan. A first user request processed by a first server may be traced to create first tracing data based upon the first user request being associated with the user ID=Dan” [Moulhaud ¶ 21]. and transmitting the metrics to the entity. “The trace analysis data may be provided within an email, a log file, a user interface accessible to an administrator of the first and/or second server, and/or a web user interface accessible to a client computer originating the first user request and/or the second user request. In this way, the trace analysis data (e.g., derived from server-side tracing data) may be used to troubleshoot issues of a user and/or a client computer originating the first and/or second user request. At 210, the method ends” [Moulhaud ¶ 24]. Moulhaud is considered to be analogous to the claimed invention because it is in the same field of indexing schemes relating to monitoring. Wang teaches the particular message type and entity combination. Moulhaud teaches initiating a tracing operation triggered by a particular criteria. These teachings can be combined by using the particular message type and entity combination of Wang as the criteria of Moulhaud. Therefore, it would be obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Wang in view of Malik in view of Arrigoni to incorporate the teachings of Moulhaud and include a tracing operation that traces execution of code paths triggered by the particular message type and entity combination, and transmitting the metrics to the entity. Doing so would allow the prevention of generating unnecessary tracing data. “If the identifying information does not match the tracing criteria, then tracing may be disabled for the user request, which may mitigate the generation of extraneous/noisy tracing data” [Moulhaud ¶ 4]. With regard to claim 2, Wang in view of Malik in view of Arrigoni in view of Moulhaud teaches the article of manufacture of claim 1 as referenced above. Wang further teaches wherein the one or more remediation actions comprises throttling messages of the particular message type. “Throttling queues for OFFENDER job types with the least relevance frees up the most absolute amount of capacity. This additional capacity is then used to boost the processing of VICTIM job types” [Wang Col. 17 Lines 36-39]. “Further, the routing table stores rules that describe multitenant policy decisions, such as suspending processing for one organization, restricting a message type to consume no more than a threshold (e.g., 25%) of POD resources, isolating the traffic from competing organizations to prevent starvation, or promoting organizations to a higher tier of queues to provide better quality of service guarantees” [Wang Col. 9 Lines 59-65]. With regard to claim 3, Wang in view of Malik in view of Arrigoni in view of Moulhaud teaches the article of manufacture of claim 1 as referenced above. Wang further teaches wherein the entity comprises a tenant. “In one embodiment and by way of example, a method includes collecting, by and incorporating into the database system, data relating to job types associated with one or more tenants of a plurality of tenants within a multi-tenant database system…” [Wang Col. 3 Lines 55-59]. With regard to claim 15, Wang teaches: A method implemented in a set of one or more electronic devices, the method comprising: “Processor 502 is configured to execute the processing logic 526 for performing the operations and functionality of thread resource management mechanism 110 as described with reference to FIG. 1 and other figures discussed herein” [Wang Col. 24 Lines 40-43]. responsive to one or more resource utilization thresholds being reached, “In one embodiment, resource utilization aggregator ("aggregator") 809 may include sliding window maintenance logic ("window logic") 272 having collection logic 813 to work with global sliding window digest ("sliding window) 811 to collect data including various statistics about job types, organizations, application servers, resources, etc., such as data relating to resources consumed by tenants, job types, and a combination thereof, both completed and inflight messages, backed by mem-cache with historical data (e.g., 30 minute history), etc. Further, in one embodiment, processing framework 210 of resource mechanism 110 may include workload logic 262 having routing framework 266 and fair usage monitor 264 including calculation logic 807 to calculate fair usage of resources by computing starvation factor and categorizing tenants and/or job types into one or more categories, such as VICTIM, OFFENDER, and FAIR” [Wang Col. 16 Lines 14-29]. “For example, the fair usage monitor takes the container object as an input and categorizes queues into FAIR, VICTIM, and OFFENDER buckets using a combination of, for example, starvation factor and longest waiter information from each queue. For example, a VICTIM is any queue with starvation factor of 0.5 or higher (resource utilization threshold) (jobs receiving 50% or less thread time than they should have received) and experiencing delays of a predetermined time period, such as 20 minutes or more. An OFFENDER is any queue with starvation factor of -0.5 or lower (resource utilization threshold) (jobs receiving 50% or more thread time than it should have received). All other queues are considered FAIR” [Wang Col. 18 Lines 53-64]. “In one embodiment, an interface is employed that can take a set of sliding window thread time (users can substitute for any resource type) and queuing time measurements and compute the fairness metric for each queue” [Wang Col. 18 Lines 28-31 Examiner notes that although thread time is used as an example, Wang allows for the monitoring and regulation of utilization of any resource type]. analyzing metering data “In accordance with embodiments, there are provided mechanisms and methods for facilitating tiered service model-based fair allocation of resources for application servers in multi-tenant environments. In one embodiment and by way of example, a method includes collecting, by and incorporating into the database system, data relating to job types associated with one or more tenants of a plurality of tenants within a multi-tenant database system, computing, based on the data, an actual resource use and an expected resource allocation associated with each job type, and assigning classifications to the job types based on their corresponding actual resource use and the expected resource allocation” [Wang Col. 3 Lines 52-65]. “In one embodiment, routing framework 266 may facilitate and provide access to tables 282 and have the ability obtain any relevant data and/or metadata to perform any number and type of tasks related to workload logic 262. In one embodiment, resource mechanism 110 and its workload logic 262 provides for a routing framework 266 facilitating a routing table to capture how message queue traffic is routed and processed. In one embodiment, workload logic 262 is adaptive in that it can be tuned, at runtime, how messages are processed for one or more organizations and/or message types” [Wang Col. 9 Lines 27-37]. “The tenant data 623 might be divided into individual tenant storage areas 712, which can be either a physical arrangement and/or a logical arrangement of data. Within each tenant storage area 712, user storage 714 and application metadata 716 might be similarly allocated for each user” [Wang Col. 29 Lines 50-55]. from a plurality of application instances “Application platform 618 may be a framework that allows the applications of system 616 to run, such as the hardware and/or software, e.g., the operating system. In an embodiment, on-demand database service 616 may include an application platform 618 that enables creation, managing and executing one or more applications developed by the provider of the on-demand database service, users accessing the on-demand database service via user systems 612, or third party application developers accessing the on-demand database service via user systems 612” [Wang Col. 26 Lines 13-22]. “Application platform 618 includes an application setup mechanism 738 that supports application developers' creation and management of applications, which may be saved as metadata into tenant data storage 622 by save routines 736 for execution by subscribers as one or more tenant process spaces 704 managed by tenant management process 710 for example” [Wang Col. 29-30 Lines 65-67, 1-4]. of an application cluster “In some embodiments, workload logic 262 provides extensibility, tiered-services, and hierarchical rules. Workload logic 262 captures policy decisions from a database node (e.g., Real Application Cluster (RAC®) node by Oracle®) level to that of an individual organization, which provides wide latitude to employ different algorithms for scheduling messages. A cluster or node combination refers to a consolidation of multiple databases ("database node" or simply "node"), such as RAC” [Wang Col. 10 Lines 4-12]. “In this manner, system 616 is multitenant, wherein system 616 handles storage of, and access to, different objects, data and applications across disparate users and organizations” [Wang Col. 30 Lines 50-53]. to identify a particular message type and entity combination “Messages can be grouped into any number of types, such as roughly 300 types, ranging from user facing work such as refreshing a report on the dashboard to internal work, such as deleting unused files” [Wang Col. 2 Lines 8-12]. “Additionally, routing table tracks each rule's lineage (for who created it) and hierarchy (for how important is it) and in tum, sweeper 268 of workload logic 262 automatically determines which policy rules from policy table to apply depending on the context (e.g., organization and message type) of each incoming message” [Wang Col. 10 Lines 21-27]. that is responsible, at least in part, for the one or more resource utilization thresholds being reached, “Throttling queues for OFFENDER job types with the least relevance frees up the most absolute amount of capacity. This additional capacity is then used to boost the processing of VICTIM job types” [Wang Col. 17 Lines 36-39]. “An OFFENDER is any queue with starvation factor of -0.5 or lower (jobs receiving 50% or more thread time than it should have received)” [Wang Col. 18 Lines 61-63]. “Moreover, terms Like "job", "request" and "message" may be used interchangeably throughout this document” [Wang Col. 7 Lines 6-8]. wherein the metering data includes resource utilization by message type “Distributing point of delivery resources, such as application server thread time, equitably among different types of messages has been a challenge, particularly in a multi-tenant on-demand system” [Wang Col. 2 Lines 4-7].“In one embodiment, routing table may have separate columns, one each for node, message type, organization identifier, as well as bucket identifier, which together with state may form a composite key” [Wang Col. 10 Lines 56-59]. “For example, calculation logic 807 of fair usage monitor 264 may calculate actual usage and expected usage of each job type, where actual usage refers to total thread time for all completed and in-flight messages/jobs, and expected usage refers to total thread time for job types that are behaving fairly” [Wang Col. 16 Lines 39-45]. “Embodiments introduce a range of novel, multi-tenant features, such as (without limitation) real-time monitoring of resource utilization at a per-tenant per-message or job type level, fair usage algorithms that automatically target victims ("VICTIMS") (e.g., tenants that are starved of resources) and offenders ("OFFENDERS") (e.g., tenants that monopolize too much resources) job types, and a tiered service model that incrementally tunes the number of application servers assigned to each job type to enforce fairness, etc” [Wang Col. 24 Lines 40-48]. resulting from processing messages of different ones of a plurality of message types by the plurality of application instances “In one embodiment, resource utilization aggregator ("aggregator") 809 may include sliding window maintenance logic ("window logic") 272 having collection logic 813 to work with global sliding window digest ("sliding window) 811 to collect data including various statistics about job types, organizations, application servers, resources, etc., such as data relating to resources consumed by tenants, job types, and a combination thereof, both completed and inflight messages, backed by mem-cache with historical data (e.g., 30 minute history), etc.” [Wang Col. 16 Lines 14-23]. “In accordance with embodiments, there are provided mechanisms and methods for facilitating tiered service model-based fair allocation of resources for application servers in multi-tenant environments” [Wang Col. 3 Lines 52-55]. using a plurality of resources of the application cluster, wherein processing messages of at least some of the plurality of message types uses different sets of the plurality of resources; “In one embodiment, backing these tiers is resource mechanism 110 that facilitates fair allocation of queuing resources (e.g., thread time, database Central Processing Unit (CPU), disk, etc., such that fair allocation of threads is implemented across competing job types” [Wang Col. 16 Lines 8-13]. “Messages can be grouped into any number of types, such as roughly 300 types, ranging from user facing work such as refreshing a report on the dashboard to internal work, such as deleting unused files. As such, messages exhibit wide variability in the amount of resources they consume including thread time” [Wang Col. 2 Lines 7-14]. responsive to the identification the particular message type and entity combination, automatically causing one or more remediation actions to alter processing of messages of the particular message type on the plurality of application instances, “The amount of resources being consumed by a job type may be adjusted or tuned by having the job type move between multiple tiers, such as tiers 1-4, etc” [Wang Col. 17 Lines 24-26]. “Throttling queues for OFFENDER job types with the least relevance frees up the most absolute amount of capacity. This additional capacity is then used to boost the processing of VICTIM job types” [Wang Col. 17 Lines 36-39]. “Further, the routing table stores rules that describe multitenant policy decisions, such as suspending processing for one organization, restricting a message type to consume no more than a threshold (e.g., 25%) of POD resources, isolating the traffic from competing organizations to prevent starvation, or promoting organizations to a higher tier of queues to provide better quality of service guarantees” [Wang Col. 9 Lines 59-65]. “In one embodiment, fair usage monitor 264 is employed to facilitate fair usage of thread resources and to keep routing table general enough so each row in the routing table allows for enqueuing of messages of a specific types or attributes (e.g., node, message type, and organization identifier, etc., or a combination thereof) to a specific physical queue, where having these attributes in routing table may help minimize changes to the application server enqueue/ dequeue logic” [Wang Col. 10 Lines 40-46]. wherein the causing the one or more remediation actions comprises publishing an event “Further, in one embodiment, processing framework 210 of resource mechanism 110 may include workload logic 262 having routing framework 266 and fair usage monitor 264 including calculation logic 807 to calculate fair usage of resources by computing starvation factor and categorizing tenants and/or job types into one or more categories, such as VICTIM, OFFENDER, and FAIR” [Wang Col. 16 Lines 23-29]. “In one embodiment, the one or more assigned and grouped categories of VICTIM, OFFENDER, and FAIR are collected by enforcement logic 803 from decision logic 801 and using this information, job queues are computed to be promoted (for VICTIM) or demoted (for OFFENDER) or maintained (for FAIR) 1043 at enforcement logic 803” [Wang Col. 22 Lines 37-42 Examiner notes a categorization of a tenant or job/message type is considered an event]. to be electronically accessed by a remediation manager “In one embodiment, transaction sequence 440 may be performed by thread resource management mechanism (remediation manager) 110 of FIG. 1” [Wang Col. 15 Lines 15-17]. “In one embodiment, workload logic 262 provides an adaptive and multi-tenant aware routing table to facilitate a dynamic regulation of resources consumed via a tier service module” [Wang Col. 10 Lines 28-31]. configured with a plurality of scripts each associated with a different resource type and indicating remediation actions to be taken “Further, the routing table stores rules (scripts) that describe multitenant policy decisions, such as suspending processing for one organization, restricting a message type to consume no more than a threshold (e.g., 25%) of POD resources, isolating the traffic from competing organizations to prevent starvation, or promoting organizations to a higher tier of queues to provide better quality of service guarantees” [Wang Col. 9 Lines 59-65, Fig. 2 Examiner notes the inclusion of routing table 268 in thread resource management mechanism 110]. “Additionally, routing table tracks each rule's lineage (for who created it) and hierarchy (for how important is it) and in turn, sweeper 268 of workload logic 262 automatically determines which policy rules from policy table to apply depending on the context (e.g., organization and message type) of each incoming message” [Wang Col. 10 Lines 21-27]. “In one embodiment, backing these tiers is resource mechanism 110 that facilitates fair allocation of queuing resources (e.g., thread time, database Central Processing Unit (CPU), disk, etc., such that fair allocation of threads is implemented across competing job types.” [Wang Col. 16 Lines 8-13]. the event indicating the particular message type, the entity, and a particular resource type associated with the one or more resource utilization thresholds “Additionally, routing table tracks each rule's lineage (for who created it) and hierarchy (for how important is it) and in turn, sweeper 268 of workload logic 262 automatically determines which policy rules from policy table to apply depending on the context (e.g., organization and message type) of each incoming message” [Wang Col. 10 Lines 21-27]. “Further, in one embodiment, processing framework 210 of resource mechanism 110 may include workload logic 262 having routing framework 266 and fair usage monitor 264 including calculation logic 807 to calculate fair usage of resources by computing starvation factor and categorizing tenants and/or job types (message types) into one or more categories, such as VICTIM, OFFENDER, and FAIR” [Wang Col. 16 Lines 23-29].“Each row in the routing table maps messages of a specific type (e.g., node (e.g., RAC node), message type, and organization identification (id), etc.) to a physical queue in the transport” [Wang Col. 10 Lines 40-43]. “For example, the fair usage monitor takes the container object as an input and categorizes queues into FAIR, VICTIM, and OFFENDER buckets using a combination of, for example, starvation factor and longest waiter information from each queue. For example, a VICTIM is any queue with starvation factor of 0.5 or higher (resource utilization threshold) (jobs receiving 50% or less thread time than they should have received) and experiencing delays of a predetermined time period, such as 20 minutes or more. An OFFENDER is any queue with starvation factor of -0.5 or lower (resource utilization threshold) (jobs receiving 50% or more thread time than it should have received). All other queues are considered FAIR” [Wang Col. 18 Lines 53-64]. to cause the remediation manager to transmit remediation actions indicated by a script associated with the particular resource type to the plurality of application instances “Additionally, routing table tracks each rule's lineage (for who created it) and hierarchy (for how important is it) and in turn, sweeper 268 of workload logic 262 automatically determines which policy rules from policy table to apply depending on the context (e.g., organization and message type) of each incoming message” [Wang Col. 10 Lines 21-27]. “In one embodiment, routing table 306 and routing policy table 308 of tables 282 of FIG. 2 may also maintain communication, via framework 266 of FIG. 2, with sweeper 268, where routing policy table 308 is accessed and used by sweeper 268 for collection of policy decisions for restricting and/or boosting tenant resources. Sweeper 268 may provide updated assignment of tenant jobs and worker hosts to queues to routing table 306. Routing table 306 then propagates assignment of worker hosts from a cluster of worker hosts 304 to queues” [Wang Col. 14 Lines 11-20]. “In one embodiment, routing table may be updated incrementally to account for one or more of: new message types, manual override rules, and rules that suspend processing of certain messages. To ensure that each application server caches the latest routing rules, an updater job will run for a threshold amount of time, such as every 5 minutes, to query for any latest changes …” [Wang Col. 11 Lines 52-58]. “Each row in the routing table maps messages of a specific type (e.g., node (e.g., RAC node), message type, and organization identification (id), etc.) to a physical queue in the transport. Routing table may be periodically updated by a routing job, such as every 15 minutes and to minimize calls to database 280, each application server may cache a local copy of routing table” [Wang Col. 10 Lines 40-46]. to cause the plurality of application instances to perform the remediation actions indicated by the script associated with the particular resource type with respect to messages having the particular message type that are associated with the entity; “In one embodiment, resource mechanism 110 and its workload logic 262 provides for a routing framework 266 facilitating a routing table to capture how message queue traffic is routed and processed. In one embodiment, workload logic 262 is adaptive in that it can be tuned, at runtime, how messages are processed for one or more organizations and/or message types” [Wang Col. 9 Lines 31-37]. “Throttling queues for OFFENDER job types with the least relevance frees up the most absolute amount of capacity. This additional capacity is then used to boost the processing of VICTIM job types” [Wang Col. 17 Lines 36-39]. “For example, if there are two tiers of queues and two job types, where tier 1 has jobs processed on all (100%) application servers and tier 2 has jobs processed on half (50%) the application servers, and that we have two job types with each job type bound by different tiers, such as job type 1 with tier 1, and job type 2 with tier 2. In one embodiment, each job type gets mapped to a physical queue, such as jobs type 1 are assigned to tier 1 queue, while jobs type 2 are assigned to tier 2 queue” [Wang Col. 19 Lines 38-46]. “In one embodiment, fair usage monitor 264 is employed to facilitate fair usage of thread resources and to keep routing table general enough so each row in the routing table allows for enqueuing of messages of a specific types or attributes (e.g., node, message type, and organization identifier, etc., or a combination thereof) to a specific physical queue, where having these attributes in routing table may help minimize changes to the application server enqueue/ dequeue logic” [Wang Col. 10 Lines 40-46]. the identification of the particular message type and entity combination, “Further, in one embodiment, processing framework 210 of resource mechanism 110 may include workload logic 262 having routing framework 266 and fair usage monitor 264 including calculation logic 807 to calculate fair usage of resources by computing starvation factor and categorizing tenants and/or job types (message types) into one or more categories, such as VICTIM, OFFENDER, and FAIR” [Wang Col. 16 Lines 23-29].“Each row in the routing table maps messages of a specific type (e.g., node (e.g., RAC node), message type, and organization identification (id), etc.) to a physical queue in the transport” [Wang Col. 10 Lines 40-43]. Wang fails to explicitly teach scripts each associated with a different resource type and to alleviate saturation of resources having the resource type associated with the script, the event indicating the particular message type, the entity, and a particular resource type … to cause the remediation manager to transmit remediation actions indicated by a script associated with the particular resource type … the script associated with the particular resource type … a tracing operation that traces execution of code paths triggered by the particular message type and entity combination, wherein the tracing operation generates metrics indicating a length of time taken to process different functions in the code paths; and transmitting the metrics to the entity. However, Malik teaches: scripts each associated with a different resource type “If this analysis suggests with some threshold level of confidence that a shared resource is expected to become a bottleneck and result in a noisy-neighbor situation, it can trigger some automatic actions, such as rebalancing resource allocation and timing thereof, and/or raising an alert or other communication to a support team, as examples … The remedial action could be to schedule an action to be automatically taken, now or later, to control resource allocation (timing, amount, duration, etc.) of the shared resource(s) to the noisy-neighbor, for instance … All of this can be done at the specific resource level (resource type) (network, CPU, etc.) and/or by specific node” [Malik ¶ 26]. “Example shared resources (resource types) include CPU/processing capacity, network bandwidth, storage input/output (I/O) and capacity, and others” [Malik ¶ 44]. to alleviate saturation of resources having the resource type associated with the script, “For instance, the patterns might reflect that, historically, Sunday mornings at 5:00 AM are times of high (saturated) CPU demand by a specific node (caused by usage of specific application(s)/application component(s) on the node) that is a noisy-neighbor to other nodes of the same cluster. It can be predicted therefore that at 5:00 AM of the upcoming Sunday there is expected to be a noisy-neighbor situation to proactively address. In this manner, the process can identify, based on the impact analysis, noisy-neighbor(s) that use the shared resource(s). Appropriate actions, such as automatically raising an alert indicating the actual or predicted noisy-neighbor(s) and/or performing remedial actions, can be taken at that point” [Malik ¶ 22]. the event indicating the particular message type, the entity, and a particular resource type “future. For instance, the patterns might reflect that, historically, Sunday mornings at 5:00 AM are times of high CPU (particular resource type) demand by a specific node (caused by usage of specific application(s)/application component(s) on the node) that is a noisy-neighbor to other nodes of the same cluster. It can be predicted therefore that at 5:00 AM of the upcoming Sunday there is expected to be a noisy-neighbor situation to proactively address. In this manner, the process can identify, based on the impact analysis, noisy-neighbor(s) that use the shared resource(s). Appropriate actions, such as automatically raising an alert indicating the actual or predicted noisy-neighbor(s) and/or performing remedial actions, can be taken at that point” [Malik ¶ 22]. to cause the remediation manager to transmit remediation actions indicated by a script associated with the particular resource type “If this analysis suggests with some threshold level of confidence that a shared resource is expected to become a bottleneck and result in a noisy-neighbor situation, it can trigger some automatic actions, such as rebalancing resource allocation and timing thereof, and/or raising an alert or other communication to a support team, as examples … The remedial action could be to schedule an action to be automatically taken, now or later, to control resource allocation (timing, amount, duration, etc.) of the shared resource(s) to the noisy-neighbor, for instance … All of this can be done at the specific resource level (resource type) (network, CPU, etc.) and/or by specific node” [Malik ¶ 26]. “Example shared resources (resource types) include CPU/processing capacity, network bandwidth, storage input/output (I/O) and capacity, and others” [Malik ¶ 44]. the script associated with the particular resource type “If this analysis suggests with some threshold level of confidence that a shared resource is expected to become a bottleneck and result in a noisy-neighbor situation, it can trigger some automatic actions, such as rebalancing resource allocation and timing thereof, and/or raising an alert or other communication to a support team, as examples … The remedial action could be to schedule an action to be automatically taken, now or later, to control resource allocation (timing, amount, duration, etc.) of the shared resource(s) to the noisy-neighbor, for instance … All of this can be done at the specific resource level (resource type) (network, CPU, etc.) and/or by specific node” [Malik ¶ 26]. “Example shared resources (resource types) include CPU/processing capacity, network bandwidth, storage input/output (I/O) and capacity, and others” [Malik ¶ 44]. a tracing operation that traces execution of code paths triggered by the particular message type and entity combination, wherein the tracing operation generates metrics indicating a length of time taken to process different functions in the code paths; “Network traces component 212 provides a real time data feed to repository 202 of the traces (end-to-end paths) of transactions or other flows performed by or on behalf of components. In a banking transaction, for instance, the transaction may involve several components inputting and outputting data along a path. The network traces can reflect which components (endpoints) are along that path, the time and resources consumed at each component, and other information. If time/resources consumed at one endpoint is significantly greater than at other endpoints, more information about that one endpoint might be desired. The different endpoints could correlate to different nodes, sub-processes. applications, shared resources, etc” [Malik ¶ 32]. “By performing real-time monitoring of, e.g., workload processing and associated resource consumption of the application components (such as consumption by sub-processes of the applications) that use shared resource(s) and of application performance of the applications, this can be correlated to generate insights as to the time-based consumption and performance by applications, tenants, nodes, etc” [Malik ¶ 35]. and transmitting the metrics to the entity. “The engine 226 can generate insights to an alerting and remediation engine 240, for instance to automatically raise an alert indicating the noisy-neighbor(s). In this regard, the alerting and remediation engine 240 can perform real-time alerting on the detected noisy-neighbor(s). The alerting can be to an administrator, stakeholder, administrative team, or any other desired target. In situations where tenants are customers of a service provider, the alert can be to an administrator/team of the service provider, and specifically those of the node(s) and/or cluster(s) of the involved and impacted components” [Malik ¶ 41]. Malik is considered to be analogous to the claimed invention because it is in the same field of workload monitoring. Therefore, it would be obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Wang to incorporate the teachings of Malik and include scripts each associated with a different resource type and to alleviate saturation of resources having the resource type associated with the script, the event indicating the particular message type and a particular resource type … to cause the remediation manager to transmit remediation actions indicated by a script associated with the particular resource type … the script associated with the particular resource type … a tracing operation that traces execution of code paths triggered by the particular message type and entity combination, wherein the tracing operation generates metrics indicating a length of time taken to process different functions in the code paths; and transmitting the metrics to the entity. Doing so would allow for remediation actions to address separate utilization challenges pertaining to different types of resources. “It is possible that more than one noisy-neighbor exists at a given point. A special case of this is when component A is a noisy-neighbor to component B with respect to a first resource but component B is a noisy neighbor to component A with respect to a second resource, different from the first resource. Aspects discussed herein can identify and take corrective action to address these situations by way of resource allocation adjustments to remedy each noisy-neighbor situation” [Malik ¶ 27]. Wang in view of Malik fails to teach also responsive to the identification of the particular message type and entity combination, initiating a tracing operation. However, Arrigoni teaches also responsive to the identification of the particular (problem) message type and entity combination, initiating a tracing operation “As data moves from one service to another service, distributed tracing is the capacity to track and observe service requests to understand the flow of requests so a user may pinpoint weak spots in the system, such as failures or performance issues” [Arrigoni ¶ 54]. “The first step of troubleshooting is to determine what is going on in the environment. By having metrics 207 instrumented over an environment, users can clearly see when issues are occurring and act on those issues before they blow up. Metrics 207 may inform whether there is a problem, but they do not inform of the root cause. The second step of troubleshooting is locating where the problem is happening. Since the complex systems have so many moving parts, it is imperative to locate the right pieces to fix via traces 211” [Arrigoni ¶ 54]. Arrigoni is considered to be analogous to the claimed invention because it is in the same field of indexing schemes relating to monitoring. Wang teaches identifying a problem with a particular message type and entity combination. Arrigoni teaches using tracing operations as a second step after problem identification to track the execution of service requests. These teachings can be combined to initiate a tracing operation in response to the identification of the particular message type and entity combination. Therefore, it would be obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Wang in view of Malik to incorporate the teachings of Arrigoni and include also responsive to the identification of the particular message type and entity combination, initiating a tracing operation. Doing so would allow for locating the root cause of the problem within the request flow. “Metrics 207 may inform whether there is a problem, but they do not inform of the root cause. The second step of troubleshooting is locating where the problem is happening. Since the complex systems have so many moving parts, it is imperative to locate the right pieces to fix via traces 211” [Arrigoni ¶ 54]. Wang in view of Malik in view of Arrigoni fails to explicitly teach a tracing operation that traces execution of code paths triggered by the particular message type and entity combination, and transmitting the metrics to the entity. However, Moulhaud teaches initiating a tracing operation that traces execution of code paths triggered by the particular (criteria) message type and entity combination, “In one example, the tracing criteria component 410 may automatically create tracing criteria based upon detecting an issue associated with a user request received from the client computer (e.g., page unavailable). For example, the tracing criteria may correspond to the client computer, a user, the issue detected, and/or other information” [Moulhaud ¶ 26]. “If the identifying information extracted from the user request 404 matches the tracing criteria 412 (e.g., the tracing criteria specifies that user requests from user ID=Dan are to be traced), then the user request 404 may be traced during processing of the user request 404 by the server 406 to generate tracing data 414” [Moulhaud ¶ 27]. “For example, tracing criteria may comprise user ID=Dan. A first user request processed by a first server may be traced to create first tracing data based upon the first user request being associated with the user ID=Dan” [Moulhaud ¶ 21]. and transmitting the metrics to the entity. “The trace analysis data may be provided within an email, a log file, a user interface accessible to an administrator of the first and/or second server, and/or a web user interface accessible to a client computer originating the first user request and/or the second user request. In this way, the trace analysis data (e.g., derived from server-side tracing data) may be used to troubleshoot issues of a user and/or a client computer originating the first and/or second user request. At 210, the method ends” [Moulhaud ¶ 24]. Moulhaud is considered to be analogous to the claimed invention because it is in the same field of indexing schemes relating to monitoring. Wang teaches the particular message type and entity combination. Moulhaud teaches initiating a tracing operation triggered by a particular criteria. These teachings can be combined by using the particular message type and entity combination of Wang as the criteria of Moulhaud. Therefore, it would be obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Wang in view of Malik in view of Arrigoni to incorporate the teachings of Moulhaud and include a tracing operation that traces execution of code paths triggered by the particular message type and entity combination, and transmitting the metrics to the entity. Doing so would allow the prevention of generating unnecessary tracing data. “If the identifying information does not match the tracing criteria, then tracing may be disabled for the user request, which may mitigate the generation of extraneous/noisy tracing data” [Moulhaud ¶ 4]. With regard to claim 16, Wang in view of Malik in view of Arrigoni in view of Moulhaud teaches the method of claim 15 as referenced above. Wang further teaches wherein the one or more remediation actions comprises throttling messages of the particular message type. “Throttling queues for OFFENDER job types with the least relevance frees up the most absolute amount of capacity. This additional capacity is then used to boost the processing of VICTIM job types” [Wang Col. 17 Lines 36-39]. “Further, the routing table stores rules that describe multitenant policy decisions, such as suspending processing for one organization, restricting a message type to consume no more than a threshold (e.g., 25%) of POD resources, isolating the traffic from competing organizations to prevent starvation, or promoting organizations to a higher tier of queues to provide better quality of service guarantees” [Wang Col. 9 Lines 59-65]. With regard to claim 17, Wang in view of Malik in view of Arrigoni in view of Moulhaud teaches the method of claim 15 as referenced above. Wang further teaches wherein the entity comprises a tenant. “In one embodiment and by way of example, a method includes collecting, by and incorporating into the database system, data relating to job types associated with one or more tenants of a plurality of tenants within a multi-tenant database system…” [Wang Col. 3 Lines 55-59]. Claims 4-6, 14, 18-20, and 28 are rejected under 35 U.S.C. 103 as being unpatentable over Wang (US 10,169,090 B2) in view of Malik (US 2023/0045896 A1) in view of Arrigoni (US 2024/0242031 A1) in view of Moulhaud (US 2013/0111011 A1) in view of Philip (US 2018/0227165 A1). With regard to claim 4, Wang in view of Malik in view of Arrigoni in view of Moulhaud teaches the article of manufacture of claim 1 as referenced above. Wang in view of Malik in view of Arrigoni in view of Moulhaud fails to explicitly teach wherein analyzing the metering data is performed on a first application instance of the application cluster using the metering data provided, at least in part, from other application instances in the application cluster. However, Philip teaches: wherein analyzing the metering data is performed on a first application instance of the application cluster “The compute node 1 includes a virtual machine 1756 and a session border controller (SBC) application 1758” [Philip ¶ 201]. “In an exemplary SIP load balancing embodiment, where the SBCs, e.g., SBCs 132, 134, 136, 138, and 140 are virtual instances in the cloud 102, the SBC instances within the cloud arrange themselves into one or more load balancing clusters (LBC) based on configuration. In this example, the SBC instances arrange themselves into a single cluster 118” [Philip ¶ 130]. “Starting from these seed nodes, the SBC instances of a LBC dynamically elect one (first application instance) or more leaders” [Philip ¶ 130]. “In some embodiments, each resource manager includes a RM server module and a RM client module. In some such embodiments, the RM server module of the elected resource manager, which is to serve as the master resource manager, becomes active while the RM server modules of the other resource managers are inactive” [Philip ¶ 131]. “In step 1010 the first resource manager monitors to receive resource utilization reporting messages from session border controllers in said cluster. Step 1010 is performed on an ongoing basis…In step 1012 the first resource manager determines from the reported resource utilization information session border controller modes of operation, e.g., on a per resource group basis, for said cluster of session border controllers” [Philip ¶ 134-135]. using the metering data provided, at least in part, from other application instances in the application cluster. “… operating a first resource manager, of a first session border controller as a master resource manager, for a plurality of session border controllers in a cluster of session border controllers, said first session border controller being one of the plurality of session border controllers in said cluster, operating the first resource manager including: receiving, at the first resource manager, resource utilization reporting messages from session border controllers in said cluster, said resource utilization reporting messages includes resource utilization information; determining, at the first resource manager, from the reported resource utilization information which of a plurality of session border controller modes of operation the session border controllers are to operate in for a first resource group…” [Philip ¶ 13]. Philip is considered to be analogous to the claimed invention because it is in the same field of logical partitioning of resources. Therefore, it would be obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Wang in view of Malik in view of Arrigoni in view of Moulhaud to incorporate the teachings of Philip and include that analyzing the metering data is performed on a first application instance of the application cluster using the metering data provided, at least in part, from other application instances in the application cluster. Doing so would allow for the regulation of resource usage to be performed by the application cluster itself and thus allows for high availability to perform these regulations. “An exemplary method, in accordance with some embodiments of the present invention, also has support for High Availability. For example, if RM Server, which is the master, goes down, a new RM Server will get elected to operate as the new master for the cluster of SBCs and each of the SBCs (RM clients) in the cluster will connect to new master RM server and will report their current usage and will receive corresponding allocation” [Philip ¶ 278]. With regard to claim 5, Wang in view of Malik in view of Philip in view of Arrigoni in view of Moulhaud in view of Philip teaches the article of manufacture of claim 4 as referenced above. Wang further teaches comprising instructions that, if executed by one or more electronic devices are configurable to cause the one or more electronic devices to perform operations comprising: “A non-transitory machine-readable medium comprising a plurality of instructions which, when executed by a processing device, cause the processing device to perform operations comprising:” [Wang Claim 15]. Wang in view of Malik in view of Arrigoni in view of Moulhaud fails to teach selecting the first application instance for the analyzing the metering data dynamically at runtime. However, Philip teaches selecting the first application instance for the analyzing the metering data dynamically at runtime. “Starting from these seed nodes, the SBC instances of a LBC dynamically elect one (first application instance) or more leaders” [Philip ¶ 130]. “This leader set is tracked continuously. When any leader fails, a new election is invoked to select a replacement leader” [Philip ¶ 130]. “… operating a first resource manager, of a first session border controller as a master resource manager, for a plurality of session border controllers in a cluster of session border controllers, said first session border controller being one of the plurality of session border controllers in said cluster, operating the first resource manager including: receiving, at the first resource manager, resource utilization reporting messages from session border controllers in said cluster, said resource utilization reporting messages includes resource utilization information; determining, at the first resource manager, from the reported resource utilization information which of a plurality of session border controller modes of operation the session border controllers are to operate in for a first resource group…” [Philip ¶ 13]. With regard to claim 6, Wang in view of Malik in view of Arrigoni in view of Moulhaud in view of Philip teaches the article of manufacture of claim 5 as referenced above. Wang in view of Malik in view of Arrigoni in view of Moulhaud fails to teach wherein the selecting is to be performed, at least in part, by the other application instances and/or the first application instance. However, Philip teaches wherein the selecting is to be performed, at least in part, by the other application instances and/or the first application instance. “In step 1004 a plurality of session border controllers in a cluster of session border controllers, each session border controlling including a resource manager, are operated to elect one of the resource managers to operate as a master resource manager” [Philip ¶ 129]. With regard to claim 14, Wang in view of Malik in view of Arrigoni in view of Moulhaud in view of Philip teaches the article of manufacture of claim 4 as referenced above. Wang in view of Malik in view of Arrigoni in view of Moulhaud fails to teach wherein the remediation manager is implemented by an application instance of the application cluster. However, Philip teaches wherein the remediation manager is implemented by an application instance of the application cluster. “The master resource manager communicates the determined cluster mode and the determined resource allocation to the individual SBC, e.g., in a response message. The SBC controls its resource utilization reporting rate as a function of the mode. In at least one mode, e.g., normal mode, the SBC is allowed to use more resources, e.g., X % more, than the amount of resources allocated to the SBC by the master resource manager” [Philip ¶ 12, Fig. 2 Examiner notes the location of Master Resource Manager 230 within SBC instance 4 208 in figure 2]. With regard to claim 18, Wang in view of Malik in view of Arrigoni in view of Moulhaud teaches the method of claim 15 as referenced above. Wang in view of Malik in view of Arrigoni in view of Moulhaud fails to explicitly teach wherein analyzing the metering data is performed on a first application instance of the application cluster using the metering data provided, at least in part, from other application instances in the application cluster. However, Philip teaches: wherein analyzing the metering data is performed on a first application instance of the application cluster “The compute node 1 includes a virtual machine 1756 and a session border controller (SBC) application 1758” [Philip ¶ 201]. “In an exemplary SIP load balancing embodiment, where the SBCs, e.g., SBCs 132, 134, 136, 138, and 140 are virtual instances in the cloud 102, the SBC instances within the cloud arrange themselves into one or more load balancing clusters (LBC) based on configuration. In this example, the SBC instances arrange themselves into a single cluster 118” [Philip ¶ 130]. “Starting from these seed nodes, the SBC instances of a LBC dynamically elect one (first application instance) or more leaders” [Philip ¶ 130]. “In some embodiments, each resource manager includes a RM server module and a RM client module. In some such embodiments, the RM server module of the elected resource manager, which is to serve as the master resource manager, becomes active while the RM server modules of the other resource managers are inactive” [Philip ¶ 131]. “In step 1010 the first resource manager monitors to receive resource utilization reporting messages from session border controllers in said cluster. Step 1010 is performed on an ongoing basis…In step 1012 the first resource manager determines from the reported resource utilization information session border controller modes of operation, e.g., on a per resource group basis, for said cluster of session border controllers” [Philip ¶ 134-135]. using the metering data provided, at least in part, from other application instances in the application cluster. “… operating a first resource manager, of a first session border controller as a master resource manager, for a plurality of session border controllers in a cluster of session border controllers, said first session border controller being one of the plurality of session border controllers in said cluster, operating the first resource manager including: receiving, at the first resource manager, resource utilization reporting messages from session border controllers in said cluster, said resource utilization reporting messages includes resource utilization information; determining, at the first resource manager, from the reported resource utilization information which of a plurality of session border controller modes of operation the session border controllers are to operate in for a first resource group…” [Philip ¶ 13]. It would be obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Wang in view of Malik in view of Arrigoni in view of Moulhaud to incorporate the teachings of Philip and include that analyzing the metering data is performed on a first application instance of the application cluster using the metering data provided, at least in part, from other application instances in the application cluster. Doing so would allow for the regulation of resource usage to be performed by the application cluster itself and thus allows for high availability to perform these regulations. “An exemplary method, in accordance with some embodiments of the present invention, also has support for High Availability. For example, if RM Server, which is the master, goes down, a new RM Server will get elected to operate as the new master for the cluster of SBCs and each of the SBCs (RM clients) in the cluster will connect to new master RM server and will report their current usage and will receive corresponding allocation” [Philip ¶ 278]. With regard to claim 19, Wang in view of Malik in view of Arrigoni in view of Moulhaud in view of Philip teaches the method of claim 18 as referenced above. Wang in view of Malik in view of Arrigoni in view of Moulhaud fails to teach further comprising: selecting the first application instance for the analyzing the metering data dynamically at runtime. However, Philip teaches further comprising: selecting the first application instance for the analyzing the metering data dynamically at runtime. “Starting from these seed nodes, the SBC instances of a LBC dynamically elect one (first application instance) or more leaders” [Philip ¶ 130]. “This leader set is tracked continuously. When any leader fails, a new election is invoked to select a replacement leader” [Philip ¶ 130]. “… operating a first resource manager, of a first session border controller as a master resource manager, for a plurality of session border controllers in a cluster of session border controllers, said first session border controller being one of the plurality of session border controllers in said cluster, operating the first resource manager including: receiving, at the first resource manager, resource utilization reporting messages from session border controllers in said cluster, said resource utilization reporting messages includes resource utilization information; determining, at the first resource manager, from the reported resource utilization information which of a plurality of session border controller modes of operation the session border controllers are to operate in for a first resource group…” [Philip ¶ 13]. With regard to claim 20, Wang in view of Malik in view of Arrigoni in view of Moulhaud in view of Philip teaches the method of claim 19 as referenced above. Wang in view of Malik in view of Arrigoni in view of Moulhaud fails to teach wherein the selecting is to be performed, at least in part, by the other application instances and/or the first application instance. However, Philip teaches wherein the selecting is to be performed, at least in part, by the other application instances and/or the first application instance. “In step 1004 a plurality of session border controllers in a cluster of session border controllers, each session border controlling including a resource manager, are operated to elect one of the resource managers to operate as a master resource manager” [Philip ¶ 129]. With regard to claim 28, Wang in view of Malik in view of Arrigoni in view of Moulhaud teaches the method of claim 15 as referenced above. Wang in view of Malik in view of Arrigoni in view of Moulhaud fails to teach wherein the remediation manager is implemented by an application instance of the application cluster. However, Philip teaches wherein the remediation manager is implemented by an application instance of the application cluster. “The master resource manager communicates the determined cluster mode and the determined resource allocation to the individual SBC, e.g., in a response message. The SBC controls its resource utilization reporting rate as a function of the mode. In at least one mode, e.g., normal mode, the SBC is allowed to use more resources, e.g., X % more, than the amount of resources allocated to the SBC by the master resource manager” [Philip ¶ 12, Fig. 2 Examiner notes the location of Master Resource Manager 230 within SBC instance 4 208 in figure 2]. It would be obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Wang in view of Malik in view of Arrigoni in view of Moulhaud to incorporate the teachings of Philip and include that the remediation manager is implemented by an application instance of the application cluster. Doing so would allow for the regulation of resource usage to be performed by the application cluster itself and thus allows for high availability to perform these regulations. “An exemplary method, in accordance with some embodiments of the present invention, also has support for High Availability. For example, if RM Server, which is the master, goes down, a new RM Server will get elected to operate as the new master for the cluster of SBCs and each of the SBCs (RM clients) in the cluster will connect to new master RM server and will report their current usage and will receive corresponding allocation” [Philip ¶ 278]. Claims 9 and 23 are rejected under 35 U.S.C. 103 as being unpatentable over Wang (US 10,169,090 B2) in view of Malik (US 2023/0045896 A1) in view of Arrigoni (US 2024/0242031 A1) in view of Moulhaud (US 2013/0111011 A1) in view of Levin (US 2020/0310889 A1). With regard to claim 9, Wang in view of Malik in view of Arrigoni in view of Moulhaud teaches the article of manufacture of claim 1 as referenced above. Wang fails to explicitly teach a resource from the plurality of resources that is saturated and an event time. However, Malik teaches: a resource from the plurality of resources that is saturated “The process proceeds by identifying (312), based on the impact analysis, one or more noisy-neighbors that use the one or more shared resources and automatically raising an alert indicating the one or more noisy-neighbors” [Malik ¶ 49]. “For instance, the patterns might reflect that, historically, Sunday mornings at 5:00 AM are times of high (saturated) CPU demand by a specific node (caused by usage of specific application(s)/application component(s) on the node) that is a noisy-neighbor to other nodes of the same cluster. It can be predicted therefore that at 5:00 AM of the upcoming Sunday there is expected to be a noisy-neighbor situation to proactively address. In this manner, the process can identify, based on the impact analysis, noisy-neighbor(s) that use the shared resource(s). Appropriate actions, such as automatically raising an alert indicating the actual or predicted noisy-neighbor(s) and/or performing remedial actions, can be taken at that point” [Malik ¶ 22]. and an event time. “In some examples, performing the impact analysis uses an anomaly detector that is provided the correlated shared resource usage patterns as time-based inputs to the anomaly detector, for instance as a time-series of indicated shared resource usage to inform of impact at discrete times or during discrete time intervals” [Malik ¶ 48]. “In some examples the impact analysis predicts an impact of one application on another application that will happen at a future point in time, and the remedial action is taken prior to that future point in time in order to facilitate avoiding realization of the predicted impact” [Malik ¶ 52]. Wang in view of Malik in view of Arrigoni in view of Moulhaud fails to explicitly teach wherein the event further indicates a resource from the plurality of resources that is saturated and an event time. However, Levin teaches wherein the event includes a plurality of indications including an indication of the resource that is saturated and an event time “The data derived from the behavior 354 can include memory usage, processing circuitry bandwidth usage, or the like… The communication 458 can include data uniquely identifying the resource 408 that is subject of the alert, the behavior 354 that is considered abnormal, a time of the behavior 354, a location (e.g., server identification, geographical location (e.g., of a coloration center or the like), or the like) of the infrastructure 112 on which the resource 408 is operating, or the like” [Levin ¶ 66-67 Examiner notes the behavior of a resource outside the bounds of normal behavior is consistent with the interpretation of “the resource that is saturated”, given above with regard to U.S.C. 112(b), as a resource corresponding a resource utilization threshold]. Levin is considered to be analogous to the claimed invention because it is in the same field of interprogram communication within multiprogramming arrangements. Therefore, it would be obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Wang in view of Malik in view of Arrigoni in view of Moulhaud to incorporate the teachings of Levin and include wherein the event further indicates a resource from the plurality of resources that is saturated and an event time. Doing so would allow for further details to be used in the system response to an event as well as further details provided to a relevant tenant of the system. “The details can identify the cloud resource, the action performed, a time or date on which the action was detected, a severity score indicating how much damage the operation can cause, a confidence associated with the detection (a percentage, decimal value, integer value, or the like), or a combination thereof” [Levin ¶ 40]. With regard to claim 23, Wang in view of Malik in view of Arrigoni in view of Moulhaud teaches the method of claim 15 as referenced above. Wang fails to explicitly teach a resource from the plurality of resources that is saturated and an event time. However, Malik teaches: a resource from the plurality of resources that is saturated “The process proceeds by identifying (312), based on the impact analysis, one or more noisy-neighbors that use the one or more shared resources and automatically raising an alert indicating the one or more noisy-neighbors” [Malik ¶ 49]. “For instance, the patterns might reflect that, historically, Sunday mornings at 5:00 AM are times of high (saturated) CPU demand by a specific node (caused by usage of specific application(s)/application component(s) on the node) that is a noisy-neighbor to other nodes of the same cluster. It can be predicted therefore that at 5:00 AM of the upcoming Sunday there is expected to be a noisy-neighbor situation to proactively address. In this manner, the process can identify, based on the impact analysis, noisy-neighbor(s) that use the shared resource(s). Appropriate actions, such as automatically raising an alert indicating the actual or predicted noisy-neighbor(s) and/or performing remedial actions, can be taken at that point” [Malik ¶ 22]. and an event time. “In some examples, performing the impact analysis uses an anomaly detector that is provided the correlated shared resource usage patterns as time-based inputs to the anomaly detector, for instance as a time-series of indicated shared resource usage to inform of impact at discrete times or during discrete time intervals” [Malik ¶ 48]. “In some examples the impact analysis predicts an impact of one application on another application that will happen at a future point in time, and the remedial action is taken prior to that future point in time in order to facilitate avoiding realization of the predicted impact” [Malik ¶ 52]. Wang in view of Malik in view of Arrigoni in view of Moulhaud fails to explicitly teach wherein the event further indicates a resource from the plurality of resources that is saturated and an event time. However, Levin teaches wherein the event includes a plurality of indications including an indication of the resource that is saturated and an event time, “The data derived from the behavior 354 can include memory usage, processing circuitry bandwidth usage, or the like… The communication 458 can include data uniquely identifying the resource 408 that is subject of the alert, the behavior 354 that is considered abnormal, a time of the behavior 354, a location (e.g., server identification, geographical location (e.g., of a coloration center or the like), or the like) of the infrastructure 112 on which the resource 408 is operating, or the like” [Levin ¶ 66-67 Examiner notes the behavior of a resource outside the bounds of normal behavior is consistent with the interpretation of “the resource that is saturated”, given above with regard to U.S.C. 112(b), as a resource corresponding a resource utilization threshold]. It would be obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Wang in view of Malik in view of Arrigoni in view of Moulhaud to incorporate the teachings of Levin and include wherein the event further indicates a resource from the plurality of resources that is saturated and an event time. Doing so would allow for further details to be used in the system response to an event as well as further details provided to a relevant tenant of the system. “The details can identify the cloud resource, the action performed, a time or date on which the action was detected, a severity score indicating how much damage the operation can cause, a confidence associated with the detection (a percentage, decimal value, integer value, or the like), or a combination thereof” [Levin ¶ 40]. Claims 10-13 and 24-27 are rejected under 35 U.S.C. 103 as being unpatentable over Wang (US 10,169,090 B2) in view of Malik (US 2023/0045896 A1) in view of Arrigoni (US 2024/0242031 A1) in view of Moulhaud (US 2013/0111011 A1) in view of Prabhakar (US 2022/0404888 A1). With regard to claim 10, Wang in view of Malik in view of Arrigoni in view of Moulhaud teaches the article of manufacture of claim 1 as referenced above. Wang further teaches wherein one or more scripts of the plurality of scripts “Further, the routing table stores rules (scripts) that describe multitenant policy decisions, such as suspending processing for one organization, restricting a message type to consume no more than a threshold (e.g., 25%) of POD resources, isolating the traffic from competing organizations to prevent starvation, or promoting organizations to a higher tier of queues to provide better quality of service guarantees” [Wang Col. 9 Lines 59-65]. Wang in view of Malik in view of Arrigoni in view of Moulhaud fails to explicitly teach indicates an iterative set of remediation actions to be applied incrementally. However, Prabhakar teaches: indicates an iterative “The throttling score is iteratively generated as the processor 108 executes one or more processes of the computing device 102” [Prabhakar ¶ 80]. set of remediation actions to be applied incrementally. “For example, an initial throttle score may be generated upon the computing device 102 being turned on and iterative throttling scores may be generated at regular intervals following the generation of the initial throttling score. The throttling score quantifies the amount of processing power to be throttled for a particular application 130” [Prabhakar ¶ 80]. Prabhakar is considered to be analogous to the claimed invention because it is in the same field of indexing schemes for workload thresholds. Therefore, it would be obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Wang in view of Malik in view of Arrigoni in view of Moulhaud to incorporate the teachings of Prabhakar and include indicates an iterative set of remediation actions to be applied incrementally. Doing so would allow for further control options when performing remediation action. “Employing the EPP control technique enables a more gradual method of adjusting power consumption and energy savings associated with a given application, rather than a binary option of throttling the processing power allocated to the given application or not throttling the processing power” [Prabhakar ¶ 91]. With regard to claim 11, Wang in view of Malik in view of Arrigoni in view of Moulhaud in view of Prabhakar teaches the article of manufacture of claim 10 as referenced above. Wang in view of Malik in view of Arrigoni in view of Moulhaud fails to explicitly teach wherein a least invasive remediation action is to be applied first, and the remediation manager is to wait a configurable amount of time and apply a more invasive remediation action if a resource is still operating above the one or more resource utilization thresholds. However, Prabhakar teaches wherein a least invasive remediation action is to be applied first, and the remediation manager is to wait a configurable amount of time and apply a more invasive remediation action if a resource is still operating above the one or more resource utilization thresholds. “The step size may be a measure of how much the throttling score is increased or decreased, as described in the description of FIG. 4. For example, at throttling severity 0, identified as time 509, no throttling is performed and at throttling severity max, identified as time 517, the maximum strength of throttling is performed” [Prabhakar ¶ 90, Fig. 4 and 5 Examiner notes, in figure 4, the throttling score is increased in block 407 every time the power limit is still exceeded]. “In these implementations, the power budget manager 142 can implement a step system that gradually increases or decreases the severity of throttling” [Prabhakar ¶ 86]. “As referenced herein, in real-time can refer to frequent recalculations of a score for each application 130, such as recalculating a score every 30 ms or some other configurable interval of time, to determine a current application status and enable sufficient processing power to be properly allocated to high QoS applications” [Prabhakar ¶ 42]. With regard to claim 12, Wang in view of Malik in view of Arrigoni in view of Moulhaud in view of Prabhakar teaches the article of manufacture of claim 11 as referenced above. Wang in view of Malik in view of Arrigoni in view of Moulhaud fails to explicitly teach wherein the remediation manager is to apply successively more invasive remediation actions until the resource is no longer operating above the one or more resource utilization thresholds. However, Prabhakar teaches: wherein the remediation manager is to apply successively more invasive remediation actions “In these implementations, the power budget manager 142 can implement a step system that gradually increases or decreases the severity of throttling” [Prabhakar ¶ 86]. until the resource is no longer operating above the one or more resource utilization thresholds. “Where the power limit (resource utilization threshold) has not been reached, the method 400 proceeds to operation 409 and the power budget manager 142 reduces the throttling score” [Prabhakar ¶ 82, Fig. 4 Examiner notes block 405 in figure 4]. With regard to claim 13, Wang in view of Malik in view of Arrigoni in view of Moulhaud in view of Prabhakar teaches the article of manufacture of claim 12 as referenced above. Wang further teaches wherein the remediation manager “In one embodiment, transaction sequence 440 may be performed by thread resource management mechanism (remediation manager) 110 of FIG. 1” [Wang Col. 15 Lines 15-17]. Wang in view of Malik in view of Arrigoni fails to explicitly teach initiates the tracing operation and transmits the metrics to the entity. However, Moulhaud teaches initiates the tracing operation and transmits the metrics to the entity. “If the identifying information extracted from the user request 404 matches the tracing criteria 412 (e.g., the tracing criteria specifies that user requests from user ID=Dan are to be traced), then the user request 404 may be traced during processing of the user request 404 by the server 406 to generate tracing data 414” [Moulhaud ¶ 27]. “The trace analysis data may be provided within an email, a log file, a user interface accessible to an administrator of the first and/or second server, and/or a web user interface accessible to a client computer originating the first user request and/or the second user request. In this way, the trace analysis data (e.g., derived from server-side tracing data) may be used to troubleshoot issues of a user and/or a client computer originating the first and/or second user request. At 210, the method ends” [Moulhaud ¶ 24]. With regard to claim 24, Wang in view of Malik in view of Arrigoni in view of Moulhaud teaches the method of claim 15 as referenced above. Wang further teaches wherein one or more scripts of the plurality of scripts “Further, the routing table stores rules (scripts) that describe multitenant policy decisions, such as suspending processing for one organization, restricting a message type to consume no more than a threshold (e.g., 25%) of POD resources, isolating the traffic from competing organizations to prevent starvation, or promoting organizations to a higher tier of queues to provide better quality of service guarantees” [Wang Col. 9 Lines 59-65]. Wang in view of Malik in view of Arrigoni in view of Moulhaud fails to explicitly teach indicates an iterative set of remediation actions to be applied incrementally. However, Prabhakar teaches: indicates an iterative “The throttling score is iteratively generated as the processor 108 executes one or more processes of the computing device 102” [Prabhakar ¶ 80]. set of remediation actions to be applied incrementally. “For example, an initial throttle score may be generated upon the computing device 102 being turned on and iterative throttling scores may be generated at regular intervals following the generation of the initial throttling score. The throttling score quantifies the amount of processing power to be throttled for a particular application 130” [Prabhakar ¶ 80]. It would be obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Wang in view of Malik in view of Arrigoni in view of Moulhaud to incorporate the teachings of Prabhakar and include indicates an iterative set of remediation actions to be applied incrementally. Doing so would allow for further control options when performing remediation action. “Employing the EPP control technique enables a more gradual method of adjusting power consumption and energy savings associated with a given application, rather than a binary option of throttling the processing power allocated to the given application or not throttling the processing power” [Prabhakar ¶ 91]. With regard to claim 25, Wang in view of Malik in view of Arrigoni in view of Moulhaud in view of Prabhakar teaches the method of claim 24 as referenced above. Wang in view of Malik in view of Arrigoni in view of Moulhaud fails to explicitly teach wherein a least invasive remediation action is to be applied first, and the remediation manager is to wait a configurable amount of time and apply a more invasive remediation action if a resource is still operating above the one or more resource utilization thresholds. However, Prabhakar teaches wherein a least invasive remediation action is to be applied first, and the remediation manager is to wait a configurable amount of time and apply a more invasive remediation action if a resource is still operating above the one or more resource utilization thresholds. “The step size may be a measure of how much the throttling score is increased or decreased, as described in the description of FIG. 4. For example, at throttling severity 0, identified as time 509, no throttling is performed and at throttling severity max, identified as time 517, the maximum strength of throttling is performed” [Prabhakar ¶ 90, Fig. 4 and 5 Examiner notes, in figure 4, the throttling score is increased in block 407 every time the power limit is still exceeded]. “In these implementations, the power budget manager 142 can implement a step system that gradually increases or decreases the severity of throttling” [Prabhakar ¶ 86]. “As referenced herein, in real-time can refer to frequent recalculations of a score for each application 130, such as recalculating a score every 30 ms or some other configurable interval of time, to determine a current application status and enable sufficient processing power to be properly allocated to high QoS applications” [Prabhakar ¶ 42]. With regard to claim 26, Wang in view of Malik in view of Arrigoni in view of Moulhaud in view of Prabhakar teaches the method of claim 25 as referenced above. Wang in view of Malik in view of Arrigoni in view of Moulhaud fails to explicitly teach wherein the remediation manager is to apply successively more invasive remediation actions until the resource is no longer operating above the one or more resource utilization thresholds. However, Prabhakar teaches: wherein the remediation manager is to apply successively more invasive remediation actions “In these implementations, the power budget manager 142 can implement a step system that gradually increases or decreases the severity of throttling” [Prabhakar ¶ 86]. until the resource is no longer operating above the one or more resource utilization thresholds. “Where the power limit (resource utilization threshold) has not been reached, the method 400 proceeds to operation 409 and the power budget manager 142 reduces the throttling score” [Prabhakar ¶ 82, Fig. 4 Examiner notes block 405 in figure 4]. With regard to claim 27, Wang in view of Malik in view of Arrigoni in view of Moulhaud in view of Prabhakar teaches the method of claim 26 as referenced above. Wang further teaches wherein the remediation manager “In one embodiment, transaction sequence 440 may be performed by thread resource management mechanism (remediation manager) 110 of FIG. 1” [Wang Col. 15 Lines 15-17]. Wang in view of Malik in view of Arrigoni fails to explicitly teach initiates the tracing operation and transmits the metrics to the entity. However, Moulhaud teaches initiates the tracing operation and transmits the metrics to the entity. “If the identifying information extracted from the user request 404 matches the tracing criteria 412 (e.g., the tracing criteria specifies that user requests from user ID=Dan are to be traced), then the user request 404 may be traced during processing of the user request 404 by the server 406 to generate tracing data 414” [Moulhaud ¶ 27]. “The trace analysis data may be provided within an email, a log file, a user interface accessible to an administrator of the first and/or second server, and/or a web user interface accessible to a client computer originating the first user request and/or the second user request. In this way, the trace analysis data (e.g., derived from server-side tracing data) may be used to troubleshoot issues of a user and/or a client computer originating the first and/or second user request. At 210, the method ends” [Moulhaud ¶ 24]. Response to Arguments Applicant's arguments filed 02/23/2026 have been fully considered but they are not persuasive. Applicant argues in substance: I. Wang does not mention any tracing operations. Malik discloses, "[n]etwork traces component 212 provides a real time data feed to repository 202 of the traces (end-to-end paths) of transactions or other flows performed by or on behalf of components." (Malik, paragraph [0032]). However, the traces mentioned in Malik are not generated responsive to the identification of the particular message type and entity combination and are not specific to the code paths triggered by the particular message type and entity combination that is responsible for the one or more resource utilization thresholds being reached. Rather, the traces mentioned in Malik are non-targeted traces that are continually generated for all transactions that occur in the computing environment. The claimed solution recited in amended claim 1 provides a targeted tracing operation that is initiated when an offending message type and entity combination is identified and that specifically traces code paths triggered by the offending message type and entity combination, which reduces the overhead incurred by the tracing operation. At least for the reasons mentioned above, Wang and Malik fail to teach every element of claim 1. Thus, claim 1 is submitted as not being obvious over Wang and Malik. Accordingly, reconsideration and withdrawal of the obviousness rejection of claim 1 are requested. Claim 15 as amended recites elements that are analogous to those discussed above with regard to claim 1. For at least the same reasons as discussed above with regard to claim 1, this claim is submitted as not being obvious over the cited references. Accordingly, reconsideration and withdrawal of the obviousness rejection of this claim are requested. Applicant’s arguments with respect to claim(s) 1-6, 9-20, and 23-28 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 Examiner respectfully requests, in response to this Office action, support be shown for language added to any original claims on amendment and any new claims. That is, indicate support for newly added claim language by specifically pointing to page(s) and line number(s) in the specification and/or drawing figure(s). This will assist Examiner in prosecuting the application. When responding to this Office Action, Applicant is advised to clearly point out the patentable novelty which he or she thinks the claims present, in view of the state of the art disclosed by the references cited or the objections made. He or she must also show how the amendments avoid such references or objections. See 37 CFR 1.111(c). Any inquiry concerning this communication or earlier communications from the examiner should be directed to ARI F RIGGINS whose telephone number is (571)272-2772. The examiner can normally be reached Monday-Friday 7:00AM-4:30PM. 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, Bradley Teets can be reached at (571) 272-3338. 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. /A.F.R./Examiner, Art Unit 2197 /BRADLEY A TEETS/Supervisory Patent Examiner, Art Unit 2197
Read full office action

Prosecution Timeline

Show 6 earlier events
Dec 23, 2025
Final Rejection mailed — §103
Feb 06, 2026
Interview Requested
Feb 18, 2026
Applicant Interview (Telephonic)
Feb 18, 2026
Examiner Interview Summary
Feb 23, 2026
Response after Non-Final Action
Mar 23, 2026
Request for Continued Examination
Mar 25, 2026
Response after Non-Final Action
Jul 01, 2026
Non-Final Rejection mailed — §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12675316
USING MULTIPLE QUOTA TREES IN RESOURCE SCHEDULING
4y 6m to grant Granted Jul 07, 2026
Study what changed to get past this examiner. Based on 1 most recent grants.

Strategy Recommendation AI-generated — please review before filing

Get a prosecution strategy drawn from examiner precedents, rejection analysis, and claim mapping.
Typically takes 5-10 seconds — AI-generated, attorney review required before filing

Prosecution Projections

3-4
Expected OA Rounds
50%
Grant Probability
99%
With Interview (+100.0%)
3y 7m (~1m remaining)
Median Time to Grant
High
PTA Risk
Based on 4 resolved cases by this examiner. Grant probability derived from career allowance rate.

Sign in with your work email

Enter your email to receive a magic link. No password needed.

Personal email addresses (Gmail, Yahoo, etc.) are not accepted.

Free tier: 3 strategy analyses per month