IP Library › Granted Patent US 10,122,578
Granted Patent B1
US 10,122,578 · App. 15/083,164 · Granted Nov 6, 2018

Configuration propagation deployment policy

Inventors: Joseph E. Magerramov (Bellevue, WA); Richard Hazen Galliher, III (Seattle, WA); Rebecca Claire Weiss (Vienna, VA); Diwakar Gupta (Seattle, WA)
Assignee: Amazon Technologies, Inc.
H04L41/0813
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 10,122,578
App. No.
15/083,164
Granted
Nov 6, 2018
Kind
B1
Abstract

A system for propagating network configuration changes in a distributed computing system includes one or more processors and memory that includes instructions, that when executed by the one or more processors, cause the processors to receive a configuration propagation instructions from a client, receive a network configuration change request from the client, generate a first command instruction, and transmit the first command instruction to one or more of a plurality of network devices in accordance with the configuration propagation instruction. The first command instruction instructs the plurality of network devices to change state from a first state to a second state. The second state corresponds with a network configuration contained in the network configuration change request.

Claims (51)

1. A method for propagating network configuration changes in a distributed computing system, comprising:

receiving, by a programming interface of a control interface of the distributed computing system, a configuration propagation instruction from a client, the configuration propagation instruction containing information indicative of a number of network devices to receive state changes per unit of time;

receiving, by the programming interface, a network configuration change request from the client, the network configuration change request corresponding to instructions to change a network configuration of a plurality of network devices of a data plane of the distributed computing system;

in response to receiving the network configuration change request, generating, by command instruction generation logic of the control interface, a first command instruction that instructs the plurality of network devices to change from a first state to a second state that corresponds with the network configuration contained in the network configuration change request;

transmitting the first command instruction to at least some of the plurality of network devices at a rate per unit of time provided by the configuration propagation instruction; and

changing state of a first network device of the plurality of network devices from the first state to the second state in response to receiving the first command instruction.

2. The method of claim 1 , further comprising:

monitoring network traffic of the plurality of network devices; and

generating an alarm in response to an amount of the network traffic being outside a threshold value.

3. The method of claim 2 , further comprising cancelling transmission of the first command instruction prior to the first command instruction being received by a second network device of the plurality of network devices in response to the alarm being generated.

4. The method of claim 2 , further comprising:

in response to the alarm being generated, generating, by the command instruction generation logic, a second command instruction that instructs the first network device to change from the second state back to the first state;

transmitting the second command instruction to the first network device; and

changing state of the first network device from the second state back to the first state in response to receiving the second command instruction.

5. A system for propagating network configuration changes in a distributed computing system, comprising:

one or more processors; and

memory including instructions, that upon being executed by the one or more processors, cause the one or more processors to:

receive a configuration propagation instruction from a client;

receive a network configuration change request from the client;

generate a first command instruction that instructs a plurality of network devices of the distributed computing system to change state from a first state to a second state, the second state corresponding with a network configuration contained in the network configuration change request; and

transmit the first command instruction to at least some of the plurality of network devices at a rate provided by the configuration propagation instruction.

6. The system of claim 5 , wherein the instructions, upon being executed, further cause the one or more processors to, in response to receiving the first command instruction, change state of a first network device of the plurality of network devices from the first state to the second state.

7. The system of claim 6 , wherein the instructions, upon being executed, further cause the one or more processors to monitor network traffic of the plurality of network devices and generate an alarm in response to an amount of the network traffic being outside a first threshold value.

8. The system of claim 7 , wherein the amount of the network traffic being outside a threshold value is determined by a number of data packets dropped being greater than a second threshold value.

9. The system of claim 7 , wherein the instructions, upon being executed, further cause the one or more processors to cancel transmission of the first command instruction prior to the first command instruction being received by a second network device of the plurality of network devices.

10. The system of claim 7 , wherein the instructions, upon being executed, further cause the one or more processors to:

generate a second command instruction that instructs the first network device to change from the second state to the first state;

transmit the second command instruction to the first network device; and

change state of the first network device from the second state to the first state.

11. The system of claim 6 , wherein the change of state of the first network device from the first state to the second state comprises changing a routing table of the first network device.

12. The system of claim 5 , wherein the configuration propagation instruction is configured to instruct a control interface of the distributed computing system of a rate of propagation that the first command instruction is transmitted to the at least some of the network devices.

13. The system of claim 5 , wherein the configuration propagation instruction comprises an instruction for each of a plurality of groups of network devices, each of the instructions configured to instruct a control interface of the distributed computing system of a rate of propagation of network changes for network devices in each of the plurality of groups of network devices, and wherein the plurality of network devices is one of the plurality of groups of network devices.

14. The system of claim 5 , wherein the distributed computing system is a provider network.

15. The system of claim 5 , wherein the instructions, upon being executed, further cause the one or more processors to monitor signals received from a control interface of the distributed computer network for a commit signal and, in response to failing to detect the commit signal within a threshold amount of time after the first command instruction is first transmitted, change state of the first network device from the second state to the first state.

16. A method, comprising:

receiving, by a programming interface of a distributed computing system, a configuration propagation instruction from a client;

receiving, by the programming interface, from the client a first network configuration change request that requests a change to a first network configuration of a first plurality of network devices of a distributed computing system;

generating, by command instruction generation logic, a first command instruction that instructs the first plurality of network devices to change from a first state to a second state, the second state corresponding with the first network configuration; and

transmitting the first command instruction to at least some of the first plurality of network devices at a first rate provided by the configuration propagation instruction.

17. The method of claim 16 , further comprising:

receiving a second network configuration change request that requests a change to a second network configuration of a second plurality of network devices of the distributed computing system from the client;

generating a second command instruction that instructs the second plurality of network devices to change from a third state to a fourth state, the fourth state corresponding with the second network configuration; and

transmitting the second command instruction to at least some of the second plurality of network devices at a second rate provided by the configuration propagation instruction.

18. The method of claim 16 , further comprising, changing state of a first network device of the first plurality of network devices from the first state to the second state in response to receiving the first command instruction.

19. The method of claim 16 , further comprising:

monitoring a number of data packets dropped by the first plurality of network devices; and

in response to the number of data packets dropped exceeding a threshold value, generating an alarm.

20. The method of claim 19 , further comprising, cancelling transmission of the first command instruction prior to the first command instruction being received by a second network device of the first plurality of network devices.

21. The method of claim 19 , further comprising:

generating a second command instruction that instructs the first network device to change from the second state to the first state; and

transmitting the second command instruction to the first network device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 28, 2016
From: MAGERRAMOV, JOSEPH E.; GALLIHER, RICHARD HAZEN, III; WEISS, REBECCA CLAIRE; GUPTA, DIWAKAR
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 038117/0007 →
Cited By (2)
US 12,238,105 US 12,739,187