发明名称 Apparatus and method for handling partially inconsistent states among members of a cluster in an erratic storage network
摘要 A method, for handling partially inconsistent states among members of a cluster in an erratic storage network that responds to requests from a client, includes assigning a unique commit identifier corresponding to each successive modification of state of the cluster when an update request has been successfully completed and correlating an incoming request to a given member of the cluster with any commit identifiers necessary to satisfy the request. The method further includes detecting, on the incoming request to the given member of the cluster, whether the commit identifiers necessary to satisfy the request have been applied to the given member, and processing the incoming request based on whether the commit identifiers necessary to satisfy the request have been applied to the given member. Operation of the members can be asynchronous.
申请公布号 US9298765(B2) 申请公布日期 2016.03.29
申请号 US201414311428 申请日期 2014.06.23
申请人 Peaxy, Inc. 发明人 Franks John
分类号 G06F11/00;G06F17/30;H04L29/08;G06F3/06 主分类号 G06F11/00
代理机构 Sunstein Kann Murphy & Timbers LLP 代理人 Sunstein Kann Murphy & Timbers LLP
主权项 1. A method for handling partially inconsistent states among members of a cluster in an erratic storage network that responds to requests from a client, the method comprising: receiving, at a given member of the cluster, an incoming write request to modify an entry in storage; assigning a commit identifier to the incoming write request, the commit identifier corresponding to (1) the entry in storage and (2) a particular modification, associated with the incoming write request, of a state of the entry in storage; correlating the incoming write request with any commit identifier for any previous request necessary to satisfy the incoming write request by (1) identifying at least one entry in storage to be used by the incoming write request, and (2) determining any commit identifier associated with the at least one identified entry; detecting, on the given member of the cluster, whether commit identifiers for any previous request necessary to satisfy the incoming write request have been applied to the given member; and if the commit identifiers necessary to satisfy the incoming write request have been applied to the given member, then satisfying the incoming write request; andif the commit identifiers necessary to satisfy the incoming write request have not been applied to the given member, then performing at least one of the following processes: (i) asynchronously causing one or more other members to provide to the given member the missing commit identifiers to satisfy the incoming write request, so that the given member can satisfy the incoming write request; and(ii) waiting until the given member has been caused to receive the missing commit identifiers to satisfy the incoming write request, so that the given member can satisfy the incoming write request.
地址 San Jose CA US