Patents by Inventor Daniel M. Firestone

Daniel M. Firestone 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: 11907749
    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.
    Type: Grant
    Filed: May 16, 2022
    Date of Patent: February 20, 2024
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Alec Kochevar-Cureton, Somesh Chaturmohta, Norman C. Lam, Sambhrama Madhusudhan Mundkur, Daniel M. Firestone
  • Patent number: 11436053
    Abstract: A network appliance is configured to receive a packet having an address of a custom device as a source address. Policies are accessed that are applicable to a virtual network associated with the custom device. The policies are applied to the packet. A hairpin layer redirects the packet to a destination address contained in the packet. For subsequent packets, application of the policies is bypassed to the subsequent packets. Application of the policies is offloaded to an acceleration device.
    Type: Grant
    Filed: September 6, 2019
    Date of Patent: September 6, 2022
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Rishabh Tewari, Abhijeet Kumar, Neeraj Motwani, Daniel M. Firestone, Vivek Bhanu, Madhan Sivakumar, Michal Czeslaw Zygmunt, Deepak Bansal
  • Publication number: 20220276891
    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.
    Type: Application
    Filed: May 16, 2022
    Publication date: September 1, 2022
    Inventors: Alec KOCHEVAR-CURETON, Somesh CHATURMOHTA, Norman C. LAM, Sambhrama Madhusudhan MUNDKUR, Daniel M. FIRESTONE
  • Patent number: 11360800
    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.
    Type: Grant
    Filed: October 5, 2020
    Date of Patent: June 14, 2022
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Alec Kochevar-Cureton, Somesh Chaturmohta, Norman C. Lam, Sambhrama Madhusudhan Mundkur, Daniel M. Firestone
  • Patent number: 11153269
    Abstract: A DHCP server implementation includes transmission of a DHCP packet from a virtual machine executing on a server node to a node agent executing on the server node, generation, by the node agent, of a DHCP response packet based on the DHCP packet and on DHCP information previously stored in a local memory of the server node, and transmission of the DHCP response packet from the node agent to the virtual machine. Neither the DHCP packet transmitted by the virtual machine nor the DHCP response packet are transmitted out of the server node.
    Type: Grant
    Filed: December 9, 2019
    Date of Patent: October 19, 2021
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Young Lee, Sheng Lu, Xinyan Zan, Daniel M. Firestone, Harish Kumar Chandrappa, Anil A. Ingle, Jayesh Kumaran
  • Publication number: 20210034406
    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.
    Type: Application
    Filed: October 5, 2020
    Publication date: February 4, 2021
    Inventors: Alec KOCHEVAR-CURETON, Somesh CHATURMOHTA, Norman C. LAM, Sambhrama Madhusudhan MUNDKUR, Daniel M. FIRESTONE
  • Publication number: 20200371842
    Abstract: A network appliance is configured to receive a packet having an address of a custom device as a source address. Policies are accessed that are applicable to a virtual network associated with the custom device. The policies are applied to the packet. A hairpin layer redirects the packet to a destination address contained in the packet. For subsequent packets, application of the policies is bypassed to the subsequent packets. Application of the policies is offloaded to an acceleration device.
    Type: Application
    Filed: September 6, 2019
    Publication date: November 26, 2020
    Inventors: Rishabh Tewari, Abhiijeet Kumar, Neeraj Motwani, Daniel M. Firestone, Vivek Bhanu, Madhan Sivakumar, Michal Czeslaw Zygmunt, Deepak Bansal
  • Patent number: 10831523
    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.
    Type: Grant
    Filed: October 8, 2018
    Date of Patent: November 10, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Alec Kochevar-Cureton, Somesh Chaturmohta, Norman C. Lam, Sambhrama Madhusudhan Mundkur, Daniel M. Firestone
  • Patent number: 10686568
    Abstract: An overlay network refers to a network that is implemented as various different virtual resources on a physical network referred to as an underlay network. Diagnostics are performed on the overlay network by injecting diagnostic packets from a source endpoint targeting a target endpoint. These endpoints can be in the overlay network, on-premises with the other endpoint but in a different overlay network, or off-premises form the other endpoint. The diagnostic packets include a data packet encapsulated with a diagnostic encapsulation header that can be removed by a network element in the underlay network to allow processing of the data packet, and then added back on. The network element maintains trace information that is a record of receipt of the diagnostic packet and operations performed on the diagnostic packet. A tracing service collects and analyzes this trace information from the various network elements.
    Type: Grant
    Filed: December 29, 2016
    Date of Patent: June 16, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Mahmoud Shawky Elhaddad, Ranjit Puri, Deepak Narula, Madhan Sivakumar, Vikas Bhardwaj, Harish Kumar Chandrappa, Daniel M. Firestone, Xuan Zou, Keith Loren Mange, Manish Tiwari, Keerthi Shankar
  • Publication number: 20200120065
    Abstract: A DHCP server implementation includes transmission of a DHCP packet from a virtual machine executing on a server node to a node agent executing on the server node, generation, by the node agent, of a DHCP response packet based on the DHCP packet and on DHCP information previously stored in a local memory of the server node, and transmission of the DHCP response packet from the node agent to the virtual machine. Neither the DHCP packet transmitted by the virtual machine nor the DHCP response packet are transmitted out of the server node.
    Type: Application
    Filed: December 9, 2019
    Publication date: April 16, 2020
    Inventors: Young LEE, Sheng LU, Xinyan ZAN, Daniel M. FIRESTONE, Harish Kumar CHANDRAPPA, Anil A. INGLE, Jayesh KUMARAN
  • Publication number: 20200110626
    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.
    Type: Application
    Filed: October 8, 2018
    Publication date: April 9, 2020
    Inventors: Alec KOCHEVAR-CURETON, Somesh CHATURMOHTA, Norman C. LAM, Sambhrama Madhusudhan MUNDKUR, Daniel M. FIRESTONE
  • Patent number: 10536431
    Abstract: A DHCP server implementation includes transmission of a DHCP packet from a virtual machine executing on a server node to a node agent executing on the server node, generation, by the node agent, of a DHCP response packet based on the DHCP packet and on DHCP information previously stored in a local memory of the server node, and transmission of the DHCP response packet from the node agent to the virtual machine. Neither the DHCP packet transmitted by the virtual machine nor the DHCP response packet are transmitted out of the server node.
    Type: Grant
    Filed: April 30, 2018
    Date of Patent: January 14, 2020
    Assignee: Microsoft Technology Licensing
    Inventors: Young Lee, Sheng Lu, Xinyan Zan, Daniel M. Firestone, Harish Kumar Chandrappa, Anil Ingle, Jayesh Kumaran
  • Publication number: 20190334858
    Abstract: A DHCP server implementation includes transmission of a DHCP packet from a virtual machine executing on a server node to a node agent executing on the server node, generation, by the node agent, of a DHCP response packet based on the DHCP packet and on DHCP information previously stored in a local memory of the server node, and transmission of the DHCP response packet from the node agent to the virtual machine. Neither the DHCP packet transmitted by the virtual machine nor the DHCP response packet are transmitted out of the server node.
    Type: Application
    Filed: April 30, 2018
    Publication date: October 31, 2019
    Inventors: Young LEE, Sheng LU, Xinyan ZAN, Daniel M. FIRESTONE, Harish Kumar CHANDRAPPA, Anil INGLE, Jayesh KUMARAN
  • Publication number: 20180191471
    Abstract: An overlay network refers to a network that is implemented as various different virtual resources on a physical network referred to as an underlay network. Diagnostics are performed on the overlay network by injecting diagnostic packets from a source endpoint targeting a target endpoint. These endpoints can be in the overlay network, on-premises with the other endpoint but in a different overlay network, or off-premises form the other endpoint. The diagnostic packets include a data packet encapsulated with a diagnostic encapsulation header that can be removed by a network element in the underlay network to allow processing of the data packet, and then added back on. The network element maintains trace information that is a record of receipt of the diagnostic packet and operations performed on the diagnostic packet. A tracing service collects and analyzes this trace information from the various network elements.
    Type: Application
    Filed: December 29, 2016
    Publication date: July 5, 2018
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Mahmoud Shawky Elhaddad, Ranjit Puri, Deepak Narula, Madhan Sivakumar, Vikas Bhardwaj, Harish Kumar Chandrappa, Daniel M. Firestone, Xuan Zou, Keith Loren Mange, Manish Tiwari, Keerthi Shankar
  • Publication number: 20170244642
    Abstract: Methods, media, and systems for implementing packet routing rules are provided for herein. In some embodiments, a packet routing rule is received that is to be applied to network packets in accordance with conditions identified by the packet routing rule. The conditions including a first condition associated with a first header field and a second condition associated with a second header field. In embodiments, a first cost associated with searching a first classifier for the packet routing rule utilizing the first condition and a second cost associated with searching a second classifier for the packet routing rule utilizing the second condition can then be determined. The packet routing rule can then be stored in a selected one of the first and second classifiers, based, at least in part, on the first and second cost. Other embodiments may be described and/or claimed herein.
    Type: Application
    Filed: February 24, 2016
    Publication date: August 24, 2017
    Inventors: Hadi Katebi, Daniel M. Firestone, George Varghese
  • Patent number: 8930690
    Abstract: The present invention extends to methods, systems, and computer program products for offloading packet processing for networking device virtualization. A host maintains rule set(s) for a virtual machine, and a physical network interface card (NIC) maintains flow table(s) for the virtual machine. The physical NIC receives and processes a network packet associated with the virtual machine. Processing the network packet includes the physical NIC comparing the network packet with the flow table(s) at the physical NIC. When the network packet matches with a flow in the flow table(s) at the physical NIC, the physical NIC performs an action on the network packet based on the matching flow. Alternatively, when the network packet does not match with a flow in the flow table(s) at the physical NIC, the physical NIC passes the network packet to the host partition for processing against the rule set(s).
    Type: Grant
    Filed: July 17, 2012
    Date of Patent: January 6, 2015
    Assignee: Microsoft Corporation
    Inventors: Yue Zuo, Daniel M. Firestone, Albert Gordon Greenberg, HoYuen Chau, Yimin Deng, Bryan William Tuttle, Pankaj Garg
  • Patent number: 8856518
    Abstract: Techniques for efficient and secure implementation of network policies in a network interface controller (NIC) in a host computing device operating a virtualized computing environment. In some embodiments, the NIC may process and forward packets directly to their destinations, bypassing a parent partition of the host computing device. In particular, in some embodiments, the NIC may store network policy information to process and forward packets directly to a virtual machine (VM). If the NIC is unable to process a packet, then the NIC may forward the packet to the parent partition. In some embodiments, the NIC may use an encapsulation protocol to transmit address information in packet headers. In some embodiments, this address information may be communicated by the MC to the parent partition via a secure channel. The NIC may also obtain, and decrypt, encrypted addresses from the VMs for routing packets, bypassing the parent partition.
    Type: Grant
    Filed: August 2, 2012
    Date of Patent: October 7, 2014
    Assignee: Microsoft Corporation
    Inventors: Murari Sridharan, Narasimhan Venkataramaiah, Yu-Shun Wang, Albert G. Greenberg, Alireza Dabagh, Pankaj Garg, Daniel M. Firestone
  • Publication number: 20130254766
    Abstract: The present invention extends to methods, systems, and computer program products for offloading packet processing for networking device virtualization. A host maintains rule set(s) for a virtual machine, and a physical network interface card (NIC) maintains flow table(s) for the virtual machine. The physical NIC receives and processes a network packet associated with the virtual machine. Processing the network packet includes the physical NIC comparing the network packet with the flow table(s) at the physical NIC. When the network packet matches with a flow in the flow table(s) at the physical NIC, the physical NIC performs an action on the network packet based on the matching flow. Alternatively, when the network packet does not match with a flow in the flow table(s) at the physical NIC, the physical NIC passes the network packet to the host partition for processing against the rule set(s).
    Type: Application
    Filed: July 17, 2012
    Publication date: September 26, 2013
    Applicant: Microsoft Corporation
    Inventors: Yue Zuo, Daniel M. Firestone, Albert Gordon Greenberg, Ho Yuen Chau, Yimin Deng, Bryan William Tuttle, Pankaj Garg
  • Publication number: 20130061047
    Abstract: Techniques for efficient and secure implementation of network policies in a network interface controller (NIC) in a host computing device operating a virtualized computing environment. In some embodiments, the NIC may process and forward packets directly to their destinations, bypassing a parent partition of the host computing device. In particular, in some embodiments, the NIC may store network policy information to process and forward packets directly to a virtual machine (VM). If the NIC is unable to process a packet, then the NIC may forward the packet to the parent partition. In some embodiments, the NIC may use an encapsulation protocol to transmit address information in packet headers. In some embodiments, this address information may be communicated by the MC to the parent partition via a secure channel. The NIC may also obtain, and decrypt, encrypted addresses from the VMs for routing packets, bypassing the parent partition.
    Type: Application
    Filed: August 2, 2012
    Publication date: March 7, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: Murari Sridharan, Narasimhan Venkataramaiah, Yu-Shun Wang, Albert G. Greenberg, Alireza Dabagh, Pankaj Garg, Daniel M. Firestone