Method and apparatus for providing software defined network flow distribution
AssigneeAlcatel Lucent
InventorJeroen van Bemmel
Life of this patent
Estimating the term…
Abstract
Various embodiments provide a method and apparatus for providing SDN flow distribution without requiring per-connection state in the network. In particular, the SDN flow distribution is realized in network elements within the forwarding path of packets by providing in those network elements with a controller capable of mapping traffic flows onto a set of target servers.
Claims17
An apparatus for providing in-path flow distribution, the apparatus comprising:
- a plurality of virtual machines;
- a data storage comprising a rules portion comprising a plurality of rules and a servers list portion, wherein at least a subset of the plurality of rules map packet flow to one or more of the plurality of virtual machines based on the servers list portion;
- and
- a processor communicatively connected to the plurality of virtual machines and the data storage, the processor being configured to:
- receive a packet from an edge router;
- determine a rule from the plurality of rules based on the packet;
- determine a virtual machine based on the rule and the servers list portion;
- modify a destination address of the packet based on the virtual machine;
- forward the packet to the virtual machine;
- wherein the data storage further comprises a hash array portion comprising an array of server index values:
- wherein the servers list portion comprises a set of server addresses;
- and wherein the determination of the virtual machine is further based on further configuring the processor to select the virtual machine from the set of server addresses using a server index determined based on the rule;
- wherein the array of server index values comprises the server index.
A method for providing in-path flow distribution, the method comprising:
- at a processor communicatively connected to a data storage, receiving a packet from an edge router;
- wherein the data storage comprises a rules portion comprising a plurality of rules and a servers list portion, wherein at least a subset of the plurality of rules map packet flow to a virtual machine based on the servers list portion;
- determining, by the processor in cooperation with the data storage, a rule from the plurality of rules based on the packet;
- determining, by the processor in cooperation with the data storage, a virtual machine based on the rule and the servers list portion;
- modifying, by the processor in cooperation with the data storage, a destination address of the packet based on the virtual machine;
- forwarding, by the processor in cooperation with the data storage, the packet to the virtual server;
- wherein the data storage further comprises a hash array portion comprising an array of server index values:
- wherein the servers list portion comprises a set of server addresses;
- and wherein the determining the virtual machine is further based on selecting the virtual machine from the set of server addresses using a server index determined based on the rule;
- wherein the array of server index values comprises the server index.
A non-transitory computer-readable storage medium storing instructions which, when executed by a computer, cause the computer to perform a method, the method comprising:
- receiving a packet from an edge router;
- wherein the data storage comprises a rules portion comprising a plurality of rules and a servers list portion, wherein at least a subset of the plurality of rules map packet flow to a virtual machine based on the servers list portion;
- determining a rule from the plurality of rules based on the packet;
- determining a virtual machine based on the rule and the servers list portion;
- modifying a destination address of the packet based on the virtual machine;
- forwarding the packet to the virtual server;
- wherein the data storage further comprises a hash array portion comprising an array of server index values;
- wherein the servers list portion comprises a set of server addresses;
- and wherein the determining the virtual machine is further based on selecting the virtual machine from the set of server addresses using a server index determined based on the rule:
- wherein the array of server index values comprises the server index.
Dependencies are inferred from the claim text.