Stateless control planes
AssigneeMicrosoft Technology Licensing, LLC
InventorsJonathan Eric Hardwick, Matthew Ian Ronald Williams
Life of this patent
Estimating the term…
Abstract
The techniques disclosed herein improve existing systems by receiving, by a packet processor from a control node of the communications network, a request to program operations for processing data packets, the request received with opaque data comprising a state of the control node. The packet processor stores the operations and the opaque data in a data store of the packet processor. The packet processor receives from the control node a subsequent request to retrieve the opaque data. The packet processor sends to the control node the operations and the opaque data that were stored in the data store of the packet processor. The opaque data is not stored in the control node.
Claims20
A machine-implemented method for managing states in a communications network comprising a user plane for communicating data packets between endpoints, and a control plane for managing connections between the endpoints, the communications network comprising a packet processor configured to operate in the user plane and apply packet processing operations to the data packets, and a control node configured to operate in the control plane and manage communication of the data packets in the communications network, the method comprising:
- receiving, by the packet processor from the control node, a request to program data plane operations for processing data packets being communicated between two of the endpoints, the request sent with data comprising a control plane state associated with the control node and the processing of the data packets;
- storing, by the packet processor, the operations and the data in a data store of the packet processor, wherein the operations and the data are stored atomically;
- receiving, by the packet processor from the control node, a subsequent request to retrieve the stored data;
- and
- sending, by the packet processor to the control node, the operations and the data that were stored in the data store of the packet processor;
- wherein the state is stored outside of the control node.
A system comprising:
- one or more data processing units;
- a data store;
- and
- a computer-readable medium having encoded thereon computer-executable instructions to cause the one or more data processing units to perform operations comprising:
- receiving, from a control node of a communications network, a request to program operations for processing data packets being communicated between two endpoints of the communications network, the request received with data comprising a state of the control node and the processed data packets, the control node configured to operate in a control plane of the communications network and manage communication of the data packets in the communications network;
- storing the operations and the data in the data store;
- receiving, from the control node, a subsequent request to retrieve the data;
- and
- sending, to the control node, the operations and the data that were stored in the data store.
A computer-readable storage device having encoded thereon computer-executable instructions that, when executed, cause one or more processing units of a computing device to execute operations comprising:
- sending, to a packet processor of a communications network, a request to program operations for processing data packets, the request including data comprising a control plane state, wherein the packet processor is configured to store the operations and the data in a data store of the packet processor;
- sending, to the packet processor, a subsequent request to retrieve the data;
- and
- receiving, from the packet processor, the operations and the data that were stored in the data store of the packet processor;
- wherein the control plane state is not stored locally.
Dependencies are inferred from the claim text.