Traffic scheduling system for wireless communications

The Traffic Scheduling System executes a multi-step process first to identify the bandwidth intensive traffic. The identification of the bandwidth intensive traffic is effected at the stream level by measuring the byte volume of the stream over a predetermined period of time and using this data to classify the stream into one of a plurality of usage categories. The classification of bandwidth intensive traffic is network neutral in that all data is classified at the stream level (source IP, destination IP, source port, destination port). Otherwise, the data is not inspected. Once streams have been classified by the Traffic Scheduling System, the Bandwidth Intensive and Near Real Time traffic can be controlled by a simple Traffic Shaping process executed by the Traffic Scheduling System, using a traffic management parameter such as via the Round-Trip Time of the next higher priority queue, in the set of queues.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is related to U.S. patent application Ser. No. 13/009,687 filed Jan. 19, 2011.

FIELD OF THE INVENTION

This Traffic Scheduling System For Air-To-Ground Communications relates to a system that controls the volume of Air-to-Ground traffic by maintaining multiple concurrent traffic flows and assigning individual passengers in the aircraft to a selected one of the traffic flows/classes of data in order to optimize or guarantee performance, low latency, and/or bandwidth.

BACKGROUND OF THE INVENTION

It is a problem in the field of wireless communications to manage the wireless services provided by an aircraft network to passengers who are located in the aircraft. The aircraft network serves a plurality of subscribers, yet has a link to the ground-based network via a wide bandwidth Air-To-Ground link that concurrently serves multiple individual subscribers. Each subscriber is associated with a one-to-one communication connection, which comprises a channel on the aircraft wireless network which is connected via an Air-To-Ground link to the ground-based network, to access the desired communication services.

When wireless subscribers enter the non-terrestrial communication network (that is, they fly in an aircraft as passengers), they encounter a unique environment that traditionally has been disconnected from the terrestrial cellular network, where the wireless network of the aircraft interfaces the subscriber (also termed “passenger” herein) to various services and content. The aircraft wireless network, therefore, can function as a content filter or can create unique types of content that are directed to the individual passengers who are onboard the aircraft. However, although the aircraft network serves a plurality of passengers, it has a link to the ground-based Access Network via a wide bandwidth radio frequency connection.

It is a problem to provide the passengers with quality communications when network-based or aircraft-based congestion occurs due to high bandwidth applications (e.g., http video downloads) being executed by passengers. High bandwidth applications disrupt near real time applications of other passengers and the overall usability of the Air-To-Ground communication service (Internet browsing, email connectivity, Virtual Private Network heartbeat, etc.). Volume Controls can help reduce high usage at relatively larger time scales (15 minutes), but these are largely ineffective with large subscriber count flights where the systemic congestion prevents volume control activation. In addition, presently available controls penalize the passenger instead of addressing the source of the problem, which is controlling the bandwidth intensive application. Network-based systems have difficulty in reliably identifying bandwidth intensive applications (SCE) and are always in a “catch up mode.” Network controls and rate limits are also static and have no measure of current Air-To-Ground performance, since these controls are based on averages. Thus, there is a need to provide reliable communications for critical resources thereby to provide a quality user experience.

BRIEF SUMMARY OF THE INVENTION

The above-described problems are solved and a technical advance achieved in the field by the present Traffic Scheduling System For Air-To-Ground Communications (termed “Traffic Scheduling System” herein), which enables the assignment of individual Internet Protocol (IP) addresses to each of the passenger wireless devices operating in an aircraft and served by an airborne wireless cellular network, thereby to enable delivery of wireless services to the individually identified passenger wireless devices and to manage the various passenger traffic and classes of data to optimize or guarantee performance, low latency, and/or bandwidth.

The Traffic Scheduling System provides wireless communication services to passengers who are located onboard an aircraft by storing data indicative of the individually identified passenger wireless devices that are located onboard the aircraft. The Traffic Scheduling System assigns a single IP address to each Point-to-Point Protocol radio frequency link which connects the aircraft network to the ground-based Access Network, and also supports a plurality of IP addresses for the passenger wireless devices served by each of the Air-To-Ground radio frequency links thereby to enable each passenger wireless device to be uniquely identified with their own IP address. The Network Address Translation onboard the aircraft can utilize a greater number of IP addresses than one per link by the use of the Traffic Scheduling System.

The electronic services that are provided to the passenger include Internet, in-flight entertainment services, such as multi-media presentations, as well as destination-based services, which link the passenger's existing travel plans with offers for additional services that are available to the passenger at their nominal destination and their planned travel schedule, and optionally, voice services. The passenger thereby is presented with opportunities during their flight to enhance their travel experience, both in-flight and at their destination, by accessing the various services. The individual identification of each passenger wireless device simplifies the provision of these services and enables the customization of these services based upon predefined profiles created for the passenger. However, these various types of data require different types of management to ensure passenger satisfaction with the service. The Traffic Scheduling System manages the various passenger traffic and classes of data to optimize or guarantee performance, low latency, and/or bandwidth. Thus, each passenger's data is grouped with like data from other passengers into predetermined traffic flows in order to facilitate the management of the level of service provided to each class of data. The level of service provided for a class of data is commensurate with the nature of the data, the expectations of the passengers, and the capacity of the Air-To-Ground link.

This is accomplished by the Traffic Scheduling System executing a multi-step process to first identify the bandwidth intensive traffic. The identification of the bandwidth intensive traffic is effected at the stream level by measuring the byte volume of the stream and using this data to classify the stream into one of a plurality of usage categories. The classification of bandwidth intensive traffic extant in the aircraft is network neutral in that all data is classified at the stream level (source IP, destination IP, source port, destination port). Otherwise, the data is not inspected. The stream is deemed Bandwidth Intensive if it exceeds some byte volume, and the streams deemed Bandwidth Intensive then are controlled at the Aircraft Network Controller using Dynamic Configuration.

