IP Library › Granted Patent US 11,522,799
Granted Patent B1
US 11,522,799 · App. 16/917,679 · Granted Dec 6, 2022

Dynamically managed data traffic workflows

Inventors: Nikolaos Koutsikos Tsatsalmas (Vancouver, CA); Jacob Wires (Vancouver, CA); Marcin Marek Wolicki (Vancouver, CA); Jingmin Zhu (Burnaby, CA); Yuri Zarubin (Vancouver, CA); Leon Thrane (Issaquah, WA); Sidharth Bajaj (Vancouver, CA); Valeri Atamaniouk (Delta, CA)
Assignee: Amazon Technologies, Inc.
H04L47/125H04L41/0609H04L41/0627H04L47/2441H04L47/2483H04L47/50
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,522,799
App. No.
16/917,679
Filed
Jun 30, 2020
Granted
Dec 6, 2022
Kind
B1
Art Unit
2412
USPC
370/235
Abstract

Dynamic management of data traffic workflows is performed. An event to perform a data traffic workflow at a remote performance location may be received. Computing resources to perform the data traffic workflow may be identified. Operations to perform the data traffic workflow may be dynamically directed by the identified computing resources to adaptively balance performance of the operations with operations for other data traffic workflows in order to meet respective performance requirements of the data traffic workflows.

Claims (65)

1. A system, comprising:

at least one processor; and

a memory, storing program instructions that when executed by the at least one processor cause the at least one processor to implement an asynchronous data traffic workflow management system, the asynchronous data traffic workflow management system configured to:

receive an event that triggers performance of a first data traffic workflow;

identify a work partition in which to perform the first data traffic workflow on a first one or more computing resources assigned to the work partition;

adaptively select, by the first one or more computing resources assigned to the work partition, first operations for the first data traffic workflow to balance performance of the first operations on a second one or more computing resources at a performance location remote from the first one or more computing resources with second operations for a second data traffic workflow in order to satisfy respective performance requirements for the first data traffic workflow and the second data traffic workflow;

send requests to the second one or more computing resources at the remote performance location to perform the first operations for the data traffic workflow; and

after the first operations for the first data traffic workflow are performed on the second one or more computing resources at the remote performance location, provide an indication that the first data traffic workflow is complete.

2. The system of claim 1 , wherein to adaptively select the operations for the first data traffic workflow, the asynchronous data traffic workflow management system is configured to:

select one queue of the work partition; and

obtain the event from the one queue.

3. The system of claim 1 , wherein to adaptively select the operations for the first data traffic workflow, the asynchronous data traffic workflow management system is configured to:

determine a priority for the event; and

determine when to send the first operations for the event according to the priority.

4. The system of claim 1 , wherein the asynchronous data traffic workflow management system is implemented as a data traffic workflow management service of a provider network, wherein the event for the data traffic workflow is to replicate one or more changes to a collection of data stored in a data storage service of the provider network in a first region to the data storage service of the provider network in a second region.

5. The method of claim 4 , wherein dynamically directing performance of the first operations at the remote performance location comprises:

determining a priority for performing the event; and

determining when to send the first operations for the event according to the determined priority.

6. A method, comprising:

performing first operations for a first data traffic workflow for the first operations, comprising:

receiving an event that triggers performance of the first data traffic workflow;

identifying one or more computing resources to direct performance of the first operations at a performance location remote from the identified one or more computing resources; and

dynamically directing, by the identified one or more computing resources, performance of the first operations at the remote performance location to adaptively balance performance of the first operations for the first data traffic workflow with second operations for a second data traffic workflow to satisfy respective performance requirements for the first data traffic workflow and the second data traffic workflow; and

after performing the first operations for the first data traffic workflow, providing an indication that the first data traffic workflow is complete.

7. The method of claim 6 ,

wherein identifying one or more computing resources to direct performance comprises:

creating a work partition for the event, comprising:

creating an input queue and a retry queue for the work partition;

assigning the one or more computing resources to the work partition; and

wherein the method further comprises putting the event into the input queue for the work partition.

8. The method of claim 6 ,

wherein identifying one or more computing resources to direct performance comprises:

