Patent ID: 12244395

DETAILED DESCRIPTION

The described features relate to satellite beam handover based on predicted network conditions. The described handover techniques may use flight plan data to identify candidate satellite beams for providing network service for a plurality of aircraft. Each of the candidate satellite beams may be available for providing the network service over a particular service timeframe based on the beam coverage areas and the flight plan data. The techniques may then obtain a beam utilization score for each of the candidate satellite beams, the score indicating the predicted beam utilization of the candidate satellite beam over an associated service timeframe. The techniques allow for a satellite communications system to select satellite beams for providing network service of each aircraft based on the candidate satellite beams' beam utilization scores. After the satellite beams are selected, the system may then schedule handovers or a series of handovers of network service for the aircraft to the selected satellite beams.

This description provides examples, and is not intended to limit the scope, applicability or configuration of embodiments of the principles described herein. Rather, the ensuing description will provide those skilled in the art with an enabling description for implementing embodiments of the principles described herein. Various changes may be made in the function and arrangement of elements.

Thus, various embodiments may omit, substitute, or add various procedures or components as appropriate. For instance, it should be appreciated that the methods may be performed in an order different than that described, and that various steps may be added, omitted or combined. Also, aspects and elements described with respect to certain embodiments may be combined in various other embodiments. It should also be appreciated that the following systems, methods, devices, and software may individually or collectively be components of a larger system, wherein other procedures may take precedence over or otherwise modify their application.

FIG.1is a simplified diagram of a satellite communications system100in which the principles included herein may be described. The satellite communications system100may provide network access service to users180on-board mobile vessels130-a. The network access service may be provided to the users180via a multi-user access terminal170, to which users180may connect their communication devices175via wired (e.g., Ethernet) or wireless (e.g., WLAN) connections176. The multi-user access terminal170may obtain the network access service via a satellite beam145. The satellite communications system100is a multiple access system capable of providing network service for multiple mobile vessels130(e.g., mobile vessels130-a,130-n, etc.) and the network users180of each mobile vessels130. It should be noted that although mobile vessels130-athrough130-nare illustrated as aircraft and aircraft are used as examples in the description that follows, references to aircraft may also be any type of mobile vessel transporting multiple passengers such as buses, trains, ships, etc.

The satellite communications system100may include any suitable type of satellite system, including a geostationary satellite system, medium earth orbit (MEO), or low earth orbit (LEO) satellite system. Although only a single satellite beam145is illustrated, the satellite105may be a multi-beam satellite, transmitting a number (e.g., typically 20-500, etc.) of satellite beams145each directed at a different region of the earth. The satellite beams145of satellite105may include satellite beams that may be of different sizes from each other. The number of satellite beams145can allow coverage of a relatively large geographical area and frequency re-use within the covered area. Frequency re-use in multi-beam satellite systems permits an increase in capacity of the system for a given system bandwidth. Although illustrated as including one satellite105, the satellite communications system100may include multiple satellites. The multiple satellites may have service coverage areas that at least partially overlap with each other.

The satellite communications system100includes a gateway system115and a network120, which may be connected together via one or more wired or wireless links. The gateway system115is configured to communicate with one or more aircraft130via satellite105. The network120may include any suitable public or private networks and may be connected to other communications networks (not shown) such as the Internet, telephony networks (e.g., Public Switched Telephone Network (PSTN), etc.), and the like. The network120may connect the gateway system115with other gateway systems, which may also be in communication with the satellite105. Alternatively, a separate network linking gateways and other nodes may be employed to cooperatively service user traffic. Gateway system115may also be configured to receive return link signals from fixed terminals185and aircraft130(via the satellite105) that are directed to a destination in the network120or the other communication networks.

The gateway system115may be a device or system that provides an interface between the network120and the satellite105. The gateway system115may use an antenna110to transmit signals to and receive signals from the satellite105via a gateway uplink135and a gateway downlink140. The antenna110may be two-way capable and designed with adequate transmit power and receive sensitivity to communicate reliably with the satellite105. In one embodiment, satellite105is configured to receive signals from the antenna110within a specified frequency band and specific polarization.

The satellite communications system100also includes a beam handover manager125, which may be coupled with gateway system115and/or network120. The beam handover manager125may receive flight plan data for aircraft130that are being provided network access service by satellite communications system100. The beam handover manager125may receive flight plan data for aircraft130that are already in flight at the time the flight plan data is initially received or updated, or for aircraft that are not yet in flight but have filed a flight plan or otherwise have a planned flight path. For example, the flight plan data may be received for each of multiple aircraft130, from a centralized database accessible via network120, etc. The centralized database may include, for example, filed flight plan information (e.g., flight paths filed with the Federal Aviation Administration (FAA), etc.), and may be supplemented with current status information (e.g., takeoff information, GPS coordinates, flight delays, etc.). The flight plan data may include present route information, planned route information, or other path related information associated with the aircraft130. For example, planned information can include origin and destination locations, and planned travel path, altitude, speed, etc. over the trip. Present information can include present (or last reported) location, altitude, speed, etc. Other path related information may include weather patterns or historical data from similar trips.

The beam handover manager125may use the received flight plan data to identify candidate satellite beams for providing network service to mobile multi-user terminals on multiple aircraft130over a service timeframe, which may be the time over which the flight plan data is known, or some other time interval. Each of the candidate satellite beams may be available for providing the network service to different aircraft over different service windows. The flight plan data may include predicted flight route information, or other information (e.g., departure location, destination location, departure time, estimated arrival time, etc.) from which a flight path may be estimated for the aircraft.

Beam handover manager125may then then obtain a beam utilization score for each of the candidate satellite beams, the score indicating the predicted beam utilization of the candidate satellite beam over an associated service timeframe. The predicted beam utilization of a candidate satellite beam may be based on the predicted network demands for any multi-user access terminals170and/or fixed terminals185to be serviced by the candidate satellite beam within the associated service timeframe. Beam handover manager125may then select satellite beams for providing network service of each aircraft based on the satellite beams' beam utilization scores. After the satellite beams are selected, beam handover manager125may then schedule handovers or a series of handovers of network service for the aircraft130to the selected satellite beams. The manner in which the beam handover manager125schedules the handover(s) to the selected satellite beam(s) for each aircraft130can vary from embodiment to embodiment. In some embodiments, the beam handover manager125schedules the handover(s) by storing data in memory indicating each of the selected satellite beam(s) and the time to handover to each. When is it time for handover, the beam handover manager125can then notify the aircraft130by communicating a message via the satellite communications system100to the corresponding multi-user access terminal170indicating the selected satellite beam. The message may include a unique identifier of the multi-user access terminal170and/or aircraft130that can be used to determine the message is intended for it. In response to the message, the multi-user access terminal170can then handover communications to the selected satellite beam. Handover of communications to the selected satellite beam may, for example, include changing one or more parameters of the multi-user access terminal170such as the operating frequencies, polarization, power level, etc. In embodiments in which the handover includes switching communication to a second satellite, this may also include repointing of the antenna165at the second satellite.