DETAILED DESCRIPTION OF THE INVENTION

Overall System Architecture

FIG. 1illustrates, in block diagram form, the overall architecture of the non-terrestrial communication network, which includes an Air-To-Ground Network2(Inner Network) that interconnects the two elements of an Outer Network, comprising an Air Subsystem3and Ground Subsystem1. This diagram illustrates the basic concepts of the non-terrestrial communication network and, for the purpose of simplicity of illustration, does not comprise all of the elements found in a typical non-terrestrial communication network. The fundamental elements disclosed inFIG. 1provide a teaching of the interrelationship of the various elements which are used to implement a non-terrestrial communication network to provide content to passenger wireless devices which are located in an aircraft. This is accomplished by the Air-To-Ground Network2transmitting both the passenger communication traffic (comprising voice and/or other data) and control information between the Air Subsystem3and the Ground Subsystem1thereby to enable the passenger wireless devices that are located in the aircraft to receive communication services in the aircraft.

Air Subsystem

The “Air Subsystem” is the communications environment that is implemented in the aircraft; and these communications can be based on various technologies, including, but not limited to: wired, wireless, optical, acoustic (ultrasonic), and the like. An example of such a network is disclosed in U.S. Pat. No. 6,788,935, titled “Aircraft-Based Network For Wireless Subscriber Stations”.

The preferred embodiment for the Air Subsystem3is the use of wireless technology and for the wireless technology to be native to passenger wireless devices that passengers and crew carry on the aircraft. Thus, a laptop computer can communicate via a WiFi or WiMax wireless mode (or via a wired connection, such as a LAN). Optionally, voice service can be provided where a PDA could communicate telephony voice traffic via VoIP (Voice over IP). Likewise, a handheld cell phone that uses the GSM protocol communicates via GSM, and a CDMA cell phone would use CDMA when inside the aircraft to connect to the Air Subsystem3. The connection states could be packet-switched or circuit-switched or both. Overall, the objective on the Air Subsystem3is to enable seamless and ubiquitous access to the Air Subsystem3for passenger wireless devices that are carried by passengers and crew, regardless of the technology used by these passenger wireless devices.

The Air Subsystem3also provides the mechanism to manage the provision of services to the passenger wireless devices that are operating in the aircraft cabin. This management includes not only providing the passenger traffic connectivity but also the availability of non-terrestrial specific feature sets which each passenger is authorized to receive. These features include in-flight entertainment services, such as multi-media presentations, as well as destination-based services which link the passenger's existing travel plans with offers for additional services that are available to the passenger at their nominal destination and their planned travel schedule. The passenger thereby is presented with opportunities during their flight to enhance their travel experience, both in-flight and at their destination.

The passenger wireless devices101used in the aircraft can be identical to those used on the cellular/PCS ground-based communication network; however, these passenger wireless devices101are pre-registered with the carrier serving the aircraft and/or users have PIN numbers for authentication. In addition, an antenna interconnects the passenger wireless devices101with the in-cabin Base Transceiver Stations (BTS)111-114, which are typically pico-cells with BSC/MSC functions integrated. BTS/BSC/MSC modules are added for each air-interface technology supported. The Airborne Control Processor Unit (ACPU)122and Air-To-Ground Airborne Communications Unit (AACU)123, including a Modem, acts as the bridging function (for media/content and signaling to a limited extent) between the Air Subsystem3and the ground-based Access Network1, since the Airborne Control Processor Unit (ACPU)122places a call using the Modem to the ground-based Access Network1via the Air-To-Ground Network2. Airborne Control Processor Unit (ACPU)122converts the individual traffic and signaling channels from the base stations to/from an aggregate data stream, and transmits/receives the aggregate data streams over the Air-To-Ground Network2which maintains continuous service as the aircraft travels. The Modem includes radio transmission equipment and antenna systems to communicate with ground-based transceivers in the ground-based portion of the Air-To-Ground Network2. The individual traffic channels assigned on the Air-To-Ground Network2are activated based upon the traffic demand to be supported from the aircraft.

The Air-To-Ground Network2shown inFIG. 1is clearly one that is based on wireless communications (radio frequency or optical) between the Ground Subsystem1and the Air Subsystem3which serves the passenger wireless devices that are located in the aircraft, with the preferred approach being that of a radio frequency connection. This radio frequency connection typically takes on the form of a cellular topology where typically more than one cell describes the geographic footprint or coverage area of the composite Air-To-Ground Network2. The Air-To Ground connection carries both passenger communications traffic and native network signaling traffic. In the preferred embodiment, the Air-To-Ground Network2transports all traffic to/from the aircraft in a single, aggregated communication channel. This “single pipe” has distinct advantages in terms of managing hard and soft handoffs as the aircraft transitions between one ground-based cell to the next. This approach also takes advantage of newer, higher speed wireless cellular technologies.

