HANDLING FAILED TRANSACTION PEERS IN A DISTRIBUTED HASH TABLE
First Claim
1. A data storage method comprising:
- a first storage node issuing a first request to a second storage node, the first request including a logical timestamp indicating the time, relative to other requests, that the first request was issued;
the first storage node exhausting a first pool of non-committed requests before the second storage node acknowledges the first request;
the first storage node halting any responses to requests issued by other storage nodes until the second storage node acknowledges the first request;
at least one other storage node issuing a second request to the first storage node and receiving no response;
the at least one other storage node exhausting a second pool of non-committed write requests before the first storage node acknowledges the second write request;
the at least one other storage node halting any responses to requests issued by other storage nodes until the first storage node acknowledges the second request;
the first storage node and the at least one other storage node, together, using the logical timestamp to determine that the second storage node failure to acknowledge the first request is the basis for the first storage node and the at least one other storage node halting responses to requests; and
the first storage node and the at least one other storage node entering a service mode in order to resolve the failure of the second storage node to acknowledge the request.
2 Assignments
0 Petitions
Accused Products
Abstract
Data storage systems and methods for storing data are described herein. The storage system includes at least two data storage nodes for storing portions of a distributed hash table and related data. After a first node attempts to complete a write request at a second node and is unable to complete the request, the first node ceases responses to interactions from other nodes. Once the first node'"'"'s failure to respond has caused a sufficient number of nodes to cease responding, the nodes enter a service mode to resolve the live lock. While in live lock, the nodes determine the oldest, unfulfilled request using a system-wide logical timestamp associated with write requests. Once the oldest request is determined, a removal vote to remove the non-responsive node from the group is initiated and, if other nodes agree, the non-responsive node is removed from the group of nodes.
-
Citations
18 Claims
-
1. A data storage method comprising:
-
a first storage node issuing a first request to a second storage node, the first request including a logical timestamp indicating the time, relative to other requests, that the first request was issued; the first storage node exhausting a first pool of non-committed requests before the second storage node acknowledges the first request; the first storage node halting any responses to requests issued by other storage nodes until the second storage node acknowledges the first request; at least one other storage node issuing a second request to the first storage node and receiving no response; the at least one other storage node exhausting a second pool of non-committed write requests before the first storage node acknowledges the second write request; the at least one other storage node halting any responses to requests issued by other storage nodes until the first storage node acknowledges the second request; the first storage node and the at least one other storage node, together, using the logical timestamp to determine that the second storage node failure to acknowledge the first request is the basis for the first storage node and the at least one other storage node halting responses to requests; and the first storage node and the at least one other storage node entering a service mode in order to resolve the failure of the second storage node to acknowledge the request. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A distributed data storage system comprising:
-
a first storage node for issuing a first request to a second storage node, the first write request including a logical timestamp indicating the time, relative to other write requests, that the first write request was issued, exhausting a first pool of non-committed requests before the second storage node acknowledges the first request, and halting any responses to requests issued by other storage nodes until the second storage node acknowledges the request; at least one other storage node for issuing a second request to the first storage node and receiving no response, exhausting a second pool of non-committed requests before the first storage node acknowledges the second write request, halting any responses to requests issued by other storage nodes until the first storage node acknowledges the second request; and the first storage node and the at least one other storage node, together, for using the logical timestamp to determine that the second storage node failure to acknowledge the first request is the basis for the first storage node and the at least one other storage node halting responses to requests, and entering a service mode in order to resolve the failure of the second storage node to acknowledge the request. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
Specification