# US 9,436,534 B2 · Method and system for preemptive detection of occurrence of faulty conditions based on resource usage

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 9,436,534 B2
- Document ID: US9436534B2
- Status: Granted
- Kind: B2
- Application number: 13/979,135
- Filed: 2011-01-17
- Published: 2014-04-03
- Granted: 2016-09-06
- Earliest claimed: 2011-01-17
- Assignees: Infosys Limited
- Applicants: Venkataramanan Tenkarai Sankaran; Deepak Narayan Hoshing; Suresh Nochilur Ranganathan; Manoj Kumar Agrawal
- Inventors: Venkataramanan Tenkarai Sankaran; Deepak Narayan Hoshing; Suresh Nochilur Ranganathan; Manoj Kumar Agrawal
- Web page: https://patentgrep.com/patent/US9436534B2

## CPC

- G06F 11/0754: {by exceeding limits}
- G06F 9/50: Allocation of resources, e.g. of the central processing unit [CPU]
- G06F 11/008: {Reliability or availability analysis}
- G06F 11/0715: {in a system implementing multitasking (multitasking per se G06F9/46)}
- G06F 11/0793: {Remedial or corrective actions (recovery from an exception in an instruction pipeline G06F9/3861; by retry G06F11/1402; for recovering from a failure of a protocol instance or entity H04L69/40)}
- G06F 11/3466: {Performance evaluation by tracing or monitoring}
- G06F 11/3065: {Monitoring arrangements determined by the means or processing involved in reporting the monitored data (error or fault reporting or logging G06F11/0766)}
- G06F 11/3409: {for performance assessment}
- G06F 2201/81: Threshold
- G06F 2201/865: Monitoring of software
- G06F 2209/5022: Workload threshold
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A method and a system have been disclosed for the preemptive detection of occurrence of one or more faulty conditions based on the usage of one or more resources. The faulty conditions are detected during an execution of a program; the program includes at least one function. The method includes initializing Application Program Interfaces (APIs) across the at least one function. After this, calls to the APIs used within a namespace of the program are intercepted. The interception is performed by the at least one function through extended method classes. Thereafter, the usage of the resources for the at least function intercepting the APIs is checked against a corresponding predetermined threshold limit. Once the usage of the resources is checked, context of the usage of the resources is identified based on a predefined knowledge. Subsequently, the occurrence of the faulty conditions is determined based on the identification.

## Claims

### Claim 1

A method for preemptive detection of occurrence of one or more faulty conditions based on usage of one or more resources executed by one or more computing devices, the one or more faulty conditions are detected during an execution of a program, the program comprising at least one function, the method comprising:
a. initializing Application Program Interfaces (APIs) across the at least one function defined in the program;
b. intercepting calls to the APIs used within a namespace of the program, the interception being performed by the at least one function through extended method classes;
c. checking the usage of the one or more resources for the at least one function intercepting the APIs, the usage of the one or more resources being checked against a corresponding pre-determined threshold limit;
d. identifying context of the usage of the one or more resources based on a pre-defined knowledge; and
e. determining the occurrence of the one or more faulty conditions based on the identification.

### Claim 2 (depends on 1)

The method of claim 1, further comprising extending the APIs to program specific APIs.

### Claim 3 (depends on 1)

The method of claim 1, further comprising monitoring the intercepted APIs for a pre-defined threshold level.

### Claim 4 (depends on 1)

The method of claim 1, further comprising initializing the one or more resources allocated to the program, the one or more resources are allocated based on requirements of the program.

### Claim 5 (depends on 1)

The method of claim 1, further comprising maintaining statistics related to the usage of the one or more resources.

### Claim 6 (depends on 1)

The method of claim 1, further comprising generating one or more actions after detecting the occurrence of the one or more faulty conditions.

### Claim 7 (depends on 6)

The method of claim 6, wherein the one or more actions comprise corrective actions, preventive actions, and alerting actions.

### Claim 8 (depends on 1)

The method of claim 1, further comprising generating a report containing details associated with the one or more faulty conditions.

### Claim 9 (depends on 8)

The method of claim 8, further comprising highlighting at least one of: the at least one function and objects in the report.

### Claim 10 (depends on 1)

The method of claim 1 further comprising applying a braking logic on a function or thread responsible for the faulty condition thereby preventing failure of the program.

### Claim 11

A system for preemptive detection of occurrence of one or more faulty conditions based on usage of one or more resources, the one or more faulty conditions are detected during an execution of a program, the program comprising at least one function, the system comprising:
At least one processor in operable communication with a computer readable storage medium, the computer readable storage medium containing one or more programming instructions whereby the at least one processor is configured to implement:
a. a run-time environment configured for:
i. initializing Application Program Interfaces (APIs) across the at least one function defined in the program; and
ii. intercepting calls to the APIs used within a namespace of the program, the interception being performed by the at least one function through extended method classes;
b. a context selector configured for identifying context of the usage of the one or more resources based on a pre-defined knowledge; and
c. an analyzer configured for:
i. checking the usage of the one or more resources for the at least one function intercepting the APIs, the usage of the one or more resources being checked against a corresponding pre-determined threshold limit; and
ii. determining the occurrence of the one or more faulty conditions based on the identification and the check performed.

### Claim 12 (depends on 11)

The system of claim 11, further configured for extending the APIs to program specific APIs.

### Claim 13 (depends on 11)

The system of claim 11, further configured for monitoring the intercepted APIs for a pre-defined threshold level.

### Claim 14 (depends on 11)

The system of claim 11, further configured for initializing the one or more resources allocated to the program, the one or more resources are allocated based on requirements of the program.

### Claim 15 (depends on 11)

The system of claim 11, further comprising a cache configured for maintaining statistics related to the usage of the one or more resources.

### Claim 16 (depends on 11)

The system of claim 11, further comprising an event generator module configured for generating one or more actions after detecting the occurrence of the one or more faulty conditions.

### Claim 17 (depends on 16)

The system of claim 16, wherein the one or more actions comprise corrective actions, preventive actions, and alerting actions.

### Claim 18 (depends on 11)

The system of claim 11, further configured for generating a report containing details associated with the one or more faulty conditions.

### Claim 19 (depends on 18)

The system of claim 18, further configured for highlighting at least one of: the at least one function and objects in the report.

### Claim 20 (depends on 11)

The system of claim 11, wherein the program being written in a pre-defined programming language.

### Claim 21

A computer program product for use with a computer, the computer program product comprising a nontransitory computer usable storage medium having a computer readable program code embodied therein for preemptive detection of occurrence of one or more faulty conditions based on usage of one or more resources, the one or more faulty conditions are detected during an execution of a program, the program comprising at least one function, the computer readable program code storing a set of instructions comprising instructions for causing at least one computer processor to:
a. initialize Application Program Interfaces (APIs) across the at least one function defined in the program;
b. intercept calls to the APIs used within a namespace of the program, the interception being performed by the at least one function through extended method classes;
c. check the usage of the one or more resources for the at least one function intercepting the APIs, the usage of the one or more resources being checked against a corresponding pre-determined threshold limit;
d. identify context of the usage of the one or more resources based on a pre-defined knowledge; and
e. determine the occurrence of the one or more faulty conditions based on the identification.

### Claim 22 (depends on 21)

The computer program product of claim 21, further comprising instructions for causing the at least one computer processor to extend the APIs to program specific APIs.

### Claim 23 (depends on 21)

The computer program product of claim 21, further comprising instructions for causing the at least one computer processor to automatically change the namespace of the at least one function to program specific API namespace.

### Claim 24 (depends on 21)

The computer program product of claim 21, further comprising instructions for causing the at least one computer processor to monitor the intercepted APIs for a pre-defined threshold level.

### Claim 25 (depends on 21)

The computer program product of claim 21, further comprising instructions for causing the at least one computer processor to initialize the one or more resources allocated to the program, the one or more resources are allocated based on requirements of the program.

### Claim 26 (depends on 21)

The computer program product of claim 21, further comprising instructions for causing the at least one computer processor to maintaining statistics related to the usage of the one or more resources.

### Claim 27 (depends on 21)

The computer program product of claim 21, further comprising instructions for causing the at least one computer processor to generate one or more actions after detecting the occurrence of the one or more faulty conditions.

### Claim 28 (depends on 27)

The computer program product of claim 27, wherein the one or more actions comprise corrective actions, preventive actions, and alerting actions.

### Claim 29 (depends on 21)

The computer program product of claim 21, further comprising instructions for causing the at least one computer processor to generate a report containing details associated with the one or more faulty conditions.

### Claim 30 (depends on 29)

The computer program product of claim 29, further comprising highlighting at least one of: the at least one function and objects in the report.