identifying an existing work partition for the event; and

wherein the method further comprises putting the event into an input queue for the work partition.

9. The method of claim 6 , wherein at least one of the first operations fails to complete successfully, and wherein dynamically directing, by the one or more computing resources, performance of the first operations at the remote performance location comprises:

obtaining from a retry queue the at least one operation; and

requesting again performance of the at least one operation at the remote performance location.

10. The method of claim 6 , further comprising providing a failure indication for the second data traffic workflow to a determined recipient for the second data traffic workflow after determining that the second data traffic workflow failed to complete successfully.

11. The method of claim 6 , wherein the one or more computing resources are assigned to a work partition identified for the event, and wherein the method further comprises modifying a number of computing resources assigned to the work partition based, at least in part, on a change in workload for the work partition.

12. The method of claim 6 , wherein dynamically directing performance of the operations at the remote performance location comprises:

selecting one queue of plurality of queues that provide events for data traffic workflow performance; and

obtaining the event from the selected one queue.

13. The method of claim 6 , wherein dynamically directing performance of the first operations at the remote performance location comprises determining that the event does not satisfy a criterion to be filtered from performance.

14. One or more non-transitory, computer-readable storage media, storing program instructions that when executed on or across one or more computing devices cause the one or more computing devices to implement:

receiving an event that triggers performance of a first data traffic workflow;

identifying one or more computing resources assigned to a work partition to direct performance of the first data traffic workflow;

dynamically directing, by the identified one or more computing resources, performance of first operations for the first data traffic workflow at a performance location remote from the identified one or more computing resources to adaptively balance performance of the first operations with second operations for a second data traffic workflow to satisfy respective performance requirements for the first data traffic workflow and the second data traffic workflow; and

after performing the first operations for the first data traffic workflow, providing an indication that the first data traffic workflow is complete.

15. The one or more non-transitory, computer-readable storage media of claim 14 , wherein, in dynamically directing performance of the first operations at the remote performance location, the program instructions cause the one or more computing devices to implement:

selecting one queue of plurality of queues that provide events for data traffic workflow performance; and

obtaining the event from the selected one queue.

16. The one or more non-transitory, computer-readable storage media of claim 14 , wherein, in dynamically directing performance of the first operations at the remote performance location, the program instructions cause the one or more computing devices to implement:

determining a priority for performing the event; and

determining when to send the operations for the event according to the determined priority.

17. The one or more non-transitory, computer-readable storage media of claim 14 , wherein, in dynamically directing performance of the first operations at the remote performance location, the program instructions cause the one or more computing devices to implement throttling performance of an event for a third data traffic workflow.

18. The one or more non-transitory, computer-readable storage media of claim 14 ,

wherein, in identifying the work partition to perform the first data traffic workflow at one or more computing resources assigned to the work partition, the program instructions cause the one or more computing devices to implement:

creating the work partition for the event, comprising:

creating an input queue and a retry queue for the work partition;

assigning the one or more computing resources to the work partition; and

wherein the one or more non-transitory, computer-readable storage media store further instructions that when executed on or across the one or more computing devices cause the one or more computing devices to further implement putting the event into the input queue for the work partition.

19. The one or more non-transitory, computer-readable storage media of claim 14 , wherein at least one of the first operations fails to complete successfully, and wherein dynamically directing, by the one or more computing resources, performance of the first operations at the remote performance location comprises:

obtaining from a retry queue the at least one operation; and

requesting again performance of the at least one operation at the remote performance location.

20. The one or more non-transitory, computer-readable storage media of claim 14 , wherein the one or more computing devices are implemented as part of a provider network, wherein the event for the first data traffic workflow is to replicate one or more changes to data stored in a data storage service of the provider network in a first region to the data storage service of the provider network in a second region.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 26, 2022
From: KOUTSIKOS TSATSALMAS, NIKOLAOS; WIRES, JACOB; WOLICKI, MARCIN MAREK; ZHU, JINGMIN; ZARUBIN, YURI; THRANE, LEON; BAJAJ, SIDHARTH; ATAMANIOUK, VALERI
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 059740/0024 →
Cited By (2)
US 12,461,777 US 12,737,376