System and method for asynchronous telemetry bandwidth simulator

By identifying information associated with flight simulation, constructing and multiplexing data packets, predicting the total bandwidth required for flight simulation, solving the problem of high testing and analysis costs in the prior art, and achieving a more efficient testing and analysis process.

CN119922089APending Publication Date: 2025-05-02THE BOEING CO
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411128037.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2024-04-16
Filing Date
2024-08-16
Publication Date
2025-05-02

AI Technical Summary

Technical Problem

The prior art requires a lot of planning, cost and effort when testing and analyzing certain systems, especially when data rates, formats and word sizes within the data container need to be frequently performed to verify performance.

Method used

The computing device identifies multiple information associated with the flight simulation, constructs multiple frame arrivals, and packages them into data packets, multiplexes to generate multiplexed data packets, and then predicts the total amount of bandwidth required for the flight simulation.

Benefits of technology

This method is able to optimize the information associated with the flight simulation and use it as a hardware profile to predict the amount of available bandwidth for the flight simulation, reducing the cost and effort of testing and analysis.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119922089A_ABST
    Figure CN119922089A_ABST
Patent Text Reader

Abstract

The invention relates to a system and method for an asynchronous telemetry bandwidth simulator. A method, computer program product, and computer system for identifying, by a computing device, a plurality of information associated with a flight simulation. A plurality of frame arrivals may be constructed based at least in part on a plurality of information associated with the flight simulation. The plurality of frame arrivals may be packed into a plurality of data packets. The plurality of data packets may be multiplexed to generate multiplexed data packets. The total amount of bandwidth required for the flight simulation may be predicted based at least in part on the multiplexed data packets.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to systems and methods for asynchronous telemetry bandwidth simulators. Background Art

[0002] Typically, qualification of test data is one of the key parts of validation, which requires a lot of planning, cost, and effort. To test and analyze certain systems (which are multiplexed together and then sent to the surface), it involves creating procedures, issuing documentation, labor to install all components, performing tests, analyzing test data, and recording results, all while potentially completing all tasks within an aggressive timeline. Summary of the invention

[0003] In one example implementation, a method performed by one or more computing devices may include, but is not limited to, identifying, by a computing device, a plurality of information associated with a flight simulation. A plurality of frame arrivals may be constructed based, at least in part, on the plurality of information associated with the flight simulation. The plurality of frame arrivals may be packaged into a plurality of data packets. The plurality of data packets may be multiplexed to generate a multiplexed data packet. An amount of bandwidth required for the flight simulation may be predicted based, at least in part, on the multiplexed data packets.

[0004] One or more of the following example features may be included. Multiple information associated with flight simulation may include one or more aviation data containers, flight phases, data rates of each aviation data container in each format, word geometry, input window size time, or a combination thereof. Each of multiple frame arrivals may be constructed according to the input window size time. It may be determined that one of the multiple frame arrivals does not fully fit the input window size time, and one of the multiple frame arrivals that does not fully fit the input window size time may be sent in the next input window size time. The total amount of bandwidth required for flight simulation may include overall raw data, overall data, overhead data, filler data, or a combination thereof. The amount of available bandwidth for flight simulation may be predicted. At least a portion of multiple information associated with flight simulation may be optimized, and the optimized at least a portion of multiple information associated with flight simulation may be used as a hardware profile.

[0005] In another example implementation, a computing system may include one or more processors and one or more memories configured to perform operations, the operations may include but are not limited to identifying, by a computing device, a plurality of information associated with a flight simulation. A plurality of frame arrivals may be constructed based at least in part on the plurality of information associated with the flight simulation. The plurality of frame arrivals may be packaged into a plurality of data packets. The plurality of data packets may be multiplexed to generate a multiplexed data packet. An amount of bandwidth required for the flight simulation may be predicted based at least in part on the multiplexed data packets.

[0006] One or more of the following example features may be included. Multiple information associated with flight simulation may include one or more aviation data containers, flight phases, data rates for each aviation data container in each format, word geometry, input window size time, or a combination thereof. Each of multiple frame arrivals may be constructed according to the input window size time. It may be determined that one of the multiple frame arrivals does not fully fit the input window size time, and one of the multiple frame arrivals that does not fully fit the input window size time may be sent in the next input window size time. The total amount of bandwidth required for flight simulation may include overall raw data, overall data, overhead data, filler data, or a combination thereof. The amount of available bandwidth for flight simulation may be predicted. At least a portion of multiple information associated with flight simulation may be optimized, and at least a portion of the optimized multiple information associated with flight simulation may be used as a hardware profile.

[0007] In another example embodiment, a computer program product resides on a computer readable storage medium having a plurality of instructions stored thereon, the plurality of instructions, when executed across one or more processors, causes 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 information associated with a flight simulation. A plurality of frame arrivals may be constructed based at least in part on the plurality of information associated with the flight simulation. The plurality of frame arrivals may be packaged into a plurality of data packets. The plurality of data packets may be multiplexed to generate a multiplexed data packet. At least a portion of the plurality of information associated with the flight simulation may be optimized, and at least a portion of the optimized plurality of information associated with the flight simulation may be used as a hardware profile.

[0008] One or more of the following example features may be included. Multiple information associated with flight simulation may include one or more aviation data containers, flight phases, data rates for each aviation data container in each format, word geometry, input window size time, or a combination thereof. Each of multiple frame arrivals may be constructed according to the input window size time. It may be determined that one of the multiple frame arrivals does not fully fit the input window size time, and one of the multiple frame arrivals that does not fully fit the input window size time may be sent in the next input window size time. The total amount of bandwidth required for flight simulation may include overall raw data, overall data, overhead data, filler data, or a combination thereof. The amount of available bandwidth for flight simulation may be predicted. At least a portion of multiple information associated with flight simulation may be optimized, and at least a portion of the optimized multiple information associated with flight simulation may be used as a hardware profile.

[0009] Details of one or more example implementations are set forth in the accompanying drawings and the following description. Other possible example features and / or possible example advantages will become apparent from the specification, drawings, and claims. Some embodiments may not have those possible example features and / or possible example advantages, and some embodiments may not necessarily require such possible example features and / or possible example advantages. BRIEF DESCRIPTION OF THE DRAWINGS

[0010] Figure 1 is an example schematic diagram of a simulator process coupled to an example distributed computing network according to one or more example implementations of the present disclosure;

[0011] Figure 2 According to one or more example implementations of the present disclosure Figure 1 An example schematic diagram of a client electronic device;

[0012] Figure 3 is an example flow chart of a simulator process according to one or more example implementations of the present disclosure;

[0013] Figure 4 is an example schematic diagram of an asynchronous telemetry bandwidth simulator of a simulator process according to one or more example implementations of the present disclosure;

[0014] Figure 5 is an example schematic diagram of an asynchronous telemetry bandwidth simulator of a simulator process according to one or more example implementations of the present disclosure;

[0015] Figure 6 is an example schematic diagram of an aeronautical data container iteration performed by a simulator process according to one or more example embodiments of the present disclosure; and

[0016] Figure 7 is an example flow diagram of a simulator process according to one or more example implementations of the present disclosure.

[0017] The same reference symbols in the various drawings may indicate the same elements. DETAILED DESCRIPTION

[0018] Typically, qualification of test data is one of the key parts of validation, which requires a lot of planning, cost, and effort. To test and analyze certain systems (which are multiplexed together and then sent to the surface), it involves creating procedures, issuing documentation, labor to install all components, performing tests, analyzing test data, and recording results, all while potentially completing all tasks within an aggressive timeline.

[0019] In addition, there may be many permutations of data rates, formats, word sizes, frame sizes (e.g., sub-frame sizes), etc. within a data container (e.g., a box), and if these inputs change, the overall performance (including overall data and overall overhead) after passing through the telemetry box needs to be measured each time. For verification, each time a format change occurs, testing must be performed, which consumes a lot of effort. In addition, each time the box design changes, the box owner may not know the impact on the overall data and overhead after sending the overall data and overhead to the telemetry unit, which may be important in designing an efficient telemetry unit.

[0020] Thus, as will be discussed in more detail below, the present disclosure describes predictive tools that can be used for space programs (e.g., asynchronous telemetry bandwidth simulators) as well as any system where data is multiplexed together (NASA, DoD, commercial space programs, etc.).

[0021] In some embodiments, the present disclosure may be embodied as a method, system, or computer program product. Therefore, in some embodiments, the present disclosure may take the form of a complete hardware implementation, a complete software implementation (including firmware, resident software, microcode, etc.), or a combination of software and hardware implementations, which may generally be referred to herein as "circuits," "modules," or "systems." In addition, in some embodiments, the present disclosure may take the form of a computer program product on a computer-usable storage medium having a computer-usable program code implemented in the medium.

[0022] 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 for one or more problem domains. When there are many data features presented, identifying a subset of features relevant to the problem domain can improve prediction accuracy, reduce storage space, and increase processing speed. This identification may be referred to as feature engineering. Feature engineering may be performed by a user or may only be directed by a user. In various embodiments, a machine learning system may computationally identify relevant features, such as by performing a singular value decomposition on the contribution of different features to the output.

[0023] In some embodiments, various computing devices may include, be integrated with, link to, exchange data with, be managed by, obtain input from, and / or provide output to, one or more AI systems, and one or more AI systems may include models, rule-based systems, expert systems, neural networks, deep learning systems, supervised learning systems, robotic process automation systems, natural language processing systems, intelligent agent systems, self-optimizing and self-organizing systems, and the like. Unless the context specifically indicates otherwise, references to AI or to one or more examples of AI should be understood to encompass one or more of these various alternative methods and systems; for example, but not limited to, AI systems described to implement any of the various functions, capabilities, and solutions described herein (such as optimization, autonomous operation, prediction, control, orchestration, etc.) should be understood to be capable of being implemented by: operating on a model or rule set; training on a training data set of human labels, tags, etc.; training on a training data set of human interactions (e.g., human interactions with a software interface or hardware system); training on a training data set of results; training on a training data set generated by AI (e.g., where a complete training data set is generated by AI from a seed training data set); supervised learning; semi-supervised learning; deep learning, etc. For any given function or capability described herein, various types of neural networks may be used, including any of the types described herein, and in embodiments, a hybrid set of neural networks may be selected such that a neural network type more conducive to each element of the execution of a multi-function or multi-capable system or method is implemented within the set. As an example among many deep learning or black box systems, a gated recurrent neural network may be used for language translation-like functions for intelligent agents, where the underlying mechanisms of the AI ​​operation do not need to be understood, as long as the results are perceived favorably by the user, while more transparent models or systems and simpler neural networks may be used for systems that automate governance, where a greater understanding of how to translate inputs into outputs may be required to comply with regulations or policies.

[0024] Examples of models include recursive 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 transformer-based systems include bidirectional encoder representations from transformers (BERT) and generative pre-trained transformers (GPT). Training machine learning models can include supervised learning (e.g., based on labeled input data), unsupervised learning, and reinforcement learning. In various embodiments, machine learning models can be pre-trained by their operators or third parties. Problem domains include almost any situation where structured data can be collected, and include natural language processing (NLP), computer vision (CV), classification, image recognition, etc. Some or all of the software can be run in a virtual environment instead of directly on the hardware. The virtual environment can include hypervisors, emulators, sandboxes, container engines, etc. The software can be built as virtual machines, containers, etc. Virtualized resources can be controlled using, for example, DOCKER container platforms, pivot cloud foundry (PCF) platforms, etc. Some or all of the software can be logically divided into microservices. Each microservice provides a reduced subset of functions. In various embodiments, each microservice can be scaled independently based on load by dedicating more resources to the microservice or by instantiating more instances of the microservice. In various embodiments, the functionality provided by one or more microservices can be combined with each other and / or with other software that does not adhere to the microservice model.

[0025] 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 or a computer-readable storage medium. The computer-usable or computer-readable storage medium (including a storage device associated with a computing device or a client electronic device) may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or any suitable combination of the foregoing. More specific examples of computer readable media or storage devices (a non-exhaustive list) may include the following: an electrical connection with one or more conductors, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a solid-state drive (SSD), a digital versatile disk (DVD), a Blu-ray disc and an ultra-high-definition Blu-ray disc, a static random access memory (SRAM), a dynamic RAM (DRAM), a synchronous DRAM (SDRAM), a synchronous graphics RAM (SGRAM) and a video RAM (VRAM), an analog magnetic tape, a digital magnetic tape, a rotating hard disk drive (HDD), a memory stick, a floppy disk, a mechanical encoding device (such as a punch card or raised structures in grooves) on which instructions are recorded, a medium (such as a medium supporting the Internet or an intranet), or a magnetic storage device. Note that a computer usable or computer readable medium may even be a suitable medium on which the program is stored, scanned, compiled, interpreted or otherwise processed in a suitable manner (if necessary) and then stored in a computer memory. In the context of the present invention, a computer-usable or computer-readable storage medium may be any tangible medium that can contain or store a program for use by or in connection with an instruction execution system, apparatus, or device.

[0026] Examples of storage implemented by storage hardware include distributed ledgers, such as permissioned or permissionless blockchains. Entities such as recording transactions in a blockchain can reach consensus using algorithms such as proof of stake, proof of work, and proof of storage. Elements of the present disclosure may be represented by non-fungible tokens (NFTs) or encoded as non-fungible tokens. Ownership associated with non-fungible tokens may be recorded in a distributed ledger or referenced by a distributed ledger. Transactions initiated by or related to the present disclosure may use one or both of fiat currencies and cryptocurrencies.

[0027] In some embodiments, a computer readable signal medium may include a propagation data signal containing a computer readable program code, for example, in baseband or as part of a carrier wave. In some embodiments, such a propagation signal may take any of a variety of forms, including but not limited to electromagnetic, optical, or any suitable combination thereof. In some embodiments, any suitable medium may be used to transmit computer readable program code, 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 that is not a computer readable storage medium and can communicate, propagate, or transmit a program for use by or in conjunction with an instruction execution system, device, or apparatus.

[0028] In some embodiments, the computer program code for performing operations of the present disclosure may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages ​​such as . Smalltalk, C++, etc. and all Java-based trademarks and logos are trademarks or registered trademarks of Oracle and / or its affiliates. However, the computer program code for performing the operations of the present disclosure may also be written in a conventional procedural programming language (such as "C" programming language, PASCAL or similar programming language) and in a scripting language (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 latter case, the remote computer may be connected to the user's computer via a network such as a cellular network, a local area network (LAN), a wide area network (WAN), a body area network BAN, a personal area network (PAN), a metropolitan area network (MAN), etc., or may be connected to an external computer (e.g., via the Internet using an Internet service provider). The network may include one or more of point-to-point and mesh technologies. The data sent or received by the networking component may pass through the same or different networks. The network may be connected to each other via a WAN or a point-to-point leased line using technologies such as multi-protocol label switching (MPLS) and a virtual private network (VPN). In some embodiments, electronic circuits including, for example, programmable logic circuits, application specific integrated circuits (ASICs), gate arrays such as field programmable gate arrays (FPGAs) or other hardware accelerators, microcontroller units (MCUs) or programmable logic arrays (PLAs), integrated circuits (ICs), digital circuit elements, analog circuit elements, combinational logic circuits, digital signal processors (DSPs), complex programmable logic devices (CPLDs), etc. can be executed by utilizing the state information of computer-readable program instructions. Computer-readable program instructions / codes are personalized electronic circuits to perform various aspects of the present disclosure. Multiple components of hardware can be integrated on, for example, a single die, a single package, or a single printed circuit board or logic board. For example, multiple components of hardware can be implemented as a system on chip. A component or a group of integrated components can be referred to as a chip, a chipset, a chiplet, or a chip stack. Examples of systems on chip include radio frequency (RF) systems on chip, artificial intelligence (AI) systems on chip, video processing systems on chip, organic systems on chip, quantum algorithm systems on chip, etc.

[0029] Examples of processing hardware may include a central processing unit (CPU), a graphics processing unit (GPU), an approximate computing processor, a quantum computing processor, a parallel computing processor, a neural network processor, a signal processor, a digital processor, a data processor, an embedded processor, a microprocessor, and a coprocessor. A coprocessor may provide additional processing functionality and / or optimization, such as for speed or power consumption. Examples of coprocessors include math coprocessors, graphics coprocessors, communications coprocessors, video coprocessors, and artificial intelligence (AI) coprocessors.

[0030] In some embodiments, the flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functions and operations of possible implementations of the device (system), method and computer program product according to various embodiments of the present disclosure. Each frame in the flowchart and / or block diagram and the combination of frames in the flowchart and / or block diagram can represent a module, segment or part of a code, which includes one or more executable computer program instructions for implementing a specified logical function / action. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer or other programmable data processing device to produce a machine, so that the computer program instructions executed by the processor of a computer or other programmable data processing device can be created to implement the ability of one or more functions / actions specified in the flowchart and / or block diagram. It should be noted that in some embodiments, the functions indicated in the frame may not occur (or be combined or omitted) in the order indicated in the accompanying drawings. For example, depending on the functions involved, the two frames shown in succession can actually be executed substantially simultaneously, or the frames can sometimes be executed in reverse order.

[0031] In some embodiments, these computer program instructions may also be stored in a computer-readable memory, which may direct a computer or other programmable data processing device to function in a specific manner so that the instructions stored in the computer-readable memory produce an article of manufacture including an instruction device that implements the functions / actions specified in one or more blocks of the flowchart and / or block diagram, or a combination thereof.

[0032] In some embodiments, the computer program instructions may also be loaded onto a computer or other programmable data processing device so that a series of operational steps (not necessarily in a specific order) are performed on the computer or other programmable device to produce a computer-implemented process, so that the instructions executed on the computer or other programmable device provide steps for implementing the functions / actions (not necessarily in a specific order) specified in the flowchart and / or block diagram.

[0033] Reference now Figure 1An example implementation of the present invention is shown, which may reside on and be executed by a computer (e.g., computer 12) and may be connected 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 noted 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 personal computer, 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 a RAID device and a NAS system. 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 an operation, 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, the instructions / logic may be distributed and executed across one or more processors, virtual or physical, to execute the instructions / logic. Computer 12 may execute an operating system, such as, but not limited to, 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., other countries, or both; Mac and OS X are registered trademarks of Apple Inc. in the U.S., other countries, or both; Red Hat is a registered trademark of Red Hat Inc. in the U.S., other countries, or both; and Linux is a registered trademark of Linus Torvalds in the U.S., other countries, or both).

[0034] In some embodiments, as discussed in more detail below, a simulator process (such as Figure 1 The simulator process 10) may be performed by a computing device to identify a plurality of information associated with a flight simulation. A plurality of (e.g., secondary) frame arrivals may be constructed based at least in part on the plurality of information associated with the flight simulation. The plurality of secondary frame arrivals may be packaged into a plurality of data packets. The plurality of data packets may be multiplexed to generate a multiplexed data packet. An amount of bandwidth required for the flight simulation may be predicted based at least in part on the multiplexed data packets.

[0035] In some embodiments, the instruction set and subroutines of the simulator process 10, which may be stored on a storage device (such as storage device 16) coupled to the computer 12, may be executed by one or more processors and one or more memory architectures included in the computer 12. In some embodiments, the storage device 16 may include, but is not limited to: a hard disk drive; all forms of flash storage devices; a tape drive; an optical drive; a RAID array (or other array); a random access memory (RAM); a read-only memory (ROM); or a combination thereof. In some embodiments, the storage device 16 may be organized into segments, pools of segments, RAID segments (e.g., example 4D+1P R5, where a RAID segment may include, for example, five storage device segments that may be allocated from, for example, five different storage devices), a mapped RAID (e.g., a collection of RAID segments), or a combination thereof.

[0036] 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 telecommunications network facilities; or an intranet. As used herein, the phrase "telecommunications network facilities" may refer to facilities configured to send and / or receive transmissions to / from one or more mobile client electronic devices (e.g., cell phones, etc.) and many other devices.

[0037] 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, etc.), a data store, a data lake, a column store, and / or a data warehouse, and may be located in any suitable memory location, such as a storage device 16 connected to the computer 12. In some embodiments, data, metadata, information, etc. described throughout the present disclosure may be stored in the 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 above-mentioned relational databases). In some embodiments, the data store may also be a custom database, such as a flat file database or an XML database. In some embodiments, any other form of data storage structure and / or organization may also be used. In some embodiments, the simulator process 10 may be a component of the data store, an independent application that interfaces with the above-mentioned data store, and / or an applet / application accessed via the client application 22, 24, 26, 28. In some embodiments, the above-mentioned data store may be distributed in whole or in part in a cloud computing topology. In this way, the computer 12 and the storage device 16 may refer to multiple devices, which may also be distributed throughout the network.

[0038] In some embodiments, the computer 12 may execute a flight software application (e.g., flight software application 20). In some embodiments, the simulator process 10 and / or the flight software application 20 may be accessed via one or more of the client applications 22, 24, 26, 28. In some embodiments, the simulator process 10 may be a standalone application, or may be an applet / application / script / extension that may interact with and / or execute within the flight software application 20, a component of the flight software application 20, and / or one or more of the client applications 22, 24, 26, 28. In some embodiments, the flight software application 20 may be a standalone application, or may be an applet / application / script / extension that may interact with and / or execute within the simulator process 10, a component of the simulator process 10, and / or one or more of the client applications 22, 24, 26, 28. In some embodiments, one or more of the client applications 22, 24, 26, 28 may be stand-alone applications, or may be applet / application / script / extensions that may interact with and / or execute within and / or be components of the simulator process 10 and / or the flight software application 20. Examples of the client applications 22, 24, 26, 28 may include, but are not limited to, for example, standard and / or mobile web browsers, email applications (e.g., email client applications), text and / or graphical user interfaces, custom web browsers, plug-ins, application programming interfaces (APIs), or custom applications. The instruction sets and subroutines of the client applications 22, 24, 26, 28 that may be stored on the storage devices 30, 32, 34, 36 coupled to the client electronic devices 38, 40, 42, 44 may be executed by one or more processors and one or more memory architectures coupled to the client electronic devices 38, 40, 42, 44.

[0039] In some embodiments, one or more of the storage devices 30, 32, 34, 36 may include, but are not limited to: a hard drive; a flash drive, a tape drive; an optical drive; a RAID array; a random access memory (RAM); and a read-only memory (ROM). Examples of client electronic devices 38, 40, 42, 44 (and / or computer 12) may include, but are not limited to, a personal computer (e.g., client electronic device 38), a laptop computer (e.g., client electronic device 40), a smart / data enabled cellular phone (e.g., client electronic device 42), a notebook computer (e.g., client electronic device 44), a tablet computer, a server, a television, a smart TV, a smart speaker, an Internet of Things (IoT) device, a media capture and / or output device (e.g., audio / video, photos, etc.), an audio input and / or recording device (e.g., a handheld microphone, a large microphone, an embedded microphone (such as a microphone embedded in glasses, smart phones, tablet computers and / or watches, etc.), and a dedicated network device. The client electronic device 38, the client electronic device 40, the client electronic device 42, the client electronic device 44 can each execute an operating system, examples of which may include, but are not limited to, AndroidTM, Mobile, Chrome OS, Blackberry OS, Fire OS or custom operating systems.

[0040] In some implementations, client applications 22 and one or more of 24, 26, 28 may be configured to implement some or all of the functionality of simulator process 10 (or vice versa). Thus, in some implementations, simulator process 10 may be a pure server-side application, a pure client-side application, or a hybrid server-side / client-side application that is cooperatively executed by one or more of client applications 22, 24, 26, 28 and / or simulator process 10.

[0041] In some embodiments, the client applications 22 and one or more of 24, 26, 28 may be configured to implement some or all of the functionality of the flight software application 20 (or vice versa). Thus, in some embodiments, the flight software application 20 may be a pure server-side application, a pure client-side application, or a hybrid server-side / client-side application that is 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, simulator process 10, and flight software application 20, employed alone or in any combination, may implement some or all of the same functionality, any description of implementing such functionality via one or more of the client applications 22, 24, 26, 28, simulator process 10, flight software application 20, or a combination thereof, and any described interactions between one or more of the client applications 22, 24, 26, 28, simulator process 10, flight software application 20, or a combination thereof should be viewed merely as examples and not as limiting the scope of the present disclosure.

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

[0043] In some embodiments, various client electronic devices may be coupled to the network 14 (or network 18) directly or indirectly. For example, the client electronic device 38 is shown as being directly coupled to the network 14 via a hardwired network connection. In addition, the client electronic device 44 is shown as being directly coupled to the network 18 via a hardwired network connection. The client electronic device 40 is shown as being wirelessly coupled to the network 14 via a wireless communication channel 56 established between the client electronic device 40 and a wireless access point (i.e., WAP) 58, which is shown as being directly coupled to the network 14. The WAP 58 may be, for example, IEEE 802.11a, 802.11b, 802.11g, 802.11n, 802.11ac, RFID, and / or Bluetooth™ (including Bluetooth™ low energy) or any device capable of establishing a wireless communication channel 56 between the client electronic device 40 and the WAP 58. The client electronic device 42 is shown as wirelessly coupled 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 coupled to the network 14 .

[0044] In some implementations, some or all of the IEEE 802.11x specifications may use Ethernet protocols and carrier sense multiple access with collision avoidance (i.e., CSMA / CA) for path sharing. For example, various 802.11x specifications may use phase shift keying (i.e., PSK) modulation or complementary code keying (i.e., CCK) modulation. Bluetooth TM (including Bluetooth TM low power consumption) is a telecommunications industry specification that allows, for example, mobile phones, computers, smart phones, and other electronic devices to interconnect using short-range wireless connections. Other forms of interconnection (e.g., near field communication (NFC)) may also be used. In some embodiments, the computer 12 may be guided or controlled by an operator. The computer 12 may be hosted by one or more assets owned by the operator, assets leased by the operator, and third-party assets. Assets may be referred to as private, community, or hybrid cloud computing networks or cloud computing environments. For example, the computer 12 may be partially or completely hosted by a third party that provides software as a service (SaaS), platform as a service (PaaS), and / or infrastructure as a service (IaaS). The computer 12 may be implemented using agile development and operations (DevOps) principles. In some implementations, some or all of the computers 12 may be implemented in a multi-environment architecture. For example, the multiple environments may include one or more production environments, one or more integration environments, one or more development environments, and the like.

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

[0046] Also refer to 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 exemplary purposes only and is not intended to limit the present disclosure, as other configurations are possible. In addition, any computing device capable of executing the simulator process 10 in whole or in part may be substituted. Figure 2 A client electronic device 38 (in whole or in part) within, examples of which may include, but are not limited to, computer 12 and / or one or more of client electronic devices 38, 40, 42, 44.

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

[0048] As will be discussed below, simulator processing 10 can at least aid, for example, improve data flight (or other) simulation techniques, which must be based on computer technology in order to overcome exemplary and non-limiting problems that arise particularly in the field of computer processing and improve prior art processes associated with, for example, flight simulation. It should be understood that the computer processes described throughout are integrated into one or more practical applications and are not considered to be well understood, conventional, and conventional functions when taken at least as a whole.

[0049] As mentioned above and also with reference to at least Figure 3In an example implementation of the present invention, a simulator process 10 may identify 300 a plurality of information associated with a flight simulation by a computing device. The simulator process 10 may construct 302 a plurality of (e.g., secondary) frame arrivals based at least in part on the plurality of information associated with the flight simulation. The simulator process 10 may package 304 the plurality of secondary frame arrivals into a plurality of data packets. The simulator process 10 may multiplex 306 the plurality of data packets to generate multiplexed data packets. The simulator process 10 may predict 308 an amount of bandwidth required for the flight simulation based at least in part on the multiplexed data packets.

[0050] In some embodiments, simulator process 10 may identify 300 a plurality of information associated with a flight simulation by a computing device. For example, and with at least reference to Figures 4 to 5 , illustrating example systems 400 and 500. In some implementations, a plurality of information associated with a flight simulation may include one or more aeronautical data containers (e.g., boxes), flight phases (e.g., launch, booster separation, communication format switching, core stage separation, core stage impact, etc.), data rates for each aeronautical data container for each format (e.g., each aeronautical data container has a bandwidth of, for example, megabytes per second), word geometry (e.g., subframe word length and word length), input window size time (WST) (e.g., simulator processing 10), telemetry unit processing time τ (e.g., 20 ms), etc. or combinations thereof.

[0051] In some embodiments, the simulator process 10 may construct 302 a plurality of (e.g., secondary) frame arrivals based at least in part on a plurality of information associated with the flight simulation, wherein, in some embodiments, each of the plurality of secondary frame arrivals may be constructed per input window size time. For example, and with at least reference to Figure 6 , an example iteration 600 for each aviation data container is shown. Upon receiving (or otherwise identifying or obtaining) the data rate, word geometry, and format, the simulator process 10 can (e.g., via an asynchronous function) construct a subframe arrival for each WST. The construction of a subframe arrival is a time allocation window in which the transmitted data can be processed. As an example, one subframe is the subframe word size multiplied by the word length (e.g., 800 x 12 = 9600). The system can model how many subframes each WST will arrive based on its data rate.

[0052] In some embodiments, the simulator process 10 may determine that one of the multiple sub-frame arrivals 310 does not completely fit into the input window size time, and the simulator process 10 may send one of the multiple sub-frame arrivals 312 that does not completely fit into the input window size time in the next input window size time. For example, for purposes of example only, assume that the simulator process 10 (e.g., via the telemetry unit) only processes every integer sub-frame. Therefore, in this example, if the simulator process 10 (e.g., via the telemetry unit) cannot fit the entire sub-frame in the window, the simulator process 10 may send it in the next window. For example, if there are 10.4 frames per 20ms WST, the simulator process 10 (in some examples) may only send 10 frames in the current window, and following the same data rate, the next window will have 10.8 frames (10.4 new arrivals + 0.4), so the simulator process 10 can still send 10 frames in the next window. The next window may have 11.2 frames (10.4 + 0.8), so the simulator process 10 may send 11 frames. Therefore, the number of subframes per telemetry unit is not necessarily constant and it can vary, which may complicate the simulations and make them prone to large error rates.

[0053] In some embodiments, the simulator process 10 may package 304 the arrival of multiple sub-frames into multiple data packets. For example, after receiving the number of sub-frames in each window, the simulator process 10 may multiply it by the size of the sub-frame and may package it based on any relevant protocol and encoding (e.g., CCSDS protocol and LDPC encoding). For example, for box 1, assume that each sub-frame is 12 bits * 800 words = 9,600 bits. If there are 10 sub-frames, 96,000 bits of data need to be packaged using the CCSDS packet format. In this example, each sub-frame may be appended with an additional message identifier header of, for example, 20 bytes. The beginning of the ENCAP may have an additional, for example, 32 bits. After aggregating the message identifier header, sub-frame data, and ENCAP, the simulator process 10 may divide the sum by the packet length (e.g., using 7 / 8 LDPC encoding, the length of each packet is 7072 bits). In some embodiments, the simulator process 10 can add various overheads to the packet that are padded with zero bits of coded parity for each specific protocol (e.g., ASM, TF header, MPDU header, and LDPC for the CCSDS protocol). In some embodiments, the simulator process 10 can use the padded data after the data ends in the last packet and the next data type begins in a new encapsulated CCSDS packet. Typically, the padded data can be described as idle mode information (e.g., AEAEAAE...), which can fill the remainder of the packet. In some embodiments, the simulator process 10 can treat the padded data as part of the overhead.

[0054] In some implementations, the simulator process 10 may multiplex 306 the plurality of data packets to generate a multiplexed data packet. For example, the above process may be repeated for all avionics boxes having different data rates, sub-frame geometries, etc.

[0055] In some embodiments, the simulator process 10 can predict 308 the total amount of bandwidth required for flight simulation based at least in part on the multiplexed data packets. For example, in some embodiments, the total amount of bandwidth required for flight simulation can include overall original data, overall data, overhead data, padding data, or a combination thereof. For example, for overall original data (e.g., excluding the message identifier header), the simulator process 10 can predict all original data and decompose them into different types of data (e.g., CS data, enhancer data, etc.). Overall data can generally be all data, including all overheads described above. Overhead data can include CCSDS overhead (including message identifier header and ENCAP header) and padding data. The padded data can be used to fill the rest of the packet and can be included in the overall overhead.

[0056] In some embodiments, the simulator process 10 may predict 314 the amount of available bandwidth for flight simulation. For example, margin or idle packets may generally be described as remaining empty packets from the RF bandwidth. Thus, the simulator process 10 may predict how much reminder data may be available for the entire mission and each flight phase.

[0057] Thus, the present disclosure describes a prediction 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 may consist of several avionics "boxes" that send data with different data rates to a telemetry unit, which may then 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 format). The packetized data may then be sent to a radio frequency (RF) transmitter to be sent to the ground during an SLS CS mission. The telemetry box may also be in an asynchronous system that may operate on specific time windows that only send entire subframes from each time window, meaning that not every window has the same amount of original data.

[0058] In some embodiments, the simulator process 10 can predict overall data, overhead, padding data, CCSDS data, and IDLE packets / margin within + / - 0.025%. The simulator process 10 can provide critical support for testing activities if a component fails or is unavailable at the overall bandwidth, and the component bandwidth can still be accurately modeled without sacrificing scheduling or rerunning tests. In some embodiments, the simulator process 10 can help reduce the cost per vehicle, eliminate risk, and save testing schedules. In some embodiments, the simulator process 10 can allow users to not only run a specific request format, but can run hundreds of permutations in minutes, analyze the results, and recommend / classify permutations based on overall performance.

[0059] In some implementations, the simulator process 10 may optimize 314 at least a portion of the plurality of information associated with the flight simulation, and the optimized at least a portion of the plurality of information associated with the flight simulation may be used 316 by the simulator process 10 as a hardware profile. Figure 7 , an example alternative view of a flow chart of a simulator process 10 is shown. In step 1, the configuration of each box (aerial data container as described above) is established by the simulator 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 simulator process 10). In step 3, the telemetry unit (e.g., via the simulator process 10) multiplexes all telemetry from each box and sends to the RF transmitter. In step 4, the data is sent to the ground (e.g., via the simulator process 10). In step 5, the data is decoded and analyzed for the overall bandwidth results of the entire system (e.g., via the simulator process 10).

[0060] In step a, the data rate and geometry are input into, for example, a simulator process 10. In step b, the simulator process 10 generates the overall bandwidth of the system. In step c, the bandwidth results are compared to the requirements by the simulator process 10. In step d, if the bandwidth does not meet the requirements, the new data rate / geometry is updated / optimized by the simulator process 10 for input back into the simulator process 10. Through optimization, the overhead is reduced and the actual data sent in the same allocated RF bandwidth is increased. In step e, if the bandwidth meets the requirements, the box is programmed for use in operation.

[0061] Clause 1. A computer-implemented method, the method comprising: identifying, by a computing device, multiple information associated with a flight simulation; constructing multiple frame arrivals based at least in part on the multiple information associated with the flight simulation; packaging the multiple frame arrivals into multiple data packets; multiplexing the multiple data packets to generate multiplexed data packets; and predicting the total amount of bandwidth required for the flight simulation based at least in part on the multiplexed data packets.

[0062] Clause 2. A computer-implemented method according to clause 1, wherein the plurality of information associated with the flight simulation includes one or more aviation data containers, flight phases, data rates for each aviation data container in each format, word geometry, input window size time, or a combination thereof.

[0063] Clause 3. The computer-implemented method of Clause 1, wherein each frame arrival of the plurality of frame arrivals is constructed per input window size time.

[0064] Clause 4. The computer-implemented method of clause 3, further comprising: determining that a frame arrival of the plurality of frame arrivals does not fully fit within an input window size time.

[0065] Clause 5. The computer-implemented method of Clause 4, further comprising: transmitting a frame arrival of the plurality of frame arrivals that does not completely fit within an input window size time in a next input window size time.

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

[0067] Clause 7. A computer-implemented method according to Clause 1, further comprising: optimizing at least a portion of the multiple information associated with the flight simulation, and using at least a portion of the optimized multiple information associated with the flight simulation as a hardware profile.

[0068] Clause 8. A computer program product, which resides on a computer-readable storage medium, and has a plurality of instructions stored on the computer-readable storage medium, which, when executed across one or more processors, causes at least a portion of the one or more processors to perform operations, the operations comprising: identifying, by a computing device, a plurality of information associated with a flight simulation; constructing a plurality of frame arrivals based at least in part on the plurality of information associated with the flight simulation; packaging the plurality of frame arrivals into a plurality of data packets; multiplexing the plurality of data packets to generate a multiplexed data packet; and predicting the total amount of bandwidth required for the flight simulation based at least in part on the multiplexed data packets.

[0069] Clause 9. A computer program product according to clause 8, wherein the plurality of information associated with the flight simulation includes one or more aviation data containers, flight phases, data rates for each aviation data container in each format, word geometry, input window size time, or a combination thereof.

[0070] Clause 10. The computer program product of Clause 8, wherein each frame arrival of the plurality of frame arrivals is constructed per input window size time.

[0071] Clause 11. The computer program product of clause 10, wherein the instructions further comprise: one of the plurality of frame arrivals does not fully fit within an input window size time.

[0072] Clause 12. The computer program product of clause 11, wherein the instructions further comprise: transmitting a frame arrival of the plurality of frame arrivals that does not completely fit within an input window size time in a next input window size time.

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

[0074] Clause 14. A computer program product according to Clause 8, wherein the instructions further include: optimizing at least a portion of the multiple information associated with the flight simulation, and using at least a portion of the optimized multiple information associated with the flight simulation as a hardware profile.

[0075] Clause 15. A computing system comprising one or more processors and one or more memories configured to perform operations, the operations comprising: identifying, by a computing device, multiple information associated with a flight simulation; constructing multiple frame arrivals based at least in part on the multiple information associated with the flight simulation; packaging the multiple frame arrivals into multiple data packets; multiplexing the multiple data packets to generate multiplexed data packets; and predicting the total amount of bandwidth required for the flight simulation based at least in part on the multiplexed data packets.

[0076] Clause 16. A computing system as described in clause 15, wherein the plurality of information associated with the flight simulation includes one or more aviation data containers, flight phases, data rates for each aviation data container in each format, word geometry, input window size time, or a combination thereof.

[0077] Clause 17. The computing system of Clause 15, wherein each frame arrival of the plurality of frame arrivals is structured in time by an input window size.

[0078] Clause 18. The computing system of clause 17, wherein the instructions further comprise: a frame arrival of the plurality of frame arrivals does not fully fit within an input window size time.

[0079] Clause 19. The computing system of clause 18, wherein the instructions further comprise: transmitting a frame arrival of the plurality of frame arrivals that does not completely fit within an input window size time in a next input window size time.

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

[0081] Clause 21. A computing system according to Clause 15, wherein the instructions further include: optimizing at least a portion of the multiple information associated with the flight simulation, and using at least a portion of the optimized multiple information associated with the flight simulation as a hardware profile.

[0082] The terms used herein are only used for the purpose of describing specific embodiments, and are not intended to limit the present disclosure. As used herein, the singular forms "one", "an" and "the" are also intended to include plural forms, including any steps performed by a computer / processor, unless the context clearly indicates otherwise. As used herein, the phrase "at least one of A, B and C" should be interpreted as representing the logic (A or B or C) using non-exclusive logic or, and should not be interpreted as representing "at least one of A, at least one of B and at least one of C". It should also be understood that when used in this specification, the terms "include" and / or "comprise" specify the presence of the features, integers, steps (not necessarily in a specific order), operations, elements and / or parts, but do not exclude the presence or addition of one or more other features, integers, steps (not necessarily in a specific order), operations, elements, parts and / or their groups. Example size / model / value / scope can be given, but examples are not limited thereto.

[0083] The terms (and similar terms) "coupled", "attached", "connected", "adjacent", "sending", "receiving", "connected", "engaged", "coupled", "adjacent", "immediately adjacent", "on top of", "above", "below", "adjacent", and "arranged" as used herein refer to any type of relationship between the components in question, direct or indirect, and are applicable to electrical, mechanical, fluid, optical, electromagnetic, electromechanical or other connections. In addition, the terms "first", "second", etc. are used herein only to facilitate discussion, and unless otherwise specified, do not have a specific time or temporal meaning. The terms "cause" or "cause" mean to cause an event or action to occur or at least to be in a state where such an event or action will occur in a direct or indirect manner. The term "set" does not necessarily exclude an empty set, in other words, in some cases, a "set" can have zero elements. The term "non-empty set" can be used to indicate the exclusion of an empty set - that is, a non-empty set must have one or more elements, but the term does not need to be used specifically. The term "subset" does not necessarily require a proper subset. In other words, a "subset" of a first set can be coextensive (equal) with the first set. Furthermore, the term "subset" does not necessarily exclude the empty set - in some cases a "subset" may have zero elements.

[0084] The corresponding structures, materials, actions and equivalents (e.g., all devices or steps plus functional elements) that can be in the claims below are intended to include any structure, material or action for performing functions in combination with other claimed elements as specifically claimed. Although the present disclosure describes structures corresponding to the claimed elements, these elements do not necessarily invoke a device plus function interpretation unless they are explicitly used to represent "devices for...", unless otherwise specified, the reference to the value range is intended only to be used as a shorthand way to individually reference each individual value falling within the range, and each individual value is thus incorporated into the specification as if it were individually quoted. Although the drawings divide the elements of the present disclosure into different functional blocks or action blocks, these divisions are only for illustration. According to the principles of the present disclosure, functions can be combined in other ways so that some or all functions from multiple individually depicted blocks can be implemented in a single functional block; similarly, the functions depicted in a single block can be divided into multiple blocks. Unless explicitly stated as mutually exclusive, the features depicted in different drawings can be combined in accordance with the principles of the present disclosure.

[0085] The description of the present disclosure has been presented for the purpose of illustration and description, but is not intended to be exhaustive or limited to the present disclosure in the form disclosed. After reading the present disclosure, many modifications, variations, substitutions and any combination thereof will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the present disclosure. The embodiments are selected and described in order to explain the principles and practical applications of the present disclosure, and to enable other persons of ordinary skill in the art to understand the disclosure of various embodiments with any combination of various modifications and / or embodiments suitable for the intended specific use. The features of any dependent claim may be combined with the features of any independent claim or other dependent claims.

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

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

[0088] The invention described herein was performed under NASA Contract No. (NNM07 AB03C) and is subject to the provisions of Section 305 of the National Aeronautics and Space Act of 1958 (72 Stat. 435:42 USC 2457).

Claims

1. A computer-implemented method, the method comprising: identifying (300), by a computing device (215), a plurality of information associated with a flight simulation; constructing (302) a plurality of frame arrivals based at least in part on the plurality of information associated with the flight simulation; Packing (304) the plurality of frames into a plurality of data packets; multiplexing (306) the plurality of data packets to generate multiplexed data packets; as well as An amount of bandwidth required for the flight simulation is predicted (308) based at least in part on the multiplexed data packets.

2. The computer-implemented method of claim 1 , wherein: The plurality of information associated with the flight simulation includes aeronautical data containers, flight phases, data rates for each aeronautical data container in each format, word geometry, input window size time, or a combination thereof.

3. The computer-implemented method of claim 1 , wherein: Each frame arrival of the plurality of frame arrivals is constructed per input window size time.

4. The computer-implemented method of claim 3, further comprising: It is determined (310) that a frame arrival of the plurality of frame arrivals does not fully fit within an input window size time.

5. The computer-implemented method of claim 4, further comprising: A frame arrival of the plurality of frame arrivals that does not completely fit within the input window size time in a next input window size time is sent (312).

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

7. The computer-implemented method of claim 1 , further comprising: optimizing (314) at least a portion of the plurality of information associated with the flight simulation; as well as The optimized at least portion of the plurality of information associated with the flight simulation is used (316) as a hardware profile.

8. A computer program product, the computer program product residing on a computer readable storage medium having stored thereon a plurality of instructions, the plurality of instructions, when executed across one or more processors, causing at least a portion of the one or more processors to perform operations comprising: identifying, by a computing device (215), a plurality of information associated with a flight simulation; constructing a plurality of frame arrivals based at least in part on the plurality of information associated with the flight simulation; Packing the plurality of frames into a plurality of data packets; multiplexing the plurality of data packets to generate multiplexed data packets; as well as An amount of bandwidth required for the flight simulation is predicted based at least in part on the multiplexed data packets.

9. The computer program product according to claim 8, wherein: The plurality of information associated with the flight simulation includes aeronautical data containers, flight phases, data rates for each aeronautical data container in each format, word geometry, input window size time, or a combination thereof.

10. A computing system (500) (400), the computing system comprising one or more processors and one or more memories configured to perform operations, the operations comprising: identifying, by a computing device (215), a plurality of information associated with a flight simulation; constructing a plurality of frame arrivals based at least in part on the plurality of information associated with the flight simulation; Packing the plurality of frames into a plurality of data packets; multiplexing the plurality of data packets to generate multiplexed data packets; as well as An amount of bandwidth required for the flight simulation is predicted based at least in part on the multiplexed data packets.