In other embodiments, the beam handover manager125schedules the handover(s) by communicating a respective message to each aircraft130indicating some or all of the selected satellite beam(s) and the time to handover to each. The multi-user access terminal170of each aircraft130can store its respective message in memory. When it is time for handover, the multi-user access terminal170can then handover communications to the selected satellite beam.

Each satellite beam145of the satellite105may support the aircraft130within its coverage area (e.g., providing uplink and downlink resources). The coverage of different satellite beams145may be non-overlapping or have varying measures of overlap. Satellite beams145of the satellite105may be tiled and partially overlapping to provide complete or almost complete coverage for a relatively large geographical area where partially overlapping (e.g., at a beam contour defined by a beam strength or gain for providing service via the beam) beams use different ranges of frequencies and/or polarizations (e.g., different colors). Some satellite beams145may be sized differently (have a different beamwidth) than other satellite beams145. For example, the coverage area of one satellite beam may be partially overlapping or located entirely within a different satellite beam. Some satellite beams145may be targeted at areas of higher demand (e.g., more densely populated areas), while other satellite beams145provide service over larger areas. Thus, an aircraft130at any given location may be able to be served by one of multiple available satellite beams, which may be satellite beams of the same satellite, or different satellites, in some cases.

The multi-user access terminal170may use an antenna165mounted on aircraft130-ato communicate signals with the satellite105via a satellite beam downlink155-aand satellite beam uplink160-a. The antenna165may be mounted to an elevation and azimuth gimbal which points the antenna165(e.g., actively tracking) at satellite105. The satellite communications system100may operate in the International Telecommunications Union (ITU) Ku. K, or Ka-bands, for example from 17.7 to 21.2 Giga-Hertz (GHz) in the downlink portion and from 27.5 to 31 GHz in the uplink portion of the Ka band. Alternatively, satellite communications system100may operate in other frequency bands such as C-band, X-band, S-band, L-band, and the like.

In satellite communication system100, users180-ato180-nmay utilize the network access service via mobile devices175. Each user180-ato180-nmay be provided service via the satellite communication system100by connecting (e.g., via a wired or wireless connection) a mobile device175(e.g., desktop computer, laptop, set-top box, smartphone, tablet, Internet-enabled television, and the like) to the multi-user access terminal170. As illustrated inFIG.1, mobile devices175-ato175-nare connected via wired or wireless connections176(e.g., Wi-Fi, Ethernet, etc.) to multi-user access terminal170. Multi-user access terminal170may receive data from satellite105via satellite beam downlink155-aand transmit data to satellite105via satellite beam uplink160-a. Other aircraft within the satellite beam145such as aircraft130-nmay receive data from satellite105via satellite beam downlink155-nand transmit data to satellite105via satellite beam uplink160-n. While satellite communication system100is illustrated providing mobile network access service to mobile users180aboard aircraft130, it can be appreciated that the principles described herein for providing network access service to mobile users may be provided using multi-user access terminals positioned in fixed locations or on various modes of transportation where multiple mobile users may desire network access via satellite communications system100(e.g., trains, boats, busses, etc.).

Each satellite beam145of the satellite105may also support a number of fixed terminals185. Fixed terminals185may receive data from satellite105via satellite beam downlink155-band transmit data via satellite beam uplink160-b. A fixed terminal185may be any two-way satellite ground station such as a very small aperture terminal (VSAT). A fixed terminal185may provide services to subscribers associated with the fixed terminal such as data, voice, and video signals. Each fixed terminal may typically provide service to a small number of users (e.g., a residence or business). As illustrated inFIG.1, a satellite beam145, assigned to a particular frequency range and polarization, may carry satellite beam downlinks155or satellite beam uplinks160for both fixed terminals185and multi-user access terminals170. The satellite beam downlinks155or satellite beam uplinks160for fixed terminals185and multi-user access terminals170may be multiplexed within the satellite beam145using multiplexing techniques such as time-division multiple access (TDMA), frequency-division multiple access (FDMA), multi-frequency time-division multiple access (MF-TDMA), code-division multiple access (CDMA), orthogonal frequency division multiple access (OFDMA), and the like.

FIG.2is a diagram showing an example of a service area200with satellite105-aproviding network coverage with satellite beams in accordance with various aspects of the present disclosure. The satellite105-amay use a particular system bandwidth and have multiple satellite beams205-a,205-b,205-c, and205-d(shown by their associated satellite beam coverage areas). The satellite beams205may each use portions of the system resources (e.g., a polarization and a portion of the system bandwidth, etc.). The satellite beam coverage areas may illustrate a given beam contour level of the corresponding satellite beam associated with a minimum desired signal level for service via the satellite beam. For example, the satellite beam coverage areas may represent a −1 dB, −2 dB, or −3 dB attenuation from the peak gain, or may be defined by an absolute signal strength, signal-to-noise ratio (SNR), or signal-to-interference plus noise ratio (SINR) level. The satellite beam coverage areas for satellite beams205may be different sizes and/or dimensions for various reasons such as satellite azimuth, frequency, or intentional beam-shaping techniques (e.g., shaped antenna systems, beamforming, etc.). Each satellite beam205may service one or more aircraft within its satellite beam coverage area, and aircraft within more than one satellite beam205may be serviced by any one of the satellite beams at a given time.

The illustrated service area200may be a region within an overall service area of satellite105-aand may include other satellite beams that are not shown inFIG.2for the sake of clarity. Satellite105-amay be a part of various types of satellite systems. For example, satellite105-amay utilize a fixed beam architecture where the satellite beams may each be intentionally fixed on particular geographic areas. A fixed beam refers to a spot beam for which the angular beamwidth and coverage area does not intentionally vary with time. Geostationary satellites often use fixed beams. In some examples, satellite beam coverage areas of adjacent satellite beams in a fixed beam system may be partially overlapping to provide continuous coverage, and overlapping satellite beams use different ranges of frequencies and/or polarizations (e.g., colors). In other examples, satellite105-amay be part of a Low Earth Orbit (LEO) satellite system. To maintain a stable low Earth orbit, a satellite in a LEO satellite system needs to sustain a minimum orbital velocity which may not be the same speed at which the Earth rotates. Because a particular satellite's orbit is not geostationary, satellite105-amay be a network of satellites in order to provide continuous coverage over service area200. The network of satellites may move following a similar orbit path in order to provide continuous network service to service area200.

FIG.2shows the flight plans for multiple aircraft130flying or scheduled to fly through the service area200within a service timeframe. For example, aircraft130-a.130-b, and130-cmay be traveling or are forecasted to travel through satellite beams205-a,205-b,205-c, and205-d. Beam handover manager125may determine the forecasted travel paths for each of aircraft130through flight plan data that beam handover manager125receives for each aircraft130.

From the current geographic locations and forecasted travel paths of each aircraft130, beam handover manager125may determine the predicted locations of each aircraft130during a service timeframe (e.g., a predetermined period of time or a time period for which flight data is known, etc.). Based on the predicted locations, beam handover manager125may identify prospective candidate satellite beams that may be able to provide network access service to each aircraft130within the service timeframe. Each prospective candidate satellite beam may have an associated service window for each aircraft130for which it can provide network service during the service timeframe.