Alternatively, the Air-To-Ground Network2could be achieved through a wireless satellite connection where radio frequency links are established between the aircraft and a satellite and between the satellite and the Ground Subsystem1, respectively. These satellites could be geosynchronous (appears to be stationary from an earth reference point) or moving, as is the case for Medium Earth Orbit (MEO) and Low Earth Orbit (LEO). Examples of satellites include, but are not limited to: Geosynchronous Ku Band satellites, DBS satellites (Direct Broadcast Satellite), the Iridium system, the Globalstar system, and the Inmarsat system. In the case of specialized satellites, such as those used for Direct Broadcast Satellite, the link typically is unidirectional, that is, from the satellite to the receiving platform, in this case an aircraft. In such a system, a link transmitting unidirectionally from the aircraft is needed to make the communication bidirectional. This link could be satellite or ground-based wireless in nature as previously described. Lastly, other means for communicating with an aircraft include broad or wide area links such as High Frequency (HF) radio and more unique systems such as troposcatter architectures.

The Air-To-Ground Network2can be viewed as the conduit through which the passenger communications traffic, as well as the control and network feature set data, is transported between the Ground Subsystem1and the Air Subsystem3. The Air-To-Ground Network2can be implemented as a single radio frequency link or multiple radio frequency links, with a portion of the signals being routed over different types of links, such as the Air-To-Ground Link and the Satellite Link. Thus, there is a significant amount of flexibility in the implementation of this system, using the various components and architectural concepts disclosed herein in various combinations.

Ground Subsystem

The Ground Subsystem1consists of Base Station Controller140which connects the voice traffic of the Air-To-Ground Network2with traditional cellular communication network elements, including a Mobile Switching Center141and its associated Visited Location Register, Home Location Register142, to interconnect the voice traffic to the Public Switched Telephone Network144, and other such functionalities. In addition, the Mobile Switching Center141is connected to the Internet147via Public Switched Data Network (PSDN)143for call completions. Base Station Controller140also provides interconnection of the data traffic to the Internet147, Public Switched Telephone Network144via Voice over IP Server146, and other such functionalities. These other functionalities include the Authentication Server, Operating Subsystems, CALEA, and BSS servers145.

Thus, the communications between the passenger wireless devices101located in an aircraft and the Ground Subsystem1of the ground-based communication network are transported via the Air Subsystem3and the Air-To-Ground Network2to the ground-based Base Station Controller140of the non-terrestrial cellular communication network. The enhanced functionality described below and provided by the Air Subsystem3, the Air-To-Ground Network2, and the ground-based Base Station Controller140renders the provision of services to the passenger wireless devices101located in an aircraft transparent to the passengers. The Radio Access Network (RAN) supports communications from multiple aircraft and may employ a single omni-directional signal, or may employ multiple spatial sectors which may be defined in terms of azimuth and/or elevation angles. Aircraft networks hand over the Point-to-Point communication links between Radio Access Networks (RAN) in different locations (different Ground Subsystems1) in order to maintain continuity of service on Air-To-Ground Network2. Handovers may be hard or soft, or may be a combination of hard and soft on the Air-To-Ground and Ground-To-Air links.

The Mobile Switching Center141provides mobility management for all airborne systems and provides handover management between ground stations as an airborne system moves between the service areas of adjoining Ground Subsystems1. The Base Station Controller140interfaces all traffic to/from the associated Base Transceiver Subsystem (BTS)148. The Packet Data Serving Node (PDSN) controls assignment of capacity of each of the Base Transceiver Subsystems148among the airborne systems within their respective service areas.

Typical Aircraft-Based Network

FIG. 2illustrates the architecture of a typical aircraft-based network for passenger wireless devices as embodied in a multi-passenger commercial aircraft200. This system comprises a plurality of elements used to implement a communication backbone that enables wireless communication for a plurality of wireless communication devices of diverse nature. The aircraft-based network for passenger wireless devices includes a Local Area Network206that implements a radio frequency communication system that uses a spread spectrum paradigm and has a short range of operation. This Local Area Network206supports both circuit-switched and packet-switched connections from passenger wireless devices221-224and interconnects the communications of these passenger wireless devices221-224via a gateway transceiver or transceivers210to the Public Switched Telephone Network (PSTN)144and other destinations, such as the Internet147or Public Data Switched Network (PDSN). The wireless passengers thereby retain their single number identity as if they were directly connected to the Public Switched Telephone Network144. The passenger wireless devices221-224include a diversity of communication devices, such as laptop computers221, cellular telephones222, MP3 music players (not shown), Personal Digital Assistants (PDA) (not shown), WiFi-based devices223, WiMax-based devices224, and the like, and for simplicity of description are all collectively termed “passenger wireless devices” herein, regardless of their implementation-specific details.

The basic elements of the aircraft-based network for passenger wireless devices comprises at least one antenna205or means of coupling electromagnetic energy to/from the Air Subsystem3located within the aircraft200which serves to communicate with the plurality of passenger wireless devices221-224located within the aircraft200. The at least one antenna205is connected to Airborne Control Processor Unit (ACPU)122that encompasses a plurality of elements that serve to regulate the wireless communications with the plurality of passenger wireless devices221-224. The Airborne Control Processor Unit (ACPU)122includes a low power radio frequency transceiver203for providing a data-based packet-switched communication space using a wireless communication paradigm, such as WiFi113/114(which could also convey packet-switched Voice over Internet Protocol (VoIP)). In addition, the Airborne Control Processor Unit (ACPU)122can optionally include at least one low power radio frequency transceiver202for providing a circuit-switched communication space using a wireless communication paradigm, such as PCS, CDMA110, or GSM111, for example.

Finally, Airborne Control Processor Unit (ACPU)122includes a power control segment204that serves to regulate the power output of the plurality of passenger wireless devices. It also serves, by RF noise or jamming apparatus, to prevent In-Cabin passenger wireless devices from directly and errantly accessing the ground network when in a non-terrestrial mode. The ultra-low airborne transmit power level feature represents a control by the Power Control element204of Airborne Control Processor Unit (ACPU)122of the aircraft-based network for passenger wireless devices to regulate the output signal power produced by the passenger wireless devices221-224to minimize the likelihood of receipt of a cellular signal by ground-based cell sites or ground-based passenger wireless devices.

