Patents by Inventor David Allen Dion
David Allen Dion 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: 11290524Abstract: Embodiments are directed to communicating between computing nodes in a cluster of nodes. In one scenario, a computer system receives a data packet from a worker node including the worker node's current workload identifiers and health status, where the data packet includes an associated version number. The computer system determines that the version number in the received data packet is different than a previously received data packet and evaluates the worker node's current workload configuration to determine whether workload changes are to be made on the worker node. Then, upon determining that workload changes are to be made on the worker node, the computer system selects a subset of workload changes to apply to the worker node, generates an indication of the selected subset of workload changes to the worker node and sends the generated indication of workload changes to the worker node.Type: GrantFiled: August 13, 2014Date of Patent: March 29, 2022Assignee: Microsoft Technology Licensing, LLCInventors: Abhinit Kumar, Andrea D'Amato, David Allen Dion, Gor Nishanov, Lokesh Srinivas Koppolu, Nicholas Maliwacki
-
Patent number: 10656868Abstract: Technologies for cluster systems that are natively geo-site-aware. Such a cluster system makes use of this awareness to determine the subsets of nodes located at various geo-sites at physical configuration, to optimize workload placement based on the geo-sites, to make failover and failback decisions based on the geo-sites, and to assign voting and prune nodes for quorum management based on the geo-sites. Such capabilities result in cluster systems that are more resilient and more efficient in terms of resource usage than cluster systems without such native geo-site awareness.Type: GrantFiled: March 8, 2018Date of Patent: May 19, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Lokesh Srinivas Koppolu, David Allen Dion, Abhinit Kumar, Suresh Chandra Pippari, Amitabh Tamhane, Elden Christensen
-
Patent number: 10503419Abstract: Embodiments provide a method and system for enabling access to a storage device. Specifically, a node may request admittance to a cluster that has read and write access to a storage device. The node seeking access to the storage device must be first be approved by other nodes in the cluster. As part of the request, the node seeking access to the storage device sends a registration key to a storage device. Upon expiration of a registration timer, the node seeking access to the storage device receives a registration table from the storage device and determines whether its registration key is stored in the registration table. If the registration key is stored in the registration table the node has been accepted in the cluster and as a result, has been granted read and write access to the storage device.Type: GrantFiled: April 28, 2017Date of Patent: December 10, 2019Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Vyacheslav Kuznetsov, Vinod R. Shankar, Andrea D'Amato, David Allen Dion
-
Patent number: 10437506Abstract: Technologies for cluster systems that are natively geo-site-aware. Such a cluster system makes use of this awareness to determine the subsets of nodes located at various geo-sites at physical configuration, to optimize workload placement based on the geo-sites, to make failover and failback decisions based on the geo-sites, and to assign voting and prune nodes for quorum management based on the geo-sites. Such capabilities result in cluster systems that are more resilient and more efficient in terms of resource usage than cluster systems without such native geo-site awareness.Type: GrantFiled: December 14, 2015Date of Patent: October 8, 2019Assignee: MICROSOFT TECHNOLOGY LICENSING LLCInventors: Lokesh Srinivas Koppolu, David Allen Dion, Abhinit Kumar, Suresh Chandra Pippari, Amitabh Tamhane, Elden Christensen
-
Patent number: 10177994Abstract: Embodiments are directed to organizing computing nodes in a cluster federation and to reassigning roles in a cluster federation. In one scenario, a computer system identifies computing nodes that are to be part of a cluster federation which includes a master cluster and worker clusters. The computer system assigns a director role to a master node in the master cluster which governs decisions that affect consistency within the federation, and further assigns a leader role to at least one master node which monitors and controls other master nodes in the master cluster. The computer system assigns a worker agent role to a worker node which receives workload assignments from the master cluster, and further assigns a worker role to a worker node which processes the assigned workload. The organized cluster federation provides fault tolerance by allowing roles to be dynamically reassigned to computing nodes in different master and worker clusters.Type: GrantFiled: August 13, 2014Date of Patent: January 8, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Gor Nishanov, Andrea D'Amato, David Allen Dion, Amitabh Prakash Tamhane, Lokesh Srinivas Koppolu, Nicholas Maliwacki
-
Publication number: 20180239536Abstract: Technologies for cluster systems that are natively geo-site-aware. Such a cluster system makes use of this awareness to determine the subsets of nodes located at various geo-sites at physical configuration, to optimize workload placement based on the geo-sites, to make failover and failback decisions based on the geo-sites, and to assign voting and prune nodes for quorum management based on the geo-sites. Such capabilities result in cluster systems that are more resilient and more efficient in terms of resource usage than cluster systems without such native geo-site awareness.Type: ApplicationFiled: March 8, 2018Publication date: August 23, 2018Inventors: Lokesh Srinivas Koppolu, David Allen Dion, Abhinit Kumar, Suresh Chandra Pippari, Amitabh Tamhane, Elden Christensen
-
Publication number: 20170228184Abstract: Embodiments provide a method and system for enabling access to a storage device. Specifically, a node may request admittance to a cluster that has read and write access to a storage device. The node seeking access to the storage device must be first be approved by other nodes in the cluster. As part of the request, the node seeking access to the storage device sends a registration key to a storage device. Upon expiration of a registration timer, the node seeking access to the storage device receives a registration table from the storage device and determines whether its registration key is stored in the registration table. If the registration key is stored in the registration table the node has been accepted in the cluster and as a result, has been granted read and write access to the storage device.Type: ApplicationFiled: April 28, 2017Publication date: August 10, 2017Applicant: Microsoft Technology Licensing, LLCInventors: Vyacheslav Kuznetsov, Vinod R. Shankar, Andrea D'Amato, David Allen Dion
-
Patent number: 9641614Abstract: Embodiments provide a method and system for enabling access to a storage device. Specifically, a node may request admittance to a cluster that has read and write access to a storage device. The node seeking access to the storage device must be first be approved by other nodes in the cluster. As part of the request, the node seeking access to the storage device sends a registration key to a storage device. Upon expiration of a registration timer, the node seeking access to the storage device receives a registration table from the storage device and determines whether its registration key is stored in the registration table. If the registration key is stored in the registration table the node has been accepted in the cluster and as a result, has been granted read and write access to the storage device.Type: GrantFiled: May 29, 2013Date of Patent: May 2, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Vyacheslav Kuznetsov, Vinod R. Shankar, Andrea D'Amato, David Allen Dion
-
Publication number: 20170052707Abstract: Technologies for cluster systems that are natively geo-site-aware. Such a cluster system makes use of this awareness to determine the subsets of nodes located at various geo-sites at physical configuration, to optimize workload placement based on the geo-sites, to make failover and failback decisions based on the geo-sites, and to assign voting and prune nodes for quorum management based on the geo-sites. Such capabilities result in cluster systems that are more resilient and more efficient in terms of resource usage than cluster systems without such native geo-site awareness.Type: ApplicationFiled: December 14, 2015Publication date: February 23, 2017Inventors: Lokesh Srinivas Koppolu, David Allen Dion, Abhinit Kumar, Suresh Chandra Pippari, Amitabh Tamhane, Elden Christensen
-
Patent number: 9438520Abstract: The present invention extends to methods, systems, and computer program products for synchronizing state among load balancer components. Embodiments of the invention include load balancers using a consistent hashing algorithm to decide how new connections should be load balanced. Use of consistent hashing algorithm permits load balancers to work in a stateless manner in steady state. Load balancers start keeping flow state information (destination address for a given flow) about incoming packets when it is needed, i.e. such as, for example, when a change in destination host configuration is detected. State information is shared across load balancers in a deterministic way, which allows knowing which load balancer is authoritative (e.g., is the owner) for a given flow. Each load balancer can reach the authoritative load balancer to learn about a flow that cannot be determined locally.Type: GrantFiled: November 18, 2014Date of Patent: September 6, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Parveen Patel, Volodymyr Ivanov, Marios Zikos, Vladimir Petter, Vyacheslav Kuznetsov, David Allen Dion
-
Publication number: 20160142289Abstract: A method for providing fault-tolerant network communications between a plurality of nodes for an application, including providing a plurality of initial communications pathways over a plurality of networks coupled between the plurality of nodes, receiving a data packet on a sending node from the application, the sending node being one of the plurality of nodes, the data packet being addressed by the application to an address on one of the plurality of nodes, and selecting a first selected pathway for the data packet from among the plurality of initial communications pathways where the first selected pathway is a preferred pathway.Type: ApplicationFiled: January 21, 2016Publication date: May 19, 2016Inventors: Michael T. Massa, Rudolf Opavsky, David Allen Dion
-
Publication number: 20160050262Abstract: Embodiments are directed to communicating between computing nodes in a cluster of nodes. In one scenario, a computer system receives a data packet from a worker node including the worker node's current workload identifiers and health status, where the data packet includes an associated version number. The computer system determines that the version number in the received data packet is different than a previously received data packet and evaluates the worker node's current workload configuration to determine whether workload changes are to be made on the worker node. Then, upon determining that workload changes are to be made on the worker node, the computer system selects a subset of workload changes to apply to the worker node, generates an indication of the selected subset of workload changes to the worker node and sends the generated indication of workload changes to the worker node.Type: ApplicationFiled: August 13, 2014Publication date: February 18, 2016Inventors: Abhinit Kumar, Andrea D'Amato, David Allen Dion, Gor Nishanov, Lokesh Srinivas Koppolu, Nicholas Maliwacki
-
Publication number: 20160050123Abstract: Embodiments are directed to organizing computing nodes in a cluster federation and to reassigning roles in a cluster federation. In one scenario, a computer system identifies computing nodes that are to be part of a cluster federation which includes a master cluster and worker clusters. The computer system assigns a director role to a master node in the master cluster which governs decisions that affect consistency within the federation, and further assigns a leader role to at least one master node which monitors and controls other master nodes in the master cluster. The computer system assigns a worker agent role to a worker node which receives workload assignments from the master cluster, and further assigns a worker role to a worker node which processes the assigned workload. The organized cluster federation provides fault tolerance by allowing roles to be dynamically reassigned to computing nodes in different master and worker clusters.Type: ApplicationFiled: August 13, 2014Publication date: February 18, 2016Inventors: Gor Nishanov, Andrea D'Amato, David Allen Dion, Amitabh Prakash Tamhane, Lokesh Srinivas Koppolu, Nicholas Maliwacki
-
Patent number: 9253293Abstract: A method for providing fault-tolerant network communications between a plurality of nodes for an application, including providing a plurality of initial communications pathways over a plurality of networks coupled between the plurality of nodes, receiving a data packet on a sending node from the application, the sending node being one of the plurality of nodes, the data packet being addressed by the application to an address on one of the plurality of nodes, and selecting a first selected pathway for the data packet from among the plurality of initial communications pathways where the first selected pathway is a preferred pathway.Type: GrantFiled: December 30, 2014Date of Patent: February 2, 2016Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Michael T. Massa, Rudolf Opavsky, David Allen Dion
-
Publication number: 20150113165Abstract: A method for providing fault-tolerant network communications between a plurality of nodes for an application, including providing a plurality of initial communications pathways over a plurality of networks coupled between the plurality of nodes, receiving a data packet on a sending node from the application, the sending node being one of the plurality of nodes, the data packet being addressed by the application to an address on one of the plurality of nodes, and selecting a first selected pathway for the data packet from among the plurality of initial communications pathways where the first selected pathway is a preferred pathway.Type: ApplicationFiled: December 30, 2014Publication date: April 23, 2015Inventors: Michael T. Massa, Rudolf Opavsky, David Allen Dion
-
Publication number: 20150063115Abstract: The present invention extends to methods, systems, and computer program products for synchronizing state among load balancer components. Embodiments of the invention include load balancers using a consistent hashing algorithm to decide how new connections should be load balanced. Use of consistent hashing algorithm permits load balancers to work in a stateless manner in steady state. Load balancers start keeping flow state information (destination address for a given flow) about incoming packets when it is needed, i.e. such as, for example, when a change in destination host configuration is detected. State information is shared across load balancers in a deterministic way, which allows knowing which load balancer is authoritative (e.g., is the owner) for a given flow. Each load balancer can reach the authoritative load balancer to learn about a flow that cannot be determined locally.Type: ApplicationFiled: November 18, 2014Publication date: March 5, 2015Inventors: Parveen Patel, Volodymyr Ivanov, Marios Zikos, Vladimir Petter, Vyacheslav Kuznetsov, David Allen Dion
-
Patent number: 8958325Abstract: A method for providing fault-tolerant network communications between a plurality of nodes for an application, including providing a plurality of initial communications pathways over a plurality of networks coupled between the plurality of nodes, receiving a data packet on a sending node from the application, the sending node being one of the plurality of nodes, the data packet being addressed by the application to an address on one of the plurality of nodes, and selecting a first selected pathway for the data packet from among the plurality of initial communications pathways where the first selected pathway is a preferred pathway.Type: GrantFiled: July 2, 2012Date of Patent: February 17, 2015Assignee: Microsoft CorporationInventors: Rudolf Opavsky, David Allen Dion, Michael T. Massa
-
Publication number: 20140359054Abstract: Embodiments provide a method and system for enabling access to a storage device. Specifically, a node may request admittance to a cluster that has read and write access to a storage device. The node seeking access to the storage device must be first be approved by other nodes in the cluster. As part of the request, the node seeking access to the storage device sends a registration key to a storage device. Upon expiration of a registration timer, the node seeking access to the storage device receives a registration table from the storage device and determines whether its registration key is stored in the registration table. If the registration key is stored in the registration table the node has been accepted in the cluster and as a result, has been granted read and write access to the storage device.Type: ApplicationFiled: May 29, 2013Publication date: December 4, 2014Applicant: Microsoft CorporationInventors: Vyacheslav Kuznetsov, Vinod R. Shankar, Andrea D'Amato, David Allen Dion
-
Publication number: 20140185446Abstract: The present invention extends to methods, systems, and computer program products for synchronizing state among load balancer components. Embodiments of the invention include load balancers using a consistent hashing algorithm to decide how new connections should be load balanced. Use of consistent hashing algorithm permits load balancers to work in a stateless manner in steady state. Load balancers start keeping flow state information (destination address for a given flow) about incoming packets when it is needed, i.e. such as, for example, when a change in destination host configuration is detected. State information is shared across load balancers in a deterministic way, which allows knowing which load balancer is authoritative (e.g., is the owner) for a given flow. Each load balancer can reach the authoritative load balancer to learn about a flow that cannot be determined locally.Type: ApplicationFiled: March 5, 2014Publication date: July 3, 2014Applicant: MICROSOFT CORPORATIONInventors: Parveen Patel, Volodymyr Ivanov, Marios Zikos, Vladimir Petter, Vyacheslav Kuznetsov, David Allen Dion
-
Patent number: 8755283Abstract: The present invention extends to methods, systems, and computer program products for synchronizing state among load balancer components. Embodiments of the invention include load balancers using a consistent hashing algorithm to decide how new connections should be load balanced. Use of consistent hashing algorithm permits load balancers to work in a stateless manner in steady state. Load balancers start keeping flow state information (destination address for a given flow) about incoming packets when it is needed, i.e. such as, for example, when a change in destination host configuration is detected. State information is shared across load balancers in a deterministic way, which allows knowing which load balancer is authoritative (e.g., is the owner) for a given flow. Each load balancer can reach the authoritative load balancer to learn about a flow that cannot be determined locally.Type: GrantFiled: December 17, 2010Date of Patent: June 17, 2014Assignee: Microsoft CorporationInventors: Parveen Patel, Volodymyr Ivanov, Marios Zikos, Vladimir Petter, Vyacheslav Kuznetsov, David Allen Dion