FIG.3illustrates service availabilities300-a,300-b,300-c, and300-ddepicting determination of candidate satellite beams for aircraft based on flight plan data, in accordance with various aspects of the present disclosure. For example,FIG.3may illustrate when satellite beams205-a,205-b,205-c, and205-dmay provide network service to aircraft130-a,130-b, and130-cofFIG.2over service timeframe305. Service timeframe305may be a fixed period of time (e.g., a given number of minutes or hours, etc.), or may be dynamically determined based on the availability of flight data or estimated accuracy of flight data over time.

Specifically, service availability300-aillustrates service windows tsw[A:1]310-a-1, tsw[B:1]310-b-1, and tsw[C:1]310-c-1when satellite beam205-aofFIG.2is a candidate beam for aircraft130-a.130-b, and130-c, respectively. As can be seen fromFIG.2, aircraft130-bbegins its flight plan within the coverage area of satellite beam205-a, which is shown inFIG.3by service window tsw[B:1]310-b-1starting at the beginning of service timeframe305. The flight plan data for aircraft130-aand130-cshow them to be outside the coverage area for satellite beam205-aat the beginning of the service timeframe305(which may be the current time). Thus, service windows tsw[A:1]310-a-1and tsw[C:1]310-c-1do not start at the beginning of the service timeframe305.FIG.2illustrates aircraft130-band130-cexiting the coverage area of satellite beam205-aprior to the end of the service timeframe305, which is depicted inFIG.3by service windows tsw[B:1]310-b-1and tsw[C:1]310-c-1, respectively, terminating before the end of service timeframe305. However, as shown by service window310-a-1, once within the coverage area of satellite beam205-a, aircraft130-adoes not exit the coverage area of satellite beam205-aprior to the end of service timeframe305.

In another example, service availability300-bfor satellite beam205-bfromFIG.2also shows that satellite beam205-bprovides network service to aircraft130-a,130-b, and130-cat different times and for different durations. In service availability300-b, the service windows tsw[A:2]310-a-2, tsw[B:2]310-b-2, and tsw[C:2]310-c-2show the time periods that satellite beam205-bis a candidate beam for providing service to aircraft130-a,130-b, and130-c, respectively. As can be seen inFIG.2, aircraft130-a,130-b, and130-call begin their flight paths in coverage areas of satellite beams other than satellite beam205-b. This is illustrated inFIG.3where no service windows commence at the beginning of service timeframe305. Additionally, aircraft130-a,130-b, and130-cend their flight paths outside the coverage area of satellite205-binFIG.2. This is shown inFIG.3where service windows tsw[A:2]310-a-2, tsw[B:2]310-b-2, and tsw[C:2]310-c-2terminate before the end of service timeframe305.

In similar examples, service availabilities300-cand300-dshow the service windows310for which satellite beams205-cand205-dare candidate beams for aircraft130-a.130-b, and130-c. Specifically, satellite beam205-cis a candidate beam for aircraft130-a,130-c, and130-dover service windows tsw[A:3]310-a-3, tsw[B:3]310-b-3, and tsw[C:3]310-c-3, respectively, and satellite beam205-dis a candidate beam for aircraft130-a.130-c, and130-dover service windows tsw[A:4]310-a-4, tsw[B:4]310-b-4, and tsw[C:4]310-c-4, respectively.

Thus, beam handover manager125may determine, for each aircraft130being provided service, service windows associated with each beam available to service the aircraft within the service timeframe305. In addition, each of satellite beams205may provide service to a number of fixed terminals. Beam utilization due to service of fixed terminals may also be estimated over the service timeframe305.

FIG.4Aillustrates an example of a chart400of estimated beam utilization of satellite beams by various fixed terminals, in accordance with various aspects of the present disclosure. For example, chart400may illustrate beam utilization for satellite beams205-a,205-b,205-c, and205-ddue to fixed terminals that are provided network service by the respective satellite beams205. The estimated beam utilization depicted in chart400may be exclusive of the estimated network resource demands of any aircraft130that are within the coverage area of satellite beams205. Since fixed terminals generally do not move from the coverage area of the satellite beam205currently servicing them, variation of network demand over the service timeframe305may occur due to a number of other factors including different network resource demands in different times of the day, different populations served by each satellite beam205, etc. The estimated beam utilization over service timeframe305may be estimated for each of a plurality of time segments415, which may be a time unit used for beam assignment decisions (e.g., the smallest time unit for handover decisions and scheduling, etc.).

The estimated beam utilization shown in chart400may be estimated based on current demand and historical demand data. For example, the beam utilization for fixed terminals shown in chart400shows that the fixed terminal estimated beam utilization420-dfor satellite beam205-dis currently (e.g., at the beginning of service timeframe305) highest. In addition, the fixed terminal estimated beam utilizations420-aand420-dfor satellite beams205-aand205-d, respectively, are expected to decrease over the service timeframe305, while the fixed terminal estimated beam utilization420-cis expected to increase over the service timeframe305and the fixed terminal estimated beam utilization420-bis expected to be substantially constant over the service timeframe305. Chart400shows the fixed terminal estimated beam utilizations420for satellite beams205-a.205-b,205-c, and205-don a normalized scale of 0-120, where 100 represents the maximum capacity of each of the satellite beams (which may be different for different beams).

In addition, beam handover manager125may determine a service utilization for each aircraft130over the service timeframe305. The service utilization for each aircraft over the service timeframe305may be determined based on historical service utilization data, an estimated number of the passengers utilizing the network access service on each aircraft, a service level offered to the passengers utilizing the network access service on each aircraft, a predicted spectral efficiency of communication between the satellite and the aircraft for a given beam (e.g., spectral efficiency may vary based on location of the aircraft within a beam or atmospheric conditions, etc.), and the like.

FIGS.4B,4C, and4Dillustrate a series of charts of expected beam resource utilization showing optimization iterations of assigning aircraft to candidate satellite beams over the service timeframe, in accordance with various aspects of the present disclosure. The optimization process may be performed by iteratively re-assigning one or more aircraft to different satellite beams until beam utilization scores for the satellite beams satisfy one or more beam utilization criteria. Beam utilization scores for each satellite beam may be, for example, normalized beam utilization as shown inFIGS.4B-4D, or may be determined from the estimated beam utilization in other manners (e.g., filtered, etc.). The beam utilization criteria may include, for example, the beam utilization scores remaining below a threshold during the service timeframe, a maximum amount of time the beam utilization scores may exceed the threshold in the service timeframe, a maximum difference between a given beam utilization score and an average of the beam utilization scores for the plurality of satellite beams over the service timeframe, or a variance of the beam utilization scores for the plurality of satellite beams being below a variance threshold.