It is obvious that these above-noted segments of Airborne Control Processor Unit (ACPU)122can be combined or parsed in various ways to produce an implementation that differs from that disclosed herein. The particular implementation described is selected for the purpose of illustrating the concept of the invention and is not intended to limit the applicability of this concept to other implementations.

The Airborne Control Processor Unit (ACPU)122is connected to a plurality of other elements which serve to provide services to the passenger wireless devices221-224. These other elements can include an Air-To-Ground Airborne Communications Unit (AACU)123for providing management, switching, routing, and aggregation functions for the communication transmissions of the passenger wireless devices. A data acquisition element207serves to interface with a plurality of flight system sensors211-214and a Global Positioning System element216to collect data from a plurality of sources as described below. Furthermore, pilot communication devices, such as the display217and headset218, are connected to this Local Area Network either via a wired connection or a wireless connection.

Finally, a gateway transceiver(s)210is used to interconnect the Air-To-Ground Airborne Communications Unit (AACU)123to an antenna208,215to enable signals to be transmitted from the aircraft-based network for passenger wireless devices to transceivers located on the ground. Included in these components is a communications router function to forward the communication signals to the proper destinations. Thus, signals that are destined for passengers on the aircraft are routed to these individuals, while signals routed to passengers located, for example, on the ground are routed to the Ground Subsystem. Aircraft antenna patterns that typically minimize nadir (Earth directed) effective radiated power (ERP) may be used in the implementation of the antenna(s)215on the aircraft to serve the aircraft-based network for passenger wireless devices or are directed to a satellite via antenna208.

Passenger Login For System Access

On each aircraft, the passenger access to electronic communications typically is regulated via a passenger wireless device registration process, where each electronic device must be identified, authenticated, and authorized to receive service. Since the aircraft is a self-contained environment with respect to the wireless communications between the passenger wireless devices and the airborne wireless network extant in the aircraft, all communications are regulated by the network controller. Thus, when a passenger activates their passenger wireless device, a communication session is initiated between the passenger wireless device and the network controller to identify the type of device the passenger is using and, thus, its wireless protocol. A “splash screen” is delivered to the passenger on the passenger wireless device to announce entry into the wireless network portal. Once this is established, the network controller transmits a set of login displays to the passenger wireless device to enable the passenger to identify themselves and validate their identity (if the passenger wireless device is not equipped to automatically perform these tasks via a smart client which automatically logs the passenger into the network). As a result of this process, the passenger wireless device is provided with a unique electronic identification (IP address), and the network can respond to the passenger wireless device without further administrative overhead. The authentication process may include the use of security processes, such as a password, scan of a passenger immutable characteristic (fingerprint, retina scan, etc.), and the like.

Once the passenger wireless device is logged in, the passenger can access the free standard electronic services that are available from the network or customized electronic services for the particular passenger. The screens that are presented to the passenger can be customized to present the branding of the airline on which the passenger is traveling.

Individual IP Addresses for Passenger Wireless Devices Onboard an Aircraft

For forward traffic from the ground-based Access Network to a passenger wireless device on the aircraft, the Packet Data Serving Node (PDSN) maps a packet's destination IP address to an Air-To-Ground Modem that is located onboard the aircraft. However, the standard Packet Data Serving Node (PDSN) only supports a handful of IP addresses per Air-To-Ground Modem; and there are not enough IP addresses to be able to assign one per passenger wireless device located onboard the aircraft. The Network Address Translation (NAT) onboard the aircraft allows the Packet Data Serving Node (PDSN) to route data communications to multiple users using a single address for the aircraft, but in doing so, the Network Address Translation (NAT) hides the user addresses from the serving Packet Data Serving Node (PDSN) as well as the Network Operations Center (NOC) which is located on the ground. This makes the following functions difficult/impossible to implement in the Access Network:1. Per-user, bandwidth shaping (e.g., limit P2P traffic).2. Per-user, forward access control.3. Transmission Control Protocol (TCP) optimization.

Therefore, the Access Network needs to be able to differentiate data streams that are received from and transmitted via the Air-To-Ground Modem(s) to the individual passenger wireless devices which are located onboard the aircraft. The way to do this is by making the user IP addresses visible on the ground to the Access Network, which implies that the IP addresses assigned to passenger wireless devices should be globally unique within the Airborne Wireless Cellular Network. To accomplish this, the Aircraft ID can be made part of a “subnet” for the IP address assigned via aircraft Dynamic Host Configuration Protocol (DHCP), which is a protocol used by networked devices (clients) to obtain various parameters necessary for the clients to operate in an Internet Protocol (IP) network. By using this protocol, system administration workload greatly decreases; and devices can be added to the network with minimal or no manual configurations. This makes it easier for the Network Operations Center (NOC) to map a user's IP address to an aircraft.

When a Dynamic Host Configuration Protocol (DHCP)-configured client (such as the aircraft-based Air-To-Ground Modem) connects to a network, its Dynamic Host Configuration Protocol (DHCP) client sends a broadcast query requesting necessary information from the serving Dynamic Host Configuration Protocol (DHCP) server. The Dynamic Host Configuration Protocol (DHCP) server manages a pool of IP addresses and information about client configuration parameters such as the default gateway, the domain name, the DNS servers, other servers such as time servers, and so forth. Dynamic Host Configuration Protocol (DHCP) provides a mechanism for allocating IP addresses wherein the Network Operations Center (NOC) assigns a range of IP addresses to the aircraft-based Dynamic Host Configuration Protocol (DHCP) server. The request-and-grant process of this protocol uses a lease concept with a controllable time period, allowing the Dynamic Host Configuration Protocol (DHCP) server to reclaim (and then reallocate) IP addresses that are not renewed (dynamic re-use of IP addresses).

