Patent ID: 9705785
Date: 2017-07-11
CPC Classifications: G06F,H04L

Claim:
1. A computing system comprising a plurality of computers interconnected with switches and executing program stored in non-transitory medium to implement enterprises using multiple machines intercommunicating with packets, the computing system comprising: (1) a central controller dynamical allocating machines to a given enterprise; (2) at least first and second middleboxes receiving a packet flow and collecting state information extracted from earlier packets in the flow and used for processing later packets in the flow received by the middlebox, the first and second middleboxes being instances of a common machine object; and wherein the computing system further executes the program to: (i) receive instructions to change a number of middleboxes and identify a given flow of packets to be received by the second middlebox; (ii) in response to the instructions, transfer state data of the first middlebox related to the given flow to the second middlebox; and (iii) in response to the instructions, control the switches to transfer ongoing packets of the given flow to the second middlebox; wherein the computing system further: begins buffering packets of the given flow of packets to the first middlebox before step (ii); and transfers the buffered packets of the given flow to the second middlebox after step (ii) wherein the instructions to change the number of middleboxes for the given flow of data provides at least one port number associated with the given flow.