发明名称 Data consistency within a federation infrastructure
摘要 Embodiments include establishing and maintaining a consistent replica set within the federation infrastructure. A replica set, including a primary node and secondary nodes, is established from among nodes in a ring of nodes. An occurrence of a replica set configuration event affecting at least one of the replica set members is indicated. Based on the indication and based on a type of the replica set configuration event, it is determined that the replica set is to be reconfigured. The replica set is reconfigured according to a reconfiguration appropriate for the type of the replica set configuration event.
申请公布号 US8990434(B2) 申请公布日期 2015.03.24
申请号 US201113221635 申请日期 2011.08.30
申请人 Microsoft Technology Licensing, LLC 发明人 Hasha Richard L.;Xun Lu;Kakivaya Gopala Krishna R.;Malkhi Dahlia
分类号 G06F15/16;G06F15/173;G06F7/00;H04L29/08;G06F17/30;G06F11/14 主分类号 G06F15/16
代理机构 代理人 Churna Timothy;Fashokun Sade;Minhas Micky
主权项 1. In a federation infrastructure of a ring of nodes configured for bi-directional routing, a method for establishing and maintaining a consistent replica set within the federation infrastructure, the method comprising: an act of establishing a replica set from among a plurality of nodes in a ring of nodes, the replica set comprising as replica set members an existing primary node and one or more secondary nodes, each replica set member storing at least: a configuration sequence number (CSN) that points to a latest configuration change in the replica set,a last used sequence number (LSN) that is incremented by each node with each write and reconfiguration operation, anddata stored in the replica set; an act of receiving an indication indicating an occurrence of a replica set configuration event affecting at least one of the replica set members; based on the received indication and based on a type of the replica set configuration event, an act of determining that the replica set is to be reconfigured, reconfiguration including: when the type of the replica set configuration event is a failure of an existing secondary node, removing the existing secondary node from the replica set,when the type of the replica set configuration event is a node joining the replica set, adding a new secondary node to the replica set,when the type of the replica set configuration event is a failure of the existing primary node, abruptly transitioning from the existing primary node to a new primary node through the new primary node performing the abrupt transition without orchestrating the abrupt transition with the existing primary node, including the new primary node bringing each of the one or more secondary nodes current with respect to the latest replica data and the new primary node removing the existing primary node from the replica set, andwhen the type of the replica set configuration event is a departure of the existing primary node, smoothly transitioning from the existing primary node to the new primary node through the new primary node orchestrating the smooth transition with the existing primary node, including: the new primary node contacting one or more of the secondary nodes, to instruct each contacted secondary node to transfer replica data to the new primary node;simultaneous to contacting the one or more of the secondary nodes, the new primary node instructing the existing primary node to forward new operations to the new primary node; andafter completing the transfer of replica data from each contacted secondary node, the new primary node instructing the existing primary node to initiate a configuration change to make the new primary node the current primary of the replica set; and an act of reconfiguring the replica set according to a reconfiguration appropriate for the type of the replica set configuration event, including reconfiguring the replica set based on a comparison of the stored CSN and the stored LSN of at least one replica set member.
地址 Redmond WA US