Communication networks implement communication hubs that communication messages between themselves. The messages are processed at each communication hub according by specific protocols set by the communication network as the message traverses the network from its origin to its destination. An example communication network is an aircraft to/from ground system communication system such as the Aircraft Communication Addressing and Reporting System (ACARS). ACARS is a message system used to communicate relatively short messages between the aircraft and ground stations via airband radio or satellite such as Very High Frequency (VHF), High Frequency (HF) and Satellite Communications (SATCOM). Due to increased messages being communicated between modern aircraft and ground stations bandwidth limitations occur. As a result, message exchange may be slower thereby causing messages to get queued in ACARS routers. The queuing of the messages increases the time to deliver and receive messages.
For the reasons stated above and for other reasons stated below which will become apparent to those skilled in the art upon reading and understanding the present specification, there is a need in the art for and efficient and effective system that increases messages exchange rates between communication hubs in a communication network.
The above-mentioned problems of current systems are addressed by embodiments of the present invention and will be understood by reading and studying the following specification. The following summary is made by way of example and not by way of limitation. It is merely provided to aid the reader in understanding some of the aspects of the invention.
Embodiments combine short messages into a compressed message to limit the number of messages that need to be communicated between communication hubs.
In one embodiment, a method of communicating between communication hubs using communication messages is provided. Each communication message has a set maximum character size that includes at least a header, a user data block and a suffix. The method includes monitoring a router queue in a first communication hub for a plurality of messages to be sent to a second communication hub. Short messages in the plurality of messages to be sent to the second communication hub are identified that have less than the maximum character size. It is determined if set limitations exist on each identified short message of the plurality of messages to be sent to the second communication hub that would prevent user data of the short message from being combined with user data from at least one other short message. User data in short messages in the user data block that do not have any of the set limitations and when combined are not over the maximum character size into a combined message with a new header are combined. The new header indicates the combined message contains combined user data of the combined short messages. The combined message is communicated to the second communication hub, which may decompress them into multiple messages again.
In another embodiment, a method of compressing messages into a message block is provided. The method includes monitoring a router queue of a first communication hub for short messages that are waiting to be transmitted to the same second communication hub. A short message is a message that contains less characters than a maximum number of characters allowed in a user data block of the message block. At least two short messages monitored in the router queue waiting to be transmitted to the same second communication hub are combined when a combined message character number is less than the maximum number of characters allowed in the user data block of the message block. The message block with the combined at least two messages is then transmitted.
In another embodiment, a communication hub is provided. The communication hub includes a transceiver, at least one communication router, at least one memory and at least one controller. The transceiver is configured to transmit and receive messages. The at least one communication router includes a routing queue, the routing queue is configured to buffer messages while the messages wait their turn to be transmitted by the transceiver. The at least one memory is used to at least in part store operating instructions. The at least one controller is configured to execute the operating instructions stored in the at least one memory. The at least one controller is configured to execute the operating instructions to monitor the router queue of the communication hub for short messages that are waiting to be transmitted to a same remote communication hub. A short message is a message that contains less characters in a user data block of the message than a maximum number of characters allowed in the user data block. The at least one controller is further configured to execute the operating instructions to compress messages by combining at least two short messages monitored in the router queue waiting to be transmitted to the same remote communication hub when a combined message character number of the at least two short messages is less than a maximum number of characters allowed in a user data block of a compressed message.
The present invention can be more easily understood and further advantages and uses thereof will be more readily apparent, when considered in view of the detailed description and the following figures in which:
In accordance with common practice, the various described features are not drawn to scale but are drawn to emphasize specific features relevant to the present invention. Reference characters denote like elements throughout Figures and text.
In the following detailed description, reference is made to the accompanying drawings, which form a part hereof, and in which is shown by way of illustration specific embodiments in which the inventions may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention, and it is to be understood that other embodiments may be utilized and that changes may be made without departing from the spirit and scope of the present invention. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is defined only by the claims and equivalents thereof.
Embodiments of the present invention provide a method of combining short messages together before they are transmitted to reduce the overall number of message that need to be transmitted between communication hubs. Referring to
Each communication hub 102 and 120 in the example embodiment of
Communication hub 102 further includes system applications 104-1 through 104-n. In the aircraft example embodiment, the system applications 104-1 through 104-n may generate system information, such as but not limited to, weather information, vehicle performance information, traffic information, position information, operations information, etc. The system applications 104-1 through 104-n may also receive pertinent information from outside sources such as from communication hub 120 (which may be a ground station). This information is passed between the communication hubs by messages illustrated as messages 106-1 through 106-n. In the situation where the system applications 104-1 and 104-n generate the messages 106-1 through 106-n that are to be transmitted to the second communication hub 120, the messages are communicated to a queue 110 (or buffer). A router 108 of the first communication hub 108 gathers messages 106-1 through 106-n generated by the system applications 104-1 through 104-n in the queue 110 to be transmitted and directs received messages to their respective destination system applications 104-1 through 104-n. Messages can get backed up in the queue. One reason for a backup in systems that require an acknowledgment exchange before transmission of the message, is when an acknowledgment is not received back right way. A transceiver 112 transmits messages 106-1 through 106n to a remote destination node (such as the second communication hub 120) when it is the messages turn to be transmitted. In an embodiment, the router 108 and the transceiver 112 is under control of the controller 101. The controller 101 implements instructions stored in the memory 103 in controlling the router 108 and transceiver 112 which are typically in separate avionic boxes. In one embodiment, the router 108 is an Aircraft Addressing and Reporting System (ACARS) router 106. In embodiments, compression/decompression application 105 stored in the memory 103 is implemented by the controller 101. In the situation where messages 106-1 through 106-n are generated by the respective system application 104-1 through 104-n and are to be transmitted to a remote communication hub (such as the second communication hub 120) the compression/decompression application 105 selectively combines short messages waiting in the routing queue 110 to be transmitted as described in detail below. In the situation where the first communication hub 102 receives a combined message 115 that is to be delivered to at least one of the system applications 104-1 through 104-n, the compression/decompression application 105 decompresses the combined message 115 in the routing queue 110. The router 108 then routes the decompressed messages 106-1 through 106-n to the correct system application 104-1 through 104-n.
The second communication hub 120 may have similar features. For example, as illustrated in
As discussed above, in an embodiment, the communication network 100 may include an aircraft 102 to ground station 120 or aircraft 102 to aircraft 102 network. Moreover, the communication network may include a ground network. For example, part of the network may include a ground network with a service provider that includes a router that is in communication with the ground station and a network connection to hub on the ground. A standard ACARS communication block of the prior art is illustrated in
Referring to
An example of an ACARS message block 300 with combined messages of an embodiment is illustrated in
Referring to
If it is determined that two or more messages are not short messages at step (406), the process continues at step (402) monitoring the router queue. If it is determined that two or more messages are short messages at step (406), it is then determined if any one of the two or more short messages have limitations on their combination (408). In the aeronautic realm, due to safety concerns certain types of safety massages should not be combined with other messages. Moreover, messages having a final destination that are different (for example, different airline hosts in the downlinks) may not be combined in an embodiment. If it is determined that any one of the two or more short messages have limitations on their combination at step (408), it is then determined if it is either of the messages turn to be transmitted at step (418). If it is the turn of one of the messages to be transmitted, the message is transmitted at step (420), otherwise the process again continues monitoring the router queue at step (402). If it is determined that any one of the two or more short messages do not have limitations on their combination at step (408), it is then determined if the combined messages have more characters than the maximum number of characters allowed for a message (410). If it is determined that the combined messages have more characters than the maximum number of characters allowed for a message at step (410), the messages are not combined and it is then determined if it is either of the messages turn to be transmitted at step (418). If it is the turn of one of the messages to be transmitted, the message is transmitted at step (420), otherwise the process again continues monitoring the router queue at step (402).
If it is determined that the combined messages have less characters than the maximum number of characters allowed for a message at step (410), the messages are combined (412). An example of a combined message (i.e. compressing) is provided above in view of
Further still, in one embodiment, when it is the turn of one first short message directed to a specific destination communication hub in the router queue to be transmitted, it is determined if the transmission of the message can be delayed for a period of time to see if at least one more short message gets placed in the queue to the specific destination communication hub that can be combined with the one first short message. This embodiment is illustrated in the transmission delay flow diagram 430 of
As discussed above in embodiments the controller, such as controller 101 of the first communication hub 102 and controller 122 of the second communication hub 120, selectively compresses short messages into a single message block as stated in step (412) of
As discussed above, when a communication hub (such as communication hub 102 or communication hub 120) receives a message block 300, the message block 300 needs to be decompressed if it contains more than one message. An example, decompression flow diagram 600 is illustrated in
Example 1 includes a method of communicating between communication hubs using communication messages, each communication message having a set maximum character size that includes at least a header, a user data block and a suffix, the method comprising: monitoring a router queue in a first communication hub for a plurality of messages to be sent to a second communication hub, identifying short messages in the plurality of messages to be sent to the second communication hub that have less than the maximum character size, determining if set limitations exist on each identified short message of the plurality of messages to be sent to the second communication hub that would prevent user data of the short message from being combined with user data from at least one other short message, combining user data in short messages in the user data block that do not have any of the set limitations and when combined are not over the maximum character size into a combined message with a new header, the new header indicating the combined message contains combined user data of the combined short messages, and communicating the combined message to the second communication hub.
Example 2 includes the method of example 1, further comprising: when only one short message to be transmitted to the second communication hub is monitored in the routing queue, determining if the one short message can wait for communication for a select period of time, when the one short message can wait for communication to the second communication hub, waiting the select period of time before communicating the one short message to the second communication hub, and when a second short message is received at the routing queue before the end of the select period of time, combining at least the first and second short messages and communicating the combined first and second short messages to the second communication hub.
Example 3 includes the method of any of the Examples 1-2, wherein the first communication hub and the second communication hub are part of an aircraft communication addressing and reporting system.
Example 4 includes the method of any of the Examples 1-3, wherein the set limitations relate to safety concerns.
Example 5 includes the method of any of the Examples 1-4, wherein the set limitations relate to different final message routing destinations.
Example 6 includes the method of any of the Examples 1-5, further comprising: separating the short messages with at least one message separator.
Example 7 includes the method of any of the Examples 1-6, further comprising: separating out the combined user data in the combined message at the second communication hub.
Example 8 includes the method of any of the Examples 1-7, wherein separating out the combined user data in the combine message at the second communication hub further comprises: reading the new header of the combined message, extracting each message of the combined message, the combined messages being separated by at least one message separator, and communicating each extracted message to an associated application system.
Example 9 includes a method of compressing messages into a message block, the method comprising: monitoring a router queue of a first communication hub for short messages that are waiting to be transmitted to the same second communication hub, wherein a short message is a message that contains less characters than a maximum number of characters allowed in a user data block of the message block, combining at least two short messages monitored in the router queue waiting to be transmitted to the same second communication hub when a combined message character number is less than the maximum number of characters allowed in the user data block of the message block, and transmitting the message block with the combined at least two messages.
Example 10 includes the method of Example 9, further comprising: preventing compression of short message having defined limitations to compression.
Example 11 includes the method of any of the Examples 9-10, further comprising: when only one short message to be transmitted to the second communication hub is monitored in the routing queue, determining if the one short message can wait for communication for a select period of time, and when a second short message is received at the routing queue before the end of the select period of time, combining at least the first and second short messages and communicating the combined first and second short messages to the second communication hub.
Example 12 includes the method of any of the Examples 9-11, further comprising: indicating message compression in a header label of a header of the message block, and placing message separators between combined messages.
Example 13 includes the method of any of the Examples 9-11, further wherein the combining of the at least two short messages monitored in the router queue waiting to be transmitted to the same second communication hub when a combined message character number is less than the maximum number of characters allowed in the user data block of the message block further comprises: combining of the at least two short messages monitored in the router queue waiting to be transmitted to the same second communication hub when a combined message character number plus characters for the message separators and message labels are less than the maximum number of characters allowed in the user data block of the message block.
Example 14 includes the method of any of the Examples 9-13, further comprising: transmitting the message block when it is at least one of the short messages turn to be transmitted.
Example 15 includes a communication hub comprising: a transceiver configured to transmit and receive messages, at least one communication router having a routing queue, the routing queue configured to buffer messages while the messages wait their turn to be transmitted via the transceiver, at least one memory to at least in part store operating instructions, and at least one controller configured to execute the operating instructions stored in the at least one memory, the at least one controller configured to execute the operating instructions to monitor the router queue of the communication hub for short messages that are waiting to be transmitted to a same remote communication hub, wherein a short message is a message that contains less characters in a user data block of the message than a maximum number of characters allowed in the user data block, the at least one controller further configured to execute the operating instructions to compress messages by combining at least two short messages monitored in the router queue waiting to be transmitted to the same remote communication hub when a combined message character number of the at least two short messages is less than a maximum number of characters allowed in a user data block of a compressed message.
Example 16 includes the communication hub of the Example 15, wherein the at least one controller is configured to send a message to the transmitter to transmit the combined message when it is the turn of at least one of the at least two short messages to be transmitted.
Example 17 includes the communication hub of any of the Examples 15-16, further comprising: a plurality of different system applications generating the messages.
Example 18 includes the communication hub of any of the Examples 15-17, wherein the at least one controller is configured to execute the operating instructions to prevent the combining of short messages with select defined limitations.
Example 19 includes the communication hub of any of the Examples 15-18, wherein the at least one controller is configured to execute the operating instructions to count the characters in the short messages, message labels and message separators in determining if the combined at least two short messages have less than the maximum number of characters allowed in the user data block of the combined message.
Example 20 includes the communication hub of any of the Examples 15-19, wherein the at least one controller is configured to execute the operating instructions to decompress received compressed messages through the transceiver.
Although specific embodiments have been illustrated and described herein, it will be appreciated by those of ordinary skill in the art that any arrangement, which is calculated to achieve the same purpose, may be substituted for the specific embodiment shown. This application is intended to cover any adaptations or variations of the present invention. Therefore, it is manifestly intended that this invention be limited only by the claims and the equivalents thereof.