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: 20240137295
    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: January 2, 2024
    Publication date: April 25, 2024
    Inventors: David KRUSE, Qibo ZHU, David DION, Vladimir PETTER, Lokesh Srinivas KOPPOLU
  • Patent number: 11882011
    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: Grant
    Filed: December 7, 2021
    Date of Patent: January 23, 2024
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: David Kruse, Qibo Zhu, David Dion, Vladimir Petter, Lokesh Srinivas Koppolu
  • Publication number: 20220166690
    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: December 7, 2021
    Publication date: May 26, 2022
    Inventors: David Kruse, Qibo Zhu, David Dion, Vladimir Petter, Lokesh Srinivas Koppolu
  • Patent number: 11228510
    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: Grant
    Filed: December 4, 2017
    Date of Patent: January 18, 2022
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: David Kruse, Qibo Zhu, David Dion, Vladimir Petter, Lokesh Srinivas Koppolu
  • Patent number: 10733020
    Abstract: 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: Grant
    Filed: April 17, 2018
    Date of Patent: August 4, 2020
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Ajay Mani, Esaias E. Greeff, David A. Dion, Shailesh P. Joshi
  • Patent number: 10609159
    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: Grant
    Filed: November 24, 2014
    Date of Patent: March 31, 2020
    Assignee: 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: 10545831
    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: Grant
    Filed: January 25, 2017
    Date of Patent: January 28, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: David Kruse, Vladimir Petter, Lokesh Srinivas Koppolu, David Dion, Mathew George
  • Publication number: 20190317811
    Abstract: 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: Application
    Filed: April 17, 2018
    Publication date: October 17, 2019
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Ajay Mani, Esaias E. Greeff, David A. Dion, Shailesh P. Joshi
  • Publication number: 20190317824
    Abstract: 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: Application
    Filed: April 11, 2018
    Publication date: October 17, 2019
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: 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: 10235077
    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: October 20, 2017
    Date of Patent: March 19, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Rajsekhar Das, David A. Dion
  • Patent number: 10196218
    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: Grant
    Filed: September 22, 2016
    Date of Patent: February 5, 2019
    Assignee: ASC Machine Tools, Inc.
    Inventors: Robert David Dion, David Joshua Pettis, Andrew Damon Flack
  • Patent number: 10169097
    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: Grant
    Filed: January 23, 2012
    Date of Patent: January 1, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Gor Nishanov, Andrea D'Amato, Amitabh Prakash Tamhane, David A. Dion
  • Patent number: 10153941
    Abstract: 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: Grant
    Filed: May 17, 2016
    Date of Patent: December 11, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: David Dion, James Johnson, Marcus Fontoura, Milan Vukosavljevic, Mark Russinovich, Gopal Kakivaya
  • Publication number: 20180198691
    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: December 4, 2017
    Publication date: July 12, 2018
    Applicant: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: David Kruse, Qibo Zhu, David Dion, Vladimir Petter, Lokesh Srinivas Koppolu
  • Publication number: 20180129441
    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: October 20, 2017
    Publication date: May 10, 2018
    Inventors: Rajsekhar DAS, David A. DION
  • Patent number: 9847918
    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: Grant
    Filed: August 12, 2014
    Date of Patent: December 19, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: David Kruse, Qibo Zhu, David Dion, Vladimir Petter, Lokesh Srinivas Koppolu
  • Patent number: 9832267
    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: April 17, 2014
    Date of Patent: November 28, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Rajsekhar Das, David A. Dion
  • Publication number: 20170339008
    Abstract: 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: Application
    Filed: May 17, 2016
    Publication date: November 23, 2017
    Inventors: David Dion, James Johnson, Marcus Fontoura, Milan Vukosavljevic, Mark Russinovich, Gopal Kakivaya
  • Patent number: 9665432
    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: Grant
    Filed: August 7, 2014
    Date of Patent: May 30, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: David Kruse, Vladimir Petter, Lokesh Srinivas Koppolu, David Dion, Mathew George
  • Publication number: 20170132066
    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: January 25, 2017
    Publication date: May 11, 2017
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: David Kruse, Vladimir Petter, Lokesh Srinivas Koppolu, David Dion, Mathew George