Systems and methods for asynchronous telemetry bandwidth simulator

The method optimizes the certification of exam data in multiplexed systems by predicting bandwidth requirements and optimizing frame arrivals, addressing the inefficiencies and high costs associated with current certification processes.

JP2025074933APending Publication Date: 2025-05-14THE BOEING CO
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2024135824
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-04-16
Filing Date
2024-08-16
Publication Date
2025-05-14

AI Technical Summary

Technical Problem

The certification of exam data in multiplexed systems requires significant planning, cost, and effort, involving complex procedures, document publication, component installation, testing, data analysis, and result documentation, which often leads to schedule overcrowding and inefficiencies.

Method used

A method implemented by computing devices to identify and set multiple frame arrivals based on flight simulation information, packetize these arrivals into data packets, multiplex them, and predict the total bandwidth required for the flight simulation, optimizing the process to reduce overhead and increase data transmission efficiency.

Benefits of technology

This approach reduces the complexity and cost associated with certifying exam data by optimizing bandwidth usage, allowing for more efficient scheduling and reduced errors in multiplexed systems, particularly in space programs and other data-intensive applications.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025074933000001_ABST
    Figure 2025074933000001_ABST
Patent Text Reader

Abstract

To provide a method, computer program product and computing system for optimizing at least a portion of multiple pieces of information associated with a flight simulation, and using, as hardware configuration files, at least the portion of the multiple pieces of information associated with the flight simulation after the optimization.SOLUTION: The method comprises: a step 300 of identifying, by a computing device, multiple pieces of information associated with a flight simulation; a step 302 of setting multiple frame arrivals based upon, at least in part, the multiple pieces of information associated with the flight simulation; a step 304 of packetizing the multiple frame arrivals into multiple data packets; a step 306 of multiplexing the multiple data packets to generate multiplexed data packets; and a step 308 of predicting a total amount of bandwidth needed for the flight simulation based upon, at least in part, the multiplexed data packets.SELECTED DRAWING: Figure 3
Need to check novelty before this filing date? Find Prior Art

Description

CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application claims the benefit of U.S. Provisional Application No. 63 / 594,289, filed October 30, 2023, the contents of which are incorporated by reference in their entirety.

[0002] The invention described herein was made in the performance of NASA Contract No. (NNM07AB03C) and is pursuant to Section 305 of the National Aeronautics and Space Act of 1958 (72 Stat. 435:42 U.S.C. 2457). [Background technology]

[0003] Generally, test data qualification is one of the key parts of validation and requires significant planning, cost, and effort. Testing and analyzing specific systems that are multiplexed together and then transmitted to ground involves developing procedures, releasing documentation, laboriously installing all components, running tests, analyzing test data, and documenting results, while potentially significantly increasing the timeline to complete all tasks. Summary of the Invention

[0004] In an example embodiment, a method performed by one or more computing devices may include, but is not limited to, identifying, by the computing device, information associated with the flight simulation. Frame arrivals may be established based at least in part on the information associated with the flight simulation. The frame arrivals may be packetized into data packets. The data packets may be multiplexed into a multiplexed data packet. A total amount of bandwidth required for the flight simulation may be predicted based at least in part on the multiplexed data packet.

[0005] One or more of the following example features may be included: The plurality of pieces of information associated with the flight simulation may include one or more flight data containers, a phase of flight, a data rate of each flight data container per format, a word geometry, an input window size time, or a combination thereof. Each frame arrival of the plurality of frame arrivals may be set per input window size time. It may be determined that one of the plurality of frame arrivals does not fall entirely within the input window size time. The one of the plurality of frame arrivals that does not fall entirely within the input window size time may be transmitted within the next input window size time. A total amount of bandwidth needed for the flight simulation may include all raw data, all data, overhead data, filled data, or a combination thereof. An amount of bandwidth available for the flight simulation may be predicted. At least a portion of the plurality of pieces of information associated with the flight simulation may be optimized. At least a portion of the plurality of pieces of information associated with the flight simulation after optimization may be used as a hardware configuration file.

[0006] In another example embodiment, the computing system may include one or more processors and one or more memories configured to perform operations including, but not limited to, identifying, by a computing device, information associated with the flight simulation; frame arrivals may be established based at least in part on the information associated with the flight simulation; the frame arrivals may be packetized into data packets; the data packets may be multiplexed into a multiplexed data packet; and a total amount of bandwidth required for the flight simulation may be predicted based at least in part on the multiplexed data packet.

[0007] One or more of the following example features may be included: The plurality of pieces of information associated with the flight simulation may include one or more flight data containers, a phase of flight, a data rate of each flight data container per format, a word geometry, an input window size time, or a combination thereof. Each frame arrival of the plurality of frame arrivals may be set per input window size time. It may be determined that one of the plurality of frame arrivals does not fall entirely within the input window size time, and the one of the plurality of frame arrivals that does not fall entirely within the input window size time may be transmitted within the next input window size time. A total amount of bandwidth required for the flight simulation may include all raw data, all data, overhead data, filled data, or a combination thereof. An amount of bandwidth available for the flight simulation may be predicted. At least a portion of the plurality of pieces of information associated with the flight simulation may be optimized, and at least a portion of the plurality of pieces of information associated with the flight simulation after optimization may be used as a hardware configuration file.

[0008] In another example embodiment, a computer program product may reside on a computer-readable storage medium having instructions stored thereon, which when executed across one or more processors may cause at least a portion of the one or more processors to perform operations that may include, but are not limited to, identifying, by a computing device, a plurality of pieces of information associated with the flight simulation; frame arrivals may be set based at least in part on the plurality of pieces of information associated with the flight simulation; the plurality of frame arrivals may be packetized into a plurality of data packets; the plurality of data packets may be multiplexed into a multiplexed data packet; at least a portion of the plurality of pieces of information associated with the flight simulation may be optimized, and at least a portion of the plurality of pieces of information associated with the flight simulation after optimization may be used as a hardware configuration file.

[0009] One or more of the following example features may be included: The plurality of pieces of information associated with the flight simulation may include one or more flight data containers, a phase of flight, a data rate of each flight data container per format, a word geometry, an input window size time, or a combination thereof. Each frame arrival of the plurality of frame arrivals may be set per input window size time. It may be determined that one of the plurality of frame arrivals does not fall entirely within the input window size time, and the one of the plurality of frame arrivals that does not fall entirely within the input window size time may be transmitted within the next input window size time. A total amount of bandwidth required for the flight simulation may include all raw data, all data, overhead data, filled data, or a combination thereof. An amount of bandwidth available for the flight simulation may be predicted. At least a portion of the plurality of pieces of information associated with the flight simulation may be optimized, and at least a portion of the plurality of pieces of information associated with the flight simulation after optimization may be used as a hardware configuration file.

[0010] The details of one or more exemplary embodiments are set forth in the accompanying drawings and the following specification description. Other possible exemplary features and / or possible exemplary advantages will become apparent from the specification description, drawings, and claims. Some embodiments may not have the possible exemplary features and / or possible exemplary advantages described above, and such possible exemplary features and / or possible exemplary advantages may not be necessary for some embodiments. [Brief description of the drawings]

[0011] [Figure 1] FIG. 1 illustrates an example schematic diagram of a simulation process connected to an example distributed computing network, in accordance with one or more example embodiments of the present disclosure. [Diagram 2] 2 is an exemplary schematic diagram of a client electronic device of FIG. 1 in accordance with one or more exemplary embodiments of the present disclosure. [Diagram 3]FIG. 1 illustrates an example flow diagram of a simulation process in accordance with one or more exemplary embodiments of the present disclosure. [Figure 4] FIG. 1 illustrates an example schematic diagram of an asynchronous telemetry bandwidth simulator of a simulation process, according to one or more exemplary embodiments of the present disclosure. [Diagram 5] FIG. 1 is a schematic diagram of an asynchronous telemetry bandwidth simulator of a simulation process according to one or more exemplary embodiments of the present disclosure. [Figure 6] FIG. 13 is an exemplary schematic diagram of a flight data container iteration performed by a simulation process, according to one or more exemplary embodiments of the present disclosure. [Figure 7] FIG. 1 illustrates an example flow diagram of a simulation process in accordance with one or more exemplary embodiments of the present disclosure. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0012] Like numbers in the various drawings may indicate like elements.

[0013] Generally, test data qualification is one of the key parts of validation and requires significant planning, cost, and effort. Testing and analyzing specific systems that are multiplexed together and then transmitted to ground involves developing procedures, releasing documentation, laboriously installing all components, running tests, analyzing test data, and documenting results, while potentially significantly increasing the timeline to complete all tasks.

[0014] Furthermore, there may be numerous permutations of data rates, formats, word sizes, frame sizes (e.g. minor frame sizes) within the data container (e.g. box), etc., and if these inputs change, the full performance (including all data and all overhead) after passing through the telemetry box must be measured every time. Testing must be done every time the format is changed to verify, which is a huge effort. Furthermore, every time the design of the box changes, the impact on the full data and overhead may not be known to the box owner after the box is sent to the telemetry unit, which may be important when designing an efficient telemetry unit.

[0015] Thus, as described in more detail below, this disclosure describes a predictive tool (e.g., an asynchronous telemetry bandwidth simulator) that can be used for space programs and any system where data is multiplexed together (NASA, DoD, commercial space programs, etc.).

[0016] In some embodiments, the present disclosure may be embodied as a method, system, or computer program product. Correspondingly, in some embodiments, the present disclosure may take the form of an entirely hardware implementation, an entirely software implementation (including firmware, resident software, microcode, etc.), or an embodiment combining software and hardware aspects, all of which may be loosely referred to herein as a "circuit," "module," or "system." Further, in some embodiments, the present disclosure may take the form of a computer program product on a computer-usable storage medium having computer-usable program code embodied therein.

[0017] The software may include an artificial intelligence system, which may include machine learning or other computational intelligence. For example, artificial intelligence (AI) may include one or more models used for one or more problem domains. When presented with many data features, identifying a subset of features that are relevant to a problem domain may improve prediction accuracy, reduce storage space, and increase processing speed. Such identification may be referred to as feature engineering. Feature engineering may be performed by a user or may be guided solely by a user. In various embodiments, the machine learning system may computationally identify relevant features, such as by performing a singular value decomposition on the contributions of various features to the output.

[0018] In some embodiments, various computing devices may include, be integrated with, linked to, exchange data with, be governed by, obtain input from, and / or provide output to one or more AI systems, which may include models, rule-based systems, expert systems, neural networks, deep learning systems, supervised learning systems, robotic process automation (RPA) systems, natural language processing systems, intelligent agent systems, self-optimizing and self-organizing systems, and others. Unless the context indicates otherwise, reference to an AI or one or more examples of an AI should be understood to encompass one or more of the various alternative methods and systems described above. That is, for example, but not by way of limitation, it should be understood that the described AI systems for enabling any of the broad functions, capabilities, and solutions described herein (e.g., optimization, automated operation, prediction, control, or orchestration, etc.) can be performed by processing on a set of models or rules, by training on a training dataset such as human tags or labels, by training on a training dataset of human interactions (e.g., human interactions with a software interface or hardware system), by training on a training dataset of outcomes, by training on an AI-generated training dataset (e.g., where the entire training dataset is generated by the AI ​​from a seed training dataset), by supervised learning, by semi-supervised learning, or by deep learning. For any given function or capability described herein, various types of neural networks, including any of the types described herein, can be used, and in embodiments, a hybrid set of neural networks can be selected within the set to achieve a more preferred neural network type for performing each element of a multi-function or multi-capability system or method.As one example among many of the examples of deep learning or black box, a system may use gated recurrent neural networks for functional language transformation for intelligent agents, where there is no need for a user to understand the underlying mechanics of how the AI ​​works as long as the outcome is favorable, whereas more transparent models or systems and simpler neural networks may be used for systems for automated administrative control, where a deeper understanding of how inputs are transformed into outputs may be needed to follow rules or policies.

[0019] Examples of models include recurrent neural networks (RNNs) such as long short-term memory (LSTM), deep learning models such as transformers, decision trees, support vector machines, genetic algorithms, Bayesian networks, and regression analysis. Examples of systems based on transformer models include bidirectional encoder representations from transformer (BERT) and generative pre-trained transformer (GPT). Training the machine learning model may include supervised learning (e.g., based on labeled input data), unsupervised learning, and reinforcement learning. In various embodiments, the machine learning model may be pre-trained by the operator or by a third party. Problem domains include nearly any situation in which structured data may be collected, and include natural language processing (NLP), computer vision (CV), classification, image recognition, etc. Some or all of the software may be executed in a virtual environment rather than directly on the hardware. The virtual environment may include a hypervisor, an emulator, a sandbox, a container engine, etc. The software may be built as virtual machines, containers, etc. The virtualized resources may be controlled using, for example, the DOCKER container platform, pivotal cloud foundry (PCF) platform, etc. Some or all of the software may be logically separated into macro services, with each macro service providing a reduced subset of functionality. In various embodiments, each macro service may be individually scaled according to load by dedicating more resources to the macro service or by creating more instances of the macro service.In various embodiments, the functionality provided by one or more macroservices may be combined with each other and / or with other software that does not follow the macroservices model.

[0020] In some embodiments, any suitable computer usable or computer readable medium may be utilized. The computer readable medium may be a computer readable signal medium and / or a computer readable storage medium. The computer usable or computer readable storage medium (including a storage device associated with a computing device or client electronic device) may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination thereof. More specific examples (non-exhaustive list) of computer readable media or storage devices include the following: an electrical connection having one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read only memory (ROM), an erasable PROM (EPROM, or flash memory), optical fibers, a portable CD-ROM, an optical storage device, a solid state drive (SSD), a DVD, a Blu-ray disk and a super resolution Blu-ray disk, static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), synchronous graphics RAM (SGRAM), and video RAM (VRAM), analog magnetic tape, digital magnetic tape, a rotating hard disk drive (HDD), a memory stick, a floppy disk, a mechanically encoded device such as a punch card or a raised structure in a groove on which instructions are recorded, a medium supporting the Internet or an intranet, or a magnetic storage device. It should be noted that a computer usable or computer readable medium may even be referred to as a suitable medium on which a program may be stored, scanned, compiled, or otherwise processed in a suitable manner, if necessary, and stored in a computer memory.In the context of this specification, a computer usable or computer readable storage medium can be any tangible medium that can contain or store a program for use by or in connection with a system, apparatus, or device that executes instructions.

[0021] Examples of storage enabled by the storage hardware include distributed ledgers, such as permissioned or permissionless blockchains. For example, entities recording transactions on a blockchain can reach consensus using algorithms such as proof-of-stake (PoS), proof-of-work (PoW), and proof-of-storage (PoS). Elements of the present disclosure can be represented by or encoded as non-fungible tokens (NFTs). Ownership rights for non-fungible tokens can be recorded or referenced in a distributed ledger. Transactions initiated by or related to the present disclosure can use one or both of fiat and cryptocurrencies, examples of which include Bitcoin and Ether.

[0022] In some embodiments, a computer-readable signal medium may include a propagated data signal in which computer-readable program code is embodied, for example in baseband or as part of a carrier wave. In some embodiments, such a propagated signal may take any of a variety of forms, including but not limited to electromagnetic, optical, and / or any suitable combination thereof. In some embodiments, the computer-readable program code may be transmitted using any suitable medium, including but not limited to the Internet, wired, fiber optic cable, RF, etc. In some embodiments, a computer-readable signal medium may be any computer-readable medium other than a computer-readable storage medium that is capable of communicating, conveying, or transmitting a program for use by or in connection with a system, apparatus, or device that executes instructions.

[0023] In some embodiments, computer program code for carrying out the processes of the present disclosure may be assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, or a program that is implemented in Java, Smalltalk, or C. ++The program code may be source code or object code written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Java and Java-based trademarks and logos. Java and Java-based trademarks and logos are trademarks or registered trademarks of Oracle and / or its affiliates. However, the computer program code for carrying out the steps of the present disclosure may also be written in conventional procedural programming languages, such as the "C" programming language, PASCAL, or a similar programming language, or in scripting languages, such as JavaScript, PERL, or Python. The program code may be executed entirely on the user's computer, partially on the user's computer, as a stand-alone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the last case, the remote computer may be connected to the user's computer through a network including a cellular network, a local area network (LAN), a wide area network (MAN), a body area network (BAN), a personal area network (PAN), or a metropolitan area network (MAN), or a connection to an external computer may be made (e.g., through the Internet using an Internet service provider). The network may include one or more point-to-point and mesh technologies. Data sent or received by a network element may traverse the same or different networks. Networks may be connected to each other through WANs or point-to-point leased lines, using technologies such as Multiprotocol Label Switching (MPLS), and virtual private networks (VPNs).In some embodiments, an electronic circuit, including, for example, a programmable logic circuit, an application specific integrated circuit (ASIC), a gate array such as a field-programmable gate array (FPGA) or other hardware accelerator, a microcontroller unit (MCU), or a programmable logic array (PLA), an integrated circuit (IC), a digital circuit element, an analog circuit element, a combinational logic circuit, a digital signal processor (DSP), a complex programmable logic device (CPLD), or the like, can execute computer readable program instructions / code by utilizing state information of the computer readable program instructions to customize the electronic circuit, and ultimately perform aspects of the present disclosure. Multiple components of hardware can be integrated in a single package, for example on a single die, or integrated on a single printed circuit board or logic board. For example, the hardware components can be implemented as a system-on-chip (SoC). A component, or set of integrated elements, may be referred to as a chip, chipset, chiplet, or chip stack. Examples of SoCs include radio frequency (RF) SoCs, artificial intelligence (AI) SoCs, video processing SoCs, organs on a chip, quantum algorithm SoCs, etc.

[0024] Examples of processing hardware may include central processing units (CPUs), graphics processing units (GPUs), approximate computing processors, quantum computing processors, parallel computing processors, neural network processors, signal processors, digital processors, data processors, embedded processors, microprocessors, and coprocessors. Coprocessors may provide additional processing functionality and / or optimizations, such as for speed or power consumption. Examples of coprocessors include math coprocessors, graphics coprocessors, communication coprocessors, video coprocessors, and artificial intelligence (AI) coprocessors.

[0025] In some embodiments, the flow diagrams and block diagrams in the drawings illustrate the architecture, functionality, and operation of possible implementations of apparatus (systems), methods, and computer program products according to various embodiments of the present disclosure. Each block in the flow diagrams and / or block diagrams, and combinations of blocks in the flow diagrams and / or block diagrams, may represent a module, segment, or portion of code including one or more executable computer program instructions for performing specific logical functions / actions. The computer program instructions may be provided to a general-purpose or special-purpose computer processor, or other programmable data processing device, to produce a machine, whereby the computer program instructions executable via the computer processor or other programmable data processing device create the capability to perform one or more functions / actions specified in the blocks in the flow diagrams and / or block diagrams, or combinations thereof. It should be noted that in some embodiments, the functions described in the blocks may be performed out of the order described in the drawings (or may be combined or omitted). For example, two blocks shown in succession may in fact be performed substantially simultaneously, or may sometimes be performed in the reverse order, depending on the functionality involved.

[0026] In some embodiments, the computer program instructions capable of instructing a computer or other programmable data processing apparatus to function in a particular manner may also be stored in a computer readable memory, whereby the instructions stored in the computer readable memory produce an article of manufacture, the computer readable memory including instruction means for performing the functions / actions specified in the blocks of the flow diagrams and / or block diagrams or combinations thereof.

[0027] In some embodiments, computer program instructions can be loaded into a computer or other programmable data processing apparatus and cause a series of processing steps to be performed (not necessarily in a particular order) on the computer or other programmable apparatus to produce a computer-implemented process, whereby the instructions executed on the computer or other programmable apparatus provide steps for performing the functions / actions (not necessarily in a particular order) specified in the flow diagrams and / or block diagram blocks or combinations thereof.

[0028] Referring now to the exemplary embodiment of FIG. 1, there is shown a simulation process 10 that resides on and is executable by a computer (e.g., computer 12), which is connectable to a network (e.g., network 14) (e.g., the Internet or a local area network). Examples of computer 12 (and / or one or more of the client electronic devices described below) may include, but are not limited to, a storage system (e.g., a Network Attached Storage (NAS) system, a Storage Area Network (SAN), a PC, a laptop computer, a mobile computing device, a server computer, a series of server computers, a mainframe computer, or a computing cloud. A SAN may include one or more client electronic devices, including RAID devices and NAS systems. In some embodiments, each of the above may be generally described as a computing device. In certain embodiments, a computing device may be a physical or virtual device. In many embodiments, a computing device may be any device capable of performing processing, such as a dedicated processor, a portion of a processor, a virtual processor, a portion of a virtual processor, a portion of a virtual device, or a virtual device. In some embodiments, a processor may be a physical processor or a virtual processor. In some embodiments, a virtual processor may correspond to one or more portions of one or more physical processors. In some embodiments, instructions / logic may be distributed across one or more processors (virtual or physical) to execute the instructions / logic.Computer 12 is capable of executing a processing system such as, but not limited to, Microsoft® Windows®, Mac® OS X®, Red Hat®, Linux®, Windows® Mobile, Chrome OS, Blackberry OS, Fire OS, or a custom operating system (Microsoft and Windows are registered trademarks of Microsoft Corporation in the U.S. and / or other countries, Mac and OS X are registered trademarks of Apple Inc. in the U.S. and / or other countries, Red Hat is a registered trademark of Red Hat Inc. in the U.S. and / or other countries, and Linux is a registered trademark of Linus Torvald in the U.S. and / or other countries).

[0029] In some embodiments, as described in more detail below, a simulation process, such as simulation process 10 of FIG. 1, may identify, by a computing device, information associated with the flight simulation. (e.g., minor) frame arrivals may be established based at least in part on the information associated with the flight simulation. The minor frame arrivals may be packetized into data packets. The data packets may be multiplexed into a multiplexed data packet. A total amount of bandwidth required for the flight simulation may be predicted based at least in part on the multiplexed data packets.

[0030] In some embodiments, the instruction sets and subroutines of the simulation process 10 may be executed by one or more processors and one or more memory structures included within the computer 12, which may be stored on a storage device connected to the computer 12, such as a storage device 16. In some embodiments, the storage device 16 may include, but is not limited to, a hard disk drive, any form of flash memory storage device, a tape drive, an optical drive, a RAID array (or other array), random access memory (RAM), read only memory (ROM), or combinations thereof. In some embodiments, the storage device 16 may be organized as an extent, an extent pool, a RAID extent (e.g., as an example, 4D+1P R5, where a RAID extent may include, for example, five storage device extents that may be allocated from, for example, five different storage devices), a mapped RAID (e.g., a collection of RAID extents), or combinations thereof.

[0031] In some embodiments, network 14 may be connected to one or more secondary networks (e.g., network 18), examples of which may include, but are not limited to, a local area network, a wide area network, or other communications network facility, or an intranet. The term "telecommunications network facility," as used herein, may refer to a facility configured to send and receive transmission signals to and from one or more mobile client electronic devices (e.g., mobile phones, etc.), and many others.

[0032] In some embodiments, the computer 12 may include a data store, such as a database (e.g., a relational database, an object-oriented database, a triple store database), a data lake, a column store, and / or a data warehouse, which may be located in any suitable memory location, such as a storage device 16 connected to the computer 12. In some embodiments, the data, metadata, information, etc. described throughout this disclosure may be stored in a data store. In some embodiments, the computer 12 may utilize any known database management system, such as, but not limited to, DB2, to provide multi-user access to one or more databases, such as the relational databases mentioned above. In some embodiments, the data store may also be a custom database, such as, for example, a flat file database or an ML database. In some embodiments, any other form of data storage structure and / or organization may be used. In some embodiments, the simulation process 10 may be a component of a data store, a standalone application connected to the data store, and / or an applet / application accessed via a client application 22, 24, 26, 28. In some embodiments, the data store may be distributed in whole or in part within a cloud computing topology. In this manner, computer 12 and storage device 16 may refer to multiple devices that may also be distributed across a network.

[0033] In some embodiments, the computer 12 is capable of executing a flight software application (e.g., flight software application 20). In some embodiments, the simulation process 10 and / or the flight software application 20 may be accessed via one or more client applications 22, 24, 26, 28. In some embodiments, the simulation process 10 may be a standalone application or an applet / application / script / extension that can interact with and / or execute within the flight software application 20, components of the flight software application 20, and / or one or more client applications 22, 24, 26, 28. In some embodiments, the flight software application 20 may be a standalone application or an applet / application / script / extension that can interact with and / or execute within the flight software application 20, components of the flight software application 20, and / or one or more client applications 22, 24, 26, 28. In some embodiments, one or more of the client applications 22, 24, 26, 28 may be standalone applications or may be applets / applications / scripts / extensions capable of interacting with and / or executing within the simulation process 10 and / or flight software application 20. Examples of the client applications 22, 24, 26, 28 may include, but are not limited to, standard and / or mobile web browsers, email applications (e.g., email client applications), textual and / or graphical user interfaces, customized web browsers, plug-ins, application programming interfaces (APIs), or custom applications.The instruction sets and subroutines of the client applications 22, 24, 26, 28, which may be stored on storage devices 30, 32, 34, 36 connected to the client electronic devices 38, 40, 42, 44, may be executed by one or more processors and one or more memory structures incorporated in the client electronic devices 38, 40, 42, 44.

[0034] In some embodiments, the one or more storage devices 30, 32, 34, 36 may include, but are not limited to, a hard disk drive, a flash drive, a tape drive, an optical drive, a RAID array, random access memory (RAM), and read-only memory (ROM). Examples of client electronic devices 38, 40, 42, 44 (and / or computer 12) may include, but are not limited to, personal computers (e.g., client electronic device 38), laptop computers (e.g., client electronic device 40), multifunction / data-enabled mobile phones (e.g., client electronic device 42), notebook computers (e.g., client electronic device 44), tablets, servers, televisions, multifunction televisions, multifunction speakers, Internet of Things (IoT) devices, devices that capture and / or output media (e.g., audio / video, photos, etc.), audio input and / or recording devices (e.g., handheld microphones, label microphones, embedded microphones (embedded in glasses, smartphones, tablet computers and / or watches, etc.), and dedicated network devices. Each of client electronic devices 38, 40, 42, 44 may execute a processing system, examples of which include, but are not limited to, Android®, Apple® iOS®, Mac® OS X®, Red Hat®, and the like. including Linux, Hat®, Windows® Mobile, Chrome OS, Blackberry OS, Fire OS, or custom operating systems.

[0035] In some embodiments, one or more of the client applications 22, 24, 26, 28 may be configured to enable some or all of the functionality of the simulation process 10 (or vice versa). Correspondingly, in some embodiments, the simulation process 10 may be a purely server-side application, a purely client-side application, or a hybrid server-side / client-side application cooperatively executed by one or more of the client applications 22, 24, 26, 28 and / or the simulation process 10.

[0036] In some embodiments, one or more of the client applications 22, 24, 26, 28 can be configured to enable some or all of the functionality of the flight software application 20 (or vice versa). Correspondingly, in some embodiments, the flight software application 20 can be a purely server-side application, a purely client-side application, or a hybrid server-side / client-side application cooperatively executed by one or more of the client applications 22, 24, 26, 28 and / or the flight software application 20. Because one or more of the client applications 22, 24, 26, 28, the simulation process 10, and the flight software application 20, alone or in any combination, may enable some or all of the same functionality, any description of enabling such functionality via one or more of the client applications 22, 24, 26, 28, the simulation process 10, the flight software application 20, or a combination thereof, and any described interactions between one or more of the client applications 22, 24, 26, 28, the simulation process 10, the flight software application 20, or a combination thereof to enable such functionality, should be considered merely as examples and not as limiting the scope of the present disclosure.

[0037] In some embodiments, one or more users 46, 48, 50, 52 may access the computer 12 and simulation process 10 (e.g., using one or more client electronic devices 38, 40, 42, 44) through the network 14 or directly through the secondary network 18. Additionally, the computer 12 may be connected to the network 14 through the secondary network 18, as illustrated by virtual connecting line 54. The simulation process 10 may include one or more user interfaces, such as a browser and a text user interface or a graphical user interface, through which the users 46, 48, 50, 52 may access the simulation process 10.

[0038] In some embodiments, various client electronic devices may be directly or indirectly connected to network 14 (or network 18). For example, client electronic device 38 is shown directly connected to network 14 via a hardware-implemented network connection. Additionally, client electronic device 44 is shown directly connected to network 18 via a hardware-implemented network connection. Client electronic device 40 is wirelessly connected to network 14 via a wireless communication channel 56 established between client electronic device 40 and a wireless access point (i.e., WAP) 58, which is shown directly connected to network 14. The WAP 58 may be, for example, an IEEE 802.11a, 802.11b, 802.11g, 802.11n, 802.11ac, Wi-Fi, RFID, and / or Bluetooth (including BLE (Bluetooth Low Energy)), or any device capable of establishing a wireless communication channel 56 between the client electronic device 42 and the WAP 58. The client electronic device 42 is wirelessly connected to the network 14 via a wireless communication channel 60 established between the client electronic device 42 and a cellular network / bridge 62, which is shown by way of example as being directly connected to the network 14.

[0039] In some embodiments, some or all of the IEEE 802.11x standards may use Ethernet protocols and carrier sense multiple access with collision avoidance (i.e., CSMA / CA) for path sharing. Various 802.11x standards may use, for example, phase-shift keying (i.e., PSK) modulation or complementary code keying (i.e., CCK) modulation. Bluetooth® (including Bluetooth® Low Energy) is a telecommunications industry standard that allows, for example, cell phones, computers, smartphones, and other electronic devices to interconnect using a short-range wireless connection. Other forms of interconnection (e.g., Near Field Communication (NFC)) may also be used. In some embodiments, computer 12 may be commanded or controlled by an operator. Computer 12 may be hosted on one or more of operator owned assets, operator leased assets, and third party assets. Such assets may be referred to as private, community, or hybrid computing networks, or cloud computing environments. For example, computer 12 may be partially or fully hosted by a third party providing software as a service (SaaS), platform as a service (PaaS), and / or infrastructure as a service (IaaS). Computer 12 may be implemented using agile development and operations (DevOps) principles. In some embodiments, some or all of computer 12 may be implemented in a composite environment structure. For example, a composite environment may include one or more manufacturing environments, one or more integration environments, one or more development environments, etc.

[0040] In some embodiments, various I / O requests (e.g., I / O request 15) may be sent from, e.g., client applications 22, 24, 26, 28 to, e.g., computer 12 (or vice versa). Examples of I / O requests 15 may include, but are not limited to, data write requests (e.g., a request to write content to computer 12) and data read requests (e.g., a request to read content from computer 12).

[0041] Further referring to the embodiment of Figure 2, a schematic diagram of a client electronic device 38 is shown. Although a client electronic device 38 is shown in this figure, this is for illustrative purposes only and is not intended to limit the present disclosure as other configurations are possible. Additionally, any computing device capable of performing the entire simulation process 10 or performing parts of the simulation process 10 may be substituted (in whole or in part) for the client electronic device 38 of Figure 2, and examples of the client electronic device 38 may include, but are not limited to, the computer 12 and / or one or more client electronic devices 38, 40, 42, 44.

[0042] In some embodiments, the client electronic device 38 may include a processor (e.g., microprocessor 200) configured to, for example, process data and execute the code / instruction sets and subroutines described above. The microprocessor 200 may be connected to the storage devices (e.g., storage device 30) described above via a storage adapter. An I / O controller (e.g., I / O controller 202) may be configured to connect (e.g., via wired or wireless connections) the microprocessor 200 to various devices, such as a keyboard 206, a pointing / selection device (e.g., a touchpad, touch panel, mouse 208, etc.), a custom device (e.g., device 215), a USB port, and a printer port. A display adapter (e.g., display adapter 210) may be configured to connect a display 212 (e.g., a touch panel monitor, a plasma monitor, a CRT monitor, or an LCD monitor, etc.) to the microprocessor 200, and a network controller / adapter 214 (e.g., an Ethernet adapter) may be configured to connect the microprocessor 200 to the network 14 (e.g., the Internet or a local area network) described above.

[0043] As described below, the simulation process 10 can at least aid, e.g., improve, data flight (or other) simulation techniques that are necessarily rooted in computer technology, and ultimately overcome exemplary non-limiting problems that arise specifically in the computer processing field, and improve existing scientific and technological processes associated with, e.g., flight simulation. It will be appreciated that the described computer process may be incorporated into one or more real applications and routine and conventional functions, at least when taken as a whole, that may not be deemed to be fully understood.

[0044] As described above, and with at least reference to the exemplary embodiment of FIG. 3, the simulation process 10 can identify (300) a plurality of pieces of information associated with the flight simulation with a computing device. The simulation process 10 can establish (302) a plurality of (e.g., minor) frame arrivals based at least in part on the plurality of pieces of information associated with the flight simulation. The simulation process 10 can packetize (304) the plurality of minor frame arrivals into a plurality of data packets. The simulation process 10 can multiplex (306) the plurality of data packets to generate a multiplexed data packet. The simulation process 10 can predict (308) an amount of bandwidth required for the flight simulation based at least in part on the multiplexed data packets.

[0045] In some embodiments, the simulation process 10 may identify (300) a number of pieces of information associated with the flight simulation, via a computing device. For example, with reference to at least the example embodiments of FIGS. 4-5, an example system 400 and an example system 500 are shown. In some embodiments, the number of pieces of information associated with the flight simulation may include one or more flight data containers (e.g., boxes), a phase of flight (e.g., launch, booster separation, communication format switch, core stage separation, core stage impacts, etc.), a data rate for each flight data container per format (e.g., each having a bandwidth in megabytes per second), word geometry (e.g., minor frame word length, and word length), an input window size time (WST) (e.g., a processing time τ (e.g., 20 ms) of a telemetry unit of the simulation process 10), etc., or combinations thereof.

[0046] In some embodiments, the simulation process 10 is capable of setting (302) (e.g., minor) frame arrivals based at least in part on information associated with the flight simulation; Here, in some embodiments, each minor frame arrival of the minor frame arrivals may be set per input window size time. For example, referring at least to the exemplary implementation of FIG. 6, an exemplary repetition 600 of each flight data container is shown. Upon receiving (or otherwise identifying or acquiring) the data rate, word geometry, and format, the simulation process 10 may set (e.g., via an asynchronous function) a minor frame arrival per WST. A minor frame arrival is a window of time allocated during which the transmitted data may be processed. As an example, one minor frame is the minor frame word size x word length (e.g., 800 x 12 = 9600). The system may model how many minor frames will arrive per WST based on its data rate.

[0047] In some embodiments, the simulation process 10 may determine (310) that one of the minor frame arrivals does not fall within the input window size time, and the simulation process 10 may transmit (312) the one of the minor frame arrivals that does not fall within the input window size time in the next input window size time. For example, it is assumed for illustrative purposes only that the simulation process 10 processes (e.g., via a telemetry unit) only every integer number of minor frames. Thus, in the example, the simulation process 10 (e.g., via a telemetry unit) cannot fit the entire minor frame within the window, and the simulation process 10 may transmit it in the next window. For example, if there are 10.4 frames at a WST of 20 ms, the simulation process 10 (in some examples) may only be able to transmit 10 frames in the current window, and according to the same data rate, the next window will have 10.8 frames (next arrival 10.4+0.4), which allows the simulation process 10 to still transmit 10 frames in the subsequent window. The next window can have 11.2 (10.4+0.8) frames, resulting in 11 frames being transmitted by the simulation process 10. Thus, the number of minor frames per telemetry unit is not necessarily constant but can vary, which can complicate the simulation and lead to higher error rates.

[0048] In some embodiments, the simulation process 10 can packetize (304) the minor frame arrivals into multiple data packets. For example, after receiving the number of minor frames per window, the simulation process 10 can multiply the number by the size of the minor frame and packetize it based on any relevant protocol and coding (e.g., CCSDS protocol and LDPC coding). For example, for box 1, assume that each minor frame is 12 bits x 800 words = 9600 bits. If there are 10 minor frames, then 96000 bits of data need to be packetized using the CCSDS packet format. In the same example, each minor frame can have an additional message identifier header of, for example, 20 bytes. The start of the ENCAP can have, for example, 32 bits extra. After piling up the message identifier header, minor frame data, and ENCAP, the simulation process 10 can divide the total by the packet length (e.g., using 7 / 8 LDPC coding, each packet will be 7072 bits long). In some embodiments, the simulation process 10 may add various overhead per particular protocol (e.g., ASM, TF header, MPDU header, and LDPC for CCSDS protocol) and coding parity provided with zero bits to the packet. In some embodiments, the simulation process 10 may use the filled data after the data ends with the last packet and the next data type begins with the next encapsulated CCSDS packet. In general, filled data may be described as idle pattern information (e.g., AEAEAEAE...) that may fill the remainder of the packet. In some embodiments, the simulation process 10 may consider the filled data to be part of the overhead.

[0049] In some embodiments, the simulation process 10 can multiplex multiple data packets to generate a multiplexed data packet 306. For example, the above process can be repeated for all avionics boxes with different data rates, minor frame geometries, etc.

[0050] In some embodiments, the simulation process 10 can predict (308) a total amount of bandwidth required for the flight simulation based at least in part on the multiplexed data packets. For example, in some embodiments, the total amount of bandwidth required for the flight simulation can include all raw data, all data, overhead data, filled data, or a combination thereof. For example, for all raw data (e.g., excluding message identifier headers), the simulation process 10 can predict all raw data and separate them into different types of data (e.g., CS data, booster data, etc.). All data can be broadly all data, including all overhead mentioned above. Overhead data can include CCSDS overhead, including message identifier headers and ENCAP headers, and filled data. The filled data can be used to fill the remainder of the packet and can be included in the total overhead.

[0051] In some embodiments, the simulation process 10 can predict (314) the amount of available bandwidth for the flight simulation. For example, margin or IDLE packets can be roughly described as remaining empty packets from the RF bandwidth. In this manner, the simulation process 10 can predict how much remaining data will be available for the entire mission and for each flight phase.

[0052] Thus, this disclosure describes a predictive tool (e.g., an asynchronous telemetry bandwidth simulator) that can be designed for space programs and any system where data is multiplexed together (NASA, DoD, commercial space programs, etc.). Some systems can consist of several avionics "boxes" that transmit data at various data rates to a telemetry unit, which can multiplex the data, packetize the data, and add overhead using forward error correction overhead (e.g., CCSDS with 7 / 8 LDPC coding, or other space application protocol formats). The packetized data can then be sent to a radio frequency (RF) transmitter for transmission to the ground during the SLS CS mission. Telemetry boxes can also be in asynchronous systems that can operate in specific time windows that only transmit entire minor frames from each time window (implying that not all windows have the same amount of raw data).

[0053] In some embodiments, the simulation process 10 can predict within + / - 0.025% of total data, overhead, filled data, CCSDS data, and idle packets / margin. The simulation process 10 can provide critical support for testing activities should a component fail or be unavailable at full bandwidth, and the component bandwidth can still be accurately modeled without abandoning schedules or rerunning tests. In some embodiments, the simulation process 10 can help reduce costs, eliminate risk, and secure test schedules per vehicle. In some embodiments, the simulation process 10 can not only allow a user to run a specific requested format, but can also run hundreds of permutations within minutes, analyze the results, and recommend / categorize permutations based on overall performance.

[0054] In some embodiments, the simulation process 10 can optimize (314) at least a portion of the information associated with the flight simulation, and the optimized at least a portion of the information associated with the flight simulation can be used by the simulation process 10 as a hardware configuration file (316). For example, referring to the exemplary implementation of FIG. 7, an exemplary alternative diagram of a flow diagram of the simulator process 10 is shown. In step 1, the configuration of each box (flight data container as described above) is established by the simulation process 10 as described above (also shown in step e). In step 2, the programmed data rate and geometry can be telemetered by each box (e.g., via the simulation process 10). In step 3, the telemetry unit multiplexes all the telemetry from each box (e.g., via the simulation process 10) and transmits it to an RF transmitter. In step 4, the data is transmitted (e.g., via the simulation process 10) to the ground. In step 5, the data is decoded (e.g., via the simulation process 10) and analyzed for full system bandwidth results.

[0055] In step a, the data rate and geometry are input, for example, into the simulation process 10. In step b, the simulation process 10 generates the total bandwidth for the system. In step c, the bandwidth result is compared to the requirements by the simulation process 10. In step d, if the bandwidth does not meet the requirements, the new data rate / geometry is updated / optimized by the simulation process 10 and input back into the simulation process 10. The optimization reduces overhead and increases the actual data transmitted in the same allocated RF bandwidth. In step e, if the bandwidth meets the requirements, the programming of the box is good for use in the process.

[0056] Clause 1. A computer-implemented method, the computer-implemented method including: identifying, by a computing device, a plurality of pieces of information associated with a flight simulation; configuring a plurality of frame arrivals based at least in part on the plurality of pieces of information associated with the flight simulation; packetizing the plurality of frame arrivals into a plurality of data packets; multiplexing the plurality of data packets into a multiplexed data packet; and predicting a total amount of bandwidth needed for the flight simulation based at least in part on the multiplexed data packets.

[0057] Clause 2. The computer implemented method of clause 1, wherein the plurality of pieces of information associated with the flight simulation include one or more flight data containers, a phase of flight, a data rate of each flight data container by format, word geometry, input window size time, or a combination thereof.

[0058] Clause 3. The computer-implemented method of clause 1, wherein each frame arrival of the plurality of frame arrivals is set every input window size time.

[0059] Clause 4. The computer-implemented method of clause 3, further comprising determining that one of the plurality of frame arrivals does not fall entirely within the input window size time.

[0060] Clause 5. The computer-implemented method of clause 4, further comprising transmitting one of the plurality of frame arrivals that does not fall entirely within the input window size time within a next input window size time.

[0061] Clause 6. The computer-implemented method of clause 1, wherein the total amount of bandwidth required for the flight simulation includes all raw data, all data, overhead data, filled data, or a combination thereof.

[0062] Clause 7. The computer-implemented method of clause 1, further comprising optimizing at least a portion of the plurality of pieces of information associated with the flight simulation; and using the optimized at least a portion of the plurality of pieces of information associated with the flight simulation as a hardware configuration file.

[0063] Clause 8. A computer program product residing on a computer readable storage medium having a plurality of instructions stored thereon, the instructions, when executed across one or more processors, causing at least a portion of the one or more processors to perform steps including identifying, by a computing device, a plurality of pieces of information associated with the flight simulation; configuring a plurality of frame arrivals based at least in part on the plurality of pieces of information associated with the flight simulation; packetizing the plurality of frame arrivals into a plurality of data packets; multiplexing the plurality of data packets into a multiplexed data packet; and predicting an amount of bandwidth needed for the flight simulation based at least in part on the multiplexed data packet.

[0064] Clause 9. The computer program product of clause 8, wherein the plurality of pieces of information associated with the flight simulation include one or more flight data containers, a phase of flight, a data rate of each flight data container by format, word geometry, input window size time, or a combination thereof.

[0065] Clause 10. The computer program product of clause 8, wherein each frame arrival of the plurality of frame arrivals is set to an input window size time.

[0066] Clause 11. The computer program product of clause 10, wherein the instructions further include one of the plurality of frame arrivals not falling entirely within an input window size time.

[0067] Clause 12. The computer program product of clause 11, wherein the instructions further include transmitting one of the plurality of frame arrivals that does not fall entirely within the input window size time within a next input window size time.

[0068] Clause 13. The computer program product of clause 8, wherein the total amount of bandwidth required for the flight simulation includes all raw data, all data, overhead data, filled data, or a combination thereof.

[0069] Clause 14. The computer program product of clause 8, wherein the instructions further include optimizing at least a portion of the plurality of pieces of information associated with the flight simulation; and using at least a portion of the plurality of pieces of information associated with the flight simulation after optimization as a hardware configuration file.

[0070] Clause 15. A computing system, the computing system including one or more processors and one or more memories configured to perform steps including identifying, by a computing device, a plurality of information associated with a flight simulation; configuring a plurality of frame arrivals based at least in part on the plurality of information associated with the flight simulation; packetizing the plurality of frame arrivals into a plurality of data packets; multiplexing the plurality of data packets into a multiplexed data packet; and predicting a total amount of bandwidth needed for the flight simulation based at least in part on the multiplexed data packets.

[0071] Clause 16. The computing system of clause 15, wherein the plurality of pieces of information associated with the flight simulation include one or more flight data containers, a phase of flight, a data rate for each flight data container by format, word geometry, input window size time, or a combination thereof.

[0072] Clause 17. The computing system of clause 15, wherein each frame arrival of the plurality of frame arrivals is set to an input window size time.

[0073] Clause 18. The computing system of clause 17, wherein the instructions further include one of the plurality of frame arrivals not falling entirely within an input window size time.

[0074] Clause 19. The computing system of clause 18, wherein the instructions further include transmitting one of the plurality of frame arrivals that does not fall entirely within an input window size time within a next input window size time.

[0075] Clause 20. The computing system of clause 15, wherein the total amount of bandwidth required for the flight simulation includes all raw data, all data, overhead data, filled data, or a combination thereof.

[0076] Clause 21. The computing system of clause 15, wherein the instructions further include optimizing at least a portion of the plurality of pieces of information associated with the flight simulation; and using at least a portion of the plurality of pieces of information associated with the flight simulation after optimization as a hardware configuration file.

[0077] The terms used herein are merely for describing certain embodiments and are not intended to limit the examples of the present disclosure. In this specification, the singular forms "a, an" and "the" are intended to include the plural, unless the context clearly indicates otherwise, and include any steps performed by a / the computer / processor. In this specification, the phrase "at least one of A, B, and C" should be considered to mean a logical (A or B or C) using a non-exclusive logical or, and not to mean "at least one A, at least one B, at least one C". As another example, the phrases "at least one of A and B" (and the like) and "at least one of AorB" (and the like) should be interpreted as including only A, only B, or both A and B, unless the context clearly indicates otherwise. Furthermore, it will be understood that the terms "comprises and / or comprising", when used herein, specify the presence of stated features, entities, steps (not necessarily in a particular order), operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, entities, steps (not necessarily in a particular order), operations, elements, components, and / or groups thereof. Example sizes / models / values / ranges may be given, but examples are not limited to the same.

[0078] As used herein, the terms "coupled," "attached," "connected," "adjoining," "transmitting," "receiving," "connected," "engaged," "coupled," "adjacent," "next to," "on top of," "above," "below," "abutting," and "disposed" (and similar terms) refer to any type of relationship between the components under consideration, directly or indirectly, and are intended to apply to electrical, mechanical, fluid, optical, electromagnetic, electromechanical, or other connections. Additionally, as used herein, terms such as "first," "second," and the like are used for ease of discussion only and do not carry any particular temporal or chronological significance unless otherwise indicated. The term "cause" means to "make," "force," "compel," "direct," "command," "instruct," and / or "enable" an event or action to occur in a direct or indirect manner, or at least to be in a state in which that event or action occurs. The term "set" does not necessarily exclude the empty set; in other words, in some instances, a "set" may have zero elements. The term "non-empty set" may be used to indicate the exclusion of an empty set; i.e., a non-empty set must have one or more elements, although this term need not be used specifically. The term "subset" does not necessarily require an exact subset.In other words, a "subset" of a first set can be coextensive with (or equal to) the first subset. Furthermore, the term "subset" does not necessarily exclude the empty set; in some instances, a "subset" can have zero elements.

[0079] Corresponding structures, materials, actions, and equivalents (e.g., of any means or step plus function elements) that may be present in the following claims are intended to include any structure, material, or action for performing that function in combination with other claimed elements as specifically claimed. Although structures corresponding to claimed elements are described in this disclosure, such elements do not necessarily invoke a means-plus-function interpretation unless the "means for" signifier is explicitly used. Unless otherwise indicated, recitations of ranges of values ​​are merely intended to serve as a shorthand way of individually referring to each separate value falling within the range, and each separate value is hereby incorporated herein as if it were individually described. Although elements of the present disclosure are separated into different functional or action blocks in the figures, such separation is for illustrative purposes only. In accordance with the principles of the present disclosure, functions may be combined in other ways, whereby some or all of the functions from multiple blocks shown separately may be performed in one functional block, and similarly, functions shown in one functional block may be separated into multiple blocks. Unless expressly stated as mutually exclusive, features shown in various figures may be combined consistent with the principles of the present disclosure.

[0080] The description of the present disclosure has been presented for purposes of illustration and description and is not intended to be exhaustive or to limit the present disclosure to the disclosed form. After reading this disclosure, many modifications, variations, substitutions, and any combination thereof will become apparent to those skilled in the art without departing from the scope and spirit of the present disclosure. The embodiments have been chosen and described in order to explain the principles and practical applications of the present disclosure and to enable others skilled in the art to understand the present disclosure in its various embodiments, including various modifications and / or any combination of the embodiments suitable for the particular use envisaged. Features of the dependent claims may be combined with any feature of the independent claim or any other dependent claim.

[0081] Although the present disclosure has been described in detail with reference to embodiments thereof, it will be apparent that modifications, variations, and any combination of the embodiments (including any modifications, variations, substitutions, and combinations thereof) are possible without departing from the scope of the present disclosure as defined in the appended claims.

Claims

1. 1. A computer-implemented method comprising: Identifying (300) a plurality of pieces of information associated with a flight simulation by a computing device (215); establishing frame arrivals based at least in part on the information associated with the flight simulation (302); packetizing the frame arrivals into a plurality of data packets (304); multiplexing (306) the plurality of data packets into a multiplexed data packet; predicting (308) a total amount of bandwidth required for the flight simulation based at least in part on the multiplexed data packets; and The method includes:

2. 2. The computer-implemented method of claim 1, wherein the plurality of pieces of information associated with the flight simulation include flight data containers, phases of flight, data rates of each flight data container by format, word geometry, input window size time, or combinations thereof.

3. The computer-implemented method of claim 1 , wherein each frame arrival of the plurality of frame arrivals is set to an input window size time.

4. 4. The computer-implemented method of claim 3, further comprising determining (310) that one of the plurality of frame arrivals does not fall entirely within an input window size time.

5. 5. The computer-implemented method of claim 4, further comprising: transmitting (312) the one of the plurality of frame arrivals that does not fall entirely within the input window size time within a next input window size time.

6. 10. The computer-implemented method of claim 1, wherein the total amount of bandwidth required for the flight simulation includes all raw data, all data, overhead data, padded data, or a combination thereof.

7. optimizing (314) at least a portion of the plurality of pieces of information associated with the flight simulation; using (316) the at least a portion of the plurality of pieces of information associated with the optimized flight simulation as a hardware configuration file; The computer implemented method of claim 1 further comprising:

8. A computer program product resident on a computer-readable storage medium having stored thereon a plurality of instructions that, when executed across one or more processors, cause at least a portion of the one or more processors to: identifying, by a computing device (215), a plurality of pieces of information associated with the flight simulation; establishing frame arrivals based at least in part on the information associated with the flight simulation; and packetizing the plurality of frame arrivals into a plurality of data packets; multiplexing the plurality of data packets into a multiplexed data packet; predicting a total amount of bandwidth required for the flight simulation based at least in part on the multiplexed data packets; and A computer program product for causing a computer to execute steps including:

9. 9. The computer program product of claim 8, wherein the plurality of pieces of information associated with the flight simulation include a flight data container, a phase of flight, a data rate of each flight data container by format, a word geometry, an input window size time, or a combination thereof.

10. 9. The computer program product of claim 8, wherein each frame arrival of the plurality of frame arrivals is set to an input window size time.

11. 11. The computer program product of claim 10, wherein the instructions further comprise: one of the plurality of frame arrivals not falling entirely within an input window size time.

12. 12. The computer program product of claim 11, wherein the instructions further comprise transmitting the one of the plurality of frame arrivals that does not fall entirely within the input window size time within a next input window size time.

13. 9. The computer program product of claim 8, wherein the total amount of bandwidth required for the flight simulation includes all raw data, all data, overhead data, padded data, or a combination thereof.

14. The instruction: optimizing at least a portion of the plurality of pieces of information associated with the flight simulation; using at least a portion of the plurality of pieces of information associated with the optimized flight simulation as a hardware configuration file; 9. The computer program product of claim 8, further comprising:

15. A computing system (500) (400), identifying, by a computing device (215), a plurality of pieces of information associated with the flight simulation; establishing frame arrivals based at least in part on the information associated with the flight simulation; and packetizing the plurality of frame arrivals into a plurality of data packets; multiplexing the plurality of data packets into a multiplexed data packet; predicting a total amount of bandwidth required for the flight simulation based at least in part on the multiplexed data packets; and A computing system (500) (400) including one or more processors and one or more memories configured to perform steps including:

16. 16. The computing system (500) (400) of claim 15, wherein the plurality of pieces of information associated with the flight simulation include flight data containers, phases of flight, data rates of each flight data container by format, word geometry, input window size time, or combinations thereof.

17. 16. The computing system (500) (400) of claim 15, wherein each frame arrival of the plurality of frame arrivals is set to an input window size time.

18. 20. The computing system (500) (400) of claim 17, wherein the instructions further comprise one of the plurality of frame arrivals not falling entirely within an input window size time.

19. 20. The computing system (500) (400) of claim 18, wherein the instructions further comprise transmitting the one of the plurality of frame arrivals that does not fall entirely within the input window size time within a next input window size time.

20. The process further comprises: optimizing at least a portion of the plurality of pieces of information associated with the flight simulation; using at least a portion of the plurality of pieces of information associated with the optimized flight simulation as a hardware configuration file; The computing system (500) (400) of claim 15 further comprising: