US 11,934,341 B2
Virtual RDMA switching for containerized
Yibo Zhu, Kirkland, WA (US); Jitendra D. Padhye, Redmond, WA (US); and Hongqiang Liu, Woodinville, WA (US)
Assigned to MICROSOFT TECHNOLOGY LICENSING, LLC, Redmond, WA (US)
Filed by MICROSOFT TECHNOLOGY LICENSING, LLC, Redmond, WA (US)
Filed on Jun. 17, 2022, as Appl. No. 17/843,878.
Application 17/136,874 is a division of application No. 15/944,373, filed on Apr. 3, 2018, granted, now 10,909,066, issued on Feb. 2, 2021.
Application 17/843,878 is a continuation of application No. 17/136,874, filed on Dec. 29, 2020, granted, now 11,372,802.
Prior Publication US 2022/0318184 A1, Oct. 6, 2022
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 15/173 (2006.01); G06F 9/455 (2018.01); G06F 12/1072 (2016.01); G06F 13/28 (2006.01); H04L 12/46 (2006.01); H04L 49/00 (2022.01); H04L 49/15 (2022.01); H04L 67/1097 (2022.01); H04L 67/141 (2022.01)
CPC G06F 15/17331 (2013.01) [G06F 9/45558 (2013.01); G06F 12/1072 (2013.01); G06F 13/28 (2013.01); H04L 12/4641 (2013.01); H04L 49/15 (2013.01); H04L 49/70 (2013.01); H04L 67/1097 (2013.01); H04L 67/141 (2013.01); G06F 2009/45583 (2013.01); G06F 2009/45595 (2013.01); G06F 2212/1041 (2013.01); G06F 2212/152 (2013.01); G06F 2212/154 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method for implementing virtual remote direct memory access (RDMA) in a distributed computing system having a plurality of servers interconnected by an RDMA network, the method comprising:
intercepting, from a container or virtual machine on a first server of the plurality of servers, a command to send data from a memory of the container or virtual machine to a remote container or virtual machine on a remote server via a first RDMA connection, the container or virtual machine on the first server and the remote container or virtual machine on the remote server identified by a corresponding virtual network address in a virtual network; and
in response to the intercepted command:
transferring the data to a shadow memory allocated to correspond to the memory of the container or virtual machine on the first server and having the same size as the memory of the container or virtual machine on the first server; and
transmitting the transferred data from the shadow memory to the remote container or virtual machine on the remote server via a second RDMA connection in the RDMA network between the first server and the remote server, the second RDMA connection corresponding to the first RDMA connection.