Performance engineering and the application life cycle
First Claim
1. A system that facilitates performance engineering of an application, comprising:
- one or more computer processors;
one or more computer storage media having stored thereon computer-executable instructions in the form of;
a performance engineering component, executable by the one or more computer processors, that includes a plurality of performance engineering activities, wherein each of the performance engineering activities are available throughout an entire life cycle of development of an application, wherein the performance engineering component produces a metric, wherein the performance engineering activities are defined by a performance frame specifically for the application, and wherein the performance frame includes a pattern-based information model for the application defining specific performance objectives;
a performance integration component, executable by the one or more computer processors, that integrates a subset of the plurality of performance engineering activities into development of the application, such that all of the plurality of performance engineering activities are available throughout the entire life cycle, while some, but not all, of the plurality of performance engineering activities are implementable at one or more stages of the life cycle of development of the application;
and a machine leaning and reasoning (MLR) component, executable by the one or more computer processors, providing artificial intelligence, wherein the MLR component is communicatively coupled to the performance engineering component and the performance integration component, and wherein the MLR component maps an input attribute vector to a confidence in automatically establishing a baseline and at least some performance objectives for the application.
2 Assignments
0 Petitions
Accused Products
Abstract
A novel approach to performance engineering that leverages expertise to enable a user to design, build and deploy reliable and efficient applications is disclosed. In doing so, the innovation discloses novel techniques and mechanisms that integrate performance into the application development lifecycle and to adapt current software engineering practices and methodologies to include specific performance related activities. These activities include identifying performance objectives, creating performance models, applying performance-related design guidelines, conducting performance-related design inspections, performing regular code inspections, testing for performance, and conducting performance-related deployment inspections.
-
Citations
19 Claims
-
1. A system that facilitates performance engineering of an application, comprising:
-
one or more computer processors; one or more computer storage media having stored thereon computer-executable instructions in the form of; a performance engineering component, executable by the one or more computer processors, that includes a plurality of performance engineering activities, wherein each of the performance engineering activities are available throughout an entire life cycle of development of an application, wherein the performance engineering component produces a metric, wherein the performance engineering activities are defined by a performance frame specifically for the application, and wherein the performance frame includes a pattern-based information model for the application defining specific performance objectives; a performance integration component, executable by the one or more computer processors, that integrates a subset of the plurality of performance engineering activities into development of the application, such that all of the plurality of performance engineering activities are available throughout the entire life cycle, while some, but not all, of the plurality of performance engineering activities are implementable at one or more stages of the life cycle of development of the application; and a machine leaning and reasoning (MLR) component, executable by the one or more computer processors, providing artificial intelligence, wherein the MLR component is communicatively coupled to the performance engineering component and the performance integration component, and wherein the MLR component maps an input attribute vector to a confidence in automatically establishing a baseline and at least some performance objectives for the application. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A computer-implemented method of engineering an application, comprising:
using one or more processors of a computing system, executing computer executable instructions stored on one or more computer storage media, wherein execution of the computer executable instructions by the one or more processors causes the computing system to; identify a performance category; identify a performance objective based at least in part upon the performance category, wherein the performance category is defined by a predominance frame specifically for the application, and wherein the performance frame includes a pattern-based information model for the application defining specific performance objectives, wherein identifying the performance objective includes using a machine learning and reasoning (MLR) component providing artificial intelligence, wherein the MLR component maps an input attribute vector to a confidence in automatically establishing the performance objective based at least in part upon the performance category; identify a budget based at least in part upon the performance objective; after identifying the budget; allocate the identified budget to a plurality of processing steps; and integrate the identified budget into development of the application throughout various stages of a life cycle of the development of the application; produce a metric for performance engineering; and integrate a performance engineering activity based at least in part upon the performance objective. - View Dependent Claims (14, 15, 16, 17, 18)
-
19. A system embodied that facilitates performance engineering of an application, comprising:
-
one or more computer processors; one or more computer storage media having stored thereon computer-executable instructions in the form of; a performance engineering component, executable by the one or more computer processors, that includes a plurality of performance engineering activities available throughout an entirety of a life cycle of development of an application, the performance engineering component for producing a metric, wherein the performance engineering activities are defined by a performance frame specifically for the application, the performance frame including a pattern-based information model for the application defining specific performance objectives; a performance integration component, executable by the one or more computer processors, that integrates a subset of the plurality of performance engineering activities into development of the application, such that all of the plurality of performance engineering activities are available and modifiable throughout the entire life cycle, while some, but not all, of the plurality of performance engineering activities are implementable at one or more stages of the life cycle of development of the application, wherein the performance integration component selects the subset based on a stage of development; and a machine learning, and reasoning (MLR) component, executable by the one or more computer processors providing artificial intelligence, wherein the MLR component is communicatively coupled to the performance engineering component and the performance integration component, and wherein the MLR component maps an input attribute vector to a confidence in automatically establishing a baseline and at least some performance objectives for the application, wherein the performance engineering activities are selected from the group consisting of identifying performance objectives, identifying performance models, applying performance-related design guidelines, conducting performance-related design inspections, performing regular performance-related code inspections, implementing performance testing, and conducting performance-related deployment inspections.
-
Specification