Molecular structure editor with version control and simultaneous editing operations
Abstract
Computer-based methods that permit two or more users to perform simultaneous edits on a digitally encoded molecular structure. The methods use properties of conflict-free replicated data types (CRDT's) and causal trees to provide a distributed system which can manage the life-cycle of virtual molecular structures; including simultaneous editing, versioning, and provenance. Applications of the technology include, but are not limited to: simultaneous computer aided design of molecules in 2D or 3D in which users may be distributed across multiple computers and in which the need for computer time synchronization (offline or online editing) is obviated; version control and provenance tracking of a virtual molecule; and other types of data used in computer aided molecular design activities.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 - 20 . (canceled)
21 . A non-transitory machine-readable storage medium including instructions that, when executed by a processing device, cause the processing device to:
receive an edit to a molecular structure; on a condition that the edit does not comprise a timestamp, timestamp the edit; and update, to include the edit, a conflict-free data structure associated with the molecular structure, the conflict-free data structure comprising an ordered set of immutable edits.
22 . The non-transitory machine-readable medium of claim 21 , wherein:
the conflict-free data structure is generated by a first device; and the edit is generated by a second device, different than the first device.
23 . The non-transitory machine-readable medium of claim 21 , wherein to timestamp is further to timestamp with a Lamport timestamp.
24 . The non-transitory machine-readable medium of claim 23 , wherein the Lamport timestamp is produced with a Lamport logical clock.
25 . The non-transitory machine-readable medium of claim 21 , wherein to timestamp is further to:
increment a clock; and timestamp the edit using a current value of the clock.
26 . The non-transitory machine-readable medium of claim 21 , wherein each edit of the ordered set of immutable edits comprises a unique identifier.
27 . The non-transitory machine-readable medium of claim 21 , wherein each edit of the ordered set of immutable edits comprises at least one of:
adding an atom; deleting an atom; adding a bond; deleting a bond; changing an atom characteristic; or changing a bond characteristic.
28 . The non-transitory machine-readable medium of claim 21 , the instructions further to cryptographically sign each edit of the ordered set of immutable edits.
29 . The non-transitory machine-readable medium of claim 21 , wherein the edit has a parent edit.
30 . The non-transitory machine-readable medium of claim 21 , the instructions further to order the ordered set of immutable edits according to the timestamp of each edit of the ordered set of immutable edits.
31 . The non-transitory machine-readable medium of claim 21 , the instructions further to send a locally generated edit to a molecule device, where the molecule device propagates the locally generated edit to another device.
32 . A method comprising:
receiving an edit to a molecular structure; on a condition that the edit does not comprise a timestamp, timestamping the edit; and updating, to include the edit, a conflict-free data structure associated with the molecular structure, the conflict-free data structure comprising an ordered set of immutable edits.
33 . The method of claim 32 , wherein
the conflict-free data structure is generated by a first device; and the edit is generated by a second device, different than the first device.
34 . The method of claim 32 , wherein the timestamping comprises timestamping with a Lamport timestamp.
35 . The method of claim 34 , wherein the Lamport timestamp is produced with a Lamport logical clock.
36 . The method of claim 32 , wherein the timestamping comprises:
incrementing a clock; and timestamping the edit using a current value of the clock.
37 . The method of claim 32 , wherein each edit of the ordered set of immutable edits comprises a unique identifier.
38 . The method of claim 32 , wherein each edit of the ordered set of immutable edits comprises at least one of:
adding an atom; deleting an atom; adding a bond; deleting a bond; changing an atom characteristic; or changing a bond characteristic.
39 . The method of claim 32 , further comprising cryptographically signing each edit of the ordered set of immutable edits.
40 . The method of claim 32 , wherein the edit has a parent edit.Join the waitlist — get patent alerts
Track US2024006032A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.