IP Library › Granted Patent US 12,254,025
Granted Patent B2
US 12,254,025 · App. 18/014,765 · Granted Mar 18, 2025

Synchronizing conflict-free replicated data types

Inventors: Pontus Sköldström (Solna, SE); Amardeep Mehta (Solna, SE); Mina Sedaghat (Solna, SE); Vinay Yadhav (Upplands Väsby, SE)
Assignee: Telefonaktiebolaget LM Ericsson (publ)
G06F16/27G06F16/2365
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,254,025
App. No.
18/014,765
Granted
Mar 18, 2025
Kind
B2
Abstract

The present disclosure relates to a method of a device of communicating data states of a Conflict-free Replicated Data Type (CRDT) structure over a plurality of other devices in a network of devices.

Claims (31)

1. A method of a first device of communicating data states of a Conflict-free Replicated Data Type, CRDT, structure over a plurality of other devices in a network of devices, the first device performing operation-based synchronization operations, which network of devices comprising at least one second device performing operation-based synchronization operations and at least one third device performing state-based synchronization operations, comprising:

updating an intermediate data state being in common with said at least one second device performing operation-based synchronization operations, said common intermediate data state representing individual data states of the devices performing operation-based synchronization operations;

performing a computation updating a current data state and the common intermediate data state of the first device;

multicasting an indication of the computation being performed to said at least one second device performing operation-based synchronization operations; and

multicasting the updated data state, where the intermediate data state replaces the individual data states of the devices performing operation-based synchronization operations, to said at least one third device performing state-based synchronization operations, thereby synchronizing the data state of the first device with the data states of the at least one second device performing operation-based synchronization operations and at least one third device performing state-based synchronization operations.

2. The method of claim 1 , further comprising:

receiving any data state update from said at least one third device performing state-based synchronization operation and updating the current data state of the first device by performing a merging operation with said received any data state update.

3. The method of claim 1 , further comprising:

receiving any data state update from said at least one second device performing operation-based synchronization operation and updating the current data state and the common intermediate data state of the first device by performing the computation being indicated with the received data state update.

4. The method of claim 1 , the updating of the intermediate data state comprising:

summing the individual data states of all the devices performing operation-based synchronization operations.

5. The method of claim 1 , further comprising:

computing a data value by summing all individual states of the current data state.

6. The method of claim 1 , further comprising:

categorizing other devices to be engaged in the communication of data states on a basis of which synchronization operation said other devices are expected to perform on the data states.

7. A first device configured to communicate data states of a Conflict-free Replicated Data Type, CRDT, structure over a plurality of other devices in a network of devices, the first device performing operation-based synchronization operations, which network of devices comprising at least one second device performing operation-based synchronization operations and at least one third device performing state-based synchronization operations, the first device comprising a processing unit and a memory, said memory containing instructions executable by said processing unit, whereby the first device is operative to:

update an intermediate data state being in common with said at least one second device performing operation-based synchronization operations, said common intermediate data state representing individual data states of the devices performing operation-based synchronization operations;

perform a computation updating a current data state and the common intermediate data state of the first device;

multicast an indication of the computation being performed to said at least one second device performing operation-based synchronization operations; and

multicast the updated data state, where the intermediate data state replaces the individual data states of the devices performing operation-based synchronization operations, to said at least one third device performing state-based synchronization operations, thereby synchronizing the data state of the first device with the data states of the at least one second device performing operation-based synchronization operations and at least one third device performing state-based synchronization operations.

8. The first device of claim 7 , further being operative to:

receive any data state update from said at least one third device performing state-based synchronization operation and update the current data state of the first device by performing a merging operation with said received any data state update.

9. The first device of claim 7 , further being operative to:

receive any data state update from said at least one second device performing operation-based synchronization operation and update the current data state and the common intermediate data state of the first device by performing the computation being indicated with the received data state update.

10. The first device of claim 7 , further being operative to, when updating the intermediate data state:

sum the individual data states of all the devices performing operation-based synchronization operations.

11. The first device of claim 7 , further being operative to:

compute a data value by summing all individual states of the current data state.

12. The first device of claim 7 , further being operative to:

categorize other devices to be engaged in the communication of data states on a basis of which synchronization operation said other devices are expected to perform on the data states.

13. The first device of claim 7 , the first device being a wireless communication terminal or a vehicle being connected to a wireless communications network.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 6, 2023
From: MEHTA, AMARDEEP; SEDAGHAT, MINA; SKÖLDSTRÖM, PONTUS; YADHAV, VINAY
To: TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
Reel/Frame 062290/0690 →
Continuity (1)
Related Publication 20230297588A1 · Sep 21, 2023
References Cited (10)
US 20170024451A1 · Sullivan · 2017 [cited by applicant]
US 20220391381A1 · Thimbleby · 2022 [cited by examiner]
CN 106792781A · 2017 [cited by applicant]
CN 110569267A · 2019 [cited by applicant]
Almeida, et al., “Efficient State-based CRDTs by Delta-Mutation,” Networked Systems, Lecture Notes in Computer Science, vol. 9466, Oct. 2014, 18 pages. [cited by applicant]
Baquero, et al., “Making Operation-Based CRDTs Operation-Based,” Distributed Applications and Interoperable Systems, vol. 8460, Lecture Notes in Computer Science, 2014, pp. 126-140. [cited by applicant]
Deftu, et al., “A Scalable Conflict-Free Replicated Set Data Type,” International Conference on Distributed Computing Systems, Philadelphia, Pennsylvania, 2013, IEEE Computer Society, pp. 186-195. [cited by applicant]
Enes, et al., “Efficient Synchronization of State-based CRDTs,” 35th International Conference on Data Engineering, 2019, Macao, China, 13 pages. [cited by applicant]
Shapiro, et al., “Conflict-free Replicated Data Types,” Lecture Notes in Computer Science, vol. 6976, 2011, Springer, 18 pages. [cited by applicant]
International Search Report and Written Opinion for International Patent Application No. PCT/SE2020/000020, mailed Apr. 26, 2021, 13 pages. [cited by applicant]