Abstract:
A self-configuring router for data transfer has a first storage device for storing historic performance and configuration data. A configuration device is coupled to the first storage device for configuring the router based on the performance and configuration data. A data collector is coupled to the configuration device for measuring operational data of the router. An analysis device is coupled to the data collector and the first storage device for analyzing the operational data.

Description:
BACKGROUND 
       [0001]    Embodiments of this disclosure relate generally to a network communication system, and more particularly, to a self-configuring router which may transfer data based on router location, history, or other criteria. 
         [0002]    Computer networks may use one or more routers. Routers are devices that may be used to forward data packets across computer networks. The router may be connected to two or more data lines from different computer networks. When data comes in on one of the lines, the router may read the address information in the packet to determine the destination of the data. Using the address information, the router may send the data to the proper location. 
         [0003]    Aircraft may have one or more computer networks. The computer networks may perform different applications within the aircraft. Some of these applications may need to transfer data to ground base computer networks. In order to transfer the data to the ground base computer networks, the aircraft may have a router through which the data may have to pass. 
         [0004]    These multiple applications may compete for network bandwidth to associated ground systems. A traditional way to solve this would be to prioritize the data to be transferred. However, prioritization scheme may differ depending upon where the aircraft is located. In addition bottlenecks caused by multiple applications competing for network bandwidth to associated ground systems may not visible to the aircraft and so the only way for the aircraft to learn of the bottleneck is to measure end-to-end network behavior and adapt using that information. 
         [0005]    Therefore, it would be desirable to provide a system and method that overcomes the above problems. 
       SUMMARY 
       [0006]    A self-configuring router for data transfer has a first storage device for storing historic performance and configuration data. A configuration device is coupled to the first storage device for configuring the router based on the performance and configuration data. A data collector is coupled to the configuration device for measuring operational data of the router. An analysis device is coupled to the data collector and the first storage device for analyzing the operational data 
         [0007]    A self-configuring router for data transfer has a first storage device for storing historic performance and configuration data. A configuration device is coupled to the first storage device for configuring the router. The configuration device configures the router based on the historic performance and configuration data associated with a present location of the router. A data collector is coupled to the configuration device for measuring operational data of the router. An analysis device is coupled to the data collector and the first storage device for analyzing the operational data and for determining new performance and new configuration data. 
         [0008]    A method for self configuration of a router comprises: determining a location of the router; retrieving historic performance and configuration data stored in the router associated with the location; and configuring the router based on the historic performance and configuration data stored in the router associated with the location. 
         [0009]    The features, functions, and advantages can be achieved independently in various embodiments of the disclosure or may be combined in yet other embodiments. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS  
         [0010]    Embodiments of the disclosure will become more fully understood from the detailed description and the accompanying drawings, wherein: 
           [0011]      FIG. 1  is a simplified block diagram of a communication system having a self-configuring router; 
           [0012]      FIG. 2  is a block diagram of the self-configuring router; and 
           [0013]      FIG. 3  is a process diagram showing operation of the self-configuring router. 
       
    
    
     DETAILED DESCRIPTION  
       [0014]    Referring to  FIG. 1 , a network system  10  is shown. The network system  10  may be used to transfer data. The network system  10  is described below in regards to a mobile platform wherein the network system  10  is movable. More specifically, the network system  10  is described below in regards to an aircraft network system where the network system  10  is positioned within an aircraft  12 . The network system  10  may be used to transfer data from the aircraft  12  to a desired destination. For example, the data may be sent from the aircraft  12  to a ground base location. However, this should not be seen in a limiting manner. 
         [0015]    The network  10  may have one or more computers  14 . Each of the computers  14  may be programmed to run different applications  16 . For an aircraft network system, the computers  14  may run different applications  16  which relate to operation of the aircraft  12  and or which may be used in the operation of the aircraft. 
         [0016]    The computer  14  may be coupled to one or more routers  18 . The routers  18  may be used to transfer data from the computers  14  to a desired destination. In a case where multiple routers  18  may be used, the multiple routers  18  may be configured to communicate with one another. This may allow the routers  18  to coordinate and control and modify the upstream routing of traffic (i.e., inside of the aircraft). In the embodiment shown in  FIG. 1 , one of the routers  18  may be an edge router  18 A. The edge router  18 A may be used to transfer date to an off board port  20 . The off board port  20  may be communication ports which may be used to transfer data from the aircraft to a ground base destination. 
         [0017]    In the embodiment shown in  FIG. 1 , the edge router  18 A may be used to transfer data to one or more off board ports  20 . Aircraft may have several different off board ports  20  which may be used to transfer data. As shown in  FIG. 1 , the edge router  18 A may be used to transfer data to a Terminal Wireless LAN Unit (TWLU) port  20 A, Swift Broadband (SBB) communication port  20 B, a cellular communication port  20 C, a wired communication port  20 D, or other communication port  20 E. The different off board ports  20  shown are given as an example and should not be seen in a limiting manner. 
         [0018]    Each of the computers  14  may be running one or more different applications  16 . Data generated by the computers  14  may go through a packet labeling process  22 . The packet labeling process  22  may be used to add a header to the data packets. The header may contain traffic categorization labels. The categorization labels may contain information such as preferences for the transfer of the data. For example, the header may contain information regarding which off board port  20  may be preferred for transferring the data off of the aircraft. The information contained in the header is used as described below. 
         [0019]    The edge router  18 A may be a self-configuring router. Thus, the edge router  18 A may use information stored within the edge router  18 A to alter the current setting of the edge router  18 A in order to prioritize and shape the transfer of the data. For example, the edge router  18 A may use information like the present location, and previously observed history and or settings at that location such as the time of day, aircraft at the location, aircraft traffic, past data flows for the time of day and location, and the like, to decide how to prioritize and shape the transfer of the data. The edge router  18 A may measure the observed data flow and use these measurements to update history for that location and to adjust the transfer of data from the edge router  18 A. Thus, the edge router  18 A may not have to rely on the contents of the header in the data for directing the data to the next destination but may use the header information as a way to identify different traffic flows. 
         [0020]    The edge router  18 A may have a flow identifier  24 . The flow identifier  24  may be used to decipher the information in the header attached to the data. Thus, the flow identifier  24  may decipher which source application  16  generated the data flow. 
         [0021]    The data from the flow identifier  24  may then be sent to a traffic shaper  26 . The traffic shaper  26  may be used adjust the configuration and hence adjust the flow of data out of the edge router  18 A. The traffic shaper  26  may alter the route based on information provided to and or stored within the edge router  18 A. 
         [0022]    The traffic shaper  26  may be coupled to a control device  28 . The control device  28  may be used to send signals to the traffic shaper  26 . The signals may be used to adjust the configuration and hence how data flows from the edge router  18 A. 
         [0023]    The control device  28  may be coupled to one or more input devices  30 . The input devices  30  may be memory devices which may be used to store information which may be used to configure the edge router  18 A. Thus, the information stored in the input devices  30  may be used to decide how to prioritize and shape the transfer of the data. 
         [0024]    In the embodiment shown in  FIG. 1 , the input device  30  may be a Link/Flow History  30 A. The Link/Flow History  30 A may be statistical data which may be used to decide how to prioritize and shape the transfer of the data. The statistical data may be data previously monitored by the edge router  18 A, data uploaded to the edge router  18 A from other aircraft, and the like. The statistical data may include but is not limited to data flow rates. For example, the statistical data may be data flow rates related to the present location, and previously observed history and or settings at that location. For mobile platforms, network connectivity may be based on where the network system  10  is located. For example, in an aircraft network system, if the network system  10  is located in the United States, network connectivity via TWLU port  20 A may provid a faster connection and may be preferred over other off board ports  20  when transferring data. However, if the network system  10  is located in Asia, network connectivity via TWLU port  20 A may not be as satisfactory and other off board ports  20  may provide better connectivity. Thus, since network behavior varies based on where one may be located, the Link/Flow History  30 A may provide statistical data which may be used to decide how to configure the edge router  18 A in order to prioritize and shape the transfer of data. 
         [0025]    One example of the operation of the Link/Flow History  30 A may be as follows. The Link/Flow History  30 A may indicate that at the present location, during certain times of the day, that the data flow rate at the TWLU port  20 A is slow due to heavy usage. Thus, the Link/Flow History  30 A may send this information to the control device  28 . The control device  28  may then send a signal to the traffic shaper  26  to configure the edge router  18 A so that an off board ports  20  other than the TWLU port  20 A may be used to transfer data due to the slow connectivity of the TWLU port  20 A. 
         [0026]    In the embodiment shown in  FIG. 1 , the input device  30  may be a Link/Flow Policy  30 B. The Link/Flow Policy  30 B may be procedural data which may be used to decide how to prioritize and shape the transfer of the data. The procedural data may include but is not limited to customer policies. For example, a customer policy may relate to which off board port  20  may be used to download certain data off of the aircraft. Another policy may related to using a specific off board port  20  if the size of the data transfer is less than a certain size and to use a different off board port  20  is greater than a designated size. Thus, certain customer policies may be used to configure the edge router  18 A. The above are given as examples and should not be seen in a limiting manner. 
         [0027]    Data flow information and statistics collected by the flow identifier  24  and the traffic shaper  26  may be sent to a data collector  32 . Data flow information and statistics collected by the flow identifier  24  and the traffic shaper  26  may be the date flow rate out of the edge router  18 A, which output ports  20  the data is being sent, and the like. The data flow information and statistics may be sent to an analysis device  34 . The analysis device  34  may be used to review the data flow information and statistics and to determine to which output ports  20  may be best for transferring the data based on the time, day, location, etc. The analysis device  34  may use time series analysis or other analysis procedures for the above process. Information extrapolated by the analysis device  34  may be sent to the Link/Flow History  30 A where it may be used to configure the edge router  18 A and control operation of the traffic shaper as described above. 
         [0028]    Referring now to  FIG. 2 , a simplified block diagram of the traffic shaper  26  may be shown. The traffic shaper  26  may have a selection mechanism  36 . The selection mechanism may be coupled to a Traffic Control (TC) configurator  38 . The TC configurator  38  may be coupled to and receives signals from the control device  28 . The TC configurator  38  may be used to send signals to the selection mechanism  36 . The signals sent to the selection mechanism  36  may be used to select a specific routing table  38  to be used. 
         [0029]    As shown in  FIG. 2 , the traffic shaper  26  may have a plurality of routing tables  38 . In the embodiment shown in  FIG. 2 , the traffic shaper  26  may have a TWLU routing table  38 A, an SBB routing table  38 B, a wired routing table  38 C, a cellular routing table  38 D, and other touting table  38 E. The above is shown as one example and should not be seen in a limiting manner. The routing tables  38  may be used to generate a route for the transfer of the data. 
         [0030]    Each routing table  38  may be coupled to a traffic shaping device  40 . Thus, the TWLU routing table  38 A may be coupled to a TWLU shaping device  40 A, the SBB routing table  38 B may be coupled to a SBB shaping device  40 B, the wired routing table  38 C may be coupled to a wired shaping device  40 C, a cellular routing table  38 D may be coupled to a cellular shaping device  40 D, and the other routing table  38 E may be coupled to an other shaping device  40 E. 
         [0031]    Each of the traffic shaping devices  40  may also be coupled to the TC configurator  38 . The TC configurator  38  may be used to send signals to each traffic shaping device  40 . The signals from the TC configurator  38  may be used to allow the traffic shaping devices  40  to adjust the flow of data out of each of the routing tables  38  by biasing some flows of data over others based upon the flow identifiers  24  ( FIG. 1 ). 
         [0032]    Referring now to Figures  1  and  3 , the operation of the edge router  18 A may be described. The edge router  18 A may monitor which output ports  20  are available for transferring data as shown in Step  100 . The edge router  18 A may be in a wait state  102  during this time. When different output ports  20  become available  104 , the edge router  18 A may try to determine a current location  106  of where the edge router  18 A is located. In the embodiment where the edge router  18 A is part of an aircraft network system, the aircraft may be used to determine the present location Step  108  and this information may be sent to the edge router ISA. Once given the current location, the statistical data and or previous settings from that location may be queried step  110 . The statistical data and or previous settings may be the data from the Link/Flow History  30 A. 
         [0033]    Once the statistical data and or previous settings have been obtained, the edge router  18 A may be configured step  112 . The configuration may be based not only on the statistical data and previous settings obtained, but also on customer policy request step  114 . The customer policy request may be obtained from the Link/Flow Policy  30 B. 
         [0034]    Once the edge router  18 A has been reconfigured, the off board router  18 A may allow the data to flow. During the transfer of data, the performance of the off board router  18 A may be monitored step  116 . For example, the data flow rate may be monitored. The performance continues to be monitored until the off board port  20  current being used is closed and or changes. 
         [0035]    Once the off board port  20  being used is closed and or changes step  118 , the performance data may be sent to the data collector  32  and then sent to the analysis device  34  where the statistical performance of the off board router  18 A may be calculated step  120 . This information may then be feed back to the Link/Flow History  30 A. In accordance with another embodiment, the performance data may be sent to the data collector  32  and then sent to the analysis device  34  where the statistical performance of the off board router  18 A may be calculated prior to the closing and or changing of the link. In this embodiment, the statistical performance data calculations may be performed at set intervals, for example, every 10 minutes or the like. 
         [0036]    In accordance with one embodiment, the conditions at a given location may become more favorable (for example bandwidth on a particular output port may improve) over time. Thus, the edge router  18 A may be designed to periodically set the shaping for a predefined amount. Statistical performance data calculations may be performed at set intervals to determined if additional traffic shaping by the edge router  18 A may be desirable. 
         [0037]    While embodiments of the disclosure have been described in terms of various specific embodiments, those skilled in the art will recognize that the embodiments of the disclosure can be practiced with modifications within the spirit and scope of the claims.