发明名称 INCREASING COORDINATION SERVICE RELIABITY
摘要 The present invention extends to methods, systems, and computer program products for increasing coordination service reliability. A coordination service maintains state (e.g., using replication) for one or more software components (e.g., applications). Tokens can be used to identify incarnations of a member set within the coordination service. When a member starts and has no token, the member attempts to learn the token from a majority other members. If no such token exists, the member requests a new token. Aspects of the invention can be used to detect and compensate for lost state within the coordination service, including state lost due to storage device failures (which may be referred to as “silent data loss”). Detecting and compensating for silent data loss makes the coordination service more reliable and can essentially guarantee that the coordination service notifies clients when data is lost and ceases processing when incorrect state may exist.
申请公布号 US2016224432(A1) 申请公布日期 2016.08.04
申请号 US201514609323 申请日期 2015.01.29
申请人 Microsoft Technology Licensing, LLC 发明人 Junqueira Flavio Paiva;Klein Johannes;Thatte Satish R.
分类号 G06F11/14;H04L29/08 主分类号 G06F11/14
代理机构 代理人
主权项 1. A system for detecting software component state loss, the system comprising: one or more processors; system memory; and one or more storage devices, the one or more storage devices having stored thereon computer-executable instructions representing a coordination service, the coordination service configured to maintain state for one or more software components at a plurality of members of the coordination service, including: determining that a member, from among the plurality of members, does not include state for the one or more software components by detecting that there is no token for the coordination service stored in durable storage of the member;sending a token query message from the member to each of a remaining plurality of other members of the coordination service;receiving, at the member, a token for the coordination service from any of the remaining plurality of other members that have the token;when a token is received from a majority of the remaining plurality of other members: accessing state for the one or more components from one of the plurality of other members;storing the token and the accessed state in durable storage of the member so that state stored at the member is consistent with state stored at the plurality of other members; andreintegrating the member into the coordination service subsequent to storing the token and state in the durable storage of the member, reintegrating the member increasing the reliable availability of the stored state for use by the one or more software components; andwhen a token is received from less than a majority of the remaining plurality of other members: sending a token request message to a designated token distributor, the token request message requesting that the designated token distributor establish a new token for the coordination service;receiving the new token from the designated token distributor at the member;installing the new token in durable storage of the member; andreintegrating the member into the coordination service subsequent to installing the new token, reintegrating the member increasing the reliable availability of any state used by the one or more software components.
地址 Redmond WA US