IP Library Granted Patent US 12,039,325
Granted Patent B2
US 12,039,325 · App. 15/878,708 · Granted Jul 16, 2024

Code-change and developer rating in an automated-application-release-management subsystem

Inventor: Karthikeyan Ramasamy (Bangalore, IN)
Assignee: VMware LLC
G06F8/71G06F8/60G06F11/3688G06Q10/06398
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,039,325
App. No.
15/878,708
Granted
Jul 16, 2024
Kind
B2
Abstract

The current document is directed to an automated-application-release-management system that organizes and manages the application-development and application-release processes to allow for continuous application development and release. The current document is particularly directed to implementations in which the automated application-release-management subsystem provides code-change ratings and developer ratings used throughout the code-change-submission-to-acceptance process. Code-change ratings and developer ratings are used to tailor tasks and control flow within the code-change-submission-to-acceptance process in order to respond to particular characteristics of code changes and developers.

Claims (74)

1. An automated-application-release-management subsystem within a cloud-computing facility having multiple servers, data-storage devices, and one or more internal networks, the automated-application-release-management subsystem comprising:

a dashboard user interface comprising an electronic display;

an automated-application-release-management controller;

an interface to a workflow-execution engine within the cloud-computing facility;

an artifact-storage-and-management subsystem comprising a mass-storage device; and

code-change ratings that are generated, stored, and shared during code-change processing by the automated-application-release-management subsystem.

2. The automated-application-release-management subsystem of claim 1 that is further incorporated in a workflow-based cloud-management system that additionally includes an infrastructure-management-and-administration subsystem and the workflow-execution engine.

3. The automated-application-release-management subsystem of claim 1 wherein the automated-application-release-management controller controls execution of application-release-management pipelines, each application-release-management pipeline representing a sequence of tasks carried out by the automated-application-release-management subsystem to generate a releasable version of an application.

4. The automated-application-release-management subsystem of claim 3 wherein each application-release-management pipeline comprises one or more stages.

5. The automated-application-release-management subsystem of claim 4 wherein each application-release-management-pipeline stage comprises:

a set of one or more tasks; and

a plug-in framework that maps entrypoints in the set of one or more tasks to entrypoints within sets of routine and/or function entrypoints in descriptors within a set of sets of descriptors.

6. The automated-application-release-management subsystem of claim 5 wherein the set of one or more tasks include tasks of task types selected from among:

initialization tasks;

deployment tasks;

run-tests tasks;

gating-rule tasks; and

finalize tasks.

7. The automated-application-release-management subsystem of claim 4 wherein the automated application-release-management subsystem:

generates a code-change-rating data structure when a submitted code change is first received; and

stores the generated code-change-rating data structure in a data store.

8. The automated-application-release-management subsystem of claim 7 wherein, during processing of a code change, each stage of the application-release-management pipeline following an initial stage that generates the code-change-rating data structure for the code change:

retrieves the code-change-rating data structure from the data store;

uses information contained in the code-change-rating data structure to control execution of one or more tasks within the application-release-management-pipeline stage;

modifies the code-change-rating data structure; and

updates the code-change-rating data structure in the data store to contain the modified code-change-rating data structure.

9. The automated-application-release-management subsystem of claim 8 wherein the code-change-rating data structure includes:

a field storing an identifier for the code change; and

a field including a current score for the code change.

10. The automated-application-release-management subsystem of claim 9 wherein the code-change-rating data structure additionally includes information about a processing history carried out by each stage of the application-release-management pipeline, including an indication of a number of times the application-release-management-pipeline stage has received and processed the code change and a stage rating for the code change.

11. The automated-application-release-management subsystem of claim 8 wherein the automated-application-release-management subsystem:

generates a developer-rating data structure when a developer is first made known to the automated-application-release-management subsystem; and

stores the developer-rating data structure in the data store.

12. The automated-application-release-management subsystem of claim 11 wherein, during processing of a code change, each stage of the application-release-management pipeline:

retrieves the developer-rating data structure for the developer who submitted the code change from the data store; and

