Scalable cell-based packet processing service using client-provided decision metadata
AssigneeAmazon Technologies, Inc.
InventorsPaul John Tillotson, Bashuman Deb, Thomas Spendley, Omer Hashmi, Baihu Qian, Alexander Justin Penney
Life of this patent
Estimating the term…
Abstract
An isolated packet processing cell of a packet processing service, comprising an action implementation node and a decision master node, is assigned to an application. An indication of processing rules of the application is transmitted to the decision master node. In response to receiving a particular packet, the action implementation node obtains a representation of an action (which is based on the processing rules) from the decision master node and executes the action.
Claims20
A system, comprising:
- one or more computing devices of a packet processing service;
- wherein the one or more computing devices include instructions that upon execution on a processor cause the one or more computing devices to:
- assign, to a first application with a first set of source endpoints and a second set of destination endpoints, a first isolated packet processing cell of a plurality of isolated packet processing cells of the packet processing service, wherein the first isolated packet processing cell comprises (a) a plurality of action implementation nodes, including a first action implementation node and a second action implementation node, (b) one or more decision master nodes, and (c) one or more administration nodes, wherein at least the first action implementation node has a programmatically attached virtual network interface configured to receive network traffic originating at a first source endpoint of the first set, and wherein at least the second action implementation node has a programmatically attached virtual network interface configured to transmit network traffic along a path to a first destination endpoint of the second set;
- propagate, to the one or more decision master nodes, an indication of a forwarding information base of the first application, wherein the indication is received via a programmatic interface from a client of the packet processing service;
- provide, from a first decision master node of the one or more decision master nodes in response to an action query generated at the first action implementation node, a representation of a first packet processing action to be implemented with respect to a group of one or more packets originating at the first source endpoint, wherein the first packet processing action is based at least in part on (a) contents of the forwarding information base and (b) a packet processing policy indicated by the client;
- and
- perform, at the first action implementation node, the particular packet processing action with respect to a first packet of the group.
A method, comprising:
- performing, by one or more computing devices:
- assigning, to a first application with a source endpoint and a destination endpoint, a first isolated packet processing cell of a packet processing service, wherein the first isolated packet processing cell comprises (a) one or more action implementation nodes, including a first action implementation node, and (b) one or more decision master nodes including a first decision master node;
- obtaining, at the one or more decision master nodes, an indication of one or more packet forwarding rules of the first application;
- providing, from the first decision master node, in response to an action query generated at the first action implementation node, a representation of a first packet processing action to be implemented for a group of one or more packets originating at the source endpoint, wherein the first packet processing action is based at least in part on the one or more packet forwarding rules;
- executing, at the first action implementation node, the particular packet processing action with respect to a first packet of the group, wherein executing the particular packet processing action comprises transmitting at least one packet on a path to the destination endpoint.
Non-transitory computer-accessible storage media storing program instructions that when executed on one or more processors cause one or more computer systems to:
- assign, to a first packet processing application, a first isolated packet processing cell of a packet processing service, wherein the first isolated packet processing cell comprises (a) a first action implementation node, and (b) a first decision master node;
- cause an indication of one or more processing rules of the first packet processing application to be transmitted to the first decision master node;
- and
- enable network packets from one or more source endpoints associated with the first packet processing application to be transmitted to the first action implementation node, wherein, in response to receiving a particular packet, the first action implementation node (a) obtains a representation of a particular action to be performed from the first decision master node, wherein the particular action is based at least in part on the one or more packet processing rules, and (b) executes the particular action.
Dependencies are inferred from the claim text.