# US 11,907,695 B2 · Devices, systems, and methods for providing on-demand engine software using a distributed ledger

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,907,695 B2
- Document ID: US11907695B2
- Status: Granted
- Kind: B2
- Application number: 17/676,943
- Filed: 2022-02-22
- Published: 2022-06-09
- Granted: 2024-02-20
- Earliest claimed: 2019-11-21
- Assignees: General Electric Company
- Applicants: General Electric Company
- Inventors: Jeffrey Scott Gilton
- Web page: https://patentgrep.com/patent/US11907695B2

## CPC

- G06F 8/61: Installation
- B64D 45/00: Aircraft indicators or protectors not otherwise provided for
- B64F 5/40: Maintaining or repairing aircraft
- G06F 8/65: Updates (security arrangements therefor G06F21/57)
- G06F 9/44589: {Program code verification, e.g. Java bytecode verification, proof-carrying code (high-level semantic checks G06F8/43; prevention of errors by analysis, debugging or testing of software G06F11/36)}
- G06Q 10/20: Administration of product repair or maintenance
- G06Q 50/40: Business processes related to the transportation industry (shipping G06Q10/083)
- G06Q 2220/10: Usage protection of distributed data files
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- B64D: EQUIPMENT FOR FITTING IN OR TO AIRCRAFT; FLIGHT SUITS; PARACHUTES; ARRANGEMENT OR MOUNTING OF POWER PLANTS OR PROPULSION TRANSMISSIONS IN AIRCRAFT
- B64F: GROUND OR AIRCRAFT-CARRIER-DECK INSTALLATIONS SPECIALLY ADAPTED FOR USE IN CONNECTION WITH AIRCRAFT; DESIGNING, MANUFACTURING, ASSEMBLING, CLEANING, MAINTAINING OR REPAIRING AIRCRAFT, NOT OTHERWISE PROVIDED FOR; HANDLING, TRANSPORTING, TESTING OR INSPECTING AIRCRAFT COMPONENTS, NOT OTHERWISE PROVIDED FOR
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR

## Abstract

Devices, systems, and methods for providing software to aircraft using a distributed ledger are disclosed. A software delivery system includes aircraft having an engine control system configured to verify and install software utilized by components of the aircraft, an electronic distribution system coupled to the aircraft, an edge manager coupled to the electronic distribution system, and computing devices acting as nodes in a distributed ledger base maintaining a distributed ledger. The electronic distribution system verifies a request for software, requests software, and initiates an installation protocol with the engine control system. The edge manager maintains software. The distributed ledger base is coupled to the aircraft, the electronic distribution system, and the edge manager. The distributed ledger provides a record including information pertaining to a request for software, verifications of the request by the electronic distribution system, the edge manager, and the engine control system, and an installation of the software.

## Claims

### Claim 1

A method of providing a software application to an aircraft, the method comprising:
receiving a request for a software application via a record generated in a distributed ledger, wherein the record generated in the distributed ledger comprises information pertaining to the request for the software application, information pertaining to an identification of the aircraft, and information pertaining to one or more aircraft systems of the aircraft;
verifying, by an electronic distribution system, that the software application corresponds to the aircraft;
modifying, by the electronic distribution system, the record generated in the distributed ledger with data corresponding to the verification;
requesting, by the electronic distribution system, the software application from an edge manager, wherein the record generated in the distributed ledger is modified to include the request for the software application and is accessible by the edge manager;
receiving, by the electronic distribution system, the software application from the edge manager, wherein the edge manager modifies the record generated in the distributed ledger to indicate a transmission of the software application to the electronic distribution system;
providing, by the electronic distribution system, the software application to an engine control system of the aircraft for installation; and
installing, by the electronic distribution system, the software application on the engine control system of the aircraft.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
receiving an update to the record generated in the distributed ledger, wherein the update indicates that the software application installation on the engine control system of the aircraft is complete.

### Claim 3 (depends on 2)

