IP Library Granted Patent US 12,204,874
Granted Patent B2
US 12,204,874 · App. 18/231,575 · Granted Jan 21, 2025

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/44G06F8/73
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,204,874
App. No.
18/231,575
Granted
Jan 21, 2025
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 (58)

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 service-level objective (SLO) of a first aspect of the first computer-implemented service;

receiving a second annotation in the first source code, the second annotation comprising second metadata associated with an SLO specification;

compiling the first source code to generate first compiled code;

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

generating the SLO specification based on the first annotation, the SLO specification including 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 during processing of the first source code; and

generating, using the second metadata, a yet another markup language (YAML) descriptor in the SLO specification.

2. The method of claim 1 , wherein the second metadata defines a name of the SLO specification.

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

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

5. The method of claim 1 , wherein the second metadata defines a uniform resource locator (URL) at which the SLO specification is published.

6. 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.

7. The method of claim 6 , 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.

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 first 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

a 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 service-level objective (SLO) of a first aspect of the first computer-implemented service;

receive a second annotation in the first source code, the second annotation comprising second metadata associated with an SLO specification;

compile the first source code to generate first compiled code;

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

generate the SLO specification based on the first annotation, the SLO specification including 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 during processing of the first source code; and

generate, using the second metadata, a yet another markup language (YAML) descriptor in the SLO specification.

11. The system of claim 10 ,

wherein the second metadata defines a name of the SLO specification.

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

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

14. The system of claim 10 , wherein the second metadata defines a uniform resource locator (URL) at which the SLO specification is published.

15. 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.

16. The system of claim 15 , 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.

17. A system comprising:

at least one processor; and

a non-transitory computer-readable memory storing instructions for an integrated development environment, a compiler, and an annotation processor;

the integrated development environment effective 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 service-level objective (SLO) of a first aspect of the first computer-implemented service; and

receive a second annotation in the first source code, the second annotation comprising second metadata associated with an SLO specification;

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;

generate the SLO specification based on the first annotation, the SLO specification including 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 during processing of the first source code; and

generating, using the second metadata, a yet another markup language (YAML) descriptor in the SLO specification.

18. The system of claim 17 , wherein the first annotation is a Java annotation.

Assignments (2)
CHANGE OF NAME Recorded Mar 3, 2026
From: RED HAT, INC.
To: RED HAT, LLC
Reel/Frame 074913/0759 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 9, 2023
From: ANTINORI, PAOLO; WITTMANN, ERIC
To: RED HAT, INC.
Reel/Frame 064532/0638 →
Continuity (2)
Continuation 17529952 · Nov 18, 2021
Related Publication 20230393815A1 · Dec 7, 2023
References Cited (12)
US 10108442B1 · Camarda Silva Folco et al. · 2018 [cited by applicant]
US 20030023957A1 · Bau, III et al. · 2003 [cited by applicant]
US 20130073994A1 · Liao · 2013 [cited by examiner]
US 20140337276A1 · Iordanov · 2014 [cited by applicant]
US 20170141992A1 · Borisov · 2017 [cited by examiner]
US 20190141120A1 · Bernat et al. · 2019 [cited by applicant]
US 20200159854A1 · Liang et al. · 2020 [cited by applicant]
US 20210258265A1 · Bernat et al. · 2021 [cited by applicant]
Service-level objectives, Wikipedia, 2020, 4 pages, [retrieved on May 22, 2024], Retrieved from the Internet:<URL:https://web.archive.org/web/20200701213309/https://en.wikipedia.org/wiki/Service-level_objective>. [cited by examiner]
Griebler, Dalvan, et al., Service Level Objectives via C++11 Attributes, European Conference on Parallel Processing, 2018, 12 pages, [retrieved on Sep. 11, 2024], Retrieved from the Internet: <URL:https://link.springer.… [cited by examiner]
USPTO; Non-Final Office Action for U.S. Appl. No. 17/529,952 dated Dec. 15, 2022, 10 pages. [cited by applicant]
Examination Report of European application No. 22151652.9 (20211215EP) dated Feb. 9, 2024: pp. 1-4. [cited by applicant]