IP Library Granted Patent US 10,659,149
Granted Patent B2
US 10,659,149 · App. 16/371,333 · Granted May 19, 2020

Virtualized software payloads on satellite devices

Inventors: Shaun Coleman (San Jose, CA); Darren D. Garber (Rancho Palos Verdes, CA)
Assignee: Lockheed Martin Corporation
H04B7/18519G06F9/45533G06K9/00677H04B7/18521H04L67/1068H04L67/34G06F2009/4557G06K9/0063G06K9/00979H04L67/125
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,659,149
App. No.
16/371,333
Granted
May 19, 2020
Kind
B2
Abstract

Systems, methods, and software described herein provide enhancements for deploying software payloads to satellite devices, such as when a satellite device is in orbit. In one example, a satellite device includes a communication interface configured to receive one or more software payloads, and a storage system configured to store the one or more software payloads on the satellite device. The satellite device also includes a payload execution system configured to execute the one or more software payloads as one or more virtual nodes.

Claims (53)

1. A satellite device, comprising:

communication interface configured to receive one or more software payloads;

a storage system configured to store the one or more software payloads on the satellite device; and

a payload execution system configured to:

execute the one or more software payloads as one or more virtual nodes;

maintain state information in related to operation of the one or more virtual nodes in the storage system or in one or more memory spaces;

detect one or more failures related to the operation of the one or more virtual nodes; and

responsive to the one or more failures, initiate at least one virtual node to continue one or more activities based at least on the state information of the one or more virtual nodes that experience the failure.

2. The satellite device of claim 1 , comprising:

the payload execution system comprising a hypervisor system configured to manage at least execution resources of the payload execution system among the one or more software payloads when executing the one or more virtual nodes.

3. The satellite device of claim 1 , wherein the one or more virtual nodes each comprise at least one among a virtual container, virtual application, and a virtual machine.

4. The satellite device of claim 1 , comprising:

the communication interface configured to receive the one or more software payloads transferred by at least one among a ground communication system that deploys the one or more software payloads to the satellite device in orbit, another satellite device, or another device.

5. The satellite device of claim 1 , comprising:

the payload execution system configured to provide one or more first processing cores of the payload execution system to a first virtual node and provide one or more second processing cores of the payload execution system to a second virtual node.

6. The satellite device of claim 1 , comprising:

the payload execution system configured to execute the one or more software payloads as the one or more virtual nodes on the satellite device according to at least a resource schedule that indicates a timewise allocation of the one or more virtual nodes to on-board resources of the satellite device.

7. The satellite device of claim 1 , comprising:

one or more logistical control elements comprising one or more among satellite position control elements, inertial control elements, orbital control elements, power control elements, and thermal control elements; and

wherein the one or more software payloads execute independently of the one or more logistical control elements of the satellite device.

8. The satellite device of claim 1 , comprising:

the payload execution system further configured to transfer over the communication interface state information related to execution of the one or more virtual nodes.

9. A method of operating a satellite device, comprising:

in a communication interface, receiving one or more software payloads;

in a storage system, storing the one or more software payloads on the satellite device; and

in a payload execution system:

executing the one or more software payloads as one or more virtual nodes;

maintaining state information related to operation of the one or more virtual nodes in the storage system or in one or more memory spaces;

detecting one or more failures related to the operation of the one or more virtual nodes; and

responsive to the one or more failures, initiating at least one virtual node to continue one or more activities based at least on the state information of the one or more virtual nodes that experience the failure.

10. The method of claim 9 , wherein the payload execution system comprises a hypervisor system; and comprising:

in the hypervisor system, managing at least execution resources of the payload execution system among the one or more software payloads when executing the one or more virtual nodes.

11. The method of claim 9 , wherein the one or more virtual nodes each comprise at least one among a virtual container, virtual application, and a virtual machine.

12. The method of claim 9 , further comprising:

in the communication interface receiving the one or more software payloads transferred by at least one among a ground communication system that deploys the one or more software payloads to the satellite device in orbit, another satellite device, or another device.

13. The method of claim 9 , further comprising:

in the payload execution system, providing one or more first processing cores of the payload execution system to a first virtual node and providing one or more second processing cores of the payload execution system to a second virtual node.

14. The method of claim 9 , further comprising:

in the payload execution system, executing the one or more software payloads as the one or more virtual nodes on the satellite device according to at least a resource schedule that indicates a timewise allocation of the one or more virtual nodes to on-board resources of the satellite device.

15. The method of claim 9 , wherein the satellite device comprises one or more logistical control elements comprising one or more among satellite position control elements, inertial control elements, orbital control elements, power control elements, and thermal control elements; and further comprising:

in the payload execution system, executing the one or more software payloads independently of the one or more logistical control elements of the satellite device.

16. The method of claim 9 , further comprising:

in the payload execution system, transferring state information over the communication interface related to execution of the one or more virtual nodes.

17. An apparatus, comprising:

one or more non-transitory computer readable storage media;

a processing system operatively coupled with the one or more computer readable storage media; and

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

receive one or more software payloads over a communication interface of a satellite device in orbit;

store the one or more software payloads on the satellite device;

execute the one or more software payloads as one or more virtual nodes on board the satellite device using at least a hypervisor system configured to manage at least execution resources of the processing system among the one or more software payloads when executing the one or more virtual nodes;

maintain state information on the satellite device related to operation of the one or more virtual nodes;

detect one or more failures related to the operation of the one or more virtual nodes; and

responsive to the one or more failures, initiate at least one virtual node to continue one or more activities based at least on the state information of the one or more virtual nodes that experience the failure.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 6, 2020
From: VECTOR LAUNCH INC,; GARVEY SPACECRAFT CORPORATION
To: LOCKHEED MARTIN CORPORATION
Reel/Frame 052916/0236 →
SECURITY INTEREST Recorded Nov 22, 2019
From: VECTOR LAUNCH INC.; GARVEY SPACECRAFT CORPORATION
To: LOCKHEED MARTIN CORPORATION
Reel/Frame 051095/0502 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 1, 2019
From: COLEMAN, SHAUN; GARBER, DARREN D.
To: VECTOR LAUNCH INC.
Reel/Frame 048753/0164 →
Continuity (4)
Continuation 15996845 · Jun 4, 2018
Continuation 15626929 · Jun 19, 2017
Continuation 15297461 · Oct 19, 2016
Related Publication 20190229801A1 · Jul 25, 2019