The method of claim 2, wherein receiving the update occurs at a time of completion of the software application installation on the engine control system of the aircraft or when the engine control system of the aircraft establishes a data link with a network after completion of the software application installation on the engine control system of the aircraft.

### Claim 4 (depends on 1)

The method of claim 1, wherein verifying that the software application corresponds to the aircraft comprises:
accessing, by the electronic distribution system, a look-up table comprising a cross reference between the software application and one or more of a valid operator, a valid engine model, a valid engine serial number, and a valid time constraint;
determining, by the electronic distribution system, one or more of an operator of the aircraft, an engine model of the aircraft, an engine serial number, and a time at which the record was generated in the distributed ledger from the information pertaining to the request for the software application, the information pertaining to the identification of the aircraft, and the information pertaining to the one or more aircraft systems of the aircraft;
determining, by the electronic distribution system, that the one or more of the operator of the aircraft, the engine model of the aircraft, the engine serial number, and the time at which the record was generated in the distributed ledger corresponds to the valid operator, the valid engine model, the valid engine serial number, and the valid time constraint; and
validating, by the electronic distribution system, the software application for use with the aircraft.

### Claim 5 (depends on 1)

The method of claim 1, wherein the information pertaining to the identification of the aircraft includes one or more of an aircraft operator, an aircraft type, an aircraft model number, an aircraft serial number, an aircraft identifier, and a manufacturer of the aircraft.

### Claim 6 (depends on 1)

The method of claim 1, wherein the information pertaining to the one or more aircraft systems of the aircraft includes one or more of an engine model number, an engine serial number, an engine identifier, an engine manufacturer, a sensor type, and a sensor function.

### Claim 7 (depends on 1)

The method of claim 1, wherein the request for the software application is provided by an engine manufacturer or an aircraft operator.

### Claim 8 (depends on 1)

The method of claim 1, wherein receiving the request for the software application comprises receiving an automatic notification of a software update from a subscription server.

### Claim 9

A method of providing a software application to an aircraft communicatively coupled in a software application delivery system to an electronic distribution system and an edge manager, the method comprising:
receiving a request for a software application via a record generated in a distributed ledger, wherein the record generated in the distributed ledger comprises information pertaining to the request for the software application, information pertaining to an identification of the aircraft, and information pertaining to one or more aircraft systems of the aircraft;
verifying, by an electronic distribution system, that the software application corresponds to the aircraft;
modifying, by the electronic distribution system, the record generated in the distributed ledger with first data corresponding to the verification;
requesting, by the electronic distribution system, the software application, wherein the record generated in the distributed ledger is modified to include a request for the software application;
verifying, by the edge manager, that the request for the software application is a valid request;
modifying, by the edge manager, the record generated in the distributed ledger with second data corresponding to the valid request;
providing, by the edge manager, the software application to the electronic distribution system;
initiating, by the electronic distribution system, an installation protocol of the software application;
verifying, by an engine control system of the aircraft, that the record generated in the distributed ledger corresponds to the installation protocol of the software application;
installing, by the engine control system of the aircraft, the software application; and
modifying, by the engine control system of the aircraft, the record generated in the distributed ledger to indicate that the software application installation is complete.

### Claim 10 (depends on 9)

The method of claim 9, wherein modifying the record generated in the distributed ledger comprises modifying the record generated in the distributed ledger after establishing a data connection between the engine control system and a distributed ledger base storing the distributed ledger.

### Claim 11 (depends on 9)

The method of claim 9, wherein verifying that the software application corresponds to the aircraft comprises:
accessing, by the electronic distribution system, a look-up table comprising a cross reference between the software application and one or more of a valid operator, a valid engine model, a valid engine serial number, and a valid time constraint;
determining, by the electronic distribution system, one or more of an operator of the aircraft, an engine model of the aircraft, an engine serial number, and a time at which the record was generated in the distributed ledger from the information pertaining to the request for the software application, the information pertaining to the identification of the aircraft, and the information pertaining to the one or more aircraft systems of the aircraft;
determining, by the electronic distribution system, that the one or more of the operator of the aircraft, the engine model of the aircraft, the engine serial number, and the time at which the record was generated in the distributed ledger corresponds to the valid operator, the valid engine model, the valid engine serial number, and the valid time constraint; and
validating, by the electronic distribution system, the software application for use with the aircraft.

