WO2017165454A1 - Method for remote system onboard software updating and protection - Google Patents

Method for remote system onboard software updating and protection Download PDF

Info

Publication number
WO2017165454A1
WO2017165454A1 PCT/US2017/023461 US2017023461W WO2017165454A1 WO 2017165454 A1 WO2017165454 A1 WO 2017165454A1 US 2017023461 W US2017023461 W US 2017023461W WO 2017165454 A1 WO2017165454 A1 WO 2017165454A1
Authority
WO
WIPO (PCT)
Prior art keywords
software
remote system
code
protection
software updating
Prior art date
Application number
PCT/US2017/023461
Other languages
French (fr)
Inventor
Daniel Faber
Original Assignee
Deep Space Industries Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Deep Space Industries Inc. filed Critical Deep Space Industries Inc.
Publication of WO2017165454A1 publication Critical patent/WO2017165454A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment

Definitions

  • the present invention relates generally to a new method of storing and updating or replacing software code in an embedded computer system, with greatest application to remote systems located some distance from the user such that data communications is limited (for example environmental and equipment monitoring systems, unmanned aerial vehicle, satellites and robots). More specifically, the present invention is a new way of reducing the quantity of data communication necessary for a system to receive and update its operating system and application software. The present invention simplifies the updating of embedded software.
  • Spacecraft Example Currently, spacecraft software is written before the satellite is launched, is compiled into a binary and loaded into the spacecraft memory before launch. Some spacecraft allow the possibility to update the software by compiling a new binary on the ground and communicating the entire binary file to the spacecraft. Spacecraft are becoming more complex, and the software is becoming larger. The act of communicating the entire binary to the spacecraft takes time. This is especially true for spacecraft operating at great distance from earth.
  • the present invention is a new method for updating embedded software by having a code repository on the remote system.
  • To implement changes to the software only the changed lines of code are uploaded to the embedded system, along with instructions on where in the code these are to be inserted.
  • the code can be complied and executed within the remote system. Upload verification is also proposed, to improve reliability.
  • Upload may be compressed by various means, including partial compiling or compiling into object files.
  • a system architecture with multiple processors and memory banks can store code in one or more locations, compile it in one or more locations and execute it is one or more locations, each location being possibly on different subsystem, chip or virtual environment within the remote system.
  • Watchdog systems may be incorporated at the system level, within subsystems (circuit boards) and in the run environment.
  • the process of the present invention utilizes several main components onboard the remote system: A) software code repository (binary or text), B) binary system boot loader software and C) software compiler, D) means to execute the compiled code.
  • A) software code repository binary or text
  • D) means to execute the compiled code This combination of non-obvious and unique method of software upload results in higher efficiency as compared with traditional systems and does not require the time-consuming uploading of an entire full-length binary code update.
  • the invention applies equally to software that must be compiled and to software that must be interpreted.
  • the compiler is not present and instead there is an interpreter. Variation on the compiler/interpreter are also possible.
  • this invention will enable the field deployment of remote systems with no application software. All software can then be delivered and compiled after deployment.
  • a versioning system history program for additional safety mechanisms related to fault protection based on a dual hash check verification process 2.
  • the present invention comprises the following machinery components:

Abstract

Software updating and protection system comprising: Code repositories; Remote system and/or subsystem boot loader; Pre-compilation; and Power, communications, and processing sensor and communication systems.

Description

Deep Space Industries
Method for remote system onboard software updating and protection
FIELD OF THE INVENTION
The present invention relates generally to a new method of storing and updating or replacing software code in an embedded computer system, with greatest application to remote systems located some distance from the user such that data communications is limited (for example environmental and equipment monitoring systems, unmanned aerial vehicle, satellites and robots). More specifically, the present invention is a new way of reducing the quantity of data communication necessary for a system to receive and update its operating system and application software. The present invention simplifies the updating of embedded software.
BACKGROUND OF THE INVENTION
Spacecraft Example: Currently, spacecraft software is written before the satellite is launched, is compiled into a binary and loaded into the spacecraft memory before launch. Some spacecraft allow the possibility to update the software by compiling a new binary on the ground and communicating the entire binary file to the spacecraft. Spacecraft are becoming more complex, and the software is becoming larger. The act of communicating the entire binary to the spacecraft takes time. This is especially true for spacecraft operating at great distance from earth.
When writing software it is common practice to store the software code in a code repository or
"concurrent versioning system" that resides on a server. Updates made to any one or more software source files by a software developer are sent to the repository, which updates the "head" of the repository. The changes are sent to all other developers. In this way every developer can always be assured of having the latest version of the software code. An important aspect of the repository is that is only communicates the changes in the updated code file, and sometimes considerably less than the entire file. For example if line 2500 and 2501 are changed, only those two lines need be communicated from the developer to the repository.
DETAIL DESCRIPTIONS OF THE INVENTION
The present invention is a new method for updating embedded software by having a code repository on the remote system. To implement changes to the software, only the changed lines of code are uploaded to the embedded system, along with instructions on where in the code these are to be inserted. The code can be complied and executed within the remote system. Upload verification is also proposed, to improve reliability.
Upload may be compressed by various means, including partial compiling or compiling into object files.
By retaining previous versions of the software, bot pre-compiled code and compiled binary files, it is possible to revert to a known-working version without uploading any code. Reversion can be autonomous, with triggers defined by the software developer or within the compiler or watchdog systems. Deep Space Industries (c) 2014. All Rights Reserved. Confidential
The architecture on which this method is implemented is also part of this invention. A system architecture with multiple processors and memory banks can store code in one or more locations, compile it in one or more locations and execute it is one or more locations, each location being possibly on different subsystem, chip or virtual environment within the remote system.
Watchdog systems may be incorporated at the system level, within subsystems (circuit boards) and in the run environment.
The process of the present invention utilizes several main components onboard the remote system: A) software code repository (binary or text), B) binary system boot loader software and C) software compiler, D) means to execute the compiled code. This combination of non-obvious and unique method of software upload results in higher efficiency as compared with traditional systems and does not require the time-consuming uploading of an entire full-length binary code update.
The invention applies equally to software that must be compiled and to software that must be interpreted. In the later case, the compiler is not present and instead there is an interpreter. Variation on the compiler/interpreter are also possible.
It is envisaged that this invention will enable the field deployment of remote systems with no application software. All software can then be delivered and compiled after deployment.
This can be achieved by the following advances:
1. An algorithm distributing these three elements among the remote system's subsystems for efficiency of the compiler, repository, and reboot functions.
2. A versioning system history program for additional safety mechanisms related to fault protection based on a dual hash check verification process.
The simplicity of this approach - utilizing a code repository storage and self-correction mechanisms - allows for ease of implementation and readily scales to larger remote systems.
In the preferred embodiment, the present invention comprises the following machinery components:
1. Code repositories;
2. Remote system and/or sub-system boot loader;
3. Pre-compilation;
4. Power, communications, and processing sensor and communication systems; and
Although the invention has been explained in relation to its preferred embodiment, it is to be understood that many other possible modifications and variations can be made without departing from the spirit and scope of the invention as herein described including to terrestrial applications such as automobiles, aircraft, sea-going systems, and intelligent housing applications.

