IP Library Granted Patent US 11,768,665
Granted Patent B2
US 11,768,665 · App. 17/529,952 · Granted Sep 26, 2023

Generation of service-level objective specifications using java annotation

Inventors: Paolo Antinori (Milan, IT); Eric Wittmann (Hartford, CT)
Assignee: Red Hat, Inc.
G06F8/10G06F8/427G06F8/44
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 11,768,665
App. No.
17/529,952
Granted
Sep 26, 2023
Kind
B2
Abstract

Systems and methods for generating SLO specifications using annotations are generally described. In various examples, first source code associated with a first computer-implemented service is received. In various cases, a first annotation in the first source code may be received. The first annotation may include first metadata defining a name of an SLO specification. A second annotation in the first source code may be received. The second annotation may include second metadata defining a service-level objective (SLO) of a first aspect of the first computer-implemented service. In some cases, the first computer-implemented service may be executed using the first source code. In various examples, the SLO specification may be generated based on the first annotation and the second annotation.

Claims (57)

1. A method comprising:

receiving first source code associated with a first computer-implemented service;

receiving a first annotation in the first source code, the first annotation comprising first metadata defining a name of an SLO specification;

receiving a second annotation in the first source code, the second annotation comprising second metadata defining a service-level objective (SLO) of a first aspect of the first computer-implemented service;

compiling the first source code to generate first compiled code;

executing the first computer-implemented service using the first compiled code; and

generating the SLO specification based on the first annotation and the second annotation, the SLO specification including the name of the SLO specification and a definition of the SLO of the first aspect of the first computer-implemented service, wherein the SLO specification is generated using the first metadata and the second metadata during compilation of the first source code.

2. The method of claim 1 , wherein the first annotation and the second annotation are Java annotations.

3. The method of claim 1 , wherein an annotation processor generates the SLO specification during the compilation of the first source code.

4. The method of claim 1 , further comprising generating a third annotation in the first source code, the third annotation comprising third metadata defining a uniform resource locator (URL) at which the SLO specification is published.

5. The method of claim 1 , further comprising:

generating, using at least one script, a first load for the first computer-implemented service;

receiving, by the at least one script, the SLO specification as an input;

determining first metric data describing performance of the first aspect of the first computer-implemented service; and

comparing the first metric data to the SLO of the first aspect of the first computer-implemented service.

6. The method of claim 5 , further comprising:

determining, using the at least one script, that the first metric data does not meet the SLO; and

generating first output data indicating that the first metric data does not meet the SLO.

7. The method of claim 1 , further comprising generating, using the first metadata, a first yet another markup language (YAML) descriptor in the SLO specification.

8. The method of claim 1 , wherein the SLO specification comprises a standardized definition for defining service-level objectives (SLOs).

9. The method of claim 1 , wherein the second metadata logically maps to a field of the SLO specification that is associated with the first aspect of the first computer-implemented service.

10. A system comprising:

at least one processor; and

non-transitory computer-readable memory storing instructions that, when executed by the at least one processor are configured to:

receive first source code defining a first computer-implemented service;

receive a first annotation in the first source code, the first annotation comprising first metadata defining a name of an SLO specification;

receive a second annotation in the first source code, the second annotation comprising second metadata defining a service-level objective (SLO) of a first aspect of the first computer-implemented service;

compile the first source code to generate first compiled code;

execute the first computer-implemented service using the first compiled code; and

generate the SLO specification based on the first annotation and the second annotation, the SLO specification including the name of the SLO specification and a definition of the SLO of the first aspect of the first computer-implemented service, wherein the SLO specification is generated using the first metadata and the second metadata during compilation of the first source code.

11. The system of claim 10 , wherein the first annotation and the second annotation are Java annotations.

12. The system of claim 10 , wherein an annotation processor generates the SLO specification during the compilation of the first source code.

13. The system of claim 10 , the non-transitory computer-readable memory storing further instructions that, when executed by the at least one processor are further configured to generate a third annotation in the first source code, the third annotation comprising third metadata defining a uniform resource locator (URL) at which the SLO specification is published.

14. The system of claim 10 , the non-transitory computer-readable memory storing further instructions that, when executed by the at least one processor are further configured to:

generate, using at least one script, a first load for the first computer-implemented service;

receive, by the at least one script, the SLO specification as an input;

determine first metric data describing performance of the first aspect of the first computer-implemented service; and

compare the first metric data to the SLO of the first aspect of the first computer-implemented service.

15. The system of claim 14 , the non-transitory computer-readable memory storing further instructions that, when executed by the at least one processor are further configured to:

determine, using the at least one script, that the first metric data does not meet the SLO; and

generate first output data indicating that the first metric data does not meet the SLO.

16. The system of claim 10 , the non-transitory computer-readable memory storing further instructions that, when executed by the at least one processor are further configured to generate, using the first metadata, a first yet another markup language (YAML) descriptor in the SLO specification.

17. A system comprising:

at least one processor;

an integrated development environment executed by at the least one processor;

a compiler executed by the at least one processor;

an annotation processor executed by the at least one processor; and

non-transitory computer-readable memory storing instructions that, when executed by the at least one processor, are effective to cause the integrated development environment to:

receive first source code associated with a first computer-implemented service;

receive a first annotation in the first source code, the first annotation comprising first metadata defining a name of an SLO specification; and

receive a second annotation in the first source code, the second annotation comprising second metadata defining a service-level objective (SLO) of a first aspect of the first computer-implemented service;

the compiler effective to compile the first source code to generate executable code for the first computer-implemented service; and

the annotation processor effective to:

receive the first annotation from the first source code;

receive the second annotation from the first source code; and

generate the SLO specification based on the first annotation and the second annotation, the SLO specification including the name of the SLO specification and a definition of the SLO of the first aspect of the first computer-implemented service, wherein the SLO specification is generated using the first metadata and the second metadata during compilation of the first source code.

18. The system of claim 17 , wherein the first annotation and the second annotation are Java annotations.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 18, 2021
From: ANTINORI, PAOLO; WITTMANN, ERIC
To: RED HAT, INC.
Reel/Frame 058154/0487 →
Continuity (1)
Related Publication 20230153073A1 · May 18, 2023