### Claim 12 (depends on 9)

The method of claim 9, wherein the request for the software application is provided by an engine manufacturer or an aircraft operator.

### Claim 13 (depends on 9)

The method of claim 9, further comprising, prior to providing, by the edge manager, the software application to the electronic distribution system:
obtaining, by the edge manager, the software application from a repository; and
testing, by the edge manager, the software application to ensure the software application functions in the aircraft.

### Claim 14

A non-transitory computer-readable storage medium containing program instructions for causing a processor to:
receive a request for a software application via a record generated in a distributed ledger, wherein the record generated in the distributed ledger comprises information pertaining to the request for the software application, information pertaining to an identification of an aircraft, and information pertaining to one or more aircraft systems of the aircraft;
verify, by an electronic distribution system, that the software application corresponds to the aircraft;
modify, by the electronic distribution system, the record generated in the distributed ledger with data corresponding to the verification;
request, by the electronic distribution system, the software application from an edge manager, wherein the record generated in the distributed ledger is modified to include the request for the software application and is accessible by the edge manager;
receive, by the electronic distribution system, the software application from the edge manager, wherein the edge manager modifies the record generated in the distributed ledger to indicate a transmission of the software application to the electronic distribution system;
provide, by the electronic distribution system, the software application to an engine control system of the aircraft for installation; and
install, by the electronic distribution system, the software application on the engine control system of the aircraft.

### Claim 15 (depends on 14)

The non-transitory computer-readable storage medium of claim 14, wherein the program instructions further cause the processor to:
receive an update to the record generated in the distributed ledger, wherein the update indicates that the software application installation on the engine control system of the aircraft is complete.

### Claim 16 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein the program instructions further cause the processor to receive the update occurs at a time of completion of the software application installation on the engine control system of the aircraft or when the engine control system of the aircraft establishes a data link with a network after completion of the software application installation on the engine control system of the aircraft.

### Claim 17 (depends on 14)

The non-transitory computer-readable storage medium of claim 14, wherein the program instructions further cause the processor to verify that the software application corresponds to the aircraft by:
accessing, by the electronic distribution system, a look-up table comprising a cross reference between the software application and one or more of a valid operator, a valid engine model, a valid engine serial number, and a valid time constraint;
determining, by the electronic distribution system, one or more of an operator of the aircraft, an engine model of the aircraft, an engine serial number, and a time at which the record was generated in the distributed ledger from the information pertaining to the request for the software application, the information pertaining to the identification of the aircraft, and the information pertaining to the one or more aircraft systems of the aircraft;
determining, by the electronic distribution system, that the one or more of the operator of the aircraft, the engine model of the aircraft, the engine serial number, and the time at which the record was generated in the distributed ledger corresponds to the valid operator, the valid engine model, the valid engine serial number, and the valid time constraint; and
validating, by the electronic distribution system, the software application for use with the aircraft.

### Claim 18 (depends on 14)

The non-transitory computer-readable storage medium of claim 14, wherein the information pertaining to the identification of the aircraft includes one or more of an aircraft operator, an aircraft type, an aircraft model number, an aircraft serial number, an aircraft identifier, and a manufacturer of the aircraft.

### Claim 19 (depends on 14)

The non-transitory computer-readable storage medium of claim 14, wherein the information pertaining to the one or more aircraft systems of the aircraft includes one or more of an engine model number, an engine serial number, an engine identifier, an engine manufacturer, a sensor type, and a sensor function.

### Claim 20 (depends on 14)

The non-transitory computer-readable storage medium of claim 14, wherein the program instructions further cause the processor to receive the request for the software application by receiving an automatic notification of a software update from a subscription server.
