Patent Description:
All digital communication systems such as, for example, cellular and satellite communication systems include several basic components. Specifically, digital communications systems include a data source and/or data destination, a modulator and/or demodulator, a radio frequency (RF) up/down converter, and an antenna with an associated antenna controller. The differences in the specific components of digital communication systems are based on the type of modulation that is employed by a particular communication system as well as the channel access mechanism used in a multi-user environment. The specific type of antenna that is employed by a digital communication system also depends on the particular application as well. For example, satellite communication systems typically employ highly directional antennas that focus RF energy in a particular direction. In contrast, omni-directional antennas focus RF energy in all directions and may be used in applications such as, but not limited to, cellular networks.

Document <CIT>, according to its abstract, states a hybrid in-flight communications system integrates aircraft communications systems and traffic management of the aircraft air-to-ground communications and satellite communications to provide gate-to-gate connectivity to users on an aircraft. A technique for providing users with in-flight connectivity includes a first modem configured to process signals communicated with a non-terrestrial relay point. The apparatus includes a second modem configured to process signals communicated with a terrestrial relay point. The apparatus includes a wireless local area access node configured to communicate with user equipment on the aircraft and a small cell access node configured to communicate with user equipment on the aircraft. The apparatus includes a controller configured to manage first data streams between the small cell access node and the first modem and the second modem. The controller is configured to manage second data streams between the wireless local area access node and the first modem and the second modem. The apparatus may include avionics equipment.

In one example, a broadband satellite communication system includes a ground earth station, a satellite, and a remote terminal that is installed physically on an aircraft. The remote terminal installed on the aircraft employs a satellite modem and manager, which is referred to as a ModMan. However, the ModMan is customized to host a specific modem card. In other words, the ModMan is only capable of supporting a single specific antenna and bandwidth, which is extremely limiting and may create issues. For example, once the remote terminal is installed on an aircraft, if the airline eventually decides to change the specific bandwidth or antenna, then it will be necessary to replace the remote terminal. Furthermore, a replacement terminal requires re-certification as well.

The presently claimed invention SUMMARY is as defined in the independent claims. Further aspects are disclosed in the dependent claims.

The features, functions, and advantages that have been discussed may be achieved independently in various embodiments or may be combined in other embodiments further details of which can be seen with reference to the following description and drawings.

The present disclosure is directed towards a mobile communication system that employs active bandwidth management when sending two or more service data streams to one or more satellite resources over a wireless communication network. Specifically, the disclosed mobile communication system includes a modem manager that receives a primary service data stream from a primary data source as well as a secondary service data stream from a secondary data source, where the primary service data stream takes precedence over the secondary service data stream. In at least some instances, the primary service data stream may have limited bandwidth needs. As a result, a considerable amount of available headroom in a wireless connection between the satellites and the mobile communication system may become available. The disclosed mobile communication system determines if there is unused or available headroom in the wireless connection between the satellites and the mobile communication system. Specifically, the modem manager determines whether there is enough available headroom in the wireless connection to support an aggregated data packet that includes both the primary service data stream and the secondary service data stream. If available headroom exists, then the aggregated data packet is transmitted over the wireless communication network to the satellites. Accordingly, the modem manager supports two or more service data streams without introducing additional elements or cost.

Referring to <FIG>, a mobile communication system <NUM> for sending data over a wireless communication network to one or more satellite resources <NUM> is illustrated. The mobile communication system <NUM> is located upon a mobile platform <NUM>. In the non-limiting embodiment as shown in <FIG>, the mobile platform <NUM> is an aircraft <NUM>, however, it is to be appreciated that the mobile platform <NUM> is any airborne, land-based, or sea-based platform that changes location. For example, in another embodiment, the mobile platform <NUM> is a marine vessel, a train, an automobile, or an unmanned or autonomous aircraft. The one or more satellite resources <NUM> may be any type of satellite for receiving data from the mobile platform <NUM> such as, for example, a low-earth orbit (LEO) or geosynchronous equatorial orbit (GEO) satellites. It is to be appreciated that the mobile communication system <NUM> sends data to the two or more satellite resources <NUM>. However, since the mobile platform <NUM> changes location over time, the specific satellite resources <NUM> that the mobile communication system <NUM> sends data to may change over time. The mobile communication system <NUM> sends two or more types of service data streams to the one or more satellite resources <NUM>, where each service data stream corresponds to a unique communication profile. As explained below, the disclosed mobile communication system <NUM> employs active bandwidth management for supporting the two or more service data streams.

