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: 11290524
    Abstract: 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: Grant
    Filed: August 13, 2014
    Date of Patent: March 29, 2022
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Abhinit Kumar, Andrea D'Amato, David Allen Dion, Gor Nishanov, Lokesh Srinivas Koppolu, Nicholas Maliwacki
  • Patent number: 10656868
    Abstract: 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: Grant
    Filed: March 8, 2018
    Date of Patent: May 19, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Lokesh Srinivas Koppolu, David Allen Dion, Abhinit Kumar, Suresh Chandra Pippari, Amitabh Tamhane, Elden Christensen
  • Patent number: 10503419
    Abstract: 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: Grant
    Filed: April 28, 2017
    Date of Patent: December 10, 2019
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Vyacheslav Kuznetsov, Vinod R. Shankar, Andrea D'Amato, David Allen Dion
  • Patent number: 10437506
    Abstract: 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: Grant
    Filed: December 14, 2015
    Date of Patent: October 8, 2019
    Assignee: MICROSOFT TECHNOLOGY LICENSING LLC
    Inventors: Lokesh Srinivas Koppolu, David Allen Dion, Abhinit Kumar, Suresh Chandra Pippari, Amitabh Tamhane, Elden Christensen
  • Patent number: 10177994
    Abstract: 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: Grant
    Filed: August 13, 2014
    Date of Patent: January 8, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Gor Nishanov, Andrea D'Amato, David Allen Dion, Amitabh Prakash Tamhane, Lokesh Srinivas Koppolu, Nicholas Maliwacki
  • Publication number: 20180239536
    Abstract: 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: Application
    Filed: March 8, 2018
    Publication date: August 23, 2018
    Inventors: Lokesh Srinivas Koppolu, David Allen Dion, Abhinit Kumar, Suresh Chandra Pippari, Amitabh Tamhane, Elden Christensen
  • Publication number: 20170228184
    Abstract: 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: Application
    Filed: April 28, 2017
    Publication date: August 10, 2017
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Vyacheslav Kuznetsov, Vinod R. Shankar, Andrea D'Amato, David Allen Dion
  • Patent number: 9641614
    Abstract: 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: Grant
    Filed: May 29, 2013
    Date of Patent: May 2, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Vyacheslav Kuznetsov, Vinod R. Shankar, Andrea D'Amato, David Allen Dion
  • Publication number: 20170052707
    Abstract: 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: Application
    Filed: December 14, 2015
    Publication date: February 23, 2017
    Inventors: Lokesh Srinivas Koppolu, David Allen Dion, Abhinit Kumar, Suresh Chandra Pippari, Amitabh Tamhane, Elden Christensen
  • Patent number: 9438520
    Abstract: 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: Grant
    Filed: November 18, 2014
    Date of Patent: September 6, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Parveen Patel, Volodymyr Ivanov, Marios Zikos, Vladimir Petter, Vyacheslav Kuznetsov, David Allen Dion
  • Publication number: 20160142289
    Abstract: 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: Application
    Filed: January 21, 2016
    Publication date: May 19, 2016
    Inventors: Michael T. Massa, Rudolf Opavsky, David Allen Dion
  • Publication number: 20160050262
    Abstract: 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: Application
    Filed: August 13, 2014
    Publication date: February 18, 2016
    Inventors: Abhinit Kumar, Andrea D'Amato, David Allen Dion, Gor Nishanov, Lokesh Srinivas Koppolu, Nicholas Maliwacki
  • Publication number: 20160050123
    Abstract: 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: Application
    Filed: August 13, 2014
    Publication date: February 18, 2016
    Inventors: Gor Nishanov, Andrea D'Amato, David Allen Dion, Amitabh Prakash Tamhane, Lokesh Srinivas Koppolu, Nicholas Maliwacki
  • Patent number: 9253293
    Abstract: 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: Grant
    Filed: December 30, 2014
    Date of Patent: February 2, 2016
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Michael T. Massa, Rudolf Opavsky, David Allen Dion
  • Publication number: 20150113165
    Abstract: 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: Application
    Filed: December 30, 2014
    Publication date: April 23, 2015
    Inventors: Michael T. Massa, Rudolf Opavsky, David Allen Dion
  • Publication number: 20150063115
    Abstract: 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: Application
    Filed: November 18, 2014
    Publication date: March 5, 2015
    Inventors: Parveen Patel, Volodymyr Ivanov, Marios Zikos, Vladimir Petter, Vyacheslav Kuznetsov, David Allen Dion
  • Patent number: 8958325
    Abstract: 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: Grant
    Filed: July 2, 2012
    Date of Patent: February 17, 2015
    Assignee: Microsoft Corporation
    Inventors: Rudolf Opavsky, David Allen Dion, Michael T. Massa
  • Publication number: 20140359054
    Abstract: 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: Application
    Filed: May 29, 2013
    Publication date: December 4, 2014
    Applicant: Microsoft Corporation
    Inventors: Vyacheslav Kuznetsov, Vinod R. Shankar, Andrea D'Amato, David Allen Dion
  • Publication number: 20140185446
    Abstract: 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: Application
    Filed: March 5, 2014
    Publication date: July 3, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: Parveen Patel, Volodymyr Ivanov, Marios Zikos, Vladimir Petter, Vyacheslav Kuznetsov, David Allen Dion
  • Patent number: 8755283
    Abstract: 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: Grant
    Filed: December 17, 2010
    Date of Patent: June 17, 2014
    Assignee: Microsoft Corporation
    Inventors: Parveen Patel, Volodymyr Ivanov, Marios Zikos, Vladimir Petter, Vyacheslav Kuznetsov, David Allen Dion