Patents by Inventor David Dion
David 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: 20170088370Abstract: 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: ApplicationFiled: September 22, 2016Publication date: March 30, 2017Inventors: Robert David Dion, David Joshua Pettis, Andrew Damon Flack
-
Publication number: 20160050294Abstract: 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: ApplicationFiled: August 12, 2014Publication date: February 18, 2016Applicant: Microsoft CorporationInventors: David Kruse, Qibo Zhu, David Dion, Vladimir Petter, Lokesh Srinivas Koppolu
-
Publication number: 20160041882Abstract: 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: ApplicationFiled: August 7, 2014Publication date: February 11, 2016Applicant: Microsoft CorporationInventors: David Kruse, Vladimir Petter, Lokesh Srinivas Koppolu, David Dion, Mathew George
-
Publication number: 20160036924Abstract: 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: ApplicationFiled: November 24, 2014Publication date: February 4, 2016Applicant: 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: 9098609Abstract: 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: GrantFiled: March 24, 2014Date of Patent: August 4, 2015Inventors: Christopher Eck, Lars Reuther, Rajesh Dave, Lokesh Srinivas Koppolu, Steven Ekren, David Dion, Sergey Meshcheryakov, Jonathan Fischer, Angshuman Bezbaruah
-
Patent number: 9026837Abstract: 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: GrantFiled: September 9, 2011Date of Patent: May 5, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Amitabh Prakash Tamhane, Mykyta Synytskyy, Lokesh S Koppolu, David A. Dion, Andrea D'Amato
-
Patent number: 8875157Abstract: 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: GrantFiled: September 9, 2011Date of Patent: October 28, 2014Assignee: Microsoft CorporationInventors: David A. Dion, Lokesh S Koppolu, Symon Perriman, Zongwei Sun, Mykyta Synytskyy, Maksym Yanchenko
-
Patent number: 8850007Abstract: 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: GrantFiled: June 8, 2011Date of Patent: September 30, 2014Assignee: Microsoft CorporationInventors: 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: 8850018Abstract: 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: GrantFiled: June 8, 2011Date of Patent: September 30, 2014Assignee: Microsoft CorporationInventors: 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: 20140229565Abstract: 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: ApplicationFiled: April 17, 2014Publication date: August 14, 2014Applicant: MICROSOFT CORPORATIONInventors: Rajsekhar Das, David A. Dion
-
Publication number: 20140208166Abstract: 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: ApplicationFiled: March 24, 2014Publication date: July 24, 2014Applicant: Microsoft CorporationInventors: CHRISTOPHER ECK, LARS REUTHER, RAJESH DAVE, LOKESH SRINIVAS KOPPOLU, STEVEN EKREN, DAVID DION, SERGEY MESHCHERYAKOV, Jonathan Fischer, ANGSHUMAN BEZBARUAH
-
Patent number: 8719473Abstract: 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: GrantFiled: September 19, 2008Date of Patent: May 6, 2014Assignee: Microsoft CorporationInventors: Rajsekhar Das, David A. Dion
-
Patent number: 8713378Abstract: 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: GrantFiled: July 7, 2011Date of Patent: April 29, 2014Assignee: Microsoft CorporationInventors: Christopher Eck, Lars Reuther, Rajesh Dave, Lokesh Srinivas Koppolu, Steven Ekren, David Dion, Sergey Meshcheryakov, Jonathan Fischer, Angshuman Bezbaruah
-
Publication number: 20140007092Abstract: 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: ApplicationFiled: June 30, 2012Publication date: January 2, 2014Applicant: MICROSOFT CORPORATIONInventors: Galen Dean Barbee, Symon Warner Perriman, David A. Dion, Lars Reuther, Joydeep Buragohain, Andrea D'Amato, Alan Warwick, Ting Liang
-
Patent number: 8554919Abstract: 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: GrantFiled: September 9, 2011Date of Patent: October 8, 2013Assignee: Microsoft CorporationInventors: Mykyta Synytskyy, Amitabh Prakash Tamhane, Lokesh S Koppolu, David A. Dion
-
Publication number: 20130191453Abstract: 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: ApplicationFiled: January 23, 2012Publication date: July 25, 2013Applicant: MICROSOFT CORPORATIONInventors: Gor Nishanov, Andrea D'Amato, Amitabh Prakash Tamhane, David A. Dion
-
Publication number: 20130159487Abstract: 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: ApplicationFiled: March 9, 2012Publication date: June 20, 2013Applicant: MICROSOFT CORPORATIONInventors: Parveen Kumar Patel, David A. Dion, Corey Sanders, Santosh Balasubramanian, Deepak Bansal, Vladimir Petter, Daniel Brown Benediktson
-
Publication number: 20130067493Abstract: 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: ApplicationFiled: September 9, 2011Publication date: March 14, 2013Applicant: MICROSOFT CORPORATIONInventors: David A. Dion, Lokesh S. Koppolu, Symon Perriman, Zongwei Sun, Mykyta Synytskyy, Maksym Yanchenko
-
Publication number: 20130067267Abstract: 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: ApplicationFiled: September 9, 2011Publication date: March 14, 2013Applicant: MICROSOFT CORPORATIONInventors: Amitabh Prakash Tamhane, Mykyta Synytskyy, Lokesh S. Koppolu, David A. Dion, Andrea D'Amato
-
Publication number: 20130067089Abstract: 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: ApplicationFiled: September 9, 2011Publication date: March 14, 2013Applicant: MICROSOFT CORPORATIONInventors: Mykyta Synytskyy, Amitabh Prakash Tamhane, Lokesh S. Koppolu, David A. Dion