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: 20240137295Abstract: 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: January 2, 2024Publication date: April 25, 2024Inventors: David KRUSE, Qibo ZHU, David DION, Vladimir PETTER, Lokesh Srinivas KOPPOLU
-
Patent number: 11882011Abstract: 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: GrantFiled: December 7, 2021Date of Patent: January 23, 2024Assignee: Microsoft Technology Licensing, LLCInventors: David Kruse, Qibo Zhu, David Dion, Vladimir Petter, Lokesh Srinivas Koppolu
-
Publication number: 20220166690Abstract: 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: December 7, 2021Publication date: May 26, 2022Inventors: David Kruse, Qibo Zhu, David Dion, Vladimir Petter, Lokesh Srinivas Koppolu
-
Patent number: 11228510Abstract: 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: GrantFiled: December 4, 2017Date of Patent: January 18, 2022Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: David Kruse, Qibo Zhu, David Dion, Vladimir Petter, Lokesh Srinivas Koppolu
-
Patent number: 10733020Abstract: According to examples, an apparatus may include a processor and a memory on which is stored machine readable instructions that are to cause the processor to receive an allocation request from an allocator client, determine a resource allocation for the received job allocation request, store a record of the determined resource allocation in a records store, and send the determined resource allocation to the allocator client, in which an acknowledgement to the sent determined resource allocation is to be received from the allocator client. The instructions may also cause the processor to manage a state of the determined resource allocation using the record stored in the records store based on whether the acknowledgement is received from the allocator client.Type: GrantFiled: April 17, 2018Date of Patent: August 4, 2020Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Ajay Mani, Esaias E. Greeff, David A. Dion, Shailesh P. Joshi
-
Patent number: 10609159Abstract: 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: GrantFiled: November 24, 2014Date of Patent: March 31, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Lokesh Srinivas Koppolu, David A. Dion, Abhinit Kumar, Amitabh P. Tamhane, Andrea D'Amato, Daniel Upton, Elden T. Christensen, Nicholas Maliwacki
-
Patent number: 10545831Abstract: 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: GrantFiled: January 25, 2017Date of Patent: January 28, 2020Assignee: Microsoft Technology Licensing, LLCInventors: David Kruse, Vladimir Petter, Lokesh Srinivas Koppolu, David Dion, Mathew George
-
Publication number: 20190317811Abstract: According to examples, an apparatus may include a processor and a memory on which is stored machine readable instructions that are to cause the processor to receive an allocation request from an allocator client, determine a resource allocation for the received job allocation request, store a record of the determined resource allocation in a records store, and send the determined resource allocation to the allocator client, in which an acknowledgement to the sent determined resource allocation is to be received from the allocator client. The instructions may also cause the processor to manage a state of the determined resource allocation using the record stored in the records store based on whether the acknowledgement is received from the allocator client.Type: ApplicationFiled: April 17, 2018Publication date: October 17, 2019Applicant: Microsoft Technology Licensing, LLCInventors: Ajay Mani, Esaias E. Greeff, David A. Dion, Shailesh P. Joshi
-
Publication number: 20190317824Abstract: According to examples, a system may include a plurality of clusters of nodes and a plurality of container manager hardware processors, in which each of the container manager hardware processors may manage the nodes in a respective cluster of nodes. The system may also include at least one service manager hardware processor to manage deployment of customer services across multiple clusters of the plurality of clusters of nodes through the plurality of container manager hardware processors.Type: ApplicationFiled: April 11, 2018Publication date: October 17, 2019Applicant: Microsoft Technology Licensing, LLCInventors: Ajay MANI, David A. Dion, Marcus F. Fontoura, Prajakta S. Patil, Saad Syed, Shailesh P. Joshi, Sushant P. Rewaskar, Vipins Gopinadhan, James Ernest Johnson
-
Patent number: 10235077Abstract: 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: October 20, 2017Date of Patent: March 19, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Rajsekhar Das, David A. Dion
-
Patent number: 10196218Abstract: 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: GrantFiled: September 22, 2016Date of Patent: February 5, 2019Assignee: ASC Machine Tools, Inc.Inventors: Robert David Dion, David Joshua Pettis, Andrew Damon Flack
-
Patent number: 10169097Abstract: 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: GrantFiled: January 23, 2012Date of Patent: January 1, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Gor Nishanov, Andrea D'Amato, Amitabh Prakash Tamhane, David A. Dion
-
Patent number: 10153941Abstract: Certain embodiments of computing systems, devices, components, modules, routines, and processes for implementing distributed operational control in a computing fabric are described herein. In one embodiment, a method includes receiving, at a control cluster, a tenant request for a cloud-based computing service at the computing system. The method also includes creating an application configured to provide the requested cloud-based computing service based on the tenant request and pushing configuration data of the created application to the execution cluster to be executed at the execution cluster without further intervention from the control cluster.Type: GrantFiled: May 17, 2016Date of Patent: December 11, 2018Assignee: Microsoft Technology Licensing, LLCInventors: David Dion, James Johnson, Marcus Fontoura, Milan Vukosavljevic, Mark Russinovich, Gopal Kakivaya
-
Publication number: 20180198691Abstract: 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: December 4, 2017Publication date: July 12, 2018Applicant: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: David Kruse, Qibo Zhu, David Dion, Vladimir Petter, Lokesh Srinivas Koppolu
-
Publication number: 20180129441Abstract: 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: October 20, 2017Publication date: May 10, 2018Inventors: Rajsekhar DAS, David A. DION
-
Patent number: 9847918Abstract: 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: GrantFiled: August 12, 2014Date of Patent: December 19, 2017Assignee: Microsoft Technology Licensing, LLCInventors: David Kruse, Qibo Zhu, David Dion, Vladimir Petter, Lokesh Srinivas Koppolu
-
Patent number: 9832267Abstract: 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: April 17, 2014Date of Patent: November 28, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Rajsekhar Das, David A. Dion
-
Publication number: 20170339008Abstract: Certain embodiments of computing systems, devices, components, modules, routines, and processes for implementing distributed operational control in a computing fabric are described herein. In one embodiment, a method includes receiving, at a control cluster, a tenant request for a cloud-based computing service at the computing system. The method also includes creating an application configured to provide the requested cloud-based computing service based on the tenant request and pushing configuration data of the created application to the execution cluster to be executed at the execution cluster without further intervention from the control cluster.Type: ApplicationFiled: May 17, 2016Publication date: November 23, 2017Inventors: David Dion, James Johnson, Marcus Fontoura, Milan Vukosavljevic, Mark Russinovich, Gopal Kakivaya
-
Patent number: 9665432Abstract: 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: GrantFiled: August 7, 2014Date of Patent: May 30, 2017Assignee: Microsoft Technology Licensing, LLCInventors: David Kruse, Vladimir Petter, Lokesh Srinivas Koppolu, David Dion, Mathew George
-
Publication number: 20170132066Abstract: 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: January 25, 2017Publication date: May 11, 2017Applicant: Microsoft Technology Licensing, LLCInventors: David Kruse, Vladimir Petter, Lokesh Srinivas Koppolu, David Dion, Mathew George