The optimization may include making a provisional selection of aircraft to candidate beams, determining beam utilization based on the provisional selection, and performing a number of iterations of re-assigning one or more aircraft to different beams until the beam utilization criteria are met. Selection of aircraft to re-assign for the optimization iterations may be performed according to re-assignment selection rules including selection of aircraft with the greatest beam flexibility, random selection, and the like. For example, if a given satellite beam does not meet one or more beam utilization criteria during a particular service timeframe, an aircraft for which the given satellite beam has been provisionally selected may have its provisional beam assignments changed for at least a part of the service timeframe. This process may continue until all the satellite beams meet the beam utilization criteria according to the provisional assignments. Alternatively, the optimization process may involve an optimization using a value function to find an optimal or near optimal beam assignment solution, as discussed in more detail below. Once the optimization process has concluded, the provisionally selected satellite beams may be adopted by beam handover manager125where for each of the aircraft the satellite beams are used according to the provisional selection. In another embodiment, the optimization process may obtain one or more satellite beam assignment sets for providing network access service to the aircraft. Each of the satellite beam assignment sets may have one or more satellite beams provisionally assigned for servicing each of the aircraft (e.g., successively) during a service timeframe. Each satellite beam of the satellite beam assignment sets may have a beam utilization score that meets the beam utilization criteria during the service timeframe. That is, multiple sets of provisional selections may be determined for which the beam utilization criteria are met. In some examples, additional criteria (e.g., total number of handovers, number of handovers for a given aircraft, etc.) may be applied to select between the multiple sets.

In the example charts inFIGS.4B,4C, and4D, the service utilization for each aircraft130is estimated to be a constant value of 20 units over the service timeframe305. However, this value is for the purposes of illustration and may not represent a typical normalized service utilization for one aircraft within a satellite communications system. In addition, the estimated service utilization for aircraft130may vary over the service timeframe305.

The beam optimization process may be triggered by various conditions or events. The trigger may be periodic (e.g., optimization may be performed every time segment415or predetermined number of time segments415, every service timeframe305, etc.) or it may be location based (e.g., optimization may be performed when an aircraft is detected within a certain distance from an edge of a satellite beam currently serving the aircraft, entering into an overlapping region of multiple satellite beams, etc.). The trigger may also occur based on load-balancing criteria such as a beam utilization of a satellite beam exceeding a capacity threshold, a number of aircraft serviced by a satellite beam exceeding an aircraft threshold, a number of users of a satellite beam exceeding a user threshold, a change in capacity demand for one or more satellite beams exceeding a threshold, or a difference of beam utilization between two or more satellite beams (e.g., adjacent beams, beams within a region, etc.) exceeding a beam delta threshold. The trigger may also be set when there is a change in the flight plan data (e.g., aircraft entering or exiting the network), or if a service level of the network access service to an aircraft falls below a service threshold.

FIG.4Billustrates a chart of estimated beam utilization425of satellite beams205-a,205-b,205-c, and205-d. Chart425may depict the expected beam resource utilization by the fixed terminals of chart400in addition to aircraft130prospectively serviced by satellite beams205. Chart425may show the beam utilization scores430of satellite beams205through an initial assignment of aircraft130to satellite beams205. The initial assignment of satellite beams205may be done according to default rules. The default rules may involve providing network service to an aircraft130by a satellite beam205that is currently providing service, or whose coverage area the aircraft130initially starts in at the beginning of the service window. If the aircraft130initially begins in the coverage area of multiple satellite beams205, beam handover manager125may select a candidate satellite beam based on which candidate satellite beam may provide the aircraft130with the longest possible service. After the aircraft130leaves the coverage area of the selected satellite beam, beam handover manager125may choose another candidate satellite beam based on which candidate satellite beam may provide aircraft130the longest possible service. Additionally or alternatively, the default rules for initial assignment of candidate satellite beams may include other factors such as beam priority (e.g., highest capacity beams being selected first, beams from the same satellite given priority, etc.) or random selection. Where beams from the same satellite currently providing service to an aircraft are not available, the default rules may assign an aircraft to a different satellite for providing service. Where multiple satellites are available for providing service, the default rules can select the satellite according to priority rules (e.g., satellites using the same technology given preference, satellites from the same operator given preference, satellites providing similar link performance given priority, etc.).

Based on the flight paths depicted in service area200and the default rules described above, the initial assignment may have satellite beam205-cinitially providing network service to aircraft130-a. When aircraft130-ais predicted to leave satellite beam205-c, the initial assignment may handover aircraft130-ato satellite beam205-afor network service. With regards to aircraft130-b, it may be first provided network service by satellite beam205-aand then by satellite beam205-dwhen aircraft130-bis predicted to leave the coverage area of satellite beam205-a. Aircraft130-cmay start receiving network service from satellite beam205-dat the beginning of the service window, but then is assigned to satellite beam205-cwhen it is predicted to leave the coverage area of satellite beam205-d.

FIG.4Bshows the beam utilization scores430-a-1,430-b-1,430-c-1, and430-d-1for satellite beams205-a,205-b,205-c, and205-d, respectively, based on applying the default rules for assignment of aircraft to satellite beams. Based on the beam utilization scores430, beam handover manager125may determine whether further optimizing of beam assignments is performed. In the example ofFIG.4B, the beam utilization scores430are illustrated as a normalized (e.g., to beam capacity) beam utilization for each time segment415. In other examples, the beam utilization scores may be a single value. For example, a beam utilization score may be determined as an average of the beam utilization430over the service timeframe305, a percentage of time that the beam utilization430is above a beam utilization threshold (e.g., 80% of the beam capacity), a peak value of the beam utilization430, a weighted average of beam utilization (e.g., higher beam utilization values given exponentially more weight, values of the beam utilization closer to the current time given more weight, etc.), or combinations of these techniques. In some examples, beam handover manager125may utilize a comparative beam utilization score, where the beam utilization scores for each satellite beam are based on a difference between the beam utilization and an average beam utilization of all or a subset (e.g., neighboring beams, by region, etc.) of the satellite beams205.

In the example shown inFIG.4B, beam handover manager125may determine that satellite beam205-dhas a beam utilization score430-d-1that exceeds a predetermined threshold (e.g., 80% of the beam capacity) during the service window. Beam handover manager125may also determine that satellite beam205-calso has a beam utilization score430-c-1that, although lower than the beam utilization score for beam205-d, exceeds the predetermined threshold. The beam utilization threshold may be a predetermined value based on the function used to determine the beam utilization score. Due to the determination that at least one beam has a beam utilization score that does not meet beam utilization criteria, beam handover manger125may decide to re-select candidate satellite beams for one or more of aircraft130-a,130-b, or130-c.

Based on the determination that satellite beam205-dhas the highest beam utilization score430, beam handover manager125may identify an aircraft130assigned to satellite beam205-dduring at least a portion of the service timeframe305that can be assigned to another candidate satellite beam. In some examples, beam handover manager125may utilize a ranked list of the aircraft130in its reassignment decision, the ranked list being based on a beam flexibility metric associated with each of the aircraft130. The beam flexibility metric may be based on the number of available satellite beams for each of the aircraft130during their service timeframes. Further details of the ranked list may be found in the description relating toFIG.5below.