Claims

1. Software updating and protection system comprising:
Code repositories;
Remote system and/or sub-system boot loader;
Pre-compilation; and
Power, communications, and processing sensor and communication systems.
PCT/US2017/023461 2016-03-21 2017-03-21 Method for remote system onboard software updating and protection WO2017165454A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201662311376P 2016-03-21 2016-03-21
US62/311,376 2016-03-21

Publications (1)

Publication Number Publication Date
WO2017165454A1 true WO2017165454A1 (en) 2017-09-28

Family

ID=59900717

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2017/023461 WO2017165454A1 (en) 2016-03-21 2017-03-21 Method for remote system onboard software updating and protection

Country Status (1)

Country Link
WO (1) WO2017165454A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5878432A (en) * 1996-10-29 1999-03-02 International Business Machines Corporation Object oriented framework mechanism for a source code repository
US20060129846A1 (en) * 2004-12-01 2006-06-15 Lambert Mark J System and method for processing encrypted source code updates
US20100205596A1 (en) * 2007-07-26 2010-08-12 Gangneung-Wonju Nationa University Industrial Academy Cooperation Group Method for updating firmware of sensor nodes on the wireless sensor network
US20100215280A1 (en) * 2009-02-26 2010-08-26 Microsoft Corporation Rdp bitmap hash acceleration using simd instructions

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5878432A (en) * 1996-10-29 1999-03-02 International Business Machines Corporation Object oriented framework mechanism for a source code repository
US20060129846A1 (en) * 2004-12-01 2006-06-15 Lambert Mark J System and method for processing encrypted source code updates
US20100205596A1 (en) * 2007-07-26 2010-08-12 Gangneung-Wonju Nationa University Industrial Academy Cooperation Group Method for updating firmware of sensor nodes on the wireless sensor network
US20100215280A1 (en) * 2009-02-26 2010-08-26 Microsoft Corporation Rdp bitmap hash acceleration using simd instructions

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
PREDKI ET AL.: "Intelligent Platform-Management Controller for Low-Level RF Control System ATCA Carrier Board", IEEE TRANSACTIONS ON NUCLEAR SCIENCE, vol. 58, no. 4, August 2011 (2011-08-01), pages 1538 - 1543, XP011373144, Retrieved from the Internet <URL:http://ieeexplore.ieee.org/document/5778959> [retrieved on 20170510] *

Similar Documents

Publication Publication Date Title
US10860299B2 (en) Extensible data transformation authoring and validation system
US9507581B2 (en) Systems and methods of device firmware delivery for pre-boot updates
US9507604B2 (en) Boot method and boot system
US9104504B2 (en) Systems and methods for embedded shared libraries in an executable image
US20170322796A1 (en) Device and method for updating firmware and firmware update system
US20120240108A1 (en) Method and device for installing/uninstalling software modules, with centralized resolution of constraints, in aircraft apparatuses
US10108402B2 (en) Persistent pointers for programs running on NVRAM based computers
Sünter et al. Firmware updating systems for nanosatellites
US20110035405A1 (en) Method and system for data class update
US11263001B2 (en) Car onboard control device and program updating software
WO2017165454A1 (en) Method for remote system onboard software updating and protection
US11360673B2 (en) Removable data volume management
US10733065B2 (en) Recovery of local resource
CN105453057A (en) Storing difference information in a backup system
CN105260196A (en) Method for making Android system support QT APP
Ayres et al. Virtualisation as a means for dynamic software update within the automotive E/E architecture
US20180341475A1 (en) Just In Time Deployment with Package Managers
CN110134456B (en) Method, apparatus, device and storage medium for managing operating system
US10678734B2 (en) Communication system for controlling or monitoring vehicle components
US20230419745A1 (en) Systems and techniques for providing an adaptable and container-based internet of things platform environment
KR102142905B1 (en) Automatic Restoring Method of User File System in Communication Terminal
CN110990041A (en) Bootloader upgrading method and bootloader upgrading system
Miller Space-operating Linux: An Operating System for High Performance AI Computation on Commercial-Grade Equipment in Low Earth Orbit
KR102057524B1 (en) Execution point restoration mtehod for performing the satellite control system
CN116166473A (en) Data processing method and device, electronic equipment and storage medium

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17771015

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 17771015

Country of ref document: EP

Kind code of ref document: A1