IP Library Granted Patent US 10,523,758
Granted Patent B2
US 10,523,758 · App. 15/892,968 · Granted Dec 31, 2019

Distributed storage management in a satellite environment

Inventors: Shaun Coleman (San Jose, CA); John Metzger (Campbell, CA)
Assignee: Vector Launch Inc.
H04L67/1097G06F9/45558G06F2009/45583G06F2009/45595H04W84/06
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,523,758
App. No.
15/892,968
Granted
Dec 31, 2019
Kind
B2
Abstract

Systems, methods, and software described herein provide enhancements for managing data storage in a satellite platform. In one implementation, a satellite in a satellite platform may identify a request to store a data object in a storage pool provided by a plurality of satellites. The satellite will further identify at least one satellite for storing the data object from the plurality of satellites, and communicate the data object to the at least on satellite.

Claims (53)

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

in a virtual node executed as part of an application comprising a plurality of virtual nodes executed by the plurality of satellites, identifying a request to store a data object in a storage pool comprising storage media on the plurality of satellites accessible to at least the virtual node as a storage volume;

identifying at least one target satellite among the plurality of satellites for storing the data object; and

communicating the data object to the at least one target satellite.

2. The method of claim 1 , wherein the virtual node comprises a virtual machine or a container.

3. The method of claim 1 , wherein identifying the at least one target satellite for storing the data object comprises identifying the at least one target satellite as hosting a target virtual node capable of processing the data object.

4. The method of claim 1 , wherein identifying the at least one target satellite for storing the data object comprises identifying the at least one target satellite for storing the data object based on an orbital location of each of the plurality of satellites.

5. The method of claim 1 , wherein the data object comprises a block of a block chain, and wherein identifying the at least one target satellite for storing the data object comprises identifying the at least one target satellite as acting as a peer node for the block chain.

6. The method of claim 1 , further comprising:

identifying a request to read a second data object in the storage pool provided by the plurality of satellites;

identifying at least one satellite among the plurality of satellites that stores the second data object; and

obtaining the second data object from the at least one satellite that stores the second data object.

7. 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:

in a virtual node executed as part of an application comprising a plurality of virtual nodes executed by a plurality of satellites, identify a request to store a data object in a storage pool comprising storage media on the plurality of satellites accessible to at least the virtual node as a storage volume;

identify at least one target satellite among the plurality of satellites for storing the data object; and

communicate the data object to the at least target one satellite for storing the data object.

8. The satellite of claim 7 , wherein the virtual node comprises a virtual machine or a container.

9. The satellite of claim 7 , wherein identifying the at least one target satellite for storing the data object comprises identifying the at least one target satellite as hosting a target virtual node capable of processing the data object.

10. The satellite of claim 7 , wherein identifying the at least one target satellite for storing the data object comprises identifying the at least one target satellite for storing the data object based on an orbital location of each of the plurality of satellites.

11. The satellite of claim 7 , wherein the data object comprises a block of a block chain, and wherein identifying the at least one target satellite for storing the data object comprises identifying the at least one target satellite as acting as a peer node for the block chain.

12. The satellite of claim 7 , wherein the program instructions further direct the processing system to:

identify a request to read a second data object in the storage pool provided by the plurality of satellites;

identify at least one satellite among the plurality of satellites that stores the second data object; and

obtain the second data object from the at least one satellite that stores the second data object.

13. The satellite of claim 12 , wherein identifying the at least one satellite that stores the second data object comprises identifying the at least one satellite that stores the second data object from the plurality of satellites based on one or more among latency, throughput, and availability information for each of the plurality of satellites.

14. A satellite platform comprising:

a plurality of satellites configured to provide a storage pool for an application executing as a plurality of virtual nodes on the plurality of satellites, wherein the storage pool comprises storage media on the plurality of satellites accessible to at least the plurality of virtual nodes as a storage volume; and

a first satellite in the plurality of satellites configured to:

in a first virtual node executed as part of the application, identify a request to store a data object in the storage pool;

identify at least one target satellite among the plurality of satellites for storing the data object; and

communicate the data object to the at least one target satellite for storing the data object.

15. The satellite platform of claim 14 , wherein identifying the at least one target satellite for storing the data object comprises identifying the at least one target satellite as hosting a target virtual node capable of processing the data object.

16. The satellite platform of claim 14 , wherein identifying the at least one target satellite for storing the data object comprises identifying the at least one target satellite for storing the data object based on an orbital location of each of the plurality of satellites.

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

identifying a request to store a data object in a storage pool provided by the plurality of satellites, wherein the data object comprises a block of a block chain;

identifying at least one satellite among the plurality of satellites that acts as a peer node for the block chain; and

communicating the data object to the at least one satellite for storing the data object.

18. 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:

identify a request to store a data object in a storage pool provided by a plurality of satellites, wherein the data object comprises a block of a block chain;

identify at least one satellite among the plurality of satellites that acts as a peer node for the block chain; and

communicate the data object to the at least one satellite for storing the data object.

19. A satellite platform comprising:

a plurality of satellites configured to provide a storage pool for an application executing as a plurality of virtual nodes on the plurality of satellites; and

a first satellite in the plurality of satellites configured to:

identify a request to store data object in the storage pool provided by the plurality of satellites, wherein the data object comprises a block of a block chain;

identify at least one satellite among the plurality of satellites that acts as a peer node for the block chain; and

communicate the data object to the at least one satellite for storing the data object.

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 Feb 9, 2018
From: COLEMAN, SHAUN; METZGER, JOHN
To: VECTOR LAUNCH, INC.
Reel/Frame 044882/0875 →
Continuity (1)
Related Publication 20190253494A1 · Aug 15, 2019