IP Library Granted Patent US 10,120,662
Granted Patent B1
US 10,120,662 · App. 15/908,573 · Granted Nov 6, 2018

Protocol compiler to generate flight code and routing tables

Inventors: Scott Furman (Menlo Park, CA); Chad Smith (Sunnyvale, CA); Brian Robert Viele (Crozet, VA); Patrick Kim (San Francisco, CA); Allen H. Ibara (San Carlos, CA); Dejapong Suwaratana (San Francisco, CA); Matthew Walker (Mountain View, CA); Gary Stempler (Los Gatos, CA)
Assignee: Kitty Hawk Corporation
G06F8/427G06F8/73B64C13/00B64F5/60
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,120,662
App. No.
15/908,573
Granted
Nov 6, 2018
Kind
B1
Abstract

A protocol compiler to generate flight code and routing tables is disclosed. In various embodiments, one or more definition files are received. The one or more definition files are parsed to extract flight control system definition data. A communication topology comprising a set of entities of the flight control system and communication links between said entities is determined based on the flight control system definition data. A set of one or more routing tables is generated programmatically based at least in part on the communication topology and message type definition data. Flight code to implement a flight control system defined at least in part by said flight control system definition data is generating programmatically, based at least in part on the flight control system definition data, including code to route messages according to said one or more routing tables.

Claims (37)

1. A system, comprising:

a memory configured to store one or more definition files; and a processor coupled to the memory and configured to:

parse the one or more definition files to extract flight control system definition data;

determined based on the flight control system definition data a communication topology comprising a set of entities of the flight control system and communication links between said entities;

generate programmatically based at least in part on the communication topology and message type definition data included in the extracted flight control system definition data a set of one or more routing tables including for each of a plurality of message types routing data to route a message of that message type; and

generate programmatically, based at least in part on the flight control system definition data, flight code to implement a flight control system defined at least in part by said flight control system definition data, said flight code including code to route messages according to said one or more routing tables, wherein the flight code compresses the data at least in part by dividing a difference between an actual value and an associated minimum value by an associated resolution.

2. The system of claim 1 , wherein the one or more definition files comprise one or more markup files.

3. The system of claim 1 , wherein the one or more definition files comprise one or more YAML files.

4. The system of claim 1 , wherein the flight code comprises C code.

5. The system of claim 1 , wherein the flight code includes flight computer code.

6. The system of claim 1 , wherein the flight code includes software code to be implemented by a comprising a serial switch.

7. The system of claim 1 , wherein the processor is further configured to aggregate message type identifiers across definition files and to identify any duplicate message type identifiers.

8. The system of claim 1 , wherein the one or more routing tables include for each of at least a subset of message types an entry indexed by ingress link and message identifier.

9. The system of claim 8 , wherein for a given entry indexed by ingress link and message identifier the one or more routing tables indicate an egress link on which an associated received message is to be forwarded.

10. The system of claim 1 , wherein the flight control system definition data includes for a message type one or both of a minimum value and a maximum value.

11. The system of claim 10 , wherein the processor is further configured to generate message metadata reflecting said one or both of a minimum value and a maximum value.

12. The system of claim 11 , wherein the processor is further configured to generate flight code configured to detect that an instance of a message of the message type includes a data value that falls outside of a range of expected values indicated by said one or both of a minimum value and a maximum value.

13. The system of claim 1 , wherein the flight control system definition data includes for a message type data indicating an expected rate at which messages of the message type will be communicated.

14. The system of claim 13 , wherein the processor is further configured to generate flight code to take responsive action in the event message of message type are communicated other than at the expected rate.

15. The system of claim 14 , wherein the processor is configured to generate flight code to drop messages of the message type that exceed the expected rate.

16. The system of claim 14 , wherein the processor is configured to generate flight code to provide an alert if messages of the message type are observed to arrive at less than the expected rate.

