Modification of computing resource behavior based on aggregated monitoring information
First Claim
1. A computer system comprising:
- a second computing device; and
a first computing device comprising;
a first memory device;
a resource allocation module;
a first shared computing resource; and
a first processing device coupled to the first memory device and configured to perform, based on instructions stored in the first memory device;
in response to an occurrence of an external event, managing a first load level and a second load level of the first shared computing resource by a first software application and a second software application, respectively;
mapping a plurality of policies to a plurality of previous event patterns, wherein the plurality of policies comprises a first policy and a second policy;
determining a first load level and a second load level of the first shared computing resource by the first software application and the second software application, respectively, that are executing on the first computing device;
when the first load level exceeds a first predetermined threshold,obtaining a first event data stream for the first software application;
selecting a first filter from a plurality of filters for the first software application;
transforming the first event data stream with the first filter to obtain a first detected event pattern;
when the first detected event pattern matches a first previous event pattern of the plurality of previous event patterns, instructing the resource allocation module to apply the first policy to the first software application for the first shared computing resource;
when the second load level exceeds a second predetermined threshold,obtaining a second event data stream for the second software application;
selecting a second filter from a plurality of filters for the second software application, wherein the second filter is different from the first filter;
transforming the second event data stream to obtain a second detected event pattern;
when the second detected event pattern matches a second previous event pattern of the plurality of previous event patterns, instructing the resource allocation module to apply the second policy to the second software application for the first shared computing resource; and
detecting whether the first detected event pattern comprises an ordered sequence of events before instructing the resource allocation to apply the first policy.
1 Assignment
0 Petitions
Accused Products
Abstract
A computer system deploys monitoring agents that monitor the status and health of the computing resources. An analysis engine aggregates and analyzes event information from monitoring agents in order to support self-configuration, self-healing, self-optimization, and self-protection for managing the computer resources. If the analysis engine determines that a computing resource for a software application is approaching a critical status, the analysis engine may issue a command to that computing resource in accordance with a selected policy based on a detected event pattern. The command may indicate how the computing resource should change its behavior in order to minimize downtime for the software application as supported by that computing resource. The computer system may also support a distributed approach with a plurality of servers interacting with a central engine to manage the computer resources located at the servers.
-
Citations
17 Claims
-
1. A computer system comprising:
-
a second computing device; and a first computing device comprising; a first memory device; a resource allocation module; a first shared computing resource; and a first processing device coupled to the first memory device and configured to perform, based on instructions stored in the first memory device; in response to an occurrence of an external event, managing a first load level and a second load level of the first shared computing resource by a first software application and a second software application, respectively; mapping a plurality of policies to a plurality of previous event patterns, wherein the plurality of policies comprises a first policy and a second policy; determining a first load level and a second load level of the first shared computing resource by the first software application and the second software application, respectively, that are executing on the first computing device; when the first load level exceeds a first predetermined threshold, obtaining a first event data stream for the first software application; selecting a first filter from a plurality of filters for the first software application; transforming the first event data stream with the first filter to obtain a first detected event pattern; when the first detected event pattern matches a first previous event pattern of the plurality of previous event patterns, instructing the resource allocation module to apply the first policy to the first software application for the first shared computing resource; when the second load level exceeds a second predetermined threshold, obtaining a second event data stream for the second software application; selecting a second filter from a plurality of filters for the second software application, wherein the second filter is different from the first filter; transforming the second event data stream to obtain a second detected event pattern; when the second detected event pattern matches a second previous event pattern of the plurality of previous event patterns, instructing the resource allocation module to apply the second policy to the second software application for the first shared computing resource; and detecting whether the first detected event pattern comprises an ordered sequence of events before instructing the resource allocation to apply the first policy. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 17)
-
-
12. A computer-assisted method for managing a computer network, the method comprising:
-
in response to an occurrence of an external event, determining, by a first computing device, a first load level and a second load level of a first shared computing resource by a first software application and a second software application, respectively, that are executing on the first computing device; when the first load level exceeds a first predetermined threshold, obtaining, by the first computing device, a first event data stream for the first software application; selecting a first filter from a plurality of filters for the first software application;
transforming, by the first computing device, the first event data stream with the first filter to obtain a first detected event pattern;when the first detected event pattern matches any event pattern of a plurality of previous event patterns accessed from a coupled memory device, applying, by the first computing device, a first policy to the first software application for the first shared computing resource; when the first detected event pattern does not match said any event pattern, sending, by the first computing device, a first event request to a second computing device, wherein the first event request includes event information indicative of the first detected event pattern; receiving, by the first computing device, a first event response from the second computing device, wherein the first event response is indicative of whether the first detected event pattern matches a first previously occurring event pattern that has occurred in the computer network; when the second load level exceeds a second predetermined threshold, obtaining, by the first computing device, a second event data stream for the second software application; selecting a second filter from a plurality of filters for the second software application, wherein the second filter is different from the first filter; transforming, by the first computing device, the second event data stream with the second filter to obtain a second detected event pattern; and when the second detected event pattern matches one of the plurality of previous event patterns accessed from a coupled memory device, applying, by the first computing device, a second policy to the second software application for the first shared computing resource; and detecting whether the first detected event pattern comprises an ordered sequence of events before instructing a resource allocation to apply the first policy. - View Dependent Claims (13, 14, 15)
-
-
16. A non-transitory computer-readable storage medium storing computer-executable instructions that, when executed, cause a processor at least to perform operations comprising:
-
in response to an occurrence of an external event, detecting a first load level and a second load level of a shared computing resource by a first software application and a second software application, respectively, wherein the first and second applications are executing on a computing device; when the first load level exceeds a first predetermined threshold, obtaining an analysis of a first event data stream for the first software application; transforming the first event data stream with a first filter for the shared computing resource to obtain a first detected event pattern; when the first detected event pattern matches a first previous event pattern of a plurality of previous event patterns, applying a first policy to the first software application for the shared computing resource; when the second load level exceeds a second predetermined threshold, obtaining a second event data stream for the second software application;
transforming the second event data stream with a second filter for the shared computing resource to obtain a second detected event pattern;when the second detected event pattern matches a second previous event pattern of the plurality of previous event patterns, applying a second policy to the second software application for the shared computing resource; and detecting whether the first detected event pattern comprises an ordered sequence of events before instructing a resource allocation to apply the first policy.
-
Specification