FIG.4Cillustrates a chart450of estimated beam utilization of satellite beams205-a,205-b,205-c, and205-dafter a first optimization iteration. Chart450may depict the beam utilization scores430of satellite beams205after beam handover manager125performs a first optimization iteration based on the determined beam utilization scores from chart425.

For the first optimization iteration, beam handover manager125may identify aircraft130-bas having the highest beam flexibility metric and may identify that aircraft130-bcan be re-assigned to satellite beam205-bfor at least a portion of the service timeframe305. Chart450shows the beam utilization scores430-a-2,430-b-2,430-c-2,430-d-2of candidate satellite beams205-a.205-b,205-c, and205-d, respectively, after aircraft130-bhas been re-assigned to satellite beam205-bfrom satellite beam205-dfor at least a portion of the service timeframe305. As can be seen, the resulting beam utilization score430-d-2of satellite beam205-dhas dropped compared to beam utilization score430-d-1ofFIG.4Bduring the service window for which it had been assigned to serve aircraft130-b. However, beam handover manager125may now consider satellite beam205-cas having a beam utilization score430-c-2that still exceeds the beam utilization threshold. Due to this, beam handover manger125may decide to re-select candidate satellite beams for one or more of aircraft130-a,130-b, or130-c.

FIG.4Dillustrates a chart475of beam utilization scores of satellite beams205-a.205-b,205-c, and205-d. Chart475may depict the beam utilization scores of satellite beams205after beam handover manager performs a second optimization iteration based on the determined beam utilization scores from chart450. Based on the determination that satellite beam205-chas the highest beam utilization score from chart450, beam handover manager125may identify an aircraft130previously assigned to satellite beam205-cto another candidate satellite beam. Again, beam handover manager125may utilize a ranked list of the aircraft130.

For this example, beam handover manager125may identify aircraft130-cas having the highest beam flexibility metric and may identify that aircraft130-ccan be re-assigned to satellite beam205-afor at least a portion of the service timeframe305. As shown inFIG.2, satellite beam205-amay service aircraft130-ceven before aircraft130-cexits the coverage area of satellite beam205-d. Chart475shows the beam utilization scores430-a-2,430-b-2,430-c-2,430-d-2of candidate satellite beams205-a,205-b,205-c, and205-d, respectively, after aircraft130-chas been re-assigned to satellite beam205-afor the service window of satellite beam205-afor aircraft130-c. As can be seen, the resulting beam utilization score430-c-3of satellite beam205-cis reduced when compared to beam utilization score430-c-2shown inFIG.4Cand is now below the threshold throughout the service timeframe305. Beam handover manager125may determine that the optimization process is complete based on the beam utilization scores430for all the satellite beams being below the beam utilization threshold over the service timeframe305. If however, after the second optimization iteration, the beam utilization scores430for one or more satellite beams do not satisfy beam utilization criteria, the beam handover manager125may continue to perform additional iterations until the beam utilization criteria are satisfied. With the set of candidate satellite beams for successively providing the network service to aircraft130determined, beam handover manager125may schedule handovers of aircraft130during the service timeframe according to the respective sets of candidate satellite beams selected for providing service to each aircraft130. Although reassignment of aircraft discussed in the examples given inFIGS.4B-4Dis performed over corresponding service windows (e.g., reassignment of aircraft130-cto satellite beam205-ain the second optimization iteration includes reassignment over the service window tSW[C:1]), reassignment of an aircraft may be for a portion of a corresponding service window, in some cases.

FIG.5is a block diagram illustrating an example of a ranked list500of a plurality of aircraft130based on a beam flexibility metric. Ranked list500may illustrate a list constructed by beam handover manager125as shown inFIG.1. Ranked list500may include the most flexible rank505(labeled “Aircraft C”), followed by rank510(labeled “Aircraft D”), and rank515(labeled “Aircraft A”). The ranked list500ends with the least flexible rank520(labeled “Aircraft N”).

In the event that beam handover manager125optimizes beam utilization scores for a set of candidate satellite beams, beam handover manager125may utilize ranked list500for re-assigning aircraft to different satellite beams based on re-assignment flexibility of the aircraft. The optimization process was discussed in the description relating toFIGS.4B,4C, and4D. In some examples, the aircraft with respective candidate satellite beams that possessed beam utilization scores that exceeded the threshold are identified by beam handover manager125. With these aircraft, beam handover manager125may then create a ranked list500of the identified aircraft based on a beam flexibility metric associated with each of the identified aircraft. The beam flexibility metric may be based on the number of available satellite beams for the each of the identified aircraft during the associated service timeframe. For example, the beam flexibility metric may be determined based on an aggregate (e.g., median, average, etc.) of the number of beams available for each time segment415, or the number of time segments having at least a certain number (e.g., two or more) available beams. In some examples, the beam flexibility metric is determined based on a set of time segments for which beam utilization of one or more candidate beams exceeds a threshold.

InFIG.5, at least four aircraft have respective candidate satellite beams that possess beam utilization scores that exceed the threshold—aircraft A, aircraft C, aircraft D, and aircraft N. Beam handover manager125may then rank each aircraft based on their beam flexibility metric. Upon evaluating the aircraft's respective metrics, beam handover manager125ranks Aircraft C as being the most flexible (i.e., the most suitable to reassign a candidate satellite beam), while Aircraft N is the least flexible. In a circumstance where candidate satellite beams must be re-selected for one or more aircraft, beam handover manager125may begin the re-selection process with Aircraft C because it has the most flexibility for beam reassignment in ranked list500. In some examples, beam handover manager125may factor in additional considerations in creating ranked list500, including number of handovers for each aircraft. Thus, beam handover manager500may choose to bypass reselecting a candidate satellite beam for Aircraft C because a re-selection scenario involving a lower ranked aircraft may provide for a better outcome. Beam handover manager125may choose one or more aircraft from the ranked list in order to perform the reselection process.

FIG.6is a flowchart diagram of an example method600for managing satellite beam handover based on predicted network conditions. Method600may be performed, for example, by the beam handover manager125ofFIGS.1,7, and8for a satellite communications system100servicing a number of aircraft and fixed terminals via one or more multi-beam satellites. The method600begins at a trigger602, which may be a triggering event or condition as described above.

At block605, beam handover manager125may determine an initial assignment of aircraft to candidate satellite beams over a service timeframe. The service timeframe may begin at the time at which the optimization process is triggered (e.g., the current time of the optimization), and extend over a time period that may be predetermined or may be dynamically determined based on availability or predicted accuracy of flight plan data for aircraft served by the satellite communications system. The candidate satellite beams may be satellite beams205of one or more multi-beam satellites that may provide network access service to aircraft130within the service area of the satellite communications system. The satellite beams205may also provide network access service to a number of fixed terminals within the service area. The initial assignment of satellite beams205may be done according to default rules as described above.

Beam handover manager125may then perform a beam selection optimization sub-process650. Beam selection optimization sub-process650may be used to traverse a search tree, where each beam selection node on the tree may be understood as a set of beam assignments for successively (e.g., continuously or as close as is possible given satellite beam coverage, etc.) providing service to each aircraft over the service timeframe.

