US-20260129091-A1 - SYSTEMS AND METHODS FOR SYNCHRONIZING DATA ACROSS MULTIPLE NODES
Abstract
A system comprising a ground-based station comprising a first data store, where the first data store stores operational characteristics of a space-based station, where the space-based station comprises a second data store that mirrors the first data store at a first time. The ground-based station is configured to generate first log data based on a determined type of activity performed by the user at a second time. The system further comprises a user device located on the space-based station and configured to determine a second type of activity performed by the user at the space-based station at the second time; generate second log data based on the determined second type of activity performed by the user; process a synchronization request received from the ground-based station; identify a conflict between the first and second data logs; and in response to identifying the conflict, select one of the data logs are accurate.
Inventors
- Tom Abeles
- Phillip Burger
- Alex Miller
- Holly Deuterman
- Hiteksha Patel
- Justin Chmura
- Anson Foong
- Josh Spradling
Assignees
- BLUE ORIGIN, LLC
Dates
- Publication Date
- 20260507
- Application Date
- 20241106
Claims (20)
- 1 . A system comprising: a ground-based station comprising a first processor and a first data store, wherein the first data store stores operational characteristics of a space-based station that is capable of operating in space, wherein the space-based station comprises a second data store that mirrors the first data store at a first time, wherein computer-executable instructions, when executed by the first processor, cause the ground-based station to: determine a type of activity performed by a user at a space-based station at a second time after the first time via a first detection system; and generate first log data based on the determined type of activity performed by the user; and a user device with a second processor and memory, wherein the user device is associated with the space-based station, and wherein second computer-executable instructions, when executed by the second processor, cause the user device to: determine a second type of activity performed by the user at the space-based station at the second time via a second detection system different than the first detection system; generate second log data based on the determined second type of activity performed by the user; process a synchronization request received from the ground-based station, wherein the synchronization request includes the first log data; identify a conflict between the first and second data logs, wherein the conflict corresponds to differences of a data element value made by each the ground-based station and the space-based station in respective data stores; and in response to identifying the conflict, select between the first data log and the second data log based on a condition being satisfied to resolve the conflict.
- 2 . The system of claim 1 , wherein the second computer-executable instructions, when executed by the second processor, further cause the user device to process the synchronization request received from the ground-based station when the space-based station is within a threshold communication distance with the ground-based station.
- 3 . The system of claim 1 , wherein the second computer-executable instructions, when executed by the second processor, further cause the user device to select between the first data log and the second data log based on the first condition and the second condition, wherein the first condition and the second condition each correspond to timestamps of log data, causal consistency between log data, semantic policies regarding log data, priority rules of log data, arithmetic operations of log data, communication capabilities of stations, location of stations, predicted location of stations according to geosynchronous orbit.
- 4 . The system of claim 1 , wherein the second computer-executable instructions, when executed by the second processor, further cause the user device to generate a data replica associated to a spacecraft, wherein the spacecraft comprises a third data store, wherein the data replica is configured to mirror data from the first and second data store.
- 5 . The system of claim 1 , wherein the second computer-executable instructions, when executed by the second processor, further cause the user device to track usage of assets corresponding to the activity with an image-based data management technique to obtain usage data of the assets.
- 6 . A computer implemented method comprising: under control of a user device with a processor and memory, wherein the user device is located on a first station, and wherein computer-executable instructions, when executed by the processor, cause the user device to perform steps of: determining a type of activity performed by a user at a first station via a detection system; generating first log data based on the determined type of activity performed by the user; processing a synchronization request received from a second station, wherein the synchronization request includes second log data; identifying a conflict between the first and second log data, wherein the conflict corresponds to differences of a data element value made by each the first station and the second station in respective data stores; and in response to identifying the conflict, selecting between the first data log and the second data log as an accurate value to resolve the conflict.
- 7 . The computer implemented method of claim 6 , wherein processing the synchronization request received from the second station comprises processing the synchronization request received from the second station when the first station is within a threshold communication distance with the second station.
- 8 . The computer implemented method of claim 6 , wherein selecting between the first data log and the second data log as the accurate value to resolve the conflict comprises selecting the first log data based on a first condition or the second log data based on a second condition.
- 9 . The computer implemented method of claim 8 , wherein selecting the first log data based on a first condition or the second log data based on a second condition comprises selecting according to a data management policy the first log data based on a first condition or the second log data based on a second condition.
- 10 . The computer implemented method of claim 6 , further comprising generating a data replica associated to a third station, wherein the third station comprises a third data store, wherein the data replica is configured to mirror data from the first and second data store.
- 11 . The computer implemented method of claim 6 , wherein determining the type of activity performed by the user at the first station comprises determining the type of activity performed by the user at the first station via a sensor and determining the type of activity performed by the user at the second station via monitoring a video feed.
- 12 . The computer implemented method of claim 6 , wherein selecting between the first data log and the second data log as the accurate value to resolve the conflict comprises selecting between the first data log and the second data log as the accurate value to resolve the conflict by merging the first data log and the second data log.
- 13 . The computer implemented method of claim 12 , wherein selecting between the first data log and the second data log as the accurate value to resolve the conflict by merging the first data log and the second data log further comprises selecting between the first data log and the second data log as the accurate value to resolve the conflict by merging the first data log and the second data log according to a conflict-free replicated data type (CRDT) technique.
- 14 . A non-transitory, computer-readable medium comprising computer-executable instructions, wherein the computer-executable instructions, when executed by a computer system, cause the computer system to: determine a type of activity performed by a user at a first station via a detection system; generate first log data based on the determined type of activity performed by the user; process a synchronization request received from a second station, wherein the synchronization request includes second log data; identify a conflict between the first and second log data, wherein the conflict corresponds to differences of a data element value made by each the first station and the second station in respective data stores; in response to identifying the conflict, select between the first data log and the second data log as an accurate value to resolve the conflict.
- 15 . The non-transitory, computer-readable medium of claim 14 , wherein processing the synchronization request received from the second station comprises processing the synchronization request received from the second station when the first station is within a threshold communication distance with the second station.
- 16 . The non-transitory, computer-readable medium of claim 14 , wherein selecting between the first data log and the second data log as the accurate value to resolve the conflict comprises selecting the first log data based on a first condition or the second log data based on a second condition.
- 17 . The non-transitory, computer-readable medium of claim 16 , wherein selecting the first log data based on a first condition or selecting the second log data based on a second condition comprises selecting according to a data management policy the first log data based on a first condition or the second log data based on a second condition.
- 18 . The non-transitory, computer-readable medium of claim 14 , wherein the computer-executable instructions further include instructions, when executed by a computer system, cause the computer system to generate a data replica associated to a third station, wherein the third station comprises a third data store, wherein the data replica is configured to mirror data from the first and second data store.
- 19 . The non-transitory, computer-readable medium of claim 14 , wherein determining the type of activity performed by the user at the first station comprises determining the type of activity performed by the user at the first station via a sensor and determining the type of activity performed by the user at the second station via monitoring a video feed.
- 20 . The non-transitory, computer-readable medium of claim 14 , wherein selecting between the first data log and the second data log as the accurate value to resolve the conflict comprises selecting between the first data log and the second data log as the accurate value to resolve the conflict by merging the first data log and the second data log according to a conflict-free replicated data type (CRDT) technique.
Description
BACKGROUND Computing devices can utilize communication networks to exchange data between nodes in a terrestrial environment and space-based environment. Commercial and international organizations operate computer networks that interconnect a number of computing devices to support operations or to provide services to third parties (such as in-situ resource utilization, scientific experimentation, and mining operations). The computing devices can be located in a single geographic location, located in multiple, distinct geographic locations (e.g., interconnected via private or public communication networks), or in a space-based environment. SUMMARY The systems, methods, and devices described herein each have several aspects, no single one of which is solely responsible for its desirable attributes. Without limiting the scope of this disclosure, several non-limiting features will now be discussed briefly. One aspect of the disclosure provides a system comprising a ground-based station comprising a first processor and a first data store, where the first data store stores operational characteristics of a space-based station that is capable of operating in space, where the space-based station comprises a second data store that mirrors the first data store at a first time, where computer-executable instructions, when executed by the first processor, cause the ground-based station to: determine a type of activity performed by a user at a space-based station at a second time after the first time via a first detection system; and generate first log data based on the determined type of activity performed by the user. The system further comprises a user device with a second processor and memory, where the user device is associated with the space-based station, and where second computer-executable instructions, when executed by the second processor, cause the user device to: determine a second type of activity performed by the user at the space-based station at the second time via a second detection system different than the first detection system; generate second log data based on the determined second type of activity performed by the user; process a synchronization request received from the ground-based station, where the synchronization request includes the first log data; identify a conflict between the first and second data logs, where the conflict corresponds to differences of a data element value made by each the ground-based station and the space-based station in respective data stores; and in response to identifying the conflict, select between the first data log and the second data log based on a condition being satisfied to resolve the conflict. The system of the preceding paragraph can include any sub-combination of the following features: where the second computer-executable instructions, when executed by the second processor, further cause the user device to process the synchronization request received from the ground-based station when the space-based station is within a threshold communication distance with the ground-based station; where the second computer-executable instructions, when executed by the second processor, further cause the user device to select between the first data log and the second data log as the accurate value based on the first condition and the second condition, where the first condition and the second condition each correspond to timestamps of log data, causal consistency between log data, semantic policies regarding log data, priority rules of log data, arithmetic operations of log data, communication capabilities of stations, location of stations, predicted location of stations according to geosynchronous orbit; where the second computer-executable instructions, when executed by the second processor, further cause the user device to generate a data replica associated to a spacecraft, where the spacecraft comprises a third data store, where the data replica is configured to mirror data from the first and second data store; where the second computer-executable instructions, when executed by the second processor, further cause the user device to track usage of assets corresponding to the activity with an image-based data management technique to obtain usage data of the assets. Another aspect of the disclosure provides a computer implemented method, under control of a user device with a processor and memory, where the user device is located on a first station, and where computer-executable instructions, when executed by the processor, cause the user device to perform steps of: determining a type of activity performed by a user at a first station via a detection system; generating first log data based on the determined type of activity performed by the user; processing a synchronization request received from a second station, where the synchronization request includes second log data; identifying a conflict between the first and second log data, where the conflict corresponds to dif