IP Library Granted Patent US 11,153,405
Granted Patent B2
US 11,153,405 · App. 16/377,572 · Granted Oct 19, 2021

Transparent pattern processing in a service mesh

Inventors: Martin Stefanko (Brno, CZ); Ondrej Chaloupka (Brno, CZ)
Assignee: Red Hat, Inc.
H04L67/2833H04L67/16H04L67/26H04L67/2804
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,153,405
App. No.
16/377,572
Granted
Oct 19, 2021
Kind
B2
Abstract

A processing device can execute a proxy to provide transparent pattern processing for services that are not pattern-aware. A saga is one example of a processing pattern. The proxy deals with the pattern coordinator that maintains the pattern. The proxy manages the interaction between the service and the pattern coordinator so that services that are not pattern-aware can participate in the pattern. The processing device in a system can generate a unique pattern identifier at the first proxy and send the unique pattern identifier from the first proxy to the pattern coordinator to enlist the first service in a processing pattern. Other services can be similarly enlisted. The unique pattern identifier forms part of the pattern context and is used in messaging between the proxies and the pattern coordinator on behalf of the non-pattern-aware services.

Claims (40)

1. A method comprising:

generating, by a processor, in response to a client request, a unique pattern identifier at a first proxy associated with a first service within a service mesh;

transmitting, by the processor, the unique pattern identifier from the first proxy to a pattern coordinator to enlist the first service in a pattern corresponding to the unique pattern identifier;

transmitting, by the processor, the unique pattern identifier to at least one additional proxy to enlist at least one additional service in the pattern; and

transmitting, by the processor, an end notification with the unique pattern identifier from the first proxy to the pattern coordinator in response to detecting that processing by the at least one additional service has ended.

2. The method of claim 1 wherein the end notification comprises a completion-notification message.

3. The method of claim 1 wherein the end notification comprises a compensation-only notification and the method further comprises:

detecting an error at at least one of the first service or the at least one additional service; and

transmitting, the compensation-only notification to the pattern coordinator so that the pattern coordinator declines any new enlistments for the pattern.

4. The method of claim 1 wherein the unique pattern identifier includes a time stamp indicating when the unique pattern identifier was created.

5. The method of claim 4 wherein the unique pattern identifier includes a service identifier corresponding to the first service.

6. The method of claim 1 further comprising receiving a compensate message from the pattern coordinator to cause a data store associated with at least one of the first service or the at least one additional service to be updated in accordance with a current state of the pattern.

7. The method of claim 1 further comprising receiving operating rules from a control plane.

8. A system comprising:

a processing device; and

a memory device including instructions that are executable by the processing device for causing the processing device to perform operations comprising:

generating, in response to a client request, a unique pattern identifier at a first proxy associated with a first service within a service mesh;

transmitting the unique pattern identifier from the first proxy to a pattern coordinator to enlist the first service in a pattern corresponding to the unique pattern identifier;

transmitting the unique pattern identifier to at least one additional proxy to enlist at least one additional service in the pattern; and

transmitting an end notification with the unique pattern identifier from the first proxy to the pattern coordinator in response to detecting that processing by the at least one additional service has ended.

9. The system of claim 8 wherein the end notification comprises a completion-notification message.

10. The system of claim 8 wherein the end notification comprises a compensation-only notification and the operations further comprise:

detecting an error at at least one of the first service or the at least one additional service; and

transmitting, the compensation-only notification to the pattern coordinator so that the pattern coordinator declines any new enlistments for the pattern.

11. The system of claim 8 wherein the unique pattern identifier includes a time stamp indicating when the unique pattern identifier was created.

12. The system of claim 11 wherein the unique pattern identifier includes a service identifier corresponding to the first service.

13. The system of claim 8 wherein the operations further comprise receiving a compensate message from the pattern coordinator to cause a data store associated with at least one of the first service or the at least one additional service to be updated in accordance with a current state of the pattern.

14. The system of claim 8 further comprising a control plane to distribute operating rules to the first proxy and the at least one additional proxy.

15. A non-transitory computer-readable medium comprising program code that is executable by a processing device for causing the processing device to:

generate, in response to a client request, a unique pattern identifier at a first proxy associated with a first service within a service mesh;

transmit the unique pattern identifier from the first proxy to a pattern coordinator to enlist the first service in a pattern corresponding to the unique pattern identifier;

transmit the unique pattern identifier to at least one additional proxy to enlist at least one additional service in the pattern; and

transmit an end notification with the unique pattern identifier from the first proxy to the pattern coordinator in response to detecting that processing by the at least one additional service has ended.

16. The non-transitory computer-readable medium of claim 15 wherein the end notification comprises a completion-notification message.

17. The non-transitory computer-readable medium of claim 15 wherein the end notification comprises a compensation-only notification and wherein program code that is executable by the processing device further causes the processing device to:

detect an error at at least one of the first service or the at least one additional service; and

transmit, the compensation-only notification to the pattern coordinator so that the pattern coordinator declines any new enlistments for the pattern.

18. The non-transitory computer-readable medium of claim 15 wherein the unique pattern identifier includes a time stamp indicating when the unique pattern identifier was created and a service identifier corresponding to the first service.

19. The non-transitory computer-readable medium of claim 15 wherein program code that is executable by the processing device further causes the processing device to receive a compensate message from the pattern coordinator to cause a data store associated with at least one of the first service or the at least one additional service to be updated in accordance with a current state of the pattern.

20. The non-transitory computer-readable medium of claim 15 wherein program code that is executable by the processing device further causes the processing device to receive operating rules from a control plane.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 8, 2019
From: STEFANKO, MARTIN; CHALOUPKA, ONDREJ
To: RED HAT, INC.
Reel/Frame 048818/0947 →
Continuity (1)
Related Publication 20200322444A1 · Oct 8, 2020