-
公开(公告)号:US11157038B2
公开(公告)日:2021-10-26
申请号:US16806808
申请日:2020-03-02
Applicant: Microsoft Technology Licensing, LLC
Inventor: Miguel Castro , Dushyanth Narayanan , Aleksandar Dragojevic , Matthew Renzelmann , Alexander Shamis , Richendra Khanna , Stanko Novakovic , Anders Gjerdrum , Georgios Chatzopoulos
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.
-
公开(公告)号:US10929376B2
公开(公告)日:2021-02-23
申请号:US15933230
申请日:2018-03-22
Applicant: Microsoft Technology Licensing, LLC
Inventor: Miguel Castro , Dushyanth Narayanan , Aleksandar Dragojevic , Matthew Renzelmann , Alexander Shamis , Richendra Khanna , Stanko Novakovic , Anders Gjerdrum , Georgios Chatzopoulos
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.
-
公开(公告)号:US10810179B2
公开(公告)日:2020-10-20
申请号:US15154370
申请日:2016-05-13
Applicant: Microsoft Technology Licensing, LLC
Inventor: 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
IPC: G06F16/22 , G06F16/901 , G06F16/25 , G06F16/27 , G06F16/182 , G06F16/2458 , H04L29/08
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.
-
公开(公告)号:US20170091246A1
公开(公告)日:2017-03-30
申请号:US15154370
申请日:2016-05-13
Applicant: Microsoft Technology Licensing, LLC
Inventor: 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
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.
-
-
-