Patents by Inventor Sambhrama Mundkur
Sambhrama Mundkur has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 10949379Abstract: 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.Type: GrantFiled: February 27, 2020Date of Patent: March 16, 2021Assignee: Microsoft Technology Licensing, LLCInventors: Sambhrama Mundkur, Fengfen Liu, Norman Lam, Andrew Putnam, Somesh Chaturmohta, Daniel Firestone, Alec Kochevar-Cureton
-
Patent number: 10789199Abstract: Distributed computing systems, devices, and associated methods of packet routing are disclosed herein. In one embodiment, a computing device includes a field programmable gate array (“FPGA”) that includes an inbound processing path and outbound processing path in opposite processing directions. The inbound processing path can forward a packet received from the computer network to a buffer on the FPGA instead of the NIC. The outbound processing path includes an outbound multiplexer having a rate limiter circuit that only forwards the received packet from the buffer back to the computer network when a virtual port corresponding to the packet has sufficient transmission allowance. The outbound multiplexer can also periodically increment the transmission allowance based on a target bandwidth for the virtual port.Type: GrantFiled: February 28, 2018Date of Patent: September 29, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Sambhrama Mundkur, Fengfen Liu, Norman Lam, Andrew Putnam, Somesh Chaturmohta, Daniel Firestone
-
Publication number: 20200265005Abstract: 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.Type: ApplicationFiled: February 27, 2020Publication date: August 20, 2020Inventors: Sambhrama Mundkur, Fengfen Liu, Norman Lam, Andrew Putnam, Somesh Chaturmohta, Daniel Firestone, Alec Kochevar-Cureton
-
Patent number: 10614028Abstract: 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.Type: GrantFiled: November 28, 2017Date of Patent: April 7, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Sambhrama Mundkur, Fengfen Liu, Norman Lam, Andrew Putnam, Somesh Chaturmohta, Daniel Firestone
-
Patent number: 10437775Abstract: 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.Type: GrantFiled: November 28, 2017Date of Patent: October 8, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Alec Kochevar-Cureton, Somesh Chaturmohta, Norman Lam, Sambhrama Mundkur, Daniel Firestone
-
Publication number: 20190081891Abstract: 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.Type: ApplicationFiled: November 28, 2017Publication date: March 14, 2019Inventors: Sambhrama Mundkur, Fengfen Liu, Norman Lam, Andrew Putnam, Somesh Chaturmohta, Daniel Firestone
-
Publication number: 20190079897Abstract: 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.Type: ApplicationFiled: November 28, 2017Publication date: March 14, 2019Inventors: Alec Kochevar-Cureton, Somesh Chaturmohta, Norman Lam, Sambhrama Mundkur, Daniel Firestone
-
Publication number: 20190081899Abstract: Distributed computing systems, devices, and associated methods of packet routing are disclosed herein. In one embodiment, a computing device includes a field programmable gate array (“FPGA”) that includes an inbound processing path and outbound processing path in opposite processing directions. The inbound processing path can forward a packet received from the computer network to a buffer on the FPGA instead of the NIC. The outbound processing path includes an outbound multiplexer having a rate limiter circuit that only forwards the received packet from the buffer back to the computer network when a virtual port corresponding to the packet has sufficient transmission allowance. The outbound multiplexer can also periodically increment the transmission allowance based on a target bandwidth for the virtual port.Type: ApplicationFiled: February 28, 2018Publication date: March 14, 2019Inventors: Sambhrama Mundkur, Fengfen Liu, Norman Lam, Andrew Putnam, Somesh Chaturmohta, Daniel Firestone
-
Patent number: 9753820Abstract: Some embodiments of the invention provide a failover capability in a computer system that employs multiple paths to transfer information to and from a network, such as a computer system that performs virtualization, without introducing a new driver component to provide this capability. For example, some embodiments of the invention provide a networking virtual switch client capable of direct communication between a networking stack implemented by a virtual machine operating system and components comprising either a direct path or a synthetic path to a network interface controller coupled to a network. The networking virtual switch client may be capable of determining which of the paths to employ for a given communication, such as by determining that a synthetic path should be employed if a direct path is not available.Type: GrantFiled: August 21, 2014Date of Patent: September 5, 2017Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Davor Bonaci, Sambhrama Mundkur
-
Publication number: 20140365812Abstract: Some embodiments of the invention provide a failover capability in a computer system that employs multiple paths to transfer information to and from a network, such as a computer system that performs virtualization, without introducing a new driver component to provide this capability. For example, some embodiments of the invention provide a networking virtual switch client capable of direct communication between a networking stack implemented by a virtual machine operating system and components comprising either a direct path or a synthetic path to a network interface controller coupled to a network. The networking virtual switch client may be capable of determining which of the paths to employ for a given communication, such as by determining that a synthetic path should be employed if a direct path is not available.Type: ApplicationFiled: August 21, 2014Publication date: December 11, 2014Inventors: Davor Bonaci, Sambhrama Mundkur
-
Patent number: 8838837Abstract: Some embodiments of the invention provide a failover capability in a computer system that employs multiple paths to transfer information between virtual machines and a network, without introducing a driver component to provide this capability. For example, some embodiments of the invention provide a networking virtual switch client capable of direct communication between a networking stack implemented by a virtual machine operating system and components comprising either a direct path or a synthetic path to a network interface controller coupled to a network. The networking virtual switch client may be capable of determining which of the paths to employ for a given communication, such as by determining that a synthetic path should be employed if a direct path is not available.Type: GrantFiled: June 23, 2011Date of Patent: September 16, 2014Assignee: Microsoft CorporationInventors: Davor Bonaci, Sambhrama Mundkur
-
Publication number: 20120331180Abstract: Some embodiments of the invention provide a failover capability in a computer system that employs multiple paths to transfer information between virtual machines and a network, without introducing a driver component to provide this capability. For example, some embodiments of the invention provide a networking virtual switch client capable of direct communication between a networking stack implemented by a virtual machine operating system and components comprising either a direct path or a synthetic path to a network interface controller coupled to a network. The networking virtual switch client may be capable of determining which of the paths to employ for a given communication, such as by determining that a synthetic path should be employed if a direct path is not available.Type: ApplicationFiled: June 23, 2011Publication date: December 27, 2012Applicant: Microsoft CorporationInventors: Davor Bonaci, Sambhrama Mundkur