17. The system of claim 1 , wherein the processor is configured to generate flight code to compress and decompress message data to be transmitted via communication links defined in the flight control system definition data, based at least in part on one or more of maximum value, minimum value, and resolution data indicated in the flight control system definition data.

18. The system of claim 1 , wherein the flight control system definition data includes for each of a plurality of messages to be sent over a communication link data indicating a bandwidth required to send the message over the communication link, and wherein the processor is further configured to use said flight control system definition data to determine whether an aggregate bandwidth required by said plurality of messages exceeds an actual capacity of the communication link, as defined in the flight control system definition data.

19. The system of claim 1 , wherein the processor is further configured to generate programmatically based on the flight control system definition data a set of human readable documentation.

20. The system of claim 1 , wherein the processor is further configured to generate programmatically based on the flight control system definition data a self-describing information associated with a data type defined in the flight control system definition data.

21. A method, comprising:

receiving one or more definition files;

parsing the one or more definition files to extract flight control system definition data;

determining based on the flight control system definition data a communication topology comprising a set of entities of the flight control system and communication links between said entities;

generating programmatically based at least in part on the communication topology and message type definition data included in the extracted flight control system definition data a set of one or more routing tables including for each of a plurality of message types routing data to route a message of that message type; and

generating programmatically, based at least in part on the flight control system definition data, flight code to implement a flight control system defined at least in part by said flight control system definition data, said flight code including code to route messages according to said one or more routing tables, wherein the flight code compresses the data at least in part by dividing a difference between an actual value and an associated minimum value by an associated resolution.

22. A computer program product embodied in a non-transitory computer readable medium, comprising computer instructions for:

receiving one or more definition files;

parsing the one or more definition files to extract flight control system definition data;

determining based on the flight control system definition data a communication topology comprising a set of entities of the flight control system and communication links between said entities;

generating programmatically based at least in part on the communication topology and message type definition data included in the extracted flight control system definition data a set of one or more routing tables including for each of a plurality of message types routing data to route a message of that message type; and

generating programmatically, based at least in part on the flight control system definition data, flight code to implement a flight control system defined at least in part by said flight control system definition data, said flight code including code to route messages according to said one or more routing tables, wherein the flight code compresses the data at least in part by dividing a difference between an actual value and an associated minimum value by an associated resolution.

Assignments (8)
RELEASE OF SECURITY INTEREST Recorded May 22, 2023
From: ONE AERO, LLC
To: KITTY HAWK CORPORATION
Reel/Frame 063713/0367 →
CHANGE OF NAME Recorded Dec 17, 2019
From: CORA AERO LLC
To: WISK AERO LLC
Reel/Frame 051328/0757 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2019
From: KITTY HAWK CORPORATION
To: CORA AERO LLC
Reel/Frame 050374/0303 →
RELEASE OF SECURITY INTEREST IN SPECIFIED INTELLECTUAL PROPERTY Recorded Jun 28, 2019
From: ONE AERO, LLC
To: KITTY HAWK CORPORATION
Reel/Frame 049627/0207 →
SECURITY INTEREST Recorded Dec 7, 2018
From: KITTY HAWK CORPORATION
To: ONE AERO, LLC
Reel/Frame 047739/0947 →
SECURITY INTEREST Recorded Oct 25, 2018
From: KITTY HAWK CORPORATION
To: ONE AERO, LLC
Reel/Frame 047308/0927 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 12, 2018
From: STEMPLER, GARY
To: KITTY HAWK CORPORATION
Reel/Frame 046331/0512 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 9, 2018
From: FURMAN, SCOTT; SMITH, CHAD; VIELE, BRIAN ROBERT; KIM, PATRICK; IBARA, ALLEN H.; SUWARATANA, DEJAPONG; WALKER, MATTHEW
To: KITTY HAWK CORPORATION
Reel/Frame 045757/0951 →
Cited By (3)
US 12,379,730 US 12,401,392 US 12,434,814