# US 12,001,307 B2 · Systems and methods for monitoring software services

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,001,307 B2
- Document ID: US12001307B2
- Status: Granted
- Kind: B2
- Application number: 17/848,708
- Filed: 2022-06-24
- Published: 2022-12-29
- Granted: 2024-06-04
- Earliest claimed: 2021-06-25
- Assignees: Palantir Technologies Inc.
- Applicants: Palantir Technologies Inc.
- Inventors: Andres Felipe Orozco; Robert Kruszewski; Thomas Petracca
- Web page: https://patentgrep.com/patent/US12001307B2

## CPC

- G06F 11/302: {where the computing system component is a software system}
- G06F 11/3466: {Performance evaluation by tracing or monitoring}
- G06F 8/70: Software maintenance or management
- G06F 11/3447: {Performance evaluation by modeling}
- G06F 2201/86: Event-based monitoring
- G06F 2201/865: Monitoring of software
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A computer-implemented method for generating a monitor for at least one software service from a monitor template, includes, in at least some aspects: providing a monitor template. Further, in certain instances, the method includes determining one or more endpoints included in code for a first software service of the at least one software service. In addition, in some aspects, the method includes generating a first monitor for the first software service code using the monitor template based at least upon a first endpoint of the one or more endpoints included in the first software service code.

## Claims

### Claim 1

A computer-implemented method for generating a monitor for at least one software service from a monitor template, the method comprising:
providing the monitor template;
determining one or more endpoints included in code for a first software service of the at least one software service;
generating a first monitor for the first software service code using the monitor template based at least upon a first endpoint of the one or more endpoints included in the first software service code;
monitoring the first software service using the first monitor generated by the monitor template;
detecting, by the first monitor, whether a first aberration of the first software service has occurred;
determining a first event corresponding to the first aberration; and
performing the first event in response to the occurrence of the first aberration.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, wherein the monitor template comprises a plurality of schema, wherein each schema includes a tag parameter and an index parameter.

### Claim 3 (depends on 2)

The computer-implemented method of claim 2, wherein generating the first monitor using the monitor template comprises:
resolving a first tag parameter associated with a first schema of the plurality of schema to a first tag parameter instance associated with the first endpoint;
determining a first index parameter instance associated with the first tag parameter instance; and
realizing the first index parameter to the first tag parameter instance associated with the first endpoint.

### Claim 4 (depends on 3)

The computer-implemented method of claim 3, wherein monitoring the first software service using the first monitor comprises using the first resolved tag parameter and the first realized index parameter of the first monitor to detect the first aberration.

### Claim 5 (depends on 4)

The computer-implemented method of claim 4, wherein the first aberration has occurred when the first realized index parameter exceeds a threshold.

### Claim 6 (depends on 2)

The computer-implemented method of claim 2, wherein the tag parameter is a string tuple.

### Claim 7 (depends on 2)

The computer-implemented method of claim 2, wherein the index parameter is a double value.

### Claim 8 (depends on 1)

The computer-implemented method of claim 1, further comprising:
determining one or more endpoints included in code for a second software service; and
generating a second monitor for the second software service code using the monitor template based at least upon a second endpoint of the one or more endpoints included in the second software service code.

### Claim 9 (depends on 8)

The computer-implemented method of claim 8, further comprising:
monitoring the second software service using the second monitor generated by the monitor template;
detecting, by the second monitor, whether a second aberration of the second software service has occurred;
determining a second event corresponding to the second aberration, wherein the first event is different than the second event; and
performing the second event in response to the occurrence of the second aberration.

### Claim 10 (depends on 1)

The computer-implemented method of claim 1, wherein the monitor template is embedded within code of the software service.

### Claim 11 (depends on 1)

The computer-implemented method of claim 1, wherein the first event is at least one of: sending an alert, sending a message, and initiating a help ticket.

### Claim 12 (depends on 1)

The computer-implemented method of claim 1, further comprising: changing the first event to a different event in response to user provided code; and performing the different event in response to the occurrence of the first aberration.

### Claim 13

A computing system for generating a monitor for at least one software service from a monitor template, the computing system comprising:
at least one processor; and
memory storing instructions that, when executed by the at least one processor, causes the system to perform a set of operations, the set of operations comprising:
providing the monitor template;
determining one or more endpoints included in code for a first software service;
generating a first monitor for the first software service code using the monitor template based at least upon a first endpoint of the one or more endpoints included in the first software service code;
monitoring the first software service using the first monitor generated by the monitor template;
detecting, by the first monitor, whether a first aberration of the first software service has occurred;
determining a first event corresponding to the first aberration; and
performing the first event in response to the occurrence of the first aberration.