In one embodiment, the two or more service data streams include a primary service data stream and a secondary service data stream, where the primary service data stream takes precedence over the secondary data stream. For example, in one embodiment, the primary service data stream includes either aircraft information traffic or aircraft control traffic, while the secondary data stream includes entertainment traffic. However, it is to be appreciated that this embodiment is merely exemplary in nature, and other or additional types of service data may be included as well. Indeed, although the disclosure describes only a primary service data stream and a secondary service data stream, it is to be appreciated that only two data streams are mentioned for purposes of simplicity and clarity, and the mobile communication system <NUM> may also manage more than two data services as well.

Continuing to refer to <FIG>, the mobile communication system <NUM> includes an antenna terminal <NUM>, a multi-channel modem unit <NUM>, and a modem manager <NUM>. The modem manager <NUM> is in electronic communication with the modem unit <NUM> and the antenna terminal <NUM>, and the modem unit <NUM> is in electronic communication with the antenna terminal <NUM>. In one example, an optional wireless communication link <NUM> may be used to electronically connect the antenna terminal <NUM> with the modem manager <NUM>. In one embodiment, the wireless communication link <NUM> operates at a relatively low frequency such as, for example, an L-band switch network ranging from about <NUM> to about <NUM> gigahertz. The modem manager <NUM> is in electronic communication with one or more primary data sources <NUM> and one or more secondary data sources <NUM>. For example, in an embodiment the modem manager <NUM> is in electronic communication with the one or more primary data sources <NUM> and the one or more secondary data sources <NUM> over an ethernet connection. The modem manager <NUM> receives a primary service data stream from the one or more primary data sources <NUM> and a secondary service data stream from the one or more secondary data sources <NUM>.

The one or more satellite resources <NUM> are also in wireless communication with the antenna terminal <NUM> of the mobile communication system <NUM> over a wireless communication network. The one or more satellite resources <NUM> are also in wireless communication with one or more ground earth stations <NUM> over a wireless communication network as well. The ground earth stations <NUM> are in electronic communication with a client <NUM> over a wireless communication network <NUM>, where the wireless communication network <NUM> may be terrestrial internet. In an embodiment, data is sent from the one or more satellite resources <NUM> to the antenna terminal <NUM> of the mobile communication system <NUM> over a forward channel <NUM>. Data from the sources <NUM>, <NUM> of the mobile platform <NUM> is communicated to the modem manager <NUM>, and the data is then sent to the one or more satellite resources <NUM> through a return channel <NUM>. Data is sent from each satellite resource <NUM> to the corresponding ground earth station <NUM> by a downlink <NUM>. Likewise, data is sent from a corresponding one of the ground earth stations <NUM> to one of the satellite resources <NUM> by an uplink <NUM>.

<FIG> is a schematic diagram of the mobile communication system <NUM> shown in <FIG>. The antenna terminal <NUM> includes one or more antennas <NUM>, where each antenna <NUM> includes both transmitting and receiving capabilities. For example, in the embodiment as shown in <FIG>, there are N number of antennas <NUM>, where N is any whole number. The one or more antennas <NUM> include single-beam antennas, dual-beam antennas, and multi-beam antennas. In one embodiment, the antenna terminal <NUM> includes as few as one single-beam antenna <NUM>. Alternatively, in another embodiment, the antenna terminal <NUM> unit includes a plurality of multi-beam antennas. For example, in an embodiment, the antennas <NUM> are combined Ka/Ku antennas, with the ability to switch between frequency bands as required. The one or more antennas <NUM> are in wireless communication with the modem manager <NUM> over the wireless communication link <NUM>.