NAT IP Tunnel Example

FIG. 3Aillustrates, in signal flow diagram form, andFIG. 3Billustrates, in flow diagram form, the typical operation of the Traffic Scheduling System using a NAT IP Tunnel to exchange data with a specific destination. This example illustrates a selected passenger wireless device having an IP address of IPy.2 communicating with an end point (not shown) that has an IP address of IPh:80. The passenger wireless device is assigned a port address, such as 2042, at step801by the NAT located onboard the aircraft, which port address is appended to the passenger wireless device IP address to yield IPy2:2042, which is a private, globally unique, dynamic IP address for this passenger wireless device located in the particular aircraft (w). The NAT onboard the aircraft at step802, therefore, uses this passenger wireless device to port mapping to create an ethereal source port for the passenger wireless device IP address IPy.2. The source address, therefore, is IPy2:2042 and the destination address is IPh:80.

The Router is assigned an IP address of IPx.1, and the Air-To-Ground Modem is assigned an IP address of IPx.2, where these IPx.* addresses are private, locally unique, static IP addresses. The Air-To-Ground Modem is the NAT Tunnel endpoint on the aircraft, identified by an IPw.* IP address, and the IPw.* IP addresses are private, globally unique, static IP addresses assigned by the Packet Data Serving Node (PDSN). For data packet traffic generated by the passenger wireless devices, the NAT on the aircraft uses a static NAPT to map the passenger wireless device IPy.z.* IP address to an IPw.x IP address and an ethereal source port (from a range of ports assigned to that aircraft) that is unique for the particular passenger wireless device IPy.z.* Thus, the Router selects an IP address assigned by the Packet Data Serving Node (PDSN) and assigns an IP address of IPw:1124 to this source passenger wireless device.

The data packet then is tunneled to the Air-To-Ground Modem by the Router at step803over the IPx.* network and then is forwarded at step804by the Air-To-Ground Modem over the Air-To-Ground link to the Packet Data Serving Node (PDSN) located on the ground. The Packet Data Serving Node (PDSN) sees only a single IP address per aircraft as is expected, and the NAT on the ground uses the same static NAPT mapping at step805to convert IPw.x and source port from the aircraft back to the IPy IP address. The ethereal source port received from the aircraft remains the same. Thus, at the NAT, the source address for the passenger wireless device becomes IPy2:1124, since the source port address does not change. The Edge Router in the Access Network maps the source address to a public routable IP address IP2:2052 at step806and selects any available ethereal source port.

In the reverse direction, data packets received at the Edge Router from the IP Network from the destination (now termed source IPh:80 in this direction of the bidirectional communication connection) are directed at step807to destination IP2:2052, and the Edge Router performs a reverse IP mapping to convert the received IP address to the original IP address and port assigned to the passenger wireless device to yield IPy2:1124. The NAT located in the Access Network uses the static NAPT mapping at step808to recover the IPw for the aircraft in which this passenger wireless device resides. The destination port remains the same, and the IP address output by the NAT, therefore, is IPw:1124. The NAT located in the Access Network at step809forwards the received data packets to the Air-To-Ground Modem located onboard this aircraft. The received data packets are received at the Air-To-Ground Modem located on this aircraft and are forwarded at step810to the Router, where the NAT on the aircraft at step811uses its reverse NAPT to recover the destination address IPy2 and port 2042 for the passenger wireless device.

In this manner, the address manipulation used in the aircraft and in the Access Network enables the Packet Data Serving Node (PDSN) to present unique IP addresses to the ground-based network for the plurality of passenger wireless devices located on the aircraft, yet use the standard common IP address for the Air-To-Ground link.

Signaling Details of Point-to-Point Protocol Session Establishment

