IP Library Granted Patent US 10,567,393
Granted Patent B2
US 10,567,393 · App. 15/923,531 · Granted Feb 18, 2020

Distributed blockchain data management in a satellite environment

Inventors: John Metzger (Campbell, CA); Shaun Coleman (San Jose, CA)
Assignee: Vector Launch Inc.
H04L63/123B64G1/10G06F16/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 10,567,393
App. No.
15/923,531
Granted
Feb 18, 2020
Kind
B2
Abstract

Systems, methods, and software described herein provide enhancements for managing data storage in a satellite platform. In one implementation, a satellite platform includes a plurality of satellites, wherein a first satellite of the platform is configured to identify a request for a ledger entry for a blockchain maintained by the satellite platform and, in response to the request, distribute the ledger entry to one or more other satellites of the satellite platform, wherein the one or more other satellites comprise full nodes for the blockchain. Once distributed, the one or more other satellites each determine whether the ledger entry is verified and, when the ledger entry is verified, enters the ledger entry in a ledger for the satellite.

Claims (37)

1. A method of operating a satellite platform, the satellite platform comprising a plurality of satellites, the method comprising:

in a first satellite of the satellite platform, identifying a request for a ledger entry for a blockchain maintained by the satellite platform, wherein the ledger entry corresponds to data obtained from at least one sensor associated with the first satellite or data obtained from a communication interface of the first satellite configured to communicate with one or more other satellites or a ground control system, and wherein the ledger entry identifies a source satellite or ground control system for the ledger entry;

in the first satellite of the satellite platform and in response to the request, determining one or more shortest paths to distribute the ledger entry to one or more other satellites of the satellite platform, wherein the one or more other satellites comprise full nodes for the blockchain, and wherein at least one of the one or more shortest paths traverse at least one satellite of the satellite platform that does not maintain the blockchain;

in the first satellite of the satellite platform, distributing the ledger entry to one or more other satellites of the satellite platform using the one or more shortest paths; and

in each of the one or more other satellites, determining when the ledger entry is verified and, when the ledger entry is verified, entering the ledger entry in a ledger for the satellite.

2. The method of claim 1 , wherein the blockchain comprises an application blockchain implemented via a distributed application on two or more satellites.

3. The method of claim 2 , wherein identifying the request for the ledger entry for the blockchain maintained by the satellite platform comprises identifying the request for the ledger entry for the blockchain in a process for the application on the first satellite.

4. The method of claim 1 , wherein determining when the ledger entry is verified comprises determining whether the ledger entry is verified based on a signature for the ledger entry.

5. The method of claim 1 further comprising, in each of the one or more other satellites, when the ledger entry is not verified, preventing the ledger entry from being entered in the ledger.

6. The method of claim 1 further comprising, in a satellite of the one or more other satellites, generating a block for the blockchain via the ledger and distributing the block to other satellites that comprise full nodes for the blockchain.

7. The method of claim 1 further comprising, in the first satellite, entering the ledger entry in a ledger for the first satellite.

8. The method of claim 1 further comprising, in the first satellite, determining whether the ledger entry for the blockchain is valid based on a signature associated with the ledger entry, and wherein distributing the ledger entry to the one or more other satellites of the satellite platform comprises distributing the ledger entry to the one or more other satellites of the satellite platform when the ledger entry is valid.

9. A satellite platform comprising:

a plurality of satellites;

a first satellite in the plurality of satellites configured to:

identify a request for a ledger entry for a blockchain maintained by the satellite platform, wherein the ledger entry corresponds to data obtained from at least one sensor associated with the first satellite or data obtained from a communication interface of the first satellite configured to communicate with one or more other satellites or a ground control system, and wherein the ledger entry identifies a source satellite or ground control system for the ledger entry;

in response to the request, determine one or more shortest paths to distribute the ledger entry to one or more other satellites of the satellite platform, wherein the one or more other satellites comprise full nodes for the blockchain, and wherein at least one of the one or more shortest paths traverse at least one satellite of the satellite platform that does not maintain the blockchain;

distribute the ledger entry to the one or more other satellites of the satellite platform using the one or more shortest paths; and

the one or more other satellites each configured to:

determine when the ledger entry is verified and, when the ledger entry is verified, enter the ledger entry in a ledger for the satellite.

10. The satellite platform of claim 9 , wherein the blockchain comprises an application blockchain implemented via a distributed application on two or more satellites.

11. The satellite platform of claim 10 , wherein identifying the request for the ledger entry for the blockchain maintained by the satellite platform comprises identifying the request for the ledger entry for the blockchain in a process for the application on the first satellite.

12. The satellite platform of claim 9 , wherein determining whether the ledger entry is verified comprises determining whether the ledger entry is verified based on a signature for the ledger entry.

13. The satellite platform of claim 9 , wherein each satellite of the one or more other satellites is further configured to, when the ledger entry is not verified, prevent the ledger entry from being entered in the ledger.

14. The satellite platform of claim 9 , wherein a satellite of the one or more other satellites is further configured to generate a block for the blockchain via the ledger and distribute the block to other satellites that comprise full nodes for the blockchain.

15. The satellite platform of claim 9 , wherein the first satellite is further configured to enter the ledger entry in a ledger for the first satellite.

16. A satellite comprising:

one or more non-transitory computer readable storage media;

a processing system operatively coupled to the one or more non-transitory computer readable storage media; and

program instructions stored on the one or more non-transitory computer readable storage media that, when read and executed by the processing system, direct the processing system to at least:

obtain a ledger entry from another satellite in the satellite platform, wherein the ledger entry corresponds to a blockchain implemented by an application executing on the satellite and one or more other satellites, and wherein the ledger entry corresponds to data obtained from at least one sensor or data obtained from communication interface on the other satellite, and wherein the ledger entry identifies a source satellite or ground control system for the ledger entry;

determine whether the ledger entry is verified;

enter the ledger entry in a ledger for the distributed application on the satellite;

identify a second request for a second ledger entry for the blockchain;

in response to the second request, determine one or more shortest paths to distribute the ledger entry to the one or more other satellites, wherein at least one of the one or more shortest paths traverse at least one satellite in the satellite platform that does not implement the application; and

distribute the second ledger entry to the one or more other satellites.

17. The satellite of claim 16 , wherein determining whether the ledger entry is verified comprises determining whether the ledger entry is verified based on a signature associated with the ledger entry.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 6, 2020
From: VECTOR LAUNCH INC,; GARVEY SPACECRAFT CORPORATION
To: LOCKHEED MARTIN CORPORATION
Reel/Frame 052916/0236 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 16, 2018
From: METZGER, JOHN; COLEMAN, SHAUN
To: VECTOR LAUNCH, INC.
Reel/Frame 045258/0972 →
Continuity (1)
Related Publication 20190289018A1 · Sep 19, 2019