### Claim 14 (depends on 13)

The computing system of claim 13, wherein the monitor template comprises a plurality of schema, wherein each schema includes a tag parameter and an index parameter and wherein generating the first monitor using the monitor template comprises:
resolving a first tag parameter associated with a first schema of the plurality of schema to a tag parameter instance associated with the first endpoint;
determining a first index parameter associated with the first tag parameter; and
realizing the first index parameter to a first tag parameter instance associated with the first endpoint.

### Claim 15 (depends on 13)

The computing system of claim 13, the memory further comprises instructions that, when executed by the at least one processor, causes the system to perform a set of operations, the set of operations comprising:
determining one or more endpoints included in code for a second software service; and
generating a second monitor for the second software service code using the monitor template based at least upon a second endpoint of the one or more endpoints included in the second software service code.

### Claim 16 (depends on 13)

The computing system of claim 13, wherein the tag parameter is a string tuple.

### Claim 17 (depends on 13)

The computing system of claim 13, wherein the index parameter is a double value.

### Claim 18

A computer-implemented method for monitoring at least one software service using a monitor template, the method comprising:
monitoring a first software service of the at least one software service using a first monitor generated by the monitor template, wherein monitoring the first software service using the first monitor comprises using a first resolved tag parameter and a first realized index parameter of the first monitor;
detecting, by the first monitor, whether a first aberration of the first software service has occurred;
determining a first event corresponding to the first aberration;
performing the first event in response to the occurrence of the first aberration;
monitoring a second software service using a second monitor generated by the monitor template, wherein monitoring the second software service using the second monitor comprises using a second resolved tag parameter and a second realized index parameter of the second monitor;
detecting, by the second monitor, whether a second aberration of the second software service has occurred;
determining a second event corresponding to the second aberration; and
performing the second event in response to the occurrence of the second aberration.

### Claim 19 (depends on 18)

The computer-implemented method of claim 18, wherein the first aberration has occurred when the first realized index parameter exceeds a threshold.

### Claim 20 (depends on 18)

The computer-implemented method of claim 18, wherein the first event is at least one of: sending an alert, sending a message, and initiating a help ticket.

### Claim 21 (depends on 18)

The computer-implemented method of claim 18, further comprising:
changing the first event to a different event in response to user provided code; and
performing the different event in response to the occurrence of the first aberration.

### Claim 22 (depends on 18)

The computer-implemented method of claim 18, further comprising generating the first monitor for the first software service.

### Claim 23 (depends on 22)

The computer-implemented method of claim 22, wherein generating the first monitor for the first software service comprises:
determining one or more endpoints included in code for the first software service; and
generating the first monitor for the first software service code using the monitor template based at least upon a first endpoint of the one or more endpoints included in the first software service code.

### Claim 24 (depends on 23)

The computer-implemented method of claim 23, wherein the monitor template comprises a plurality of schema and wherein generating the first monitor using the monitor template comprises:
resolving a first tag parameter of a first schema of the plurality of schema to a first tag parameter instance associated with the first service to generate the first resolved tag parameter;
determining a first index parameter instance associated with the first tag parameter instance; and
realizing a first index parameter associated with the first tag parameter to the first tag parameter instance to generate the first realized index parameter.

### Claim 25

A computing system for monitoring at least one software service using a monitor template, comprising:
at least one processor; and
memory storing instructions that, when executed by the at least one processor, causes the system to perform a set of operations, the set of operations comprising:
monitoring a first software service of the at least one software service using a first monitor generated by the monitor template, wherein monitoring the first software service using the first monitor comprises using a first resolved tag parameter and a first realized index parameter of the first monitor;
detecting, by the first monitor, whether a first aberration of the first software service has occurred;
determining a first event corresponding to the first aberration; and
performing the first event in response to the occurrence of the first aberration;
monitoring a second software service using a second monitor generated by the monitor template, wherein monitoring the second software service using the second monitor comprises using a second resolved tag parameter and a second realized index parameter of the second monitor;
detecting, by the second monitor, whether a second aberration of the second software service has occurred;
determining a second event corresponding to the second aberration; and
performing the second event in response to the occurrence of the second aberration.

### Claim 26 (depends on 25)

The computing system of claim 25, wherein the first aberration has occurred when the first realized index parameter exceeds a threshold.

### Claim 27 (depends on 25)