uses information contained in the developer-rating data structure to control execution of one or more tasks within the application-release-management-pipeline stage.

13. The automated-application-release-management subsystem of claim 12 wherein, during processing of a code change, a final stage of the application-release-management pipeline, following acceptance of the code change:

modifies the developer-rating data structure; and

updates the developer-rating data structure in the data store to contain the modified code-change-rating data structure.

14. The automated-application-release-management subsystem of claim 11 wherein the developer-rating data structure includes:

a field storing an identifier for the developer; and

a field including a current rating for the developer.

15. A method that maintains code-change and developer ratings within an automated-application-release-management subsystem that includes one or more application-release-management pipelines, each application-release-management pipeline representing a sequence of tasks carried out by the automated-application-release-management subsystem to generate a releasable version of an application and each application-release-management pipeline comprises one or more stages, the automated-application-release-management subsystem operating within a computing facility having multiple servers, data-storage devices, and one or more internal networks, the method comprising:

generating a code-change-rating data structure when a submitted code change is first received;

storing the generated code-change-rating data structure in a data store, wherein the data store comprises a mass-storage device;

generating a developer-rating data structure when a developer is first made known to the automated-application-release-management subsystem;

storing the developer-rating data structure in the data store; and

during processing of a code change, each stage of the application-release-management pipeline following an initial stage that generates the code-change-rating data structure for the code change

retrieves the code-change-rating data structure from the data store,

retrieves the developer-rating data structure for the developer who submitted the code change from the data store,

uses information contained in one or both of the code-change-rating data structure and the developer-rating data structure to control execution of one or more tasks within the application-release-management-pipeline stage,

modifies the code-change-rating data structure, and

updates the code-change-rating data structure in the data store to contain the modified code-change-rating data structure.

16. The method of claim 15 wherein, during processing of a code change, a final stage of the application-release-management pipeline, following acceptance of the code change:

modifies the developer-rating data structure; and

updates the developer-rating data structure in the data store to contain the modified code-change-rating data structure.

17. The method of claim 15 wherein the code-change-rating data structure includes:

a field storing an identifier for the code change; and

a field including a current score for the code change.

18. The method of claim 17 wherein the code-change-rating data structure additionally includes information about a processing history carried out by each stage of the application-release-management pipeline, including an indication of a number of times the application-release-management-pipeline stage has received and processed the code change and a stage rating for the code change.

19. The method of claim 15 wherein the developer-rating data structure includes:

a field storing an identifier for the developer; and

a field including a current rating for the developer.

20. One or more mass-storage devices stored with computer instructions that, when executed on one or more processors within a computing facility having multiple servers, data-storage devices, and one or more internal networks, control the computing facility to maintain code-change and developer ratings within an automated-application-release-management subsystem, operating within the computing facility, that includes one or more application-release-management pipelines, each application-release-management pipeline representing a sequence of tasks carried out by the automated-application-release-management subsystem to generate a releasable version of an application and each application-release-management pipeline comprises one or more stages, by:

generating a code-change-rating data structure when a submitted code change is first received;

storing the generated code-change-rating data structure in a data store, wherein the data store comprises a mass-storage device;

generating a developer-rating data structure when a developer is first made known to the automated-application-release-management subsystem;

storing the developer-rating data structure in the data store; and

during processing of a code change, each stage of the application-release-management pipeline following an initial stage that generates the code-change-rating data structure for the code change

retrieves the code-change-rating data structure from the data store,

retrieves the developer-rating data structure for the developer who submitted the code change from the data store,

uses information contained in one or both of the code-change-rating data structure and the developer-rating data structure to control execution of one or more tasks within the application-release-management-pipeline stage,

modifies the code-change-rating data structure, and

updates the code-change-rating data structure in the data store to contain the modified code-change-rating data structure.

Assignments (2)
CHANGE OF NAME Recorded Feb 27, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 066692/0103 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 24, 2018
From: RAMASAMY, KARTHIKEYAN
To: VMWARE, INC.
Reel/Frame 044714/0271 →