The modem unit <NUM> includes two or more modems <NUM>. For example, in the embodiment as shown in <FIG>, there are N number of modems <NUM>. The two or more modems <NUM> are in electronic communication with one or more antennas <NUM>. Each modem <NUM> is configured to support one of the service data streams (i.e., the primary service data stream and the secondary service data stream). The modem unit <NUM> includes an antenna switch <NUM> configured to connect each modem <NUM> to one or more of the antennas <NUM>.

The modem manager <NUM> is configured to manage the active bandwidth between the one or more satellite resources <NUM> and the mobile communication system <NUM>. Specifically, the modem manager <NUM> is configured to continuously monitor the bandwidth utilization efficiency of the wireless communication between the one or more satellite resources <NUM> and the mobile communication system <NUM> (i.e., the return channel <NUM> seen in <FIG>). The bandwidth capacity of wireless communication between the one or more satellite resources <NUM> and the mobile communication system <NUM> is configured to meet the service level agreement for the primary service data stream. However, it is to be appreciated that in at least some instances, the primary service data stream may have limited bandwidth needs. As a result, there may be a considerable amount of unused headroom in the wireless connection between the one or more satellite resources <NUM> and the mobile communication system <NUM>.

The mobile communication system <NUM> takes advantage of the unused headroom by actively managing the bandwidth of the wireless connection between the mobile communication system <NUM> and the one or more satellite resources <NUM> (i.e., the return channel <NUM>). Specifically, the modem manager <NUM> determines the bandwidth utilization efficiency of the wireless connection between the mobile communication system <NUM> and the one or more satellite resources <NUM>, where the modem manager <NUM> determines if available headroom <NUM> exists based on the bandwidth utilization efficiency. In response to determining there is available headroom <NUM> in the wireless connection between the one or more satellite resources <NUM> and the mobile communication system <NUM>, the modem manager <NUM> then determines whether there is enough available headroom <NUM> to support a data service stream that combines the primary service data stream and the secondary service data stream together. As explained in greater detail below, the modem manager <NUM> combines the primary service data stream and the secondary service data stream together to create an aggregated data packet <NUM> (seen in <FIG>). If the aggregated data packet <NUM> fits within the available headroom <NUM>, then the modem manager <NUM> transmits the aggregated data packet <NUM> over the wireless communication network to the one or more satellite resources <NUM>. The modem manager <NUM> actively manages the bandwidth utilization efficiency of the wireless connections between the one or more satellite resources <NUM> and the mobile communication system <NUM>, thereby supporting the requirements of two or more service data streams, and without introducing additional elements or cost. It is to be appreciated that although the return channel <NUM> between the one or more satellite resources <NUM> and the mobile communication system <NUM> is described, a similar approach to managing bandwidth may be applied to the uplink <NUM> between one of the satellite resources <NUM> and the ground station <NUM> as well.

<FIG> is an exemplary diagram <NUM> illustrating how the aggregated data packet <NUM> is created. The diagram <NUM> illustrates a plurality of primary data packets <NUM> that are arranged in sequence with one another along a first row R1, where the plurality of primary data packets <NUM> are part of the primary service data stream. The primary data packets <NUM> each represent a contiguous group of bits, where each primary data packet <NUM> is assigned a bandwidth and a priority. The diagram <NUM> also includes a plurality of secondary data packets <NUM> that are arranged in sequence with one another along a second row R2, where the plurality of secondary data packets <NUM> are part of the secondary service data stream. The secondary data packets <NUM> also represent a contiguous group of bits, where each secondary data packet <NUM> is assigned a bandwidth and a priority. In the exemplary embodiment as shown in <FIG>, there are sixteen primary data packets <NUM> and eight secondary data packets <NUM>.