The computing system of claim 25, wherein the first event is at least one of:
sending an alert, sending a message, and initiating a help ticket.

### Claim 28 (depends on 25)

The computing system of claim 25, further comprising instructions that, when executed by the at least one processor, causes the system to perform a set of operations, the set of operations comprising:
changing the first event to a different event in response to user provided code; and
performing the different event in response to the occurrence of the first aberration.

### Claim 29 (depends on 25)

The computing system of claim 25, further comprising instructions that, when executed by the at least one processor, causes the system to perform a set of operations, the set of operations comprising generating the first monitor for the first software service.

### Claim 30 (depends on 29)

The computing system of claim 29, wherein generating the first monitor for the first software service comprises:
determining one or more endpoints included in code for the first software service; and
generating the first monitor for the first software service code using the monitor template based at least upon a first endpoint of the one or more endpoints included in the first software service code.

### Claim 31 (depends on 30)

The computing system of claim 30, wherein the monitor template comprises a plurality of schema and wherein generating the first monitor using the monitor template comprises:
resolving a first tag parameter of a first schema of the plurality of schema to a first tag parameter instance associated with the first service to generate the first resolved tag parameter;
determining a first index parameter instance associated with the first tag parameter instance; and
realizing a first index parameter associated with the first tag parameter to the first tag parameter instance to generate the first realized index parameter.

### Claim 32

A computer-implemented method for monitoring at least one software service using a monitor template, the method comprising:
generating a first monitor using the monitor template for a first software service;
monitoring the first software service using a first monitor generated by the monitor template, wherein monitoring the first software service using the first monitor comprises using a first resolved tag parameter and a first realized index parameter of the first monitor;
detecting, by the first monitor, whether a first aberration of the first software service has occurred;
determining a first event corresponding to the first aberration; and
changing the first event to a different event in response to user provided code; and
performing the different event in response to the occurrence of the first aberration.

### Claim 33 (depends on 32)

The computer-implemented method of claim 32, wherein generating the first monitor for the first software service comprises:
determining one or more endpoints included in code for the first software service; and
generating the first monitor for the first software service code using the monitor template based at least upon a first endpoint of the one or more endpoints included in the first software service code.

### Claim 34 (depends on 32)

The computer-implemented method of claim 32, wherein the monitor template comprises a plurality of schema and wherein generating the first monitor using the monitor template comprises:
resolving a first tag parameter of a first schema of the plurality of schema to a first tag parameter instance associated with the first service to generate the first resolved tag parameter;
determining a first index parameter instance associated with the first tag parameter instance; and
realizing a first index parameter associated with the first tag parameter to the first tag parameter instance to generate the first realized index parameter.

### Claim 35 (depends on 32)

The computer-implemented method of claim 32, wherein the first aberration has occurred when the first realized index parameter exceeds a threshold.

### Claim 36

A computing system for monitoring at least one software service using a monitor template, comprising:
at least one processor; and
memory storing instructions that, when executed by the at least one processor, causes the system to perform a set of operations, the set of operations comprising:
monitoring a first software service of the at least one software service using a first monitor generated by the monitor template, wherein monitoring the first software service using the first monitor comprises using a first resolved tag parameter and a first realized index parameter of the first monitor;
detecting, by the first monitor, whether a first aberration of the first software service has occurred;
determining a first event corresponding to the first aberration;
changing the first event to a different event in response to user provided code; and
performing the different event in response to the occurrence of the first aberration.

### Claim 37 (depends on 36)

The computing system of claim 36, wherein the first aberration has occurred when the first realized index parameter exceeds a threshold.

### Claim 38 (depends on 36)

The computing system of claim 36, wherein the first event is at least one of:
sending an alert, sending a message, and initiating a help ticket.

### Claim 39 (depends on 36)

The computing system of claim 36, further comprising generating the first monitor for the first software service, wherein generating the first monitor for the first software service comprises:
determining one or more endpoints included in code for the first software service; and
generating the first monitor for the first software service code using the monitor template based at least upon a first endpoint of the one or more endpoints included in the first software service code.

### Claim 40 (depends on 39)

The computing system of claim 39, wherein the monitor template comprises a plurality of schema and wherein generating the first monitor using the monitor template comprises:
resolving a first tag parameter of a first schema of the plurality of schema to a first tag parameter instance associated with the first service to generate the first resolved tag parameter;
determining a first index parameter instance associated with the first tag parameter instance; and
realizing a first index parameter associated with the first tag parameter to the first index parameter instance to generate the first realized index parameter.
