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: 8369208
    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: September 16, 2010
    Date of Patent: February 5, 2013
    Assignee: Microsoft Corporation
    Inventors: Rudolf Opavsky, David Allen Dion, Michael T. Massa
  • Publication number: 20120155266
    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: December 17, 2010
    Publication date: June 21, 2012
    Applicant: Microsoft Corporation
    Inventors: Parveen Patel, Volodymyr Ivanov, Marios Zikos, Vladimir Petter, Vyacheslav Kuznetsov, David Allen Dion
  • Patent number: 8169894
    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: September 16, 2010
    Date of Patent: May 1, 2012
    Assignee: Microsoft Corporation
    Inventors: Rudolf Opavsky, David Allen Dion, Michael T. Massa
  • Patent number: 7644305
    Abstract: A cluster system including as few as two cluster nodes and a plurality of links, each one of the plurality of links coupling one of the cluster nodes to a voting device wherein a single surviving cluster node obtain a vote from the voting device. A method of establishing quorum in a cluster system including as few as two cluster nodes, the method comprising determining a single surviving cluster node of the as few as two cluster nodes, obtaining a vote from a voting device, and establishing quorum such that cluster operations are continued by the single surviving cluster node. A method for preventing a partition-in-time quorum establishment problem in a cluster system including as few as two cluster nodes, the method comprising determining that a revived cluster node is also a sole active cluster node of the cluster system, checking a last-surviving flag of the sole active cluster node, and if the last-surviving flag is set to FALSE, not restarting cluster operations.
    Type: Grant
    Filed: May 18, 2006
    Date of Patent: January 5, 2010
    Assignee: Microsoft Corporation
    Inventors: Kurt Lawrence Friedrich, David Allen Dion, Rajsekhar Das, Gregory I. Thiel
  • Publication number: 20070294363
    Abstract: A cluster system including as few as two cluster nodes and a plurality of links, each one of the plurality of links coupling one of the cluster nodes to a voting device wherein a single surviving cluster node obtain a vote from the voting device. A method of establishing quorum in a cluster system including as few as two cluster nodes, the method comprising determining a single surviving cluster node of the as few as two cluster nodes, obtaining a vote from a voting device, and establishing quorum such that cluster operations are continued by the single surviving cluster node. A method for preventing a partition-in-time quorum establishment problem in a cluster system including as few as two cluster nodes, the method comprising determining that a revived cluster node is also a sole active cluster node of the cluster system, checking a last-surviving flag of the sole active cluster node, and if the last-surviving flag is set to FALSE, not restarting cluster operations.
    Type: Application
    Filed: May 18, 2006
    Publication date: December 20, 2007
    Applicant: Microsoft Corporation
    Inventors: Kurt Lawrence Friedrich, David Allen Dion, Rajsekhar Das, Gregory I. Thiel