-
公开(公告)号:US10437775B2
公开(公告)日:2019-10-08
申请号:US15824925
申请日:2017-11-28
Applicant: Microsoft Technology Licensing, LLC
Inventor: Alec Kochevar-Cureton , Somesh Chaturmohta , Norman Lam , Sambhrama Mundkur , Daniel Firestone
IPC: G06F15/167 , G06F15/173 , H04L29/06 , G06F9/455 , H04L12/801 , H04L12/911 , H04L12/935 , H04L12/861 , H04L12/707 , H04L12/721 , H04L12/717 , H04L12/741 , G06F15/76 , H04L12/813 , H04L12/931 , H04L29/08
Abstract: Distributed computing systems, devices, and associated methods of remote direct memory access (“RDMA”) packet routing are disclosed herein. In one embodiment, a server includes a main processor, a network interface card (“NIC”), and a field programmable gate array (“FPGA”) operatively coupled to the main processor via the NIC. The FPGA includes an inbound processing path having an inbound packet buffer configured to receive an inbound packet from the computer network, a NIC buffer, and a multiplexer between the inbound packet buffer and the NIC, and between the NIC buffer and the NIC. The FPGA also includes an outbound processing path having an outbound action circuit having an input to receive the outbound packet from the NIC, a first output to the computer network, and a second output to the NIC buffer in the inbound processing path.
-
公开(公告)号:US10831523B2
公开(公告)日:2020-11-10
申请号:US16154363
申请日:2018-10-08
Applicant: MICROSOFT TECHNOLOGY LICENSING, LLC
Inventor: Alec Kochevar-Cureton , Somesh Chaturmohta , Norman C. Lam , Sambhrama Madhusudhan Mundkur , Daniel M. Firestone
IPC: G06F9/46 , G06F9/455 , G06F15/173 , H04L12/46
Abstract: Techniques are disclosed for implementing direct memory access in a virtualized computing environment. A memory access policy of the virtualized computing environment is applied to a direct memory access connection request received from a first virtual machine via an exception path. The request is flagged to indicate that the request has been processed and the request is forwarded to a network interface device configured to execute offloaded network functions for one or more virtual machines. A memory access policy of the virtualized computing environment is applied to a direct memory access connection reply received from a second virtual machine on the exception path. The reply is flagged to indicate that the reply has been processed and the reply is forwarded to the network interface device. A direct memory access connection is established between first and second virtual machines in accordance with the request.
-
公开(公告)号:US11907749B2
公开(公告)日:2024-02-20
申请号:US17745692
申请日:2022-05-16
Applicant: MICROSOFT TECHNOLOGY LICENSING, LLC
Inventor: Alec Kochevar-Cureton , Somesh Chaturmohta , Norman C. Lam , Sambhrama Madhusudhan Mundkur , Daniel M. Firestone
IPC: G06F9/46 , G06F9/455 , G06F15/173 , H04L12/46
CPC classification number: G06F9/45558 , G06F15/17331 , H04L12/4645 , G06F2009/45583 , G06F2009/45595
Abstract: Techniques are disclosed for implementing direct memory access in a virtualized computing environment. A memory access policy of the virtualized computing environment is applied to a direct memory access connection request received from a first virtual machine via an exception path. The request is flagged to indicate that the request has been processed and the request is forwarded to a network interface device configured to execute offloaded network functions for one or more virtual machines. A memory access policy of the virtualized computing environment is applied to a direct memory access connection reply received from a second virtual machine on the exception path. The reply is flagged to indicate that the reply has been processed and the reply is forwarded to the network interface device. A direct memory access connection is established between first and second virtual machines in accordance with the request.
-
公开(公告)号:US20190079897A1
公开(公告)日:2019-03-14
申请号:US15824925
申请日:2017-11-28
Applicant: Microsoft Technology Licensing, LLC
Inventor: Alec Kochevar-Cureton , Somesh Chaturmohta , Norman Lam , Sambhrama Mundkur , Daniel Firestone
IPC: G06F15/173 , H04L29/06 , G06F9/455
Abstract: Distributed computing systems, devices, and associated methods of remote direct memory access (“RDMA”) packet routing are disclosed herein. In one embodiment, a server includes a main processor, a network interface card (“NIC”), and a field programmable gate array (“FPGA”) operatively coupled to the main processor via the NIC. The FPGA includes an inbound processing path having an inbound packet buffer configured to receive an inbound packet from the computer network, a NIC buffer, and a multiplexer between the inbound packet buffer and the NIC, and between the NIC buffer and the NIC. The FPGA also includes an outbound processing path having an outbound action circuit having an input to receive the outbound packet from the NIC, a first output to the computer network, and a second output to the NIC buffer in the inbound processing path.
-
公开(公告)号:US11360800B2
公开(公告)日:2022-06-14
申请号:US17063662
申请日:2020-10-05
Applicant: MICROSOFT TECHNOLOGY LICENSING, LLC
Inventor: Alec Kochevar-Cureton , Somesh Chaturmohta , Norman C. Lam , Sambhrama Madhusudhan Mundkur , Daniel M. Firestone
IPC: G06F9/46 , G06F9/455 , G06F15/173 , H04L12/46
Abstract: Techniques are disclosed for implementing direct memory access in a virtualized computing environment. A memory access policy of the virtualized computing environment is applied to a direct memory access connection request received from a first virtual machine via an exception path. The request is flagged to indicate that the request has been processed and the request is forwarded to a network interface device configured to execute offloaded network functions for one or more virtual machines. A memory access policy of the virtualized computing environment is applied to a direct memory access connection reply received from a second virtual machine on the exception path. The reply is flagged to indicate that the reply has been processed and the reply is forwarded to the network interface device. A direct memory access connection is established between first and second virtual machines in accordance with the request.
-
公开(公告)号:US10949379B2
公开(公告)日:2021-03-16
申请号:US16802992
申请日:2020-02-27
Applicant: Microsoft Technology Licensing, LLC
Inventor: Sambhrama Mundkur , Fengfen Liu , Norman Lam , Andrew Putnam , Somesh Chaturmohta , Daniel Firestone , Alec Kochevar-Cureton
IPC: G06F15/173 , H04L29/06 , G06F9/455 , G06F15/76 , H04L12/813 , H04L12/801 , H04L12/935 , H04L12/931 , H04L12/46 , H04L12/911 , H04L12/861 , H04L12/707 , H04L12/721 , H04L12/717 , H04L12/741 , H04L29/08
Abstract: Distributed computing systems, devices, and associated methods of packet routing are disclosed herein. In one embodiment, a method includes receiving, from a computing network, a packet at a packet processor of a server. The method also includes matching the received packet with a flow in a flow table contained in the packet processor and determining whether the action indicates that the received packet is to be forwarded to a NIC buffer in the outbound processing path of the packet processor instead of the NIC. The method further includes in response to determining that the action indicates that the received packet is to be forwarded to the NIC buffer, forwarding the received packet to the NIC buffer and processing the packet in the NIC buffer to forward the packet to the computer network without exposing the packet to the main processor.
-
公开(公告)号:US20200265005A1
公开(公告)日:2020-08-20
申请号:US16802992
申请日:2020-02-27
Applicant: Microsoft Technology Licensing, LLC
Inventor: Sambhrama Mundkur , Fengfen Liu , Norman Lam , Andrew Putnam , Somesh Chaturmohta , Daniel Firestone , Alec Kochevar-Cureton
IPC: G06F15/173 , H04L12/931 , H04L12/935 , H04L12/801 , H04L12/813 , G06F15/76 , H04L12/741 , H04L12/717 , H04L12/721 , H04L12/707 , H04L12/861 , H04L12/911 , G06F9/455 , H04L29/06 , H04L12/46
Abstract: Distributed computing systems, devices, and associated methods of packet routing are disclosed herein. In one embodiment, a method includes receiving, from a computing network, a packet at a packet processor of a server. The method also includes matching the received packet with a flow in a flow table contained in the packet processor and determining whether the action indicates that the received packet is to be forwarded to a NIC buffer in the outbound processing path of the packet processor instead of the NIC. The method further includes in response to determining that the action indicates that the received packet is to be forwarded to the NIC buffer, forwarding the received packet to the NIC buffer and processing the packet in the NIC buffer to forward the packet to the computer network without exposing the packet to the main processor.
-
-
-
-
-
-