US 12,010,024 B2
Transparent migration of virtual network functions
David Schultz, Albany, CA (US); Shuang Guan, Mountain View, CA (US); Srinivas Krishnan, Sunnyvale, CA (US); Eran Gal, Shoham (IL); Doron Shaharabani, Mountain View, CA (US); Yossi Richter, Sunnyvale, CA (US); and Md Ahsan Arefin, Mountain View, CA (US)
Assigned to Google LLC, Mountain View, CA (US)
Filed by Google LLC, Mountain View, CA (US)
Filed on Jun. 28, 2021, as Appl. No. 17/304,907.
Application 17/304,907 is a continuation of application No. 16/219,929, filed on Dec. 13, 2018, granted, now 11,070,475.
Prior Publication US 2021/0328927 A1, Oct. 21, 2021
Int. Cl. H04L 12/803 (2013.01); G06F 9/455 (2018.01); H04L 9/40 (2022.01); H04L 29/06 (2006.01); H04L 29/12 (2006.01); H04L 47/125 (2022.01); H04L 61/256 (2022.01)
CPC H04L 47/125 (2013.01) [G06F 9/45558 (2013.01); H04L 61/256 (2013.01); H04L 63/02 (2013.01); G06F 2009/4557 (2013.01); G06F 2009/45595 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A computer-implemented method when executed by data processing hardware causes the data processing hardware to perform operations comprising:
identifying a middlebox receiving network flow between virtual network endpoints in a virtual network layer;
performing, using the middlebox, stateful network functions in the virtual network layer using the received network flow between the virtual network endpoints;
communicating with one or more backend virtual machines corresponding to the virtual network endpoints;
receiving flow statistics corresponding to the network flow of the middlebox;
identifying, based on the flow statistics, an uncommon type of network flow from the network flow, the uncommon type of network flow comprising outlier flow statistics of the flow statistics;
identifying one or more connections associated with the uncommon type of network flow;
migrating the one or more connections associated with the uncommon type of network flow from the middlebox to an end host;
after migrating the one or more connections associated with the uncommon type of network flow from the middlebox to the end host, determining whether the flow statistics satisfy an offload rule, the offload rule indicating when to migrate the network flow from the middlebox to an end host; and
when the flow statistics satisfy the offload rule, migrating the network flow from the middlebox to the end host.