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: 11907749Abstract: 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: GrantFiled: May 16, 2022Date of Patent: February 20, 2024Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Alec Kochevar-Cureton, Somesh Chaturmohta, Norman C. Lam, Sambhrama Madhusudhan Mundkur, Daniel M. Firestone
-
Patent number: 11436053Abstract: 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: GrantFiled: September 6, 2019Date of Patent: September 6, 2022Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Rishabh Tewari, Abhijeet Kumar, Neeraj Motwani, Daniel M. Firestone, Vivek Bhanu, Madhan Sivakumar, Michal Czeslaw Zygmunt, Deepak Bansal
-
Publication number: 20220276891Abstract: 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: ApplicationFiled: May 16, 2022Publication date: September 1, 2022Inventors: Alec KOCHEVAR-CURETON, Somesh CHATURMOHTA, Norman C. LAM, Sambhrama Madhusudhan MUNDKUR, Daniel M. FIRESTONE
-
Patent number: 11360800Abstract: 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: GrantFiled: October 5, 2020Date of Patent: June 14, 2022Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Alec Kochevar-Cureton, Somesh Chaturmohta, Norman C. Lam, Sambhrama Madhusudhan Mundkur, Daniel M. Firestone
-
Patent number: 11153269Abstract: 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: GrantFiled: December 9, 2019Date of Patent: October 19, 2021Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Young Lee, Sheng Lu, Xinyan Zan, Daniel M. Firestone, Harish Kumar Chandrappa, Anil A. Ingle, Jayesh Kumaran
-
Publication number: 20210034406Abstract: 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: ApplicationFiled: October 5, 2020Publication date: February 4, 2021Inventors: Alec KOCHEVAR-CURETON, Somesh CHATURMOHTA, Norman C. LAM, Sambhrama Madhusudhan MUNDKUR, Daniel M. FIRESTONE
-
Publication number: 20200371842Abstract: 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: ApplicationFiled: September 6, 2019Publication date: November 26, 2020Inventors: Rishabh Tewari, Abhiijeet Kumar, Neeraj Motwani, Daniel M. Firestone, Vivek Bhanu, Madhan Sivakumar, Michal Czeslaw Zygmunt, Deepak Bansal
-
Patent number: 10831523Abstract: 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: GrantFiled: October 8, 2018Date of Patent: November 10, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Alec Kochevar-Cureton, Somesh Chaturmohta, Norman C. Lam, Sambhrama Madhusudhan Mundkur, Daniel M. Firestone
-
Patent number: 10686568Abstract: 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: GrantFiled: December 29, 2016Date of Patent: June 16, 2020Assignee: Microsoft Technology Licensing, LLCInventors: 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: 20200120065Abstract: 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: ApplicationFiled: December 9, 2019Publication date: April 16, 2020Inventors: Young LEE, Sheng LU, Xinyan ZAN, Daniel M. FIRESTONE, Harish Kumar CHANDRAPPA, Anil A. INGLE, Jayesh KUMARAN
-
Publication number: 20200110626Abstract: 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: ApplicationFiled: October 8, 2018Publication date: April 9, 2020Inventors: Alec KOCHEVAR-CURETON, Somesh CHATURMOHTA, Norman C. LAM, Sambhrama Madhusudhan MUNDKUR, Daniel M. FIRESTONE
-
Patent number: 10536431Abstract: 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: GrantFiled: April 30, 2018Date of Patent: January 14, 2020Assignee: Microsoft Technology LicensingInventors: Young Lee, Sheng Lu, Xinyan Zan, Daniel M. Firestone, Harish Kumar Chandrappa, Anil Ingle, Jayesh Kumaran
-
Publication number: 20190334858Abstract: 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: ApplicationFiled: April 30, 2018Publication date: October 31, 2019Inventors: Young LEE, Sheng LU, Xinyan ZAN, Daniel M. FIRESTONE, Harish Kumar CHANDRAPPA, Anil INGLE, Jayesh KUMARAN
-
Publication number: 20180191471Abstract: 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: ApplicationFiled: December 29, 2016Publication date: July 5, 2018Applicant: Microsoft Technology Licensing, LLCInventors: 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: 20170244642Abstract: 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: ApplicationFiled: February 24, 2016Publication date: August 24, 2017Inventors: Hadi Katebi, Daniel M. Firestone, George Varghese
-
Patent number: 8930690Abstract: 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: GrantFiled: July 17, 2012Date of Patent: January 6, 2015Assignee: Microsoft CorporationInventors: Yue Zuo, Daniel M. Firestone, Albert Gordon Greenberg, HoYuen Chau, Yimin Deng, Bryan William Tuttle, Pankaj Garg
-
Patent number: 8856518Abstract: 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: GrantFiled: August 2, 2012Date of Patent: October 7, 2014Assignee: Microsoft CorporationInventors: Murari Sridharan, Narasimhan Venkataramaiah, Yu-Shun Wang, Albert G. Greenberg, Alireza Dabagh, Pankaj Garg, Daniel M. Firestone
-
Publication number: 20130254766Abstract: 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: ApplicationFiled: July 17, 2012Publication date: September 26, 2013Applicant: Microsoft CorporationInventors: Yue Zuo, Daniel M. Firestone, Albert Gordon Greenberg, Ho Yuen Chau, Yimin Deng, Bryan William Tuttle, Pankaj Garg
-
Publication number: 20130061047Abstract: 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: ApplicationFiled: August 2, 2012Publication date: March 7, 2013Applicant: MICROSOFT CORPORATIONInventors: Murari Sridharan, Narasimhan Venkataramaiah, Yu-Shun Wang, Albert G. Greenberg, Alireza Dabagh, Pankaj Garg, Daniel M. Firestone