At block610of beam utilization optimization sub-process650, beam handover manager125determines beam utilization scores for each candidate satellite beam based on the current set of beam assignments (e.g., the initial assignments for the first optimization pass). For example, the beam handover manager125may determine the beam utilization for each beam over the service timeframe, and the beam utilization scores may be determined as a function of the beam utilization (e.g., average, weighted average, peak beam utilization, time beam utilization is above a threshold, filtered, normalized, etc.) over the service timeframe. Additionally, beam handover manager125may consider other optimization metrics. For example, beam handover manager125may assign an optimization cost to handovers encountered by an aircraft130. Because a satellite beam handover of an aircraft from being served by one satellite beam to another is accompanied by the use of a certain amount of system resources and overhead, increases in the number of handovers may actually decrease overall system performance. In addition, handovers may cause temporary service disruption for users that may impact the user experience. Thus, the optimization cost for handovers may take into account the overall cost of handovers to system performance and user experience impact.

At block615, beam handover manager125evaluates the beam utilization score for each candidate satellite beam. The evaluation may involve beam handover manager125determining if the beam utilization scores satisfy a beam utilization criteria. The beam utilization criteria may vary from embodiment to embodiment. For example, the beam utilization criteria may involve the beam utilization scores of every satellite beam being below a threshold. In another example, the criteria may involve a relative metric for the beam utilization scores (e.g., a differential between neighboring beams or beams within a region to be below a threshold, etc.). Additionally, the provisional selections may also be evaluated according to handover criteria. For example, solutions may be prioritized based on a total number of handovers of the aircraft130being served by the satellite communications system (e.g., preference is given to solutions achieving the beam utilization criteria with a lower total number of handovers, etc.). Additionally or alternatively, the handover criteria may include a maximum number of handovers or a minimum time between handovers for a given aircraft within the service timeframe, or give priority to solutions having a lower maximum number of handovers for any one aircraft130. In addition, the criteria may include aircraft location criteria such as predicted location of aircraft within the satellite beams within the service timeframe. For example, solutions with fewer aircraft towards the edge of satellite beams for longer periods of time may be ranked higher than solutions with more aircraft in beam edge regions. In some examples, satellite beams may have cost metrics assigned based on a cost to utilize the beams, and the criteria may account for the cost metrics in evaluation of solutions.

At decision block620, beam handover manager125determines if the set of candidate satellite beams is able to provide network access service to aircraft130while meeting the beam utilization criteria. If the set of candidate satellite beams meets the beam utilization criteria, then method600proceeds to block630where beam handover manager125schedules the handover of aircraft130to their respective determined candidate satellite beams for the future service window. If the set of candidate satellite beams does not meet the beam utilization criteria, the method proceeds to block625.

At block625, beam handover manager125re-assigns one or more aircraft to different candidate satellite beams for at least a portion of the service timeframe in order to optimize the beam utilization scores of the satellite beams. Beam handover manager125may utilize a variety of optimization techniques that may vary from embodiment to embodiment. For example, beam handover manager125may randomly assign one or more aircraft130to different candidate satellite beams than they are currently assigned. In another example, beam handover manager125may choose the candidate satellite beam possessing the highest beam utilization score and re-assign or one or more aircraft130served by that beam during the service timeframe to a different beam. In determining the one or more aircraft130to assign to different candidate satellite beams, beam handover manager125may utilize a ranked list of the one or more aircraft130based on each aircraft's beam flexibility metric as discussed above. In yet another technique, beam handover manager125may re-assign candidate satellite beams or aircraft130based on re-assignments that minimize handovers. Thus if re-assigning fewer aircraft, or performing re-assignments that do not increase the number of handovers is an option, beam handover manager125may prioritize that consideration over other factors during the optimization process.

Upon re-assigning the set of candidate satellite beams in block625, method600reverts back to block610where beam handover manager125assigns a beam utilization score to each candidate satellite beam as described above. After evaluating the beam utilization scores at block615, beam handover manager125again determines if the optimized set of candidate satellite beams will provide network service to each aircraft while meeting the beam utilization criteria. If it will not, method600proceeds to block625for another optimization iteration. If it will, method600ends at block630with beam handover manager125scheduling the handovers associated with the optimized set of beam assignments.

As described for blocks610,615,620and625, the beam selection optimization sub-process650is performed using beam re-assignment rules at block625(e.g., rules for re-assigning aircraft to different beams) and beam utilization criteria at block620for determining the final beam assignments. Techniques using iterative re-assignment that start from an initial assignment (e.g., based on default rules or current assignments, etc.) and then stop searching once the criteria (e.g., beam utilization criteria, handover criteria, aircraft location criteria, etc.) are met may find a solution that meets the criteria with a minimum number of changes to the current assignments. However, these techniques may also fail to find a solution meeting the criteria, or find a solution that is sub-optimal over the entire solution space. Other optimization techniques may also be used in addition or as an alternative for finding optimal or near-optimal beam assignment solutions. For example, if the beam utilization optimization sub-process650fails to find a solution in a given number of iterations using beam re-assignment according to beam flexibility metrics, techniques such as a random re-assignment of one or more aircraft to different beams may be employed to provide a wider scope of solutions sets.

Optimization techniques for finding optimal or near-optimal solutions may optimize a value function that takes into account the beam utilization scores for the candidate satellite beams and other optimization metrics. For example, the value function may incorporate the beam utilization scores (e.g., evaluated for the effect of beam utilization to service impact, etc.), beam utilization over the service timeframe, number and/or frequency of handovers, and cost of utilization of particular beams as cost metrics of the value function. The value function may take into account predicted service utilization of each aircraft as it traverses each candidate beam. For example, the expected data rate over the service timeframe may be estimated for each aircraft, and the service utilization may take into account an expected spectral efficiency of communication between the satellite and the aircraft as it traverses a given beam (e.g., spectral efficiency may be higher at the center of the beam or may be impacted by predicted atmospheric conditions).

In some examples, Monte Carlo tree search may be used to traverse beam selection paths between beam selection nodes. The Monte Carlo tree search may use random or semi-random expansion rules to choose child beam selection nodes from a given beam selection node, and may use back-propagation to expand from different beam selection nodes based on the updated beam utilization scores at each beam selection node. Additionally or alternatively, branch and bound techniques for pruning the search tree of beam selection nodes may be used including minimax pruning, naïve minimax pruning, or alpha-beta pruning.

In some examples, beam optimization sub-process650may use combinatorial optimization techniques such as dynamic programming to compute the optimal or near-optimal (e.g., based on maximizing the value function) beam selection for each aircraft over the service timeframe. In one example, the assignment of aircraft within the satellite communications system may be modeled as a generalized assignment problem with knapsack constraints (e.g., applying system constraints such as beam bandwidth, etc.). The dynamic programming techniques may evaluate multiple beam assignment hypotheses over the service timeframe to determine the optimal or near optimal beam assignments according to the value function. In some examples, approximate programming techniques may be used to reduce computational complexity. For example, approximations (e.g., rounding, truncating precision, etc.) in beam utilization scores, handover costs, and the like may be employed to bound the solution space. In some examples, uncertainty in inputs such as the flight plan data, estimates of beam utilization due to fixed terminals, estimates of service utilization for each aircraft, and the like, may be taken into account using stochastic optimization techniques.

