Patents by Inventor Daniel Max FIRESTONE
Daniel Max 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: 11888725Abstract: Described herein are systems and methods for supporting multicast for virtual networks. In some embodiments, a native multicast approach can utilized in which packet replication is performed on a host node of a virtual machine (VM) with a multicast data packet encapsulated in uniquely address unicast packets. In some embodiments, a network virtual appliance can be utilized. A multicast packet sent from the VM can be unicasted to the network virtual appliance. The multicast appliance can then replicate the packet into multiple copies and send the packets to the receivers in the virtual network as unicast data packets encapsulating the multicast packet.Type: GrantFiled: October 21, 2021Date of Patent: January 30, 2024Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Harish Kumar Chandrappa, Adarsh Kirnelli Rangaiah, Milan Dasgupta, Daniel Max Firestone, Michal Czeslaw Zygmunt, Xinyan Zan, Rishabh Tewari, Eric Lawrence Albert Lantz, Deepak Bansal, Young Lee
-
Patent number: 11743189Abstract: A virtual network comprising virtual machines executing at a computing environment is implemented. A software defined networking (SDN) appliance is configured to provide a connection to computing resources via a virtual network of a virtual computing environment. The SDN appliance includes a network interface card that are operable to interact with multiple field-programmable gate array (FPGA) devices are configured to be a hardware acceleration device for processing data traffic, and the FPGA device is configured to ingress a packet to a dataflow on one port and egress the packet from a different port associated with a different dataflow.Type: GrantFiled: December 1, 2020Date of Patent: August 29, 2023Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Jonathan Paul Rosenberg, James Wesley Boerner, Daniel Max Firestone, Rishbah Tewari, Anish Sagar Narsian
-
Patent number: 11561812Abstract: Described herein is a system and method for flow state save/restore of a virtual filtering platform. A first instance of a driver manages policy and flow state for ongoing flows between client device(s) and virtual machine(s). The virtual filtering platform is transitioned from the first instance of a driver to a second instance of the driver by serializing the policy and state for the ongoing flows on the first instance of the driver using a one pass algorithm. The serialized policy and state for the ongoing flows can be de-serialized with the ongoing flows re-established and/or reconciled on the second instance of the driver in accordance with the de-serialized policy and state for the plurality of ongoing flows. In some embodiments, a memory management technique can use a single operating system memory allocation call to allocate memory for the transition, with the technique managing utilization of the allocation memory.Type: GrantFiled: May 17, 2021Date of Patent: January 24, 2023Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Harish Kumar Chandrappa, Milan Dasgupta, Daniel Max Firestone
-
Publication number: 20220150156Abstract: Described herein are systems and methods for supporting multicast for virtual networks. In some embodiments, a native multicast approach can utilized in which packet replication is performed on a host node of a virtual machine (VM) with a multicast data packet encapsulated in uniquely address unicast packets. In some embodiments, a network virtual appliance can be utilized. A multicast packet sent from the VM can be unicasted to the network virtual appliance. The multicast appliance can then replicate the packet into multiple copies and send the packets to the receivers in the virtual network as unicast data packets encapsulating the multicast packet.Type: ApplicationFiled: October 21, 2021Publication date: May 12, 2022Inventors: Harish Kumar CHANDRAPPA, Adarsh Kirnelli RANGAIAH, Milan DASGUPTA, Daniel Max FIRESTONE, Michal Czeslaw ZYGMUNT, Xinyan ZAN, Rishabh TEWARI, Eric Lawrence Albert LANTZ, Deepak BANSAL, Young LEE
-
Publication number: 20220086091Abstract: A virtual network comprising virtual machines executing at a computing environment is implemented. A software defined networking (SDN) appliance is configured to provide a connection to computing resources via a virtual network of a virtual computing environment. The SDN appliance includes a network interface card that are operable to interact with multiple field-programmable gate array (FPGA) devices are configured to be a hardware acceleration device for processing data traffic, and the FPGA device is configured to ingress a packet to a dataflow on one port and egress the packet from a different port associated with a different dataflow.Type: ApplicationFiled: December 1, 2020Publication date: March 17, 2022Inventors: Jonathan Paul ROSENBERG, James Wesley Boerner, Daniel Max Firestone, Rishbah Tewari, Anish Sagar Narsian
-
Publication number: 20220086025Abstract: A virtual network comprising virtual machines executing at a computing environment is implemented. A floating network interface is attached to a software defined networking (SDN) appliance. The floating network interface is configured to provide a connection to computing resources via a virtual network of a virtual computing environment, and the floating network interface is attachable to and detachable from the SDN appliance. The SDN appliance is configured to apply policies of the virtual computing environment to data traffic on the virtual network.Type: ApplicationFiled: December 1, 2020Publication date: March 17, 2022Inventors: Rishabh TEWARI, Sumit Sharad DHOBLE, James Allen GRANTHAM, Avijit GUPTA, Daniel Max FIRESTONE, Deepak BANSAL, Manasi DEVAL, Anupam PANDEY, Gabriel SILVA, Narayan ANNAMALAI, Madhan SIVAKUMAR, Ezzeldin HAMED, David Aaron MALTZ
-
Patent number: 11252096Abstract: Described herein is a system and method for managing network flow state for ongoing flows (connectionless protocol flows and connection-based protocol flows) between client device(s) and a virtual machine using a flow collection data structure (e.g. hash table) having a predefined maximum quantity of ongoing flows that can be managed. When it is determined that the flow collection data structure is managing greater than an acceptable threshold of connectionless protocol flows, at a dynamically adjustable frequency, flow state for more connectionless protocol flow(s) having an unexpired time-to-live are expired. The frequency can be adjusted based upon a rate at which new flows are being created and/or a rate at which flows are being deleted. Also described herein is a system and method in which, at a particular frequency, only a portion of the flows in the flow collection data structure are evaluated in order to minimize impact on packet processing.Type: GrantFiled: June 20, 2019Date of Patent: February 15, 2022Assignee: Microsoft Technology Licensing, LLCInventors: Harish Kumar Chandrappa, Milan Dasgupta, Daniel Max Firestone, Adarsh Kirnelli Rangaiah
-
Publication number: 20210373923Abstract: Described herein is a system and method for flow state save/restore of a virtual filtering platform. A first instance of a driver manages policy and flow state for ongoing flows between client device(s) and virtual machine(s). The virtual filtering platform is transitioned from the first instance of a driver to a second instance of the driver by serializing the policy and state for the ongoing flows on the first instance of the driver using a one pass algorithm. The serialized policy and state for the ongoing flows can be de-serialized with the ongoing flows re-established and/or reconciled on the second instance of the driver in accordance with the de-serialized policy and state for the plurality of ongoing flows. In some embodiments, a memory management technique can use a single operating system memory allocation call to allocate memory for the transition, with the technique managing utilization of the allocation memory.Type: ApplicationFiled: May 17, 2021Publication date: December 2, 2021Applicant: Microsoft Technology Licensing, LLCInventors: Harish Kumar Chandrappa, Milan Dasgupta, Daniel Max Firestone
-
Patent number: 11184274Abstract: Described herein are systems and methods for supporting multicast for virtual networks. In some embodiments, a native multicast approach can utilized in which packet replication is performed on a host node of a virtual machine (VM) with a multicast data packet encapsulated in uniquely address unicast packets. In some embodiments, a network virtual appliance can be utilized. A multicast packet sent from the VM can be unicasted to the network virtual appliance. The multicast appliance can then replicate the packet into multiple copies and send the packets to the receivers in the virtual network as unicast data packets encapsulating the multicast packet.Type: GrantFiled: May 31, 2019Date of Patent: November 23, 2021Assignee: Microsoft Technology Licensing, LLCInventors: Harish Kumar Chandrappa, Adarsh Kirnelli Rangaiah, Milan Dasgupta, Daniel Max Firestone, Michal Czeslaw Zygmunt, Xinyan Zan, Rishabh Tewari, Eric Lawrence Albert Lantz, Deepak Bansal, Young Lee
-
Patent number: 11042392Abstract: Described herein is a system and method for flow state save/restore of a virtual filtering platform. A first instance of a driver manages policy and flow state for ongoing flows between client device(s) and virtual machine(s). The virtual filtering platform is transitioned from the first instance of a driver to a second instance of the driver by serializing the policy and state for the ongoing flows on the first instance of the driver using a one pass algorithm. The serialized policy and state for the ongoing flows can be de-serialized with the ongoing flows re-established and/or reconciled on the second instance of the driver in accordance with the de-serialized policy and state for the plurality of ongoing flows. In some embodiments, a memory management technique can use a single operating system memory allocation call to allocate memory for the transition, with the technique managing utilization of the allocation memory.Type: GrantFiled: June 14, 2019Date of Patent: June 22, 2021Assignee: Microsoft Technology Licensing, LLCInventors: Harish Kumar Chandrappa, Milan Dasgupta, Daniel Max Firestone
-
Publication number: 20200403926Abstract: Described herein is a system and method for managing network flow state for ongoing flows (connectionless protocol flows and connection-based protocol flows) between client device(s) and a virtual machine using a flow collection data structure (e.g. hash table) having a predefined maximum quantity of ongoing flows that can be managed. When it is determined that the flow collection data structure is managing greater than an acceptable threshold of connectionless protocol flows, at a dynamically adjustable frequency, flow state for more connectionless protocol flow(s) having an unexpired time-to-live are expired. The frequency can be adjusted based upon a rate at which new flows are being created and/or a rate at which flows are being deleted. Also described herein is a system and method in which, at a particular frequency, only a portion of the flows in the flow collection data structure are evaluated in order to minimize impact on packet processing.Type: ApplicationFiled: June 20, 2019Publication date: December 24, 2020Applicant: Microsoft Technology Licensing, LLCInventors: Harish Kumar CHANDRAPPA, Milan DASGUPTA, Daniel Max FIRESTONE, Adarsh Kirnelli RANGAIAH
-
Publication number: 20200394060Abstract: Described herein is a system and method for flow state save/restore of a virtual filtering platform. A first instance of a driver manages policy and flow state for ongoing flows between client device(s) and virtual machine(s). The virtual filtering platform is transitioned from the first instance of a driver to a second instance of the driver by serializing the policy and state for the ongoing flows on the first instance of the driver using a one pass algorithm. The serialized policy and state for the ongoing flows can be de-serialized with the ongoing flows re-established and/or reconciled on the second instance of the driver in accordance with the de-serialized policy and state for the plurality of ongoing flows. In some embodiments, a memory management technique can use a single operating system memory allocation call to allocate memory for the transition, with the technique managing utilization of the allocation memory.Type: ApplicationFiled: June 14, 2019Publication date: December 17, 2020Applicant: Microsoft Technology Licensing, LLCInventors: Harish Kumar CHANDRAPPA, Milan DASGUPTA, Daniel Max FIRESTONE
-
Publication number: 20200382412Abstract: Described herein are systems and methods for supporting multicast for virtual networks. In some embodiments, a native multicast approach can utilized in which packet replication is performed on a host node of a virtual machine (VM) with a multicast data packet encapsulated in uniquely address unicast packets. In some embodiments, a network virtual appliance can be utilized. A multicast packet sent from the VM can be unicasted to the network virtual appliance. The multicast appliance can then replicate the packet into multiple copies and send the packets to the receivers in the virtual network as unicast data packets encapsulating the multicast packet.Type: ApplicationFiled: May 31, 2019Publication date: December 3, 2020Applicant: Microsoft Technology Licensing, LLCInventors: Harish Kumar CHANDRAPPA, Adarsh Kirnelli RANGAIAH, Milan DASGUPTA, Daniel Max FIRESTONE, Michal Czeslaw ZYGMUNT, Xinyan ZAN, Rishabh TEWARI, Eric Lawrence Albert LANTZ, Deepak BANSAL, Young LEE