Abstract:
A method for mitigating traffic congestions in a communication network uses concatenated data packets to transmit information between terminals, e.g., edge proxies, of the network. Embodiments of the invention are directed to packet communications over military or commercial networks. In one application, the method is implemented in a network using High Assurance Internet Protocol Encryption (HAIPE).

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application claims benefit of U.S. provisional patent application Ser. No. 60/853,219, filed Oct. 20, 2006, which is herein incorporated by reference. 
     
     FIELD OF THE INVENTION 
       [0002]    The present invention generally relates to the field of communication networks and, in particular, to a method for mitigating traffic congestions in a communication network. 
       BACKGROUND OF THE INVENTION 
       [0003]    Communication networks may experience traffic congestion events. During such events, performance of data, voice, or video communications degrades and may fall below acceptable levels. In particular, traffic congestions are more likely to occur in military and commercial networks using data encryption techniques. 
         [0004]      FIG. 1  depicts an exemplary conventional datagram  100  that may be used for transmitting encrypted information in an Internet Protocol (IP) based communication system. The datagram  100  includes an encryption overhead block  110  and a packet  120  having an IP header  122  and a payload  124 . The encryption overhead block  110  generally includes an IP header  112 , an encryption header  114 , and an encryption trailer  116 . 
         [0005]    Encryption techniques commonly produce large amounts of overhead that significantly increases the traffic load in a network. For example, in the datagram  100 , a bit length of the encryption overhead block  110  may exceed by more than two times a bit length of the packet  120 . Correspondingly, limited bandwidths of the respective networks may prevent use of effective encryption techniques that tend to generate large overhead traffic. 
         [0006]    Therefore, despite the considerable effort in the art devoted to avoidance or mitigation of traffic congestions in communication networks, further improvements would be desirable. 
       SUMMARY OF THE INVENTION 
       [0007]    Embodiments of the present invention are generally directed to packet communications over military or commercial communication networks. 
         [0008]    One aspect of the invention provides a method for exchanging information using data packets that are concatenated to form integrated datagrams. When transmitted information is encrypted, each integrated datagram includes an encryption protocol-specific overhead block. 
         [0009]    Another aspect of the present invention provides a method for transmitting information in an Internet Protocol (IP) based communication network. In one embodiment, the method includes the steps of identifying data packets having a common interim destination terminal, e.g., edge proxy of the network, concatenating such data packets to form one or more integrated datagrams, and exchanging the integrated datagrams between transmitting and receiving terminals of the network. 
         [0010]    Yet another aspect of the present invention provides a method for mitigating traffic congestion in a communication network having at least two edge proxies and using High Assurance Internet Protocol Encryption (HAIPE). In one embodiment, the method includes the steps of generating data packets having a header and a payload containing a portion of the information. The data packets are concatenated to form integrated datagrams, each such datagram having an encryption protocol-specific overhead block. The integrated datagrams are exchanged between transmitting and receiving edge proxies of the network. A number of the data packets in an integrated datagram is dynamically defined based on assessment of a plurality of pre-determined parameters, including a traffic load, a type of a content of the concatenated data packets, probability of a loss of the data packets, and a Differentiated Services Code Point (DSCP) value. 
         [0011]    Still another aspect of the present invention is a communication network using the inventive method. 
         [0012]    Various other aspects and embodiments of the invention are described in further detail below. 
         [0013]    The Summary is neither intended nor should it be construed as being representative of the full extent and scope of the present invention, which these and additional aspects will become more readily apparent from the detailed description, particularly when taken together with the appended drawings. 
     
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0014]      FIG. 1  is a schematic diagram of a conventional datagram for transmitting encrypted information in an IP-based network. 
           [0015]      FIG. 2  is a flow diagram illustrating a method of mitigating traffic congestions in a communication network in accordance with one embodiment of the present invention. 
           [0016]      FIG. 3  is a schematic diagram of an integrated datagram formed in accordance with the method of  FIG. 2 . 
           [0017]      FIG. 4  is a high-level, schematic diagram of an exemplary communication network using the method of  FIG. 2 . 
       
    
    
       [0018]    To facilitate understanding, identical reference numerals have been used, where possible, to designate identical elements that are common to the figures. The images in the drawings are simplified for illustrative purposes and are not depicted to scale. 
         [0019]    The appended drawings illustrate exemplary embodiments of the invention and, as such, should not be considered as limiting the scope of the invention that may admit to other equally effective embodiments. It is contemplated that features or steps of one embodiment may beneficially be incorporated in other embodiments without further recitation. 
       DETAILED DESCRIPTION 
       [0020]    Referring to the figures,  FIG. 2  depicts a flow diagram illustrating a method  200  of mitigating traffic congestions in a communication network in accordance with one embodiment of the present invention, and  FIG. 3  depicts a schematic diagram of an integrated datagram  300  formed in accordance with the method  200 . To best understand the invention, the reader is suggested to refer to  FIGS. 2-3  simultaneously. 
         [0021]    In various embodiments, method steps of the method  200  are performed in the depicted order or at least two of these steps or portions thereof may be performed contemporaneously, in parallel, or in a different order. For example, portions of steps  220  and  230  or steps  260  and  270  may be performed contemporaneously or in parallel. Those skilled in the art will readily appreciate that the order of executing at least a portion of other discussed below processes or routines may also be modified. 
         [0022]    Hereafter, aspects of the present invention are illustratively described within the context of IP-based communication networks and, in particular communication networks where information (for example, voice, video, or alphanumerical data) is transmitted in an encrypted format. These networks may comprise wireless, wired, or fiber-optic communication links. It has been contemplated and is within the scope of the present invention that the method  200  may also be utilized within the context of other types of communication networks that are adapted for exchanging digitized information. 
         [0023]    At step  210 , data packets  120  (shown in  FIG. 3 ) addressed to the same interim destination, i.e., same receiving terminal, are identified and accumulated at a transmitting terminal of a communication network. In one embodiment, the transmitting and receiving terminals are edge proxies of the respective network. Each edge proxy may further be coupled to a plurality of client devices or one or more local area networks (LANs). 
         [0024]    Referring to  FIG. 3 , each data packet  120  includes the IP header  122  and payload  124 . The payload  124  may contain digitized voice, alphanumerical data, or video information. Collectively, such information is referred to herein as “data.” 
         [0025]    At step  220 , at least two data packets  120 , which are addressed to the same receiving terminal, are concatenated to form a data block  302  (shown in  FIG. 3 ). A number N of the concatenated data packets  1201 - 120 N is determined based on pre-determined traffic conditions and, in some embodiments, is determined substantially in a real time, or dynamically. 
         [0026]    For example, the number of the concatenated data packets  1201 - 120 N in the data block  302  may be determined based on settings for at least one parameter characterizing: (i) traffic load in a transmission path between the transmitting and receiving terminals, (ii) type of a content of the payloads  124 , i.e., voice, alphanumerical data, or video content, (iii) level of precedence of the data packets  120 , and (iv) a Quality of Service (QoS) benchmark. 
         [0027]    Applicable attributes of the QoS benchmark include packet delay, packet loss ratio, short and long term jitters, packet retransmission ratio, and the like. A degree of compliance with particular QoS requirements may be assessed using parameters P E , P C , and P V  corresponding, respectively, to portions of packet transmissions that exceed, conform to, or violate pre-determined quality thresholds. Typically, the parameters P E , P C , and P V  are expressed in percents, and P E +P C +P V =100%. 
         [0028]    Alternatively, or additionally, in some networks (for example, tactical military networks), the number and type of the concatenated packets  120  is based on a Differentiated Services Code Point (DSCP) value VDSCP of these packets. Typically, the DSCP value is selectively assigned to the data packets  120  in accordance with a level of precedence of their payloads  124 . Correspondingly, the data block  302  is assigned a level of precedence that is equal to a highest such level among the component data packets  120  of the data block. 
         [0029]    At step  230 , contents of the payloads  124  of the concatenated data packets  1201 - 120 N of the data block  302  are encrypted using a respective encryption protocol. In some embodiments, the contents are encrypted using High Assurance Internet Protocol Encryption (HAIPE) or an IP Security (IPSec) protocol, among other encryption protocols. 
         [0030]    Data encryption generates an overhead block  310  including a header  312  (for example, IP header) and at least one of an encryption protocol-specific header  314  or an encryption protocol-specific trailer  316 . Together, the data block  302  and the encryption overhead block  310  form an integrated datagram  300 . 
         [0031]    It should be noted that, in the method  100 , only one overhead block  310  is needed for transmitting a plurality on N data packets  120  encoded in compliance with a respective encryption protocol. Typically, the integrated datagram  300  is assigned a level of precedence that is equal to the highest one among the component data packets  120  of the data block  302 . In some embodiments, when data encryption is not used, the overhead block  310  comprises only the header  312 . 
         [0032]    At step  240 , the integrated datagram  300  is transmitted from a transmitting terminal to a receiving terminal of the network  400  (see  FIG. 4 ) at the interim destination of the concatenated data packets  120 . For example, in the depicted embodiment, the integrated datagram  300  is illustratively transmitted from an edge proxy  424   A  to an edge proxy  424   B  (see  FIG. 4 ). 
         [0033]    At step  250 , at the receiving terminal of the network, the integrated datagram  300  is de-encrypted, and the data block  302  is separated from the encryption overhead block  310 . 
         [0034]    At step  260 , the data block  302  is de-concatenated, i.e., the data packets  1201 - 120 N are separated from one another. 
         [0035]    At step  270 , the data packets  1201 - 120 N are forwarded to their respective recipient(s), i.e., one or more client devices coupled to the receiving terminal (for example, the edge proxy  424 B) of the network. 
         [0036]      FIG. 4  is a high-level, schematic diagram of an exemplary communication network  400  using the method  100  of  FIG. 2 . Illustratively, the network  400  comprises a network core  410  and a plurality of network edges  420  (network edges  420 A and  420 B are shown). 
         [0037]    In the depicted embodiment, each network edge  420  includes an encryption module  422  and an edge proxy  424  coupled to respective client devices  430 . The encryption module  422  may be realized as a software module, a hardware device, or a combination thereof. In some embodiments, the encryption module  422  is a portion of the edge proxy  424 . The client devices  430  may be connected to the edge proxy  424  directly (as shown) or via a local area network (LAN). 
         [0038]    In operation, using interfaces  421 , the edge proxies  424  exchange packetized messages between each other or with external networks (not shown). When these messages are transferred within the network  400 , i.e., between the network edges  420 , to mitigate traffic congestion in a transmission path between the respective network edges, such messages may be transmitted as one or more integrated datagrams  300  (discussed above in reference to  FIGS. 2-3 ). 
         [0039]    In one embodiment, the edge proxy  424  comprises a timer  426  (denoted in  FIG. 4  as “T”) that may be used for determining the number N of concatenated data packets  120  of the integrated datagram  300 . Settings of the timer  426  correspond to time intervals allocated for identifying, selecting, or concatenating the data packets  120  for a particular integrated datagram  300 . Duration of such time intervals is generally based on the content of the payloads and a traffic conditions in the transmission path between the transmitting and receiving edge proxies. 
         [0040]    As traffic congestion increases, more data packets  120  are concatenated in the data block  302  and, as such, a bit length of the integrated datagram  300  increases to mitigate the traffic load in the network  400 . Nominal values of the settings for the timer  426  depend on severity of the experienced traffic congestions and typically are in a range from about 1 to 100 msec. In one embodiment, the timer  426  is assigned settings M 1 -M 6  that are summarized in Table 1 below, wherein M 2 &gt;M 1 , M 4 &gt;M 3 , and M 6 &gt;M 5 . 
         [0000]    
       
         
               
               
               
             
           
               
                 TABLE 1 
               
               
                   
               
               
                 SETTING OF EDGE 
                 PACKET PAYLOAD 
                 LEVEL OF TRAFFIC 
               
               
                 PROXY TIMER 
                 CONTENT 
                 CONGESTION 
               
               
                   
               
             
             
               
                 M1 
                 Voice 
                 Low 
               
               
                 M2 
                 Voice 
                 High 
               
               
                 M3 
                 Data 
                 Low 
               
               
                 M4 
                 Data 
                 High 
               
               
                 M5 
                 Video 
                 Low 
               
               
                 M6 
                 Video 
                 High 
               
               
                   
               
             
          
         
       
     
         [0041]    In a further embodiment, alternatively or additionally, particular types of data packets  120  are concatenated based on severity of the traffic conditions, values of components P C  and P V  of the QoS benchmark, and the DSCP value VDSCP of the data packets  120 , as summarized below in Table 2. For purpose of brevity, the terms “Voice packets,” “Data packets,” and “Video packets” are used in the Table 2 in reference to the content of the payloads  124  of the respective data packets  120 . 
         [0000]    
       
         
               
               
               
             
           
               
                 TABLE 2 
               
               
                   
               
               
                 TRAFFIC 
                 LEVEL OF 
                 STRUCTURE OF PAYLOAD OF 
               
               
                 CONDITIONS 
                 CONGESTION 
                 INTEGRATED DATAGRAMM 
               
               
                   
               
             
             
               
                 P C  + P V  &gt; P 1   
                 1 
                 Voice packets having same V DSCP . 
               
               
                   
                   
                 Edge Proxy Timer setting is M1. 
               
               
                 P C  + P V  &gt; P 2   
                 2 
                 Voice packets regardless of V DSCP . 
               
               
                   
                   
                 Edge Proxy Timer setting is M2. 
               
               
                 P C  + P V  &gt; P 3   
                 3 
                 Video and Data packets having 
               
               
                   
                   
                 same V DSCP . 
               
               
                   
                   
                 Edge Proxy Timer setting is M3 for 
               
               
                   
                   
                 Data packets and M5 for Video packets. 
               
               
                 P C  + P V  &gt; P 4   
                 4 
                 Voice and Data packets regardless 
               
               
                   
                   
                 of V DSCP . 
               
               
                   
                   
                 Edge Proxy Timer setting is M4 for 
               
               
                   
                   
                 Data packets and M6 for Video packets. 
               
               
                 P C  + P V  &gt; P 5   
                 5 
                 Voice, Data, and Video packets 
               
               
                   
                   
                 regardless of V DSCP . 
               
               
                   
               
             
          
         
       
     
         [0042]    In yet another embodiment, alternatively or additionally, particular types of the data packets  120  are concatenated based on admission control requirements in the network  400 . Some networks (for example, military networks), in attempt to assure delivery of messages having higher levels of precedence LP, may tolerate delays in delivery of less important messages, or, occasionally, even a loss of such messages. In this embodiment, at any given time, the integrated diagrams  300  are formed using the data packets  120  that are in compliance with particular admission rules. Exemplary admission rules are summarized in Table 3, wherein LP 1 &lt;LP 2 , P V1  and P V2  are pre-determined constants, and P V2 &gt;P V1 : 
         [0000]    
       
         
               
               
             
           
               
                 TABLE 3 
               
               
                   
               
               
                 TRAFFIC 
                   
               
               
                 CONDITIONS 
                 STRUCTURE OF INTEGRATED DATAGRAMM 
               
               
                   
               
             
             
               
                 P V  &gt; P V1   
                 Data packets having precedence LP ≧ LP 1 . Data packets 
               
               
                   
                 having precedence MP &lt; MP 1  are delayed or dropped. 
               
               
                 P V  &gt; P V2   
                 Data packets having precedence LP ≧ LP 2 . Data packets 
               
               
                   
                 having precedence MP &lt; MP 2  are delayed or dropped. 
               
               
                   
               
             
          
         
       
     
         [0043]    Although the invention herein has been described with reference to particular illustrative embodiments, it is to be understood that these embodiments are merely illustrative of the principles and applications of the present invention. Therefore numerous modifications may be made to the illustrative embodiments and other arrangements may be devised without departing from the spirit and scope of the present invention, which is defined by the appended claims.