FIG.7is a block diagram illustrating an example of a beam handover manager125-afor satellite beam handover based on predicted network conditions, in accordance with various aspects of the present disclosure. The beam handover manager125-amay be an example of the beam handover manager125described with reference toFIG.1. The beam handover manager125-amay include a shared link interface710, selection trigger detector720, candidate satellite beam assigner730, beam utilization score calculator740, beam utilization criteria evaluator750, optimization manager760, aircraft flexibility manager770, and handover scheduler780. Each of these components may be communicatively coupled to each other.

Shared link interface710may receive information such as flight plan data, flight status data, network resource data, satellite data, etc. Shared link interface710may also forward beam handover data received from handover scheduler780. Shared link interface710may forward some or all of this data to selection trigger detector720, candidate satellite beam assigner730, and aircraft flexibility manager770. Selection trigger detector720may send a trigger to candidate satellite beam assigner730to select satellite beams for providing network access service to one or more aircraft130over a service timeframe. The instances that cause selection trigger detector720to send a trigger may be periodic or may happen under circumstances that are described above (e.g., an aircraft being within a certain distance of a beam edge, an aircraft entering a new beam, beam utilization of a beam exceeding a threshold, a number of aircraft serviced by a satellite beam exceeding an aircraft threshold, a number of users of a satellite beam exceeding a user threshold, a difference of beam utilization between two or more satellite beams exceed a beam delta threshold, etc.).

Candidate satellite beam assigner730may first provisionally assign aircraft130to candidate satellite beams based on default rules. Beam utilization score calculator740may calculate a beam utilization score for each candidate satellite beam determined by candidate satellite beam assigner730. The beam utilization score may be determined by a variety of factors as described above. Beam utilization criteria evaluator750may evaluate whether one or more beam utilization scores determined by beam utilization score calculator740meets one or more beam utilization criteria as described above. The criteria may include a predetermined beam utilization threshold where beam utilization criteria evaluator750determines if one or more beam utilization scores exceed the predetermined threshold. The determination may occur over a portion or the entirety of a service timeframe.

Optimization manager760may apply a number of optimization techniques towards the assigned set of candidate satellite beams in the instance where the beam utilization criteria evaluator750determines that the set of candidate satellite beams fails to meet the beam utilization criteria. One technique may include randomly assigning one or more aircraft130to different candidate satellite beams than they were assigned in the initial assignment. In another technique, optimization manager may receive aircraft flexibility information from aircraft flexibility manager770that indicates which aircraft associated with a satellite beam has the highest flexibility in being assigned to another candidate satellite beam. Once an optimization technique has been applied, candidate satellite beam assigner730may receive the resulting information. Additionally or alternatively, optimization manager760may employ optimization techniques using a value function as described above including Monte Carlo tree search, branch and bound techniques, or dynamic programming.

Handover scheduler780may schedule handovers of each aircraft to a selected set of candidate satellite beams during the service timeframe based on the determinations for beam utilization criteria of beam utilization criteria evaluator750or optimization results of optimization manager760.

FIG.8is a block diagram illustrating an example of a gateway115-afor satellite beam handover based on predicted network conditions, in accordance with various aspects of the present disclosure. The gateway115-amay be an example of the gateway115described with reference toFIG.1. The gateway115-amay include a transceiver810, communications interface820, beam handover manager125-b, processor830, memory840, software code845, and bus850.

Transceiver810manages communications between the multi-user access terminal170-band satellite(s)105via ground station antenna system110-a. The transceiver810may communicate bi-directionally, via one or more antennas, as described above. The transceiver810may also include a modem to modulate the packets and provide the modulated packets to the antennas for transmission, and to demodulate packets received from the antennas. In some examples, a transmitter may be collocated with a receiver in the transceiver810. Transceiver810may be configured to communicate with satellite(s)105over one or more frequency bands (e.g., Ka, Ku, etc.) and may be configured to automatically orient antenna110-ato transmit signals to and receive signals from satellite(s)105.

Communications interface module820controls network traffic to and from network120-a. Communications interface820may implement wired network interfaces (e.g., Ethernet, Fibre Channel, etc.) and/or wireless network interfaces (e.g., IEEE 802.11 compliant interfaces, etc.).

Processor830may include an intelligent hardware device, e.g., a central processing unit (CPU), a microcontroller, an ASIC, etc. Processor830may process information received through modem810or communications interface820, or information to be sent to communications interface820or modem810for transmission. Processor830may handle, alone or in connection with gateway115-a, various aspects of allocating satellite capacity based on aircraft load forecasting.

Memory840may include random access memory (RAM) or read-only memory (ROM). Memory840may store computer-readable, computer-executable code845containing instructions that are configured to, when executed, cause processor830to perform various functions described herein. Alternatively, the code845may not be directly executable by processor830but be configured to cause the gateway115-a(e.g., when compiled and executed) to perform various of the functions described herein.

Beam handover manager125-bmay, in conjunction with memory840and processor830, perform the functions described above including performing satellite beam handover based on predicted network conditions. For example, beam handover manager125-bmay calculate beam utilization scores of candidate satellite beams for providing network service for aircraft over one or more service timeframes based on predicted beam utilization. Based on the beam utilization scores, beam handover manager125-bmay select satellite beams to provide network service for each aircraft. Beam handover manager125-bmay then schedule a handover of network service for each aircraft to the selected satellite beams and may subsequently reselect satellite beams for certain aircraft based on changing network conditions.

The components of the gateway115-amay, individually or collectively, be implemented with one or more application-specific integrated circuits (ASICs) adapted to perform some or all of the applicable functions in hardware. Alternatively, the functions may be performed by one or more other processing units (or cores), on one or more integrated circuits. In other embodiments, other types of integrated circuits may be used (e.g., Structured/Platform ASICs, Field Programmable Gate Arrays (FPGAs), and other Semi-Custom ICs), which may be programmed in any manner known in the art. The functions of each unit may also be implemented, in whole or in part, with instructions embodied in a memory, formatted to be executed by one or more general or application-specific processors.

FIG.9is a flowchart diagram of an example method900for performing satellite beam handover based on predicted network conditions. Method900may be performed, for example, by the beam handover manager125ofFIGS.1,7, and8.

At block905of method900, beam handover manager125receives flight plan data for one or more aircraft that are provided network access service via the multi-beam satellite system and forecasts travel paths for the one or more aircraft. Beam handover manager125may receive this flight plan data via network120or it may receive the data from the aircraft130(e.g., via satellite105).