The diagram <NUM> also illustrates a plurality of bandwidth slots <NUM> that are arranged in sequence with one another, where each bandwidth slot <NUM> represents a unit of headroom in the return channel <NUM> (<FIG>) for a specific unit of time. For example, the bandwidth slot <NUM> may be measured by frequency (e.g., megahertz) or by data transfer rate (e.g., megabytes per second). In the exemplary embodiment as shown in <FIG>, twenty-seven bandwidth slots <NUM> are numbered in sequence (e.g., the slots are each numbered <NUM>-<NUM>). The bandwidth slots <NUM> are divided into transmittals <NUM>, where the transmittals <NUM> occur sequentially over the return channel <NUM>. In the example as shown in <FIG>, six transmittals <NUM> are shown. The first transmittal <NUM> includes seven bandwidth slots <NUM>, the second transmittal <NUM> includes five bandwidth slots <NUM>, the third transmittal <NUM> includes five bandwidth slots <NUM>, the fourth transmittal <NUM> includes five bandwidth slots <NUM>, the fifth transmittal <NUM> includes three bandwidth slots <NUM>, and the sixth transmittal <NUM> includes two bandwidth slots <NUM>.

As seen in <FIG>, four primary data packets <NUM> and two secondary data packets <NUM> are part of the first transmittal <NUM>. The primary data packets <NUM> and the secondary data packets <NUM> that are part of the first transmittal <NUM> are combined together to create a first aggregated data packet <NUM>, where the primary data packets <NUM> take precedence over the secondary data packets <NUM>. As seen in <FIG>, the aggregated data packet <NUM> includes a size requiring six bandwidth slots <NUM>. As also seen in <FIG>, a size of the available headroom <NUM> is seven bandwidth slots <NUM>. Accordingly, the modem manager <NUM> determines the size of the aggregated data packet <NUM> (e.g., six bandwidth slots <NUM>) is less than the size of the available headroom <NUM> in the wireless connection between the one or more satellite resources <NUM> and the mobile communication system <NUM> (e.g., seven bandwidth slots <NUM>). In response to determining the aggregated data packet <NUM> is less than or equal to the size of the available headroom <NUM>, the modem manager <NUM> transmits the aggregated data packet <NUM> over the wireless communication network to the one or more satellite resources <NUM> (shown in <FIG>).

Continuing to refer to <FIG> and <FIG>, the third transmittal <NUM> includes four primary data packets <NUM> and two secondary data packets <NUM>. Therefore, the aggregated data packet <NUM> requires six bandwidth slots <NUM>. However, in contrast to the first transmittal <NUM>, the available headroom <NUM> includes only five bandwidth slots <NUM>. Thus, the aggregated data packet <NUM> is greater than the size of the available headroom <NUM>. Therefore, only the primary data packets <NUM> are sent during the third transmittal <NUM>. In one embodiment, the remaining secondary data packets <NUM> that were not sent during the third transmittal <NUM> are transmitted during subsequent transmittals <NUM>. For example, in the embodiment as seen in <FIG>, one of the two remaining secondary data packets <NUM> are sent during the fourth transmittal, and the other remaining secondary data packet <NUM> is sent during the fifth transmittal <NUM>. As explained below, other alternatives exist when transmitting the remaining secondary data packets <NUM>.

In one embodiment, there may be more than one antenna <NUM> available to transmit the primary service data stream and the secondary service data stream or, in the alternative, the available antenna <NUM> is a dual-beam antenna <NUM> having one or more available beams. For example, as seen in <FIG>, in one embodiment the mobile communication system <NUM> includes a primary antenna 50A and a secondary antenna 50B, where the primary antenna 50A and the secondary antenna 50B operate in single-beam mode. In one embodiment, the primary antenna 50A and the secondary antenna 50B include similar costs. In other words, the cost of transmitting data over the primary antenna 50A is about equal to the cost of transmitting data by the secondary antenna 50B. Referring now to <FIG>, the primary data packets <NUM> of the primary service data stream are transmitted by the primary antenna 50A, while the secondary data packets <NUM> that are part of the secondary service data stream are transmitted by the secondary antenna 50B.

Referring back to <FIG>, in another embodiment a multi-beam antenna <NUM> configured to transmit at least a primary beam <NUM> and a secondary beam <NUM> is provided. Similar to the primary antenna 50A and the secondary antenna 50B, if the cost of transmitting data over the primary beam <NUM> transmitted by the multi-beam antenna <NUM> is similar to the cost of transmitting data over the secondary beam <NUM> transmitted by the multi-beam antenna <NUM>, then the primary data packets <NUM> of the primary service data stream are transmitted by the primary beam <NUM> while the secondary data packets <NUM> of the secondary service data stream are transmitted by the secondary beam <NUM>, which is shown in <FIG>.