FIG. 4illustrates the signal flow in a typical Point-To-Point Protocol Session Establishment process which is executed between the aircraft and the ground-based communication system over the Air-To-Ground link, andFIG. 5illustrates the signal flow in a typical Forward Flow of an established connection over the Air-To-Ground link. The following signal flows are shown inFIG. 4:1. The Airborne Control Processor Unit (ACPU)122notifies the Air-To-Ground Airborne Communications Unit (AACU)123to enable its radio frequency transceiver to establish a data connection.2. The Air-To-Ground Airborne Communications Unit (AACU)123establishes a session with Base Station Controller140, and Packet Control Function143initiates A11 registration request to Public Switched Data Network143to establish the main A10 tunnel for this aircraft.3. Public Switched Data Network143establishes the main A10 tunnel by returning an A11-Registration Reply message to the Base Station Controller140with an accept indication and Lifetime set to a non-zero value.4. The Air-To-Ground Airborne Communications Unit (AACU)123initiates LCP negotiation with Public Switched Data Network143.5. The Air-To-Ground Airborne Communications Unit (AACU)123is authenticated by Authentication, Authorization, and Accounting (AAA) server145. Authorization information of the Airborne Terminal is stored by Public Switched Data Network143.6. Public Switched Data Network143assigns the first IP address of a pre-specified IP Network to the Air-To-Ground Airborne Communications Unit (AACU)123in Internet Protocol Control Protocol (IPCP):For example, the IP address subnet is based on the Air-To-Ground Airborne Communications Unit (AACU)123Network Address Identifier (NAI), e.g. the Air-To-Ground Airborne Communications Unit123receives IP address 192.168.1.1 from Sub-network 192.168.1.0/24.The Sub-network size (/24, /23, etc.) and Network Address Identifier Sub-network mapping is defined on the Air-To-Ground Airborne Communications Unit (AACU)123and Public Switched Data Network143prior to first call; thus, the IP Sub-network assignment is “Implicitly Assigned”.There is no change in Internet Protocol Control Protocol (IPCP) messaging or structure.The Air-To-Ground Airborne Communications Unit (AACU)123can utilize the Sub-network pool of addresses in any way; the Public Switched Data Network143Point-to-Point Protocol/Traffic Flow Template forwarding logic (Forward Link) must allow for the Sub-network of addresses to be associated with the single Point-to-Point Protocol link (negotiation).7. After the Air-To-Ground Airborne Communications Unit (AACU)123finishes establishing Point-to-Point Protocol session, the Air-To-Ground Airborne Communications Unit (AACU)123notifies Airborne Control Processor Unit (ACPU)122. At the same time, Public Switched Data Network143sends A11 session update to Packet Control Function143for notifying the user's QoS profile to Base Station Controller140.8. Base Station Controller140sends acknowledgement to Public Switched Data Network143.9. Upon establishment of the Point-to-Point Protocol session, Public Switched Data Network143sends accounting request to Authentication, Authorization, and Accounting (AAA) server145.10. Authentication, Authorization, and Accounting (AAA) server145stores user's accounting packets and sends accounting replies to Public Switched Data Network143.11. Air-To-Ground Airborne Communications Unit (AACU)123sends QoS request message to Base Station Controller140. Base Station Controller140reserves QoS resource for Air-To-Ground Airborne Communications Unit (AACU)123.12. Packet Control Function sends A11 registration request to Public Switched Data Network143to establish auxiliary A10 tunnel.13. Public Switched Data Network143establishes auxiliary A10 tunnel.14. Air-To-Ground Airborne Communications Unit (AACU)123sends RESV message to Public Switched Data Network143to provide the Public Switched Data Network143with Traffic Flow Template for the data flow of users. The Packet Filter in Traffic Flow Template takes the Differentiated Services Code Point (DSCP) filter component and the Flow ID.15. Public Switched Data Network143stores Packet Filters of Traffic Flow Template and replies to Air-To-Ground Airborne Communications Unit (AACU)123.16. User begins to transmit data flow.
Forward Flow

FIG. 5illustrates the signal flow in a typical Forward Flow of an established connection over the Air-To-Ground link, as follows:1. The Traffic Scheduling System124sends user's data packets received from the Air-To-Ground Airborne Communications Unit (AACU)123to the Packet Data Serving Node143.2. Packet Data Serving Node143retrieves the Traffic Flow Template associated with the user's terminal device101according to the destination IP address of data packet. The Destination IP address is a single address within the IP Pool (Subnet) assigned to that Point-to-Point Protocol link.3. The Packet Data Serving Node143applies Packet Filter (PF) which is defined in the Traffic Flow Template to match the ToS in the IP header of the packet received from the user's terminal device101. The Packet Filter includes Differentiated Services Code Point (DSCP) value as filter components.4. Once the Packet Data Serving Node143matches the packets successfully, the Packet Data Serving Node143reads the Flow ID from the matched Packet Filter and finds the appropriate A10 tunnel bearing the Flow ID. The Packet Data Serving Node143then encapsulates the user's data into the specified A10 tunnels. Packet Data Serving Node143sends the packets to Base Station Subsystem/PCF, and Base Station Subsystem/PCF sends user data to Air-To-Ground Airborne Communications Unit (AACU)123by wireless interface.5. When Air-To-Ground Airborne Communications Unit (AACU)123receives Point-to-Point Protocol frame, Air-To-Ground Airborne Communications Unit (AACU)123decapsulates the Point-to-Point Protocol frame to get user's IP packets and sends packets of user to Airborne Control Processor Unit (ACPU)122.6. Airborne Control Processor Unit (ACPU)122makes the Network Address Translation for IP header of packets of user7. After Network Address Translation, Airborne Control Processor Unit (ACPU)122sends the received and translated packets to the WiFi subsystem113/114.
Traffic Shaping

Traffic shaping (also known as “packet shaping”) is an attempt to control computer network traffic in order to optimize or guarantee performance, low latency, and/or bandwidth by delaying packets. More specifically, traffic shaping is any action on a set of packets (often called a stream or a flow) which imposes additional delay on those packets such that they conform to some predetermined constraint (a contract or traffic profile). Traffic shaping provides a means to control the volume of traffic being sent into a network in a specified period (bandwidth throttling), or the maximum rate at which the traffic is sent (rate limiting), or more complex criteria such as Generic Cell Rate Algorithm (or GCRA), which is an algorithm which measures cell rate at a specified timescale. The Generic Cell Rate Algorithm is an implementation of the leaky bucket algorithm in ATM networks and provides a traffic shaping function. Traffic shaping is achieved by delaying packets and is commonly applied at the network edges to control traffic entering the network; but it can also be applied by the traffic source (for example, computer or network card) or by an element in the network.

Traffic Scheduling System