With the flight plan data, beam handover manager125identifies, for each aircraft130, respective candidate satellite beams for providing the network access service (e.g., successively) over a service timeframe at block910. At block915, beam handover manager125may obtain, for each of the satellite beams for a service timeframe, a beam utilization score indicative of predicted beam utilization over the service timeframe. The beam utilization score of each candidate satellite beam may be based on a plurality of beam utilization factors comprising one or more of empirical beam utilization data, a number of fixed terminals serviced by each of the plurality of satellite beams, provisioned service levels for the fixed terminals, historical beam utilization data, an estimated number of the passengers utilizing the network access service on each aircraft, a service level offered to the passengers utilizing the network access service on each aircraft. The beam utilization scores may also be a weighted sum of the plurality of beam utilization factors.

At block920beam handover manager125selects, over the service timeframe, satellite beams for providing the network access service for each aircraft of the plurality of aircraft based in part on the beam utilization scores for the respective candidate satellite beams. In some examples, the selecting may be based on an estimated service utilization associated with each aircraft relative to the beam utilization scores for the respective candidate satellite beams. In some examples, the selecting may be based on a cost of utilization of each of the respective candidate satellite beams, minimizing a number of satellite beam handovers for the plurality of aircraft, minimizing handovers to a satellite beam of a satellite different from the satellite currently serving an aircraft, or a combination thereof. In some examples, the selecting may be based on receiving a handover evaluation trigger where the trigger may be one or more of a periodic trigger, detecting an aircraft within a certain distance from an edge of a satellite beam currently serving the aircraft, detecting an aircraft entering into an overlapping region of multiple satellite beams, beam utilization of a satellite beam of the plurality of satellite beams exceeding a capacity threshold, a number of aircraft serviced by a satellite beam of the plurality of satellite beams exceeding an aircraft threshold, a number of users of a satellite beam of the plurality of satellite beams exceeding a user threshold, a change in the flight plan data, detecting a difference of beam utilization between two or more satellite beams exceeding a beam delta threshold, or a service level of the network access service to an aircraft falling below a service threshold.

Method900then proceeds to block925, where beam handover manager125schedules at least one handover for at least one of the plurality of aircraft to a selected satellite beam during the service timeframe. At block930, method900may continue to another example that will be described inFIG.10.

FIG.10is a flowchart diagram of an example method1000for performing satellite beam handover based on predicted network conditions. Method1000may be an example method for implementing aspects of method900. Method1000may be performed, for example, by the beam handover manager125ofFIGS.1,7, and8.

Method1000may after block910ofFIG.9, where respective candidate satellite beams for providing network access service to a plurality of aircraft have been identified. At block1005, beam handover manager125provisionally selects, for each of the plurality of aircraft, a respective set of candidate satellite beams for providing the network access service during the service timeframe. The provisional selections may be based, for example, on default rules for beam assignment. With the provisional selections of the candidate satellite beams, beam handover manager125updates the beam utilization score for the respective sets of candidate satellite beams based on an estimated service utilization of each beam associated with each aircraft during the service timeframe at block1010. At block1015, beam handover manager125determines whether a beam utilization score for at least one of the plurality of satellite beams does not meet a beam utilization criteria during the service timeframe. If, at block1015, beam handover manager125determines that the satellite beams have beam utilization scores that meet a beam utilization criteria during the service timeframe, method1000terminates and returns to block925for scheduling of handovers during the service timeframe based on the beam assignments. If, at block1015, beam handover manager125determines that at least one satellite beam has a beam utilization score that does not meet a beam utilization criteria during the service timeframe, method1000proceeds to block1020.

At block1020, beam handover manager125identifies aircraft that are being serviced by the at least one of the plurality of satellite beams for which the beam utilization score does not meet a beam utilization criteria during the service timeframe. For the identified aircraft, beam handover manager125may exchange the satellite beams having beam utilization scores that do not meet the beam utilization criteria for substitute satellite beams. In one example, beam handover manager125creates a ranked list of the identified aircraft based on a beam flexibility metric associated with each of the identified aircraft at block1025. The beam flexibility metric may be based on the number of available satellite beams for the each of the identified aircraft during the associated service timeframe. Utilizing the ranked list, beam handover manager125re-selects a different one of the respective candidate satellite beams for providing the network access service at block1030. Method1000then returns to block1010to update the beam utilization scores for the candidate satellite beams based on the re-assignments of aircraft to candidate satellite beams at block1030.

It should be noted that these methods describe possible implementations, and that the operations and the steps may be rearranged or otherwise modified such that other implementations are possible. In some examples, aspects from two or more of the methods may be combined. For example, aspects of each of the methods may include steps or aspects of the other methods, or other steps or techniques described herein. Thus, aspects of the disclosure may provide for consumer preference and maintenance interface.

The description herein is provided to enable a person skilled in the art to make or use the disclosure. Various modifications to the disclosure will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other variations without departing from the scope of the disclosure. Thus, the disclosure is not to be limited to the examples and designs described herein but is to be accorded the broadest scope consistent with the principles and novel features disclosed herein.

The functions described herein may be implemented in hardware, software executed by a processor, firmware, or any combination thereof. If implemented in software executed by a processor, the functions may be stored on or transmitted over as one or more instructions or code on a computer-readable medium. Other examples and implementations are within the scope of the disclosure and appended claims. For example, due to the nature of software, functions described herein can be implemented using software executed by a processor, hardware, firmware, hardwiring, or combinations of any of these. Features implementing functions may also be physically located at various positions, including being distributed such that portions of functions are implemented at different physical locations. Also, as used herein, including in the claims, “or” as used in a list of items (for example, a list of items prefaced by a phrase such as “at least one of” or “one or more”) indicates an inclusive list such that, for example, a list of at least one of A, B, or C means A or B or C or AB or AC or BC or ABC (i.e., A and B and C).

Computer-readable media includes both non-transitory computer storage media and communication media including any medium that facilitates transfer of a computer program from one place to another. A non-transitory storage medium may be any available medium that can be accessed by a general purpose or special purpose computer. By way of example, and not limitation, non-transitory computer-readable media can comprise RAM, ROM, electrically erasable programmable read only memory (EEPROM), compact disk (CD) ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other non-transitory medium that can be used to carry or store desired program code means in the form of instructions or data structures and that can be accessed by a general-purpose or special-purpose computer, or a general-purpose or special-purpose processor. Also, any connection is properly termed a computer-readable medium. For example, if the software is transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of medium. Disk and disc, as used herein, include CD, laser disc, optical disc, digital versatile disc (DVD), floppy disk and Blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above are also included within the scope of computer-readable media.

The various illustrative blocks and modules described in connection with the disclosure herein may be implemented or performed with a general-purpose processor, a digital signal processor (DSP), an ASIC, an 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, multiple microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration). The functions of each unit may also be implemented, in whole or in part, with instructions embodied in a memory, formatted to be executed by one or more general or application-specific processors.

In the appended figures, similar components or features may have the same reference label. Further, various components of the same type may be distinguished by following the reference label by a dash and a second label that distinguishes among the similar components. If just the first reference label is used in the specification, the description is applicable to any one of the similar components having the same first reference label irrespective of the second reference label.