In some instances, the cost of transmitting data over the primary antenna 50A is greater than the cost of transmitting data by the secondary antenna 50B. Accordingly, the modem manager <NUM> assigns the primary service data stream and the secondary data stream to the primary antenna 50A, but utilizes the secondary antenna 50B as a backup or alternative antenna for transmitting data when there is insufficient headroom available in the wireless connection between the primary antenna 50A and the one or more satellite resources <NUM>. Similarly, the modem manager <NUM> also assigns the primary service data stream and the secondary data stream to the primary beam <NUM>, but also utilizes the secondary beam <NUM> as an alternative beam for transmitting data when there is insufficient headroom available. Referring to <FIG>, <FIG>, and <FIG>, the modem manager <NUM> (<FIG>) transmits the aggregated data packet <NUM> over the primary antenna 50A when the aggregated data packet <NUM> is less than or equal to the size of the available headroom <NUM> (the available headroom <NUM> is shown in <FIG>). However, as mentioned above, in contrast to the first transmittal <NUM>, the third transmittal <NUM> includes only five bandwidth slots <NUM>. Thus, the aggregated data packet <NUM> is greater than the size of the available headroom <NUM>. Therefore, as seen in <FIG>, the primary data packets <NUM> that are part of the third transmittal <NUM> are transmitted by the primary antenna 50A or the primary beam <NUM>, however, the two remaining secondary data packets <NUM> are transmitted using the secondary antenna 50B or the secondary beam <NUM>. <FIG>, <FIG>, and <FIG> illustrate an exemplary process flow diagram illustrating a method <NUM> for sending data to the one or more satellite resources <NUM> over the wireless communication network. Referring to <FIG>, <FIG>, <FIG>, and <FIG>, the method <NUM> may begin at block <NUM>. In block <NUM>, the modem manager <NUM> receives the primary service data stream from the one or more primary data sources <NUM> and the secondary service data stream from the one or more secondary data sources <NUM>. The method <NUM> may then proceed to block <NUM>.

In block <NUM>, the modem manager <NUM> determines the bandwidth utilization efficiency of the wireless connection between the mobile communication system <NUM> and the one or more satellite resources <NUM>. In an embodiment, the bandwidth utilization efficiency of the one or more satellite resources is determined based on Equation <NUM>, which is: <MAT> where B represents a bandwidth of the one or more satellite resources <NUM>, PB represents a bandwidth of the primary data packets <NUM>, SB represents a bandwidth of the secondary data packets <NUM>, and where the bandwidth utilization efficiency is measured as a percentage. The method <NUM> may then proceed to decision block <NUM>.

In decision block <NUM>, the modem manager <NUM> determines if the wireless connection between the one or more satellite resources <NUM> and the mobile communication system <NUM> has available headroom <NUM> (<FIG>) based on the bandwidth utilization efficiency described in block <NUM>. For example, in one embodiment if the bandwidth utilization efficiency is one hundred percent (<NUM>%), then the modem manager <NUM> determines available headroom <NUM> does not exist, and the method <NUM> returns to block <NUM>. However, if the bandwidth utilization efficiency is less than one hundred percent (<NUM>%), then the modem manager <NUM> determines available headroom <NUM> exists, and the method <NUM> proceeds to block 208A.

In block 208A, in response to determining the wireless connection between the mobile communication system <NUM> and the one or more satellite resources <NUM> have available headroom <NUM>, the modem manager <NUM> combines the primary service data stream with the secondary service data stream to create the aggregated data packet <NUM> shown in <FIG>. Specifically, as seen in block 208B, the modem manager <NUM> determines the aggregated data packet <NUM> based on the priority of the one or more primary data packets <NUM> and the one or more secondary data packets <NUM>, where the primary service data stream takes precedence over the secondary service data stream. The method <NUM> may then proceed to decision block <NUM>.