FIG. 10illustrates, in flow diagram form, the operation of the Traffic Scheduling System to regulate the delivery of Bandwidth Intensive traffic. The Airborne Control Processor Unit (ACPU)122includes a Traffic Scheduling System124which can negotiate the flow of data on the Air-To-Ground link which can be served by multiple modems. The Traffic Scheduling System124at step1001establishes a plurality of Traffic Flow Templates, each of which defines a flow at and to the Packet Data Serving Node143. The Packet Data Serving Node143applies a Packet Filter (PF) which is defined in the Traffic Flow Template to match the ToS in the IP header of the packet received from the user's terminal device101. The Packet Filter includes Differentiated Services Code Point (DSCP) value as filter components which assign subscribers to selected flows. Since the Airborne Control Processor Unit (ACPU)122knows how many users/active subscribers/authenticated subscribers are present, it can manage the assignment of streams to the appropriate Traffic Flow Template.

For example, there can be a committed information flow rate, such as % lost packets/latency, which is managed using 5 flows/queues to manage the various classes of data:1. Fixed Bandwidth—alarms/VoIP/FAM (expedited real time data flows)2. Passenger data—near real time data flows (HTTP)3. Passenger data—non-real time (Virtual Private Network, E-Mail)—best efforts4. Bandwidth intensive (Video)5. Administrative (logs, software updates)

The number of Traffic Flow Templates used to implement these classes of data and/or other classes of data can be negotiated as a function of the number of subscribers, the type of service requested, and/or the service subscription authorized for each subscriber. The number of subscribers determines the committed information flow rate, and the Packet Data Serving Node143can change the Bandwidth of the Air-To-Ground link to the plane.

Bandwidth Intensive Traffic Identification Based on Transport Stream

In order to effect the traffic management of the data in a simple manner, the data streams generated by the users are characterized at step1002as a function of their volume of data. A stream is a layer4connection between the client and an Internet server over the Air-To-Ground link. For example, a typical Internet browsing stream has a relatively short “lifetime” (minutes) and passes relatively little data (few Kbyte). Therefore, streams that pass large amounts of data are identified as bandwidth intensive and should be prioritized differently than smaller streams. For example, one simple binary metric can be:Small Streams: (js, css, gif, etc. types of files) Size˜<200 kbyteLarge Streams: (swf, fly, etc. types of files) Size>200 kbyte
The number of data stream classifications is determined by the system administration needs and can even vary as a function of the data traffic.

Large byte-volume streams are the root of congestion on the Air-To-Ground Link, and the Traffic Scheduling System124can classify and prioritize streams based on their byte volume.FIGS. 6 and 7illustrate screen shots of typical data file transfer activity as monitored by the Traffic Scheduling System124. In an HTTP environment, the source socket provides object size information to the destination, such as the information shown inFIGS. 6 and 7. From these displays of data stream activity, it is evident that the large file sizes (>25 MB) represent video streams, especially when the file is associated with the identification of the destination port (youtube.com). Thus, the stream classification can incorporate a number of factors in making a determination of bandwidth intensive stream, including TCP/UDP, number of packets (VoIP), file size, cumulative traffic, and well-known port combinations. For example, certain ports are inherently the source of bandwidth intensive traffic; and even if the source divides the file into multiple streams, the source and destination addresses are identical for all the streams, and these streams can be added together for the purpose of making a Bandwidth Intensive determination. This classification of traffic is “network neutral”—all data is classified at a stream level (source IP, destination IP, source port, destination port). Otherwise, the data is not inspected. A stream is deemed “Bandwidth Intensive” if it exceeds some byte volume, which can be a lifetime count, or a “leaky bucket” mechanism or the factors noted above.

Bandwidth Intensive Controller

Once streams have been classified by the Traffic Scheduling System124, the Bandwidth Intensive and Near Real Time traffic can be controlled by a simple Traffic Shaping process executed by the Traffic Scheduling System124, using a traffic management parameter such as via the Round-Trip Time of the next higher priority queue, in the set of queues as outlined above. In telecommunications, the term “round-trip delay time” or Round-Trip Time (RTT) is the elapsed time for transit of a signal over a closed circuit or time elapsed for a message. Another definition for Round-Trip Time is the time required for a signal pulse or packet to travel from a specific source to a specific destination and back again.

The Airborne Control Processor Unit (ACPU)122can set the nominal limits of the Round-Trip Time requirement for each class of data (queue) at step1003. Thus, at step1004, the Traffic Scheduling System124computes the Round-Trip Time for each class of data queue. This measurement typically is taken across the Air-To-Ground link and may extend further into the communication network if so desired to measure the time it takes to traverse a predetermined portion of the network. The Round-Trip Time can be measured by inserting a GPS-determined time stamp into the header of the message thereby to obtain precise time measurements used to compute the Round-Trip Time, or the initial query simply can be returned and the transit time measured. The Round-Trip Time (RTT) of the highest priority queue is compared to a predetermined threshold at step1005and if it is greater than this threshold, then the Airborne Control Processor Unit (ACPU)122at step1006can implement a Dynamic Configuration of the system by reducing the queue size (rate) for the next lower queue. The lower priority queues in turn can borrow from higher priority classes if the Round-Trip Time (RTT) supports this adjustment. This queue design allows for variable link conditions, and the queue size/rate can be adjusted based upon known Air-To-Ground link conditions and client loading (provide more bandwidth to endpoints with more active clients). If the determination at step1005is that the Round-Trip Time does not exceed the threshold, then nothing is done at step1007and the process at step1008updates the parameters and the rate setting process is repeated.

The Airborne Control Processor Unit (ACPU)122can Measure Real Time, Near Real Time, and Round-Trip Time via TCP/ICMP/RTP methods. In addition, the Airborne Control Processor Unit (ACPU)122can place a proprietary HTTP header tag in client data to define additional traffic management data, so the message becomes self-defining:Flight identification data (Aircraft tail number)Aircraft GPS dataSystem loadingSession id (uname)RTT, etc.

FIG. 8illustrates, in flow diagram form, the operation of the Traffic Scheduling System to regulate the delivery of Bandwidth Intensive traffic, based upon the present state of the Non-Real Time traffic performance; andFIG. 9illustrates, in flow diagram form, the operation of the Traffic Scheduling System to determine a delivery rate of Bandwidth Intensive traffic, based upon the present state of the Real Time and Non-Real Time traffic performance. In particular, Traffic Scheduling System124is located in Airborne Control Processor Unit (ACPU)122, which places the Traffic Scheduling System124in a highly distributed mode, where the data stream information is generated closer to the Airborne Control Processor Unit (ACPU)122, which can adjust the controls and methods via Aircraft Network Controller Dynamic Configuration.

The implementation ofFIG. 8illustrates, in flow diagram form, the operation of the Traffic Scheduling System124to regulate the delivery of Bandwidth Intensive traffic, based upon the present state of the Non-Real Time traffic performance. This diagram illustrates the use of two queues, one for Non-Real Time (NRT) traffic and one for Bandwidth Intensive (BWI) traffic. The typical metrics for these services (which can be adjusted as needed) are the Round-Trip Time (RTT) for traffic for the Non-Real Time (NRT) is between 300 msec and 500 msec. Similarly, the Bandwidth Intensive service has a data transfer rate of between 100 Kbps and 1200 Kbps. These operational guidelines represent the outer limits of the queue operation. The algorithm for adjusting the queue size to remain within these limits is:IF (the Round-Trip Time (RTT) for Non-Real Time (NRT) queue>the maximum allowable Round-Trip Time (RTT)+the present data transmission rate for Bandwidth Intensive (BWI) traffic is less than or=the minimum rate for Bandwidth Intensive (BWI) traffic)THEN (decrease the Bandwidth Intensive (ma) traffic rate by ΔBWIDKbps).IF ((there is no Non-Real Time (NRT) traffic) OR (the Round-Trip Time (RTT) for Non-Real Time (NRT) queue<the minimum allowable Round-Trip Time (RTT)+the present data transmission rate for Bandwidth Intensive (BWI) traffic is less than the maximum rate for Bandwidth Intensive (BWI) traffic))THEN (increase the Bandwidth Intensive (BWI) traffic rate by ΔBWIIKbps).

The implementation ofFIG. 9illustrates, in flow diagram form, the operation of the Traffic Scheduling System124to determine a delivery rate of Bandwidth Intensive traffic, based upon the present state of the Real Time and Non-Real Time traffic performance. This diagram illustrates the use of three queues, one for Real Time (RT) traffic, one for Non-Real Time (NRT) traffic, and one for Bandwidth Intensive (ma) traffic. The typical metrics for these services (which can be adjusted as needed) are the Round-Trip Time (RTT) for traffic for the Real Time (RT) is between 150 msec and 250 msec.; the Round-Trip Time (RTT) for traffic for the Non-Real Time (NRT) is between 300 msec and 500 msec, and the data transfer rate is between 200 Kbps and 3000 Kbps. Similarly, the Bandwidth Intensive service has a data transfer rate of between 50 Kbps and 3000 Kbps. These operational guidelines represent the outer limits of the queue operation. The algorithm for adjusting the queue size to remain within these limits is:IF (the Round-Trip Time (RTT) for Real Time (RT) queue>the maximum allowable Round-Trip Time (RTT)+the present data transmission rate for Non-Real Time (NRT) traffic is less than or=the minimum rate for Non Real Time (NRT) traffic)THEN (decrease the Non-Real Time (NRT) traffic rate by ΔNRTDKbps).IF ((there is no Real Time (RT) traffic) OR (the Round-Trip Time (RTT) for Non-Real Time (NRT) queue<the minimum allowable Round-Trip Time (RTT)+the present data transmission rate for Non-Real Time (NRT) traffic is less than the maximum rate for Non-Real Time (NRT) traffic))THEN (increase the Non-Real Time (NRT) traffic rate by ΔNRTIKbps).IF (the Round-Trip Time (RTT) for Non-Real Time (NRT) queue>the maximum allowable Round-Trip Time (RTT)+the present data transmission rate for Bandwidth Intensive (BWI) traffic is less than or=the minimum rate for Bandwidth Intensive (BWI) traffic)THEN (decrease the Bandwidth Intensive (BWI) traffic rate by ΔBWIDKbps).IF ((there is no Non-Real Time (NRT) traffic) OR (the Round-Trip Time (RTT) for Non-Real Time (NRT) queue<the minimum allowable Round-Trip Time (RTT)+the present data transmission rate for Bandwidth Intensive (BWI) traffic is less than the maximum rate for Bandwidth Intensive (BWI) traffic))

THEN (increase the Bandwidth Intensive (BWI) traffic rate by ΔBWIIKbps).

SUMMARY

The Traffic Scheduling System executes a multi-step process first to identify the bandwidth intensive traffic. The identification of the bandwidth intensive traffic is effected at the stream level by measuring the byte volume of the stream and using this data to classify the stream into one of a plurality of usage categories. The classification of bandwidth intensive traffic extant in the aircraft is network neutral in that all data is classified at the stream level (source IP, destination IP, source port, destination port). Otherwise, the data is not inspected. The stream is deemed Bandwidth Intensive if it exceeds some byte volume, and the streams deemed Bandwidth Intensive then are controlled at the Aircraft Network Controller using Dynamic Configuration.