US 12,189,653 B2
Detecting conflicts in geo-replication architectures
Gennadii M. Tertychnyi, Issaquah, WA (US); Adelin M. Miloslavov, Bellevue, WA (US); Yue Zhao, Beijing (CN); Pijun Jiang, Beijing (CN); Chuanjie Liu, Beijing (CN); Samuel M. Bayless, Bellevue, WA (US); Yuntong Ding, Beijing (CN); Shi Zhao, Beijing (CN); and Surender Parupalli, Redmond, WA (US)
Assigned to MICROSOFT TECHNOLOGY LICENSING, LLC, Redmond, WA (US)
Filed by MICROSOFT TECHNOLOGY LICENSING, LLC, Redmond, WA (US)
Filed on Mar. 30, 2023, as Appl. No. 18/192,769.
Prior Publication US 2024/0330316 A1, Oct. 3, 2024
Int. Cl. G06F 17/00 (2019.01); G06F 7/00 (2006.01); G06F 16/23 (2019.01); G06F 16/27 (2019.01)
CPC G06F 16/27 (2019.01) [G06F 16/2358 (2019.01); G06F 16/2365 (2019.01)] 20 Claims
OG exemplary drawing
 
1. A computing system in a geo-replication computing architecture, the computing system comprising:
computer-readable storage that includes a database that is replicated across N computing systems of the geo-replication computing architecture, where the database includes a record that has a key value, wherein N is a nonzero integer;
a processor that is operably coupled to the computer-readable storage; and
memory storing instructions that, when executed by the processor, cause the processor to perform acts comprising:
receiving an update request from a computing device that is in communication with the computing system, where the update request includes the key value of the record and an update to the record;
identifying the record in the database based upon the key value in the update request;
in response to identifying the record in the database, updating the record based upon the update in the update request;
generating a partial vector clock based upon the updating of the record, where the partial vector clock incudes M Global Change Numbers (GCNs), where M is a nonzero integer less than N, and further where the M GCNs include a GCN that identifies the computing system and is indicative of when the computing system updated the record; and
transmitting an update notification to other computing systems in the geo-replication architecture, where the update notification is configured to cause the other computing systems to update the record of the database with the update in the update request.