Patents by Inventor Matthew Renzelmann

Matthew Renzelmann 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: 11157038
    Abstract: In various examples, there is provided methods performed by nodes in a cluster of nodes to establish a master clock at a new master node following a reconfiguration of the nodes included in the cluster, whereby the master clock is provided by an old master node prior to the reconfiguration, and synchronize a local clock of slave nodes to clock of the new master node. The new master node sends a message to the slave nodes instructing them to disable their respective local clocks, receives acknowledgements that the local clocks have been disabled, waits until a time at which all leases have expired for any nodes removed from the cluster, sets the value of its clock to be greater than a maximum value that could have been provided by the old master node at the time the leases expired and indicates to the other nodes to re-enable their local clocks.
    Type: Grant
    Filed: March 2, 2020
    Date of Patent: October 26, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Miguel Castro, Dushyanth Narayanan, Aleksandar Dragojevic, Matthew Renzelmann, Alexander Shamis, Richendra Khanna, Stanko Novakovic, Anders Gjerdrum, Georgios Chatzopoulos
  • Patent number: 10929376
    Abstract: In various examples, there is provided methods performed by nodes in a cluster of nodes for performing transactions comprising one or more read operations and/or one or more write operations. The node comprises a local clock which is synchronized with a master clock and maintains a measure of uncertainty indicating current minimum and maximum values of the master clock. The method to perform transactions involving read operations generates a read timestamp representing a point in time which is earlier than a current minimum value of the master clock. The method then reads the objects and determines, for each of them, whether a timestamp associated with that object is later than the read timestamp. If so, an error handling procedure is performed for that object.
    Type: Grant
    Filed: March 22, 2018
    Date of Patent: February 23, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Miguel Castro, Dushyanth Narayanan, Aleksandar Dragojevic, Matthew Renzelmann, Alexander Shamis, Richendra Khanna, Stanko Novakovic, Anders Gjerdrum, Georgios Chatzopoulos
  • Patent number: 10810179
    Abstract: A distributed graph database that enables scaling and efficient processing is described. The distributed graph database can, for example, scale up to petabytes of data to enable transactional processing of graph data with low latency and low processing overhead. The distributed graph database can include a cluster of devices and a remote direct memory access (RDMA)-based communication layer to perform low latency messaging between devices of the cluster of devices. Additionally, the distributed graph database can include a shared memory layer that provides one or more data structures, a transaction layer to facilitate query processing, and a graph database layer stored in computer-readable media and executed on a processor to implement a graph data model. In at least one example, the graph data model can be mapped to the one or more data structures.
    Type: Grant
    Filed: May 13, 2016
    Date of Patent: October 20, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Knut Magne Risvik, Ming-Chuan Wu, Dushyanth Narayanan, Matthew Renzelmann, Alexander Shamis, Miguel Oom Temudo De Castro, Aleksandar Dragojevic, Chiranjeeb Buragohain, Richendra Khanna, Timothy Tan
  • Publication number: 20200201381
    Abstract: In various examples, there is provided methods performed by nodes in a cluster of nodes to establish a master clock at a new master node following a reconfiguration of the nodes included in the cluster, whereby the master clock is provided by an old master node prior to the reconfiguration, and synchronize a local clock of slave nodes to clock of the new master node. The new master node sends a message to the slave nodes instructing them to disable their respective local clocks, receives acknowledgements that the local clocks have been disabled, waits until a time at which all leases have expired for any nodes removed from the cluster, sets the value of its clock to be greater than a maximum value that could have been provided by the old master node at the time the leases expired and indicates to the other nodes to re-enable their local clocks.
    Type: Application
    Filed: March 2, 2020
    Publication date: June 25, 2020
    Inventors: Miguel Castro, Dushyanth Narayanan, Aleksandar Dragojevic, Matthew Renzelmann, Alexander Shamis, Richendra Khanna, Stanko Novakovic, Anders Gjerdrum, Georgios Chatzopoulos
  • Patent number: 10613578
    Abstract: In various examples, there is provided methods performed by nodes in a cluster of nodes to establish a master clock at a new master node following a reconfiguration of the nodes included in the cluster, whereby the master clock is provided by an old master node prior to the reconfiguration, and synchronize a local clock of slave nodes to clock of the new master node. The new master node sends a message to the slave nodes instructing them to disable their respective local clocks, receives acknowledgements that the local clocks have been disabled, waits until a time at which all leases have expired for any nodes removed from the cluster, sets the value of its clock to be greater than a maximum value that could have been provided by the old master node at the time the leases expired and indicates to the other nodes to re-enable their local clocks.
    Type: Grant
    Filed: March 22, 2018
    Date of Patent: April 7, 2020
    Assignee: CLOCK SYNCHRONIZATION
    Inventors: Miguel Castro, Dushyanth Narayanan, Aleksandar Dragojevic, Matthew Renzelmann, Alexander Shamis, Richendra Khanna, Stanko Novakovic, Anders Gjerdrum, Georgios Chatzopoulos
  • Publication number: 20190294204
    Abstract: In various examples, there is provided methods performed by nodes in a cluster of nodes to establish a master clock at a new master node following a reconfiguration of the nodes included in the cluster, whereby the master clock is provided by an old master node prior to the reconfiguration, and synchronize a local clock of slave nodes to clock of the new master node. The new master node sends a message to the slave nodes instructing them to disable their respective local clocks, receives acknowledgements that the local clocks have been disabled, waits until a time at which all leases have expired for any nodes removed from the cluster, sets the value of its clock to be greater than a maximum value that could have been provided by the old master node at the time the leases expired and indicates to the other nodes to re-enable their local clocks.
    Type: Application
    Filed: March 22, 2018
    Publication date: September 26, 2019
    Inventors: Miguel CASTRO, Dushyanth NARAYANAN, Aleksandar DRAGOJEVIC, Matthew RENZELMANN, Alexander SHAMIS, Richendra KHANNA, Stanko NOVAKOVIC, Anders GJERDRUM, Georgios CHATZOPOULOS
  • Publication number: 20170091246
    Abstract: A distributed graph database that enables scaling and efficient processing is described. The distributed graph database can, for example, scale up to petabytes of data to enable transactional processing of graph data with low latency and low processing overhead. The distributed graph database can include a cluster of devices and a remote direct memory access (RDMA)-based communication layer to perform low latency messaging between devices of the cluster of devices. Additionally, the distributed graph database can include a shared memory layer that provides one or more data structures, a transaction layer to facilitate query processing, and a graph database layer stored in computer-readable media and executed on a processor to implement a graph data model. In at least one example, the graph data model can be mapped to the one or more data structures.
    Type: Application
    Filed: May 13, 2016
    Publication date: March 30, 2017
    Inventors: Knut Magne Risvik, Ming-Chuan Wu, Dushyanth Narayanan, Matthew Renzelmann, Alexander Shamis, Miguel Oom Temudo De Castro, Aleksandar Dragojevic, Chiranjeeb Buragohain, Richendra Khanna, Timothy Tan