Detecting, using, and sharing it design patterns and anti-patterns
First Claim
Patent Images
1. A system comprising:
- at least one processor;
at least one memory device;
at least one data storage device;
a pattern repository including data stored on the at least one data storage device, the pattern repository holding pattern data structures each including data representative of computing system configuration item configuration settings defining a pattern or anti-pattern, the data representative of a pattern defining a known solution to a defined problem and the data representative of an anti-pattern defining a bad solution to a defined problem;
a performance metric database storing;
performance metrics executable by the at least one processor to measure performance of a computing system based on performance related data obtained from processes of the computing system and devices upon which the computing system operates; and
performance metric data provided as a result of applying performance metrics, each performance metric data item including a time data element identifying when the performance metric data was generated; and
a system improvement module having instructions stored and retrievable from the at least one data storage device into the at least one memory device, the instructions executable by the at least one processor to;
measure performance of the computing system by applying at least one performance metric retrieved from the performance metric database;
when applying the at least one performance metric reveals a performance issue within the computing system, automatically query the pattern repository to identify a pattern, the implementation of which is likely to improve performance of the computing system with regard to the revealed performance issue, the performance issue revealed by matching at least a portion of the at least one performance metric with an anti-pattern, the automatic query performed based at least in part on the matched anti-pattern to identify a pattern that defines a solution to a defined problem associated with the matched anti-pattern; and
when the automatic query identifies a pattern, automatically implement the identified pattern in the computing system.
2 Assignments
0 Petitions
Accused Products
Abstract
Various embodiments described and illustrated herein include at least one of systems, methods, and software to identify, use, or share patterns and anti-patterns. Embodiments that include pattern and anti-pattern identification operate to identify candidate patterns and anti-patterns within a deployed system and to confirm or receive confirmation that the identified candidates are indeed patterns or anti-patterns. Embodiments that use patterns and anti-patterns operate to consume the identified patterns and anti-patterns to improve system performance. The embodiments that share patterns and anti-patterns include mechanisms whereby patterns and anti-patterns can be sent to and received from other systems.
36 Citations
19 Claims
-
1. A system comprising:
-
at least one processor; at least one memory device; at least one data storage device; a pattern repository including data stored on the at least one data storage device, the pattern repository holding pattern data structures each including data representative of computing system configuration item configuration settings defining a pattern or anti-pattern, the data representative of a pattern defining a known solution to a defined problem and the data representative of an anti-pattern defining a bad solution to a defined problem; a performance metric database storing; performance metrics executable by the at least one processor to measure performance of a computing system based on performance related data obtained from processes of the computing system and devices upon which the computing system operates; and performance metric data provided as a result of applying performance metrics, each performance metric data item including a time data element identifying when the performance metric data was generated; and a system improvement module having instructions stored and retrievable from the at least one data storage device into the at least one memory device, the instructions executable by the at least one processor to; measure performance of the computing system by applying at least one performance metric retrieved from the performance metric database; when applying the at least one performance metric reveals a performance issue within the computing system, automatically query the pattern repository to identify a pattern, the implementation of which is likely to improve performance of the computing system with regard to the revealed performance issue, the performance issue revealed by matching at least a portion of the at least one performance metric with an anti-pattern, the automatic query performed based at least in part on the matched anti-pattern to identify a pattern that defines a solution to a defined problem associated with the matched anti-pattern; and when the automatic query identifies a pattern, automatically implement the identified pattern in the computing system. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A non-transitory computer-readable storage device, with instructions stored thereon, which when executed by at least one processor of a computer, cause the computer to:
-
receive pattern data structures from a plurality of constituent system improvement module systems, the pattern data structures each including data representative of computing system configuration item configuration settings defining a pattern or anti-pattern, the data representative of a pattern defining a known solution to a defined problem and the data representative of an anti-pattern defining a bad solution to a defined problem, and metadata descriptive of the pattern or anti-pattern represented by the data structure; compare a received pattern data structure to other received pattern data structures to identify variations and generate groups of similar pattern data structures; present a view of commonality between a group of similar pattern data structures; receive input to abstract the commonality between the group of similar pattern data structures to generate a single template pattern data structure; receive input adding metadata associating the single template pattern data structure to another single template pattern data structure, when the single template pattern data structure defines an anti-pattern, the added metadata associating the single template pattern data structure to another single template pattern data structure defining a pattern providing a solution to the defined problem of the anti-pattern; and when the single template pattern data structure defines a pattern, the added metadata associating the single template pattern data structure to another single template pattern data structure defining an anti-pattern, the defined problem for which the pattern defined in the single template pattern data structure provides a solution; and store the single template pattern data structure in a network location accessible by the constituent system improvement module systems to allow the constituent system improvement module systems to download the single template pattern data structure. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A method comprising:
-
receiving pattern data structures from a plurality of constituent system improvement module systems, the pattern data structures each including data representative of computing system configuration item configuration settings defining a pattern or anti-pattern, the data representative of a pattern defining a known solution to a defined problem and the data representative of an anti-pattern defining a bad solution to a defined problem, and metadata descriptive of the pattern or anti-pattern represented by the data structure; comparing a received pattern data structure to other received pattern data structures to identify variations and generate groups of similar pattern data structures; presenting a view of commonality between a group of similar pattern data structures; receiving input to abstract the commonality between the group of similar pattern data structures to generate a single template pattern data structure; receiving input adding metadata associating the single template pattern data structure to another single template pattern data structure, when the single template pattern data structure defines an anti-pattern, the added metadata associating the single template pattern data structure to another single template pattern data structure defining a pattern providing a solution to the defined problem of the anti-pattern; and when the single template pattern data structure defines a pattern, the added metadata associating the single template pattern data structure to another single template pattern data structure defining an anti-pattern, the defined problem for which the pattern defined in the single template pattern data structure provides a solution; and storing the single template pattern data structure in a network location accessible by the constituent system improvement module systems to allow the constituent system improvement module systems to download the single template pattern data structure. - View Dependent Claims (15, 16, 17, 18, 19)
-
Specification