Patents by Inventor David A. Dion

David A. 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).

  • Publication number: 20170088370
    Abstract: A stacking system including an inverting arm arranged above the stacking system for selectively overturning a first elongated metal member into a second elongated metal member or not overturning the first elongated metal member into the second elongated metal member.
    Type: Application
    Filed: September 22, 2016
    Publication date: March 30, 2017
    Inventors: Robert David Dion, David Joshua Pettis, Andrew Damon Flack
  • Publication number: 20160050294
    Abstract: A generation identifier is employed with various systems and methods in order to identify situations where a workload has been reassigned to a new node and where a workload is still being processed by an old node during a failure between nodes. A master node may assign a workload to a worker node. The worker node sends a request to access target data. The request may be associated with a generation identifier and workload identifier that identifies the node and workload. At some point, a failure occurs between the master node and worker node. The master node reassigns the workload to another worker node. The new worker node accesses the target data with a different generation identifier, indicating to the storage system that the workload has been reassigned. The old worker node receives an indication from the storage system that the workload has been reassigned and stops processing the workload.
    Type: Application
    Filed: August 12, 2014
    Publication date: February 18, 2016
    Applicant: Microsoft Corporation
    Inventors: David Kruse, Qibo Zhu, David Dion, Vladimir Petter, Lokesh Srinivas Koppolu
  • Publication number: 20160041882
    Abstract: A request identifier is employed with various systems and methods in order to enable an application to pause execution during a failure and subsequently resume execution and communication with a storage system once the failure is resolved. An application residing on a node may attempt to access target data on a storage system. The application sends a request to access the target data. The request may be associated with a request identifier that identifies the application. When the storage system experiences a failure, the application receives a failure notification. The application pauses execution as a result of the notification. When the node reestablishes a connection to the storage system, the application resumes execution using the same request identifier. If the resume request is granted, the application is guaranteed that the target data was not modified during the failure.
    Type: Application
    Filed: August 7, 2014
    Publication date: February 11, 2016
    Applicant: Microsoft Corporation
    Inventors: David Kruse, Vladimir Petter, Lokesh Srinivas Koppolu, David Dion, Mathew George
  • Publication number: 20160036924
    Abstract: Embodiments provide workload processing for clustered systems. In an illustrative, non-limiting embodiment, a computer-implemented method may include identifying a server as an active node of a cluster; assigning a workload to the server in response to the identification; determining, after the assignment, that the server is no longer an active node of the cluster; calculating, in response to the determination, a probability that the server is capable of continuing to execute the workload; and deciding, based upon the probability, whether to allow the workload to remain assigned to the server.
    Type: Application
    Filed: November 24, 2014
    Publication date: February 4, 2016
    Applicant: Microsoft Technology Licensing, LLC.
    Inventors: Lokesh Srinivas Koppolu, David A. Dion, Abhinit Kumar, Amitabh P. Tamhane, Andrea D'Amato, Daniel Upton, Elden T. Christensen, Nicholas Maliwacki
  • Patent number: 9098609
    Abstract: A health monitoring technique monitors the health and performance of applications executing in a guest partition in a virtualized environment. In an embodiment, a guest integration component interacts with an application through an application programming interface in order for the virtualization platform to monitor the health and performance of the application. In another embodiment, the guest integration component may include a monitoring agent that accesses an event log and/or a performance monitor log to access the health and performance of the application. The health and performance of the application may then be analyzed by the virtualization platform to determine an appropriate remedial action.
    Type: Grant
    Filed: March 24, 2014
    Date of Patent: August 4, 2015
    Inventors: Christopher Eck, Lars Reuther, Rajesh Dave, Lokesh Srinivas Koppolu, Steven Ekren, David Dion, Sergey Meshcheryakov, Jonathan Fischer, Angshuman Bezbaruah
  • Patent number: 9026837
    Abstract: Placing an application on a node in a cluster. A method includes detecting an unexpected event indicating that an application should be placed on a node in the cluster. Real time information about resource utilization on one or more nodes in the cluster is received. Based on the real time information, a determination of a node to place the application is made. The application is placed on the determined node.
    Type: Grant
    Filed: September 9, 2011
    Date of Patent: May 5, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Amitabh Prakash Tamhane, Mykyta Synytskyy, Lokesh S Koppolu, David A. Dion, Andrea D'Amato
  • Patent number: 8875157
    Abstract: A method of managing a triggerable task in a cluster environment is described. The method includes accessing a definition of a task, wherein the definition includes a triggering event, and an action to be performed when the triggering event occurs. The method further includes, accessing a cluster policy defining how triggering events are interpreted on a node task basis for a plurality of nodes in a cluster. Based on the cluster policy, the method includes determining that the triggering event has occurred. As a result of the determination that the triggering event has occurred, the method further includes attempting to perform the action.
    Type: Grant
    Filed: September 9, 2011
    Date of Patent: October 28, 2014
    Assignee: Microsoft Corporation
    Inventors: David A. Dion, Lokesh S Koppolu, Symon Perriman, Zongwei Sun, Mykyta Synytskyy, Maksym Yanchenko
  • Patent number: 8850007
    Abstract: A method and system for increasing server cluster availability by requiring at a minimum only one node and a quorum replica set of replica members to form and operate a cluster. Replica members maintain cluster operational data. A cluster operates when one node possesses a majority of replica members, which ensures that any new or surviving cluster includes consistent cluster operational data via at least one replica member from the immediately prior cluster. Arbitration provides exclusive ownership by one node of the replica members, including at cluster formation, and when the owning node fails. Arbitration uses a fast mutual exclusion algorithm and a reservation mechanism to challenge for and defend the exclusive reservation of each member. A quorum replica set algorithm brings members online and offline with data consistency, including updating unreconciled replica members, and ensures consistent read and update operations.
    Type: Grant
    Filed: June 8, 2011
    Date of Patent: September 30, 2014
    Assignee: Microsoft Corporation
    Inventors: Michael T. Massa, David A. Dion, Rajsekhar Das, Rushabh A. Doshi, David B. Lomet, Gor N. Nishanov, Philip A. Bernstein, Rod N. Gamache, Rohit Jain, Sunita Shrivastava
  • Patent number: 8850018
    Abstract: A method and system for increasing server cluster availability by requiring at a minimum only one node and a quorum replica set of replica members to form and operate a cluster. Replica members maintain cluster operational data. A cluster operates when one node possesses a majority of replica members, which ensures that any new or surviving cluster includes consistent cluster operational data via at least one replica member from the immediately prior cluster. Arbitration provides exclusive ownership by one node of the replica members, including at cluster formation, and when the owning node fails. Arbitration uses a fast mutual exclusion algorithm and a reservation mechanism to challenge for and defend the exclusive reservation of each member. A quorum replica set algorithm brings members online and offline with data consistency, including updating unreconciled replica members, and ensures consistent read and update operations.
    Type: Grant
    Filed: June 8, 2011
    Date of Patent: September 30, 2014
    Assignee: Microsoft Corporation
    Inventors: Michael T. Massa, David A. Dion, Rajsekhar Das, Rushabh A. Doshi, David B. Lomet, Gor N. Nishanov, Philip A. Bernstein, Rod N. Gamache, Rohit Jain, Sunita Shrivastava
  • Publication number: 20140229565
    Abstract: Described is a technology by which an owner node in a server cluster maintains ownership of a storage mechanism through a persistent reservation mechanism, while allowing non-owning nodes read and write access to the storage mechanism. An owner node writes a reservation key to a registration table associated with the storage mechanism. Non-owning nodes write a shared key that gives them read and write access. The owner node validates the shared keys against cluster membership data, and preempts (e.g., removes) any key deemed not valid. The owner node also defends ownership against challenges to ownership made by other nodes, so that another node can take over ownership if a (formerly) owning node is unable to defend, e.g., because of a failure.
    Type: Application
    Filed: April 17, 2014
    Publication date: August 14, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: Rajsekhar Das, David A. Dion
  • Publication number: 20140208166
    Abstract: A health monitoring technique monitors the health and performance of applications executing in a guest partition in a virtualized environment. In an embodiment, a guest integration component interacts with an application through an application programming interface in order for the virtualization platform to monitor the health and performance of the application. In another embodiment, the guest integration component may include a monitoring agent that accesses an event log and/or a performance monitor log to access the health and performance of the application. The health and performance of the application may then be analyzed by the virtualization platform to determine an appropriate remedial action.
    Type: Application
    Filed: March 24, 2014
    Publication date: July 24, 2014
    Applicant: Microsoft Corporation
    Inventors: CHRISTOPHER ECK, LARS REUTHER, RAJESH DAVE, LOKESH SRINIVAS KOPPOLU, STEVEN EKREN, DAVID DION, SERGEY MESHCHERYAKOV, Jonathan Fischer, ANGSHUMAN BEZBARUAH
  • Patent number: 8719473
    Abstract: Described is a technology by which an owner node in a server cluster maintains ownership of a storage mechanism through a persistent reservation mechanism, while allowing non-owning nodes read and write access to the storage mechanism. An owner node writes a reservation key to a registration table associated with the storage mechanism. Non-owning nodes write a shared key that gives them read and write access. The owner node validates the shared keys against cluster membership data, and preempts (e.g., removes) any key deemed not valid. The owner node also defends ownership against challenges to ownership made by other nodes, so that another node can take over ownership if a (formerly) owning node is unable to defend, e.g., because of a failure.
    Type: Grant
    Filed: September 19, 2008
    Date of Patent: May 6, 2014
    Assignee: Microsoft Corporation
    Inventors: Rajsekhar Das, David A. Dion
  • Patent number: 8713378
    Abstract: A health monitoring technique monitors the health and performance of applications executing in a guest partition in a virtualized environment. In an embodiment, a guest integration component interacts with an application through an application programming interface in order for the virtualization platform to monitor the health and performance of the application. In another embodiment, the guest integration component may include a monitoring agent that accesses an event log and/or a performance monitor log to access the health and performance of the application. The health and performance of the application may then be analyzed by the virtualization platform to determine an appropriate remedial action.
    Type: Grant
    Filed: July 7, 2011
    Date of Patent: April 29, 2014
    Assignee: Microsoft Corporation
    Inventors: Christopher Eck, Lars Reuther, Rajesh Dave, Lokesh Srinivas Koppolu, Steven Ekren, David Dion, Sergey Meshcheryakov, Jonathan Fischer, Angshuman Bezbaruah
  • Publication number: 20140007092
    Abstract: The present invention extends to methods, systems, and computer program products for automatically transferring configuration of a virtual machine from one cluster to another cluster. The invention enables an administrator to transfer configuration of a virtual machine by simply specifying a virtual machine to be transferred. The invention then inspects the configuration of the virtual machine on the old cluster as well as the configuration of the old cluster, including the storage (e.g. virtual hard disk) used by the cluster, and then configures a new virtual machine on a new cluster accordingly to match the configuration of the old virtual machine. Similar techniques can also be applied to transfer configuration of an SMB file server.
    Type: Application
    Filed: June 30, 2012
    Publication date: January 2, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: Galen Dean Barbee, Symon Warner Perriman, David A. Dion, Lars Reuther, Joydeep Buragohain, Andrea D'Amato, Alan Warwick, Ting Liang
  • Patent number: 8554919
    Abstract: Placing an application on a node in a cluster. A method includes determining that a first application cannot be placed on a first node in the first node's current running state. The method further includes determining that the first application may be able to be placed on the first node by shutting down or moving one or more other applications running on the first node. The method further includes attempting to shut down or move the one or more other applications on the first node to place the first application.
    Type: Grant
    Filed: September 9, 2011
    Date of Patent: October 8, 2013
    Assignee: Microsoft Corporation
    Inventors: Mykyta Synytskyy, Amitabh Prakash Tamhane, Lokesh S Koppolu, David A. Dion
  • Publication number: 20130191453
    Abstract: Managing a distributed system. Embodiments may allow for a quorum to dynamically change the quorum vote. One example is illustrated in a method. The method includes determining a change to a voter's level of participation in a cluster. A quorum of voters changes the voter's voting privileges, based on the change in the voter's level of participation.
    Type: Application
    Filed: January 23, 2012
    Publication date: July 25, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: Gor Nishanov, Andrea D'Amato, Amitabh Prakash Tamhane, David A. Dion
  • Publication number: 20130159487
    Abstract: The movement of a Virtual IP (VIP) address from cluster node to cluster node is coordinated via a load balancer. All or a subset of the nodes in a load balancer cluster may be configured as possible hosts for the VIP. The load balancer directs VIP traffic to the Dedicated IP (DIP) address for the cluster node that responds affirmatively to periodic health probe messages. In this way, a VIP failover is executed when a first node stops responding to probe messages, and a second node starts to respond to the periodic health probe messages. In response to an affirmative probe response from a new node, the load balancer immediately directs the VIP traffic to the new node's DIP. The probe messages may be configured to identify which nodes are currently responding affirmatively to probes to assist the nodes in determining when to execute a failover.
    Type: Application
    Filed: March 9, 2012
    Publication date: June 20, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: Parveen Kumar Patel, David A. Dion, Corey Sanders, Santosh Balasubramanian, Deepak Bansal, Vladimir Petter, Daniel Brown Benediktson
  • Publication number: 20130067493
    Abstract: Managing a triggerable task in a cluster environment. A method includes accessing a definition a task, wherein the definition includes a triggering event, and an action to be performed when the triggering event occurs. The method further includes, accessing a cluster policy defining how triggering events are interpreted on a node task basis for a plurality of nodes in a cluster. Based on the cluster policy, the method includes determining that the triggering event has occurred. As a result of the determination that the triggering event has occurred, the method further includes attempting to perform the action.
    Type: Application
    Filed: September 9, 2011
    Publication date: March 14, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: David A. Dion, Lokesh S. Koppolu, Symon Perriman, Zongwei Sun, Mykyta Synytskyy, Maksym Yanchenko
  • Publication number: 20130067267
    Abstract: Placing an application on a node in a cluster. A method includes detecting an unexpected event indicating that an application should be placed on a node in the cluster. Real time information about resource utilization on one or more nodes in the cluster is received. Based on the real time information, a determination of a node to place the application is made. The application is placed on the determined node.
    Type: Application
    Filed: September 9, 2011
    Publication date: March 14, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: Amitabh Prakash Tamhane, Mykyta Synytskyy, Lokesh S. Koppolu, David A. Dion, Andrea D'Amato
  • Publication number: 20130067089
    Abstract: Placing an application on a node in a cluster. A method includes determining that a first application cannot be placed on a first node in the first node's current running state. The method further includes determining that the first application may be able to be placed on the first node by shutting down or moving one or more other applications running on the first node. The method further includes attempting to shut down or move the one or more other applications on the first node to place the first application.
    Type: Application
    Filed: September 9, 2011
    Publication date: March 14, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: Mykyta Synytskyy, Amitabh Prakash Tamhane, Lokesh S. Koppolu, David A. Dion