The present disclosure generally relates to methods and systems for communicating between a computing device of a vehicle and ground elements, and more particularly to methods and systems for configuring data communication paths between a computing device of a vehicle and a ground element.
Vehicles today (such as aircraft, ground vehicle, surface ships, etc.) include multiple communication paths for transmitting data. Typically, the communication path that is used for a particular transmission is predetermined and unchangeable. At a time when one or more components of the communication path is showing problematic behavior, there is no easy means for changing the communication path.
Hence, there is a need for improved systems and methods for vehicle communications. Other desirable features and characteristics will become apparent from the subsequent detailed description and the appended claims, taken in conjunction with the accompanying drawings and the foregoing technical field and background.
In one embodiment, a method is provided for managing communications from a computing device of a vehicle. The method includes receiving configuration parameters generated by a user; determining a communication priority scheme based on the configuration parameters; communicating a first subset of data according to a first communication medium based on the communication priority scheme; and communicating a second subset of data according to a second communication medium based on the communication priority scheme.
In another embodiment, a communication system for a computing device associated with a vehicle is provided. The communication system includes a non-transitory computer readable medium. The non-transitory computer readable medium includes a first module that receives configuration parameters generated by a user and that determines a communication priority scheme based on the configuration parameters; and a second module that communicates a first subset of data according to a first communication medium based on the communication priority scheme, and that communicates a second subset of data according to a second communication medium based on the communication priority scheme.
In still another embodiment, a computing device of an aircraft is provided. The computing device includes a non-transitory computer readable medium. The non-transitory computer readable medium includes a first module that receives configuration parameters generated by a user and that determines a communication priority scheme based on the configuration parameters; and a second module that communicates a first subset of data according to a first communication medium based on the communication priority scheme, and that communicates a second subset of data according to a second communication medium based on the communication priority scheme.
Furthermore, other desirable features and characteristics of the method and system will become apparent from the subsequent detailed description and the appended claims, taken in conjunction with the accompanying drawings and the preceding background.
The present invention will hereinafter be described in conjunction with the following figures, wherein like numerals denote like elements, and wherein:
The following detailed description is merely exemplary in nature and is not intended to limit the disclosure or the application and uses of the disclosure. As used herein, the word “exemplary” means “serving as an example, instance, or illustration.” Thus, any embodiment described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other embodiments. All of the embodiments described herein are exemplary embodiments provided to enable persons skilled in the art to make or use the invention and not to limit the scope of the invention which is defined by the claims. Furthermore, there is no intention to be bound by any expressed or implied theory presented in the preceding technical field, background, brief summary, or the following detailed description.
Referring now to
In the example of
Each of the computing devices 16, 18 generally includes one or more processors 20, 22, and one or more data storage devices 24, 26 that communicate with one or more input/output devices 28, 30 and one or more communication devices 32, 34. The communication devices 32, 34 are configured to directly or indirectly communicate with each other using one or more communication methods. For example, the communication devices 32, 34 may communicate directly using a predefined communication protocol (e.g., UHF, VHF, FM, Ethernet, RS-232, RS-422, Mil-STD-1553,/1773, etc.) and/or may communicate indirectly through one or more communication networks 36 that communicate via one or more predefined communication protocols (e.g., cellular communication networks, Wi-Fi, etc). The direct communication and the indirect communication will hereinafter be commonly referred to as communication mediums.
In accordance with the present disclosure, the computing device 16 of the aircraft 12 includes a communication manager module 38. The communication manager module 38 is stored in the data storage device 24 and includes instructions that can be executed by the processor 20. The instructions, when executed, cause the communication manager module 38 to manage a communication path for data being transmitted from the computing device 16 to the ground element 14. In various embodiments, the instructions, when executed, cause the communication manager module 38 to configure parameters for managing the communication paths. The parameters may be based on an attributes associated with the various communication methods. The configuration of the parameters can be performed, for example, based on a user interacting with the computing device 16 (e.g., via an interface and the input/output device 28) to create the configuration parameters, or based on a configuration file that stores parameters and that is provided to the computing device 16.
In various embodiments, the instructions, when executed, further cause the communication manager module 38 to modify a current path of communication during transmission of the data based on the parameters and attributes associated with available communication mediums. For example, the communication manager module 38 can identify a current path based on the parameters and attributes of available communication means and can modify the current path during transmission of the data when a communication medium with a desired attribute becomes available.
Referring now to
The parameter configuration module 40 receives as input configuration data 50. The parameter configuration module 40 determines configuration parameters 52 based on the configuration data 50. In various embodiments, the configuration data 50 may be part of a pre-stored configuration file that is configured and stored by a user. In various other embodiments, the configuration data 50 is received based on a user's interaction with a configuration user interface. In such embodiments, the parameter configuration module 40 may generate user interface data 54 that is used to display the configuration user interface for generating the configuration data 50.
The configuration parameters 52 include attributes associated with communication mediums. For example, the attributes can include, but are not limited to speed of transmission, cost to user, reliability of the transmission, or any other factors. The configuration parameters 52 further include one or more rankings of the attributes. The rankings can indicate a priority of the attributes as they pertain to the communication of data. For example, a ranking may prioritize speed of a transmission over reliability of the transmission.
In various embodiments, the configuration parameters may further include conditions. The conditions may be associated with the particular attributes and/or the particular rankings. The conditions can be based on criteria other than the communication mediums such as, but not limited to, criticality of the data to be transmitted, a location of the vehicle, security requirements for the data to be transmitted, etc. By associating conditions with the attributes and/or rankings, multiple rankings for multiple attributes may be provided.
The priority scheme determination module 42 receives as input the configuration parameters 52. The priority scheme determination module 42 determines a priority scheme 56 based on the configuration parameters 52. For example, the priority scheme determination module 42 sets conditions of the priority scheme based on the condition parameters; and the priority scheme determination module 42 associates the rankings of the attributes with the particular conditions.
The available medium determination module 44 receives as input communication medium data 58. The communication medium data 58 includes data that indicates the availability of various communication mediums. The available medium determination module 44 determines available communication mediums 60 based on the communication medium data 58. For example, the available medium determination module 44 evaluates a location or an operating state of the aircraft 12 (
The path determination module 46 receives as input the priority scheme 56, the available mediums 60, and data to be transmitted 62 (or data about the data to be transmitted). The path determination module 46 determines a communication path 64 through one or more of the available communication mediums 60 based on the priority scheme 56. For example, when the priority scheme 56 indicates that the cost attribute is given the highest priority for all standard data, the available communication medium with an associated lowest cost attribute is selected for the path 64. If, however, the data to be transmitted 62 is considered high-criticality data, and the priority scheme 56 indicates that the reliability attribute is given the highest priority for high-criticality data, then the available communication medium with an associated most reliable attribute is selected for the path 64.
The communication module 48 receives as input the communication path 64 and the data to be transmitted 62. The communication module 48 transmits the data 66 or prepares the data for transmission based on the communication path 64. For example, if the communication path 64 indicates a first communication medium, then the communication module 48 transmits the data 66 using a connection and the communication protocol of the first communication medium. If however, during the transmission, the communication path 64 has been updated to another communication medium, then the communication module 48 pauses the transmission on the first communication medium, and resumes the transmission using a connection and a communication protocol of the other communication medium.
Referring now to
In various embodiments, the method can be scheduled to run based on predetermined events, and/or can run continually during operation of the aircraft 12.
The method may begin at 100. At 110, it is determined whether new configuration parameters 52 are received (e.g., based on a user interacting with a user interface, based on a configuration file, or based on some other method). If new configuration parameters 52 are not received at 110, the method continues with determining whether data is to be transmitted at 130.
If, however, new configuration parameters 52 are received at 110, the communication priority scheme 56 is determined based on the configuration parameters 52 and is stored for future use at 120. For example, as discussed above, the configuration parameters 52 indicate what attributes of the communication mediums are to be evaluated and indicate a ranking associated with the attributes. In various embodiments, the configuration parameters additionally include conditions that are to be evaluated in addition to or alternative to the ranking.
The method continues at 130 with determining whether data is to be transmitted. If data is not to be transmitted at 130, the method may end at 140. If, however, data is to be transmitted at 130, the available communication mediums 60 are determined at 150 (e.g., based on a current location or other available information). The communication path 64 is then determined based on the priority scheme 56 (either the newly updated priority scheme or a previously stored priority scheme) and the available communication mediums 60. For example, the attributes of the available communication mediums 60 are evaluated and the communication medium with the highest ranked attribute is chosen for the communication medium unless a condition is met which indicates another communication medium should be used.
The data is communicated using the selected communication path 64 at 170. It is evaluated whether the communication of the data is complete at 180. If the communication of the data is not complete at 180, conditions are checked to see if a new communication path can be determined at 190. If conditions have not changed, then the data is communicated at 170 until the communication is complete at 180. Thereafter the method may end at 140.
If, however, conditions have changed, then the available communication mediums 60 are determined at 150, the communication path 64 is determined at 160, and the data is communicated at 170. During transmission at 170, if the communication path 64 has changed, the transmission of the data on the first path is temporarily paused (if it has not already stopped), and the transmission of the data is resumed on the new path. The transmission occurs until it is complete at 180 and the method ends at 140.
Those of skill in the art will appreciate that the various illustrative logical blocks, modules, and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. Some of the embodiments and implementations are described above in terms of functional and/or logical block components (or modules) and various processing steps. However, it should be appreciated that such block components (or modules) may be realized by any number of hardware, software, and/or firmware components configured to perform the specified functions. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention. For example, an embodiment of a system or a component may employ various integrated circuit components, e.g., memory elements, digital signal processing elements, logic elements, look-up tables, or the like, which may carry out a variety of functions under the control of one or more microprocessors or other control devices. In addition, those skilled in the art will appreciate that embodiments described herein are merely exemplary implementations
The various illustrative logical blocks, modules, and circuits described in connection with the embodiments disclosed herein may be implemented or performed with a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general-purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
The steps of a method or algorithm described in connection with the embodiments disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of computer readable storage medium known in the art. An exemplary storage medium is coupled to the processor such the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor. The processor and the storage medium may reside in an ASIC. The ASIC may reside in a user terminal In the alternative, the processor and the storage medium may reside as discrete components in a user terminal
In this document, relational terms such as first and second, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Numerical ordinals such as “first,” “second,” “third,” etc. simply denote different singles of a plurality and do not imply any order or sequence unless specifically defined by the claim language. The sequence of the text in any of the claims does not imply that process steps must be performed in a temporal or logical order according to such sequence unless it is specifically defined by the language of the claim. The process steps may be interchanged in any order without departing from the scope of the invention as long as such an interchange does not contradict the claim language and is not logically nonsensical.
While at least one exemplary embodiment has been presented in the foregoing detailed description of the invention, it should be appreciated that a vast number of variations exist. It should also be appreciated that the exemplary embodiment or exemplary embodiments are only examples, and are not intended to limit the scope, applicability, or configuration of the invention in any way. Rather, the foregoing detailed description will provide those skilled in the art with a convenient road map for implementing an exemplary embodiment of the invention. It being understood that various changes may be made in the function and arrangement of elements described in an exemplary embodiment without departing from the scope of the invention as set forth in the appended claims.