Referring now to <FIG>, in decision block <NUM> the modem manager <NUM> compares the size of the aggregated data packet <NUM> with the size of the available headroom <NUM> of the wireless connection between the mobile communication system <NUM> and the one or more satellite resources <NUM>. If the modem manager <NUM> determines the size of the aggregated data packet <NUM> is less than or equal to the size of the available headroom <NUM>, then the method <NUM> proceeds to block <NUM>.

In block <NUM>, in response to determining the aggregated data packet <NUM> is less than or equal to the size of the available headroom <NUM>, the modem manager <NUM> transmits the aggregated data packet <NUM> over the wireless connection. The method <NUM> may then terminate. However, if the modem manager <NUM> determines the size of the aggregated data packet <NUM> is greater than the size of the available headroom <NUM> of the wireless connection, then the method <NUM> proceeds to decision block <NUM>.

In decision block <NUM>, if the antenna <NUM> is a multi-beam antenna <NUM> or, alternatively, if more than one antenna <NUM> is available, then the method <NUM> proceeds the decision block <NUM>. Otherwise, the method <NUM> returns back to block <NUM>, and the modem manager <NUM> continues to receive the primary service data stream and the secondary service data stream.

Referring to <FIG>, in decision block <NUM> if the modem manager <NUM> determines the multi-beam antenna <NUM> is available in multi-beam mode or, alternatively, if the modem manager <NUM> determines both a primary antenna 50A and a secondary antenna 50B (seen in <FIG>) are available, then the method <NUM> proceeds to block <NUM>. Otherwise, the method <NUM> returns back to block <NUM>.

Referring to <FIG>, in block <NUM>, in response to determining the size of the aggregated data packet <NUM> is greater than the size of the available headroom <NUM>, the modem manager <NUM> assigns the primary data packets <NUM> of the primary service data stream that are part of the aggregated data packet <NUM> to the primary antenna <NUM> and the secondary data packets <NUM> of the secondary service data stream that are part of the aggregated data packet <NUM> to the secondary antenna 50B, which is shown in <FIG>. Alternatively, the modem manager <NUM> assigns the primary data packets <NUM> of the aggregated data packet <NUM> to the primary beam <NUM> and the secondary data packets <NUM> of the aggregated data packet <NUM> to the secondary beam <NUM>. The method <NUM> may then terminate.

Referring generally to the figures, the disclosed mobile communication system provides various technical effects and benefits. Specifically, the modem manager employs active bandwidth management to support two or more service data streams, without the need to introduce additional elements or cost. The disclosed mobile communication system also improves the overall bandwidth utilization efficiency since the wireless connection to the one or more satellite resources is used to transmit the secondary service data stream if available headroom exists. It is to be appreciated that some conventional broadband satellite communication systems are customized to host a single specific modem card, which is extremely limiting. In contrast, the disclosed mobile communication system includes two or more modems, which in turn support different types of antennas and bandwidths.

Referring now to <FIG>, the modem manager <NUM> are implemented on one or more computer devices or systems, such as exemplary computer system <NUM>. The computer system <NUM> includes a processor <NUM>, a memory <NUM>, a mass storage memory device <NUM>, an input/output (I/O) interface <NUM>, and a Human Machine Interface (HMI) <NUM>. The computer system <NUM> is operatively coupled to one or more external resources <NUM> via the network <NUM> or I/O interface <NUM>. External resources may include, but are not limited to, servers, databases, mass storage devices, peripheral devices, cloud-based network services, or any other suitable computer resource that may be used by the computer system <NUM>.

The processor <NUM> includes one or more devices selected from microprocessors, microcontrollers, digital signal processors, microcomputers, central processing units, field programmable gate arrays, programmable logic devices, state machines, logic circuits, analog circuits, digital circuits, or any other devices that manipulate signals (analog or digital) based on operational instructions that are stored in the memory <NUM>. Memory <NUM> includes a single memory device or a plurality of memory devices including, but not limited to, read-only memory (ROM), random access memory (RAM), volatile memory, non-volatile memory, static random-access memory (SRAM), dynamic random-access memory (DRAM), flash memory, cache memory, or any other device capable of storing information. The mass storage memory device <NUM> includes data storage devices such as a hard drive, optical drive, tape drive, volatile or non-volatile solid-state device, or any other device capable of storing information.

The processor <NUM> operates under the control of an operating system <NUM> that resides in memory <NUM>. The operating system <NUM> manages computer resources so that computer program code embodied as one or more computer software applications, such as an application <NUM> residing in memory <NUM>, may have instructions executed by the processor <NUM>. In an alternative example, the processor <NUM> may execute the application <NUM> directly, in which case the operating system <NUM> may be omitted. One or more data structures <NUM> also reside in memory <NUM>, and may be used by the processor <NUM>, operating system <NUM>, or application <NUM> to store or manipulate data.

The I/O interface <NUM> provides a machine interface that operatively couples the processor <NUM> to other devices and systems, such as the network <NUM> or external resource <NUM>. The application <NUM> thereby works cooperatively with the network <NUM> or external resource <NUM> by communicating via the I/O interface <NUM> to provide the various features, functions, applications, processes, or modules comprising examples of the disclosure. The application <NUM> also includes program code that is executed by one or more external resources <NUM>, or otherwise rely on functions or signals provided by other system or network components external to the computer system <NUM>. Indeed, given the nearly endless hardware and software configurations possible, persons having ordinary skill in the art will understand that examples of the disclosure may include applications that are located externally to the computer system <NUM>, distributed among multiple computers or other external resources <NUM>, or provided by computing resources (hardware and software) that are provided as a service over the network <NUM>, such as a cloud computing service.

The HMI <NUM> is operatively coupled to the processor <NUM> of computer system <NUM> in a known manner to allow a user to interact directly with the computer system <NUM>. The HMI <NUM> may include video or alphanumeric displays, a touch screen, a speaker, and any other suitable audio and visual indicators capable of providing data to the user. The HMI <NUM> also includes input devices and controls such as an alphanumeric keyboard, a pointing device, keypads, pushbuttons, control knobs, microphones, etc., capable of accepting commands or input from the user and transmitting the entered input to the processor <NUM>.

Claim 1:
A mobile communication system (<NUM>) on a mobile platform (<NUM>), for sending data to one or more satellite resources (<NUM>) over a wireless connection, the mobile communication system (<NUM>) comprising:
one or more processors (<NUM>);
one or more antennas (<NUM>) in electronic communication with the one or more processors (<NUM>); and
a memory (<NUM>) coupled to the one or more processors (<NUM>), the memory (<NUM>) storing data into a database (<NUM>) and program code that, when executed by the one or more processors (<NUM>), causes the mobile communication system (<NUM>) to:
receive a primary service data stream from one or more primary data sources (<NUM>) and a secondary service data stream from one or more secondary data sources (<NUM>);
determine a bandwidth utilization efficiency of the wireless connection between the mobile communication system (<NUM>) and the one or more satellite resources (<NUM>);
determine the wireless connection has available headroom (<NUM>) based on the bandwidth utilization efficiency of the one or more satellite resources (<NUM>);
in response to determining the wireless connection has available headroom (<NUM>), combine the primary service data stream with the secondary service data stream to create an aggregated data packet (<NUM>);
compare a size of the aggregated data packet (<NUM>) with a size of the available headroom (<NUM>) of the wireless connection between the mobile communication system (<NUM>) and the one or more satellite resources (<NUM>);
determine if the size of the aggregated data packet (<NUM>) is less than or equal to the size of the available headroom (<NUM>); and
in response to determining the size of the aggregated data packet (<NUM>) is less than or equal to the size of the available headroom (<NUM>), transmit the aggregated data packet (<NUM>) over the wireless connection;
determine if the size of the aggregated data packet (<NUM>) is greater than the size of the available headroom (<NUM>) of the wireless connection; and
in response to determining the size of the aggregated data packet (<NUM>) is greater than the size of the available headroom (<NUM>) and if the one or more antennas (<NUM>) does not comprise a multi-beam antenna (<NUM>) and if no more than one antenna (<NUM>) is available, continue to receive the primary service data stream and the secondary service data stream.