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: 10949379
    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.
    Type: Grant
    Filed: February 27, 2020
    Date of Patent: March 16, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Sambhrama Mundkur, Fengfen Liu, Norman Lam, Andrew Putnam, Somesh Chaturmohta, Daniel Firestone, Alec Kochevar-Cureton
  • Patent number: 10789199
    Abstract: 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: Grant
    Filed: February 28, 2018
    Date of Patent: September 29, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Sambhrama Mundkur, Fengfen Liu, Norman Lam, Andrew Putnam, Somesh Chaturmohta, Daniel Firestone
  • Publication number: 20200265005
    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.
    Type: Application
    Filed: February 27, 2020
    Publication date: August 20, 2020
    Inventors: Sambhrama Mundkur, Fengfen Liu, Norman Lam, Andrew Putnam, Somesh Chaturmohta, Daniel Firestone, Alec Kochevar-Cureton
  • Patent number: 10614028
    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.
    Type: Grant
    Filed: November 28, 2017
    Date of Patent: April 7, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Sambhrama Mundkur, Fengfen Liu, Norman Lam, Andrew Putnam, Somesh Chaturmohta, Daniel Firestone
  • Patent number: 10437775
    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.
    Type: Grant
    Filed: November 28, 2017
    Date of Patent: October 8, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Alec Kochevar-Cureton, Somesh Chaturmohta, Norman Lam, Sambhrama Mundkur, Daniel Firestone
  • Publication number: 20190079897
    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.
    Type: Application
    Filed: November 28, 2017
    Publication date: March 14, 2019
    Inventors: Alec Kochevar-Cureton, Somesh Chaturmohta, Norman Lam, Sambhrama Mundkur, Daniel Firestone
  • Publication number: 20190081891
    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.
    Type: Application
    Filed: November 28, 2017
    Publication date: March 14, 2019
    Inventors: Sambhrama Mundkur, Fengfen Liu, Norman Lam, Andrew Putnam, Somesh Chaturmohta, Daniel Firestone
  • Publication number: 20190081899
    Abstract: 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: Application
    Filed: February 28, 2018
    Publication date: March 14, 2019
    Inventors: Sambhrama Mundkur, Fengfen Liu, Norman Lam, Andrew Putnam, Somesh Chaturmohta, Daniel Firestone
  • Patent number: 9753820
    Abstract: 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: Grant
    Filed: August 21, 2014
    Date of Patent: September 5, 2017
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Davor Bonaci, Sambhrama Mundkur
  • Publication number: 20140365812
    Abstract: 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: Application
    Filed: August 21, 2014
    Publication date: December 11, 2014
    Inventors: Davor Bonaci, Sambhrama Mundkur
  • Patent number: 8838837
    Abstract: 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: Grant
    Filed: June 23, 2011
    Date of Patent: September 16, 2014
    Assignee: Microsoft Corporation
    Inventors: Davor Bonaci, Sambhrama Mundkur
  • Publication number: 20120331180
    Abstract: 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: Application
    Filed: June 23, 2011
    Publication date: December 27, 2012
    Applicant: Microsoft Corporation
    Inventors: Davor Bonaci, Sambhrama Mundkur