Patent Publication Number: US-7907527-B2

Title: Methods, systems, and computer program products for grooming traffic on a shared network facility based on a peak utilization analysis of the shared network facility

Description:
RELATED APPLICATION 
     This application claims the benefit of and priority to U.S. Provisional Patent Application No. 60/862,911, filed Oct. 25, 2006, the disclosure of which is hereby incorporated herein by reference as if set forth in its entirety. 
    
    
     FIELD OF THE INVENTION 
     The present invention relates to communication networks and methods of operating the same, and, more particularly, to methods, system, and computer program products for grooming traffic on a shared network facility. 
     BACKGROUND OF THE INVENTION 
     Time-to-market pressure, stringent Service Level Agreement (SLA) requirements, slim product margins, and reduced capital equipment budgets may combine to make it difficult for network service providers to provision their networks so as to efficiently process traffic thereon. Because adding resources to increase bandwidth can be expensive, service providers often use existing records, crude line length calculations, and/or manual spot testing techniques to identify problematic lines/ports/channels for the purpose of generating a network-grooming proposal. Network service providers often search for cost-effective solutions that can allow them to automate the process of bandwidth utilization “avoidance” or bandwidth “shifting” to smooth out bandwidth demand and consumption. Even if the cost of bandwidth continues to fall, it may not always be desirable to buy more bandwidth in response to network congestion. Moreover, unexpected spikes in bandwidth usage may indicate an internal or external security threat, such as a Denial of Service (DOS) attack. As a result, simply adding resources in response to peak bandwidth usage may merely be covering up an underlying network problem. 
     SUMMARY 
     According to some embodiments of the present invention, a communication network is operated by monitoring a bandwidth utilization of a shared network resource, performing a statistical analysis to determine a mean utilization peak and/or a utilization peak coefficient of variance, monitoring a bandwidth utilization of lines, ports, and/or channels associated with the shared network resource, performing a statistical analysis to determine a percentage M of the lines, ports, and/or channels whose consumption of bandwidth exceeds a first threshold percentage of the mean utilization peak, and determining whether to groom traffic carried by the shared network resource based on the mean utilization peak, the utilization peak coefficient of variance, and/or the percentage M. 
     In other embodiments, monitoring the bandwidth utilization of the shared network resource comprises monitoring the bandwidth utilization of the shared network resource over a time period periodically at a defined frequency. 
     In still other embodiments, the time period is greater than one day and the frequency is about once every 15 minutes. 
     In still other embodiments, monitoring the bandwidth utilization of the lines, ports, and/or channels comprises monitoring the bandwidth utilization of the lines, ports, and/or channels if the mean utilization peak exceeds a second threshold percentage. 
     In still other embodiments, the first threshold percentage is about 50% and the second threshold percentage is about 75%. 
     In still other embodiments, the method further comprises categorizing the shared network resource into one of the following categories: category A if P is greater than about 75% of Um and Cp is greater than about 15%; category B if P is greater than about 75% of Um and Cp is less than about 15%; category C if P is less than about 75% of Um and M is less than about 25%; category D if P is less than about 75% of Um and M is greater than about 25%, but less than about 50%; category E if P is less than about 75% of Um and M is greater than about 50%, but less than about 70%; and category F if P is less than about 75% of Um and M is greater than about 70%; wherein Um is a maximum possible bandwidth utilization of the shared network resource, P is the mean utilization peak, and Cp is the utilization peak coefficient of variance. 
     In still other embodiments, determining whether to groom the traffic carried by the shared network resource comprises determining whether to groom traffic based on a number of shared resources in the communication network that have been categorized in categories A, B, and/or C. 
     In still other embodiments, the method further comprises grooming the traffic carried by the shared network resource if the number of shared resources in category A is greater than zero or if the sum of the numbers of shared resources in categories B and C is greater than about 35% and less than about 50% of all the shared resources in the communication network. 
     In still other embodiments, grooming the traffic comprises re-provisioning at least one of the lines, ports, and/or channels associated with the shared network resource. 
     In still other embodiments, re-provisioning at least one of the lines, ports, and/or channels associated with the shared network resource comprises selecting the at least one of the lines, ports, and/or channels that has a lower than average bandwidth utilization and has a lower than average peak bandwidth utilization. 
     Although described primarily above with respect to method embodiments of the present invention, it will be understood that the present invention may be embodied as methods, systems, and/or computer program products. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       Other features of the present invention will be more readily understood from the following detailed description of exemplary embodiments thereof when read in conjunction with the accompanying drawings, in which: 
         FIG. 1  illustrates a communication network that illustrates methods, systems, and computer program products for grooming traffic on a shared network facility based on a peak utilization analysis of the shared network facility in accordance with some embodiments of the present invention; 
         FIG. 2  is a block diagram of a data processing system that can be used to implement the traffic grooming function of  FIG. 1  in accordance with some embodiments of the present invention; 
         FIG. 3  is a block diagram of a hardware/software architecture for the traffic grooming function of  FIG. 1  in accordance with some embodiments of the present invention; and 
         FIG. 4  is a flowchart that illustrates operations grooming traffic on a shared network facility based on a peak utilization analysis of the shared network facility in accordance with some embodiments of the present invention. 
     
    
    
     DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS 
     While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that there is no intent to limit the invention to the particular forms disclosed, but on the contrary, the invention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the invention as defined by the claims. Like reference numbers signify like elements throughout the description of the figures. 
     As used herein, the singular forms “a,” “an,” and “the” are intended to include the plural forms as well, unless expressly stated otherwise. It will be further understood that the terms “includes,” “comprises,” “including,” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. It will be understood that when an element is referred to as being “connected” or “coupled” to another element, it can be directly connected or coupled to the other element or intervening elements may be present. Furthermore, “connected” or “coupled” as used herein may include wirelessly connected or coupled. As used herein, the term “and/or” includes any and all combinations of one or more of the associated listed items. 
     Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. It will be further understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of the relevant art and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein. 
     The present invention may be embodied as systems, methods, and/or computer program products. Accordingly, the present invention may be embodied in hardware and/or in software (including firmware, resident software, micro-code, etc.). Furthermore, the present invention may take the form of a computer program product on a computer-usable or computer-readable storage medium having computer-usable or computer-readable program code embodied in the medium for use by or in connection with an instruction execution system. In the context of this document, a computer-usable or computer-readable medium may be any medium that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. 
     The computer-usable or computer-readable medium may be, for example but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or propagation medium. More specific examples (a nonexhaustive list) of the computer-readable medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, and a portable compact disc read-only memory (CD-ROM). Note that the computer-usable or computer-readable medium could even be paper or another suitable medium upon which the program is printed, as the program can be electronically captured, via, for instance, optical scanning of the paper or other medium, then compiled, interpreted, or otherwise processed in a suitable manner, if necessary, and then stored in a computer memory. 
     For purposes of illustration, some embodiments of the present invention are described herein with respect to a communication network that uses Signaling System 7 (SS7) for call setup and termination. It will be understood, however, that embodiments of the present invention are not limited to SS7 networks or any particular Common Channel Signaling (CCS) network, but instead may be embodied generally as any network architecture capable of carrying out the operations described herein. In addition, some embodiments of the present invention are illustrated in the context of a circuit switched communication network, such as the public switched telephone network (PSTN). It will be understood, however, that embodiments of the present invention are not limited to any particular type of communication network, but can be embodied in various types of communication networks including, but not limited to, circuit switched networks and packet switched networks, such as Voice Over Internet Protocol (VoIP) networks. 
     Referring now to  FIG. 1 , an exemplary network architecture  100 , in accordance with some embodiments of the present invention, comprises Service Switching Points (SSPs)  110   a  and  110   b  that terminate customer equipment (CE)  115   a  and  115   b , respectively. It will be understood that CE  115   a  and  115   b  may represent one or more devices that may be used to originate and or terminate a call over a communication network, such as the public switched telephone network (PSTN). The SS7 network  100  further comprises an SSP  120  that is connected to another network, such as a wireless network  125 , by, for example, trunk lines/channels. The wireless network terminates CE  130 , which may represent one or more mobile terminals. As used herein, the term “mobile terminal or device” may include a satellite or cellular radiotelephone with or without a multi-line display; a Personal Communications System (PCS) terminal that may combine a cellular radiotelephone with data processing, facsimile and data communications capabilities; a PDA that can include a radiotelephone, pager, Internet/intranet access, Web browser, organizer, calendar and/or a global positioning system (GPS) receiver; and a conventional laptop and/or palmtop receiver or other appliance that includes a radiotelephone transceiver. Mobile terminals may also be referred to as “pervasive computing” devices. 
     SSPs  110   a  and  110   b  are switches that originate, terminate, and route calls and provide entry into the SS7 network. SSPs  110   a  and  110   b  may be called “local exchange” switches because they terminate connections to end-users and, as shown in  FIG. 1 , optionally include trunk connection(s) between each other. SSP  120  may be called a “tandem exchange” because it does not terminate connections to end users, but instead terminates only trunks to other SSPs (e.g., SSP  110   b ) or the wireless network  125 , for example. SSPs  110   a  and  110   b  may be referred to as Class  5  switching systems while SSP  120  may be referred to as a Class  4  switching system. 
     In an SS7 network, SSPs send signaling messages to other SSPs to setup, manage, and release network resources to complete calls/connections. The signaling traffic between SSPs is carried by one or more Signal Transfer Points (STPs). As shown in  FIG. 1 , STPs  135   a  and  135   b  may be used to SS7 signaling messages between SSPs  110   a  and  110   b  and/or to other SSPs not shown in  FIG. 1 . An STP is typically embodied as a packet switch that routes each incoming message to an outgoing signaling link based on routing information contained in the SS7 message. 
     The SS7 network  100  further comprises Signal Control Points (SCPs)  140   a  and  140   b , which may optionally be used to provide Intelligent Network (IN) services by allowing the SSPs in the SS7 network to access the SCPs via special signaling messages. 
     The trunks between SSPs  110   a  and  110   b  and/or between  110   b  and  120  may be subject to congestion, which may result in service quality degradation. In accordance with some embodiments of the present invention, a traffic grooming function  145  may be configured to identify peak bandwidth usage for specific trunks or trunk groups in the network  100  to identify the lines, ports, and or channels that contribute to over utilization of various ones of the trunks. Once the usage patterns are determined, specific lines, ports, and/or channels may be reassigned to various trunks to provide smoother network performance and fewer bandwidth peaks. This may allow a service provider to postpone purchasing additional benefit in response to traffic demands until a later date. 
     In accordance with various embodiments of the present invention, the traffic grooming function  145  may be implemented as a single server, separate servers, or a network of servers either co-located in a server farm, for example, or located in different geographic locations. Moreover, the traffic grooming function may be implemented as part of one or more of the SSPs or as part of the SS7 infrastructure, i.e., one or more of the STPs. The various elements of the communication network  100  may be connected by a global network, such as the Internet or other publicly accessible network. Various elements of the network may be interconnected by a wide area network, a local area network, an Intranet, and/or other private network, which may not accessible by the general public. Thus, the communication network  100  may represent a combination of public and private networks or a virtual private network. Although  FIG. 1  illustrates an exemplary communication network, it will be understood that the present invention is not limited to such configurations, but is intended to encompass any configuration capable of carrying out the operations described herein. 
     Referring now to  FIG. 2 , a data processing system  200  that may be used to implement the traffic grooming function of  FIG. 1 , in accordance with some embodiments of the present invention, comprises input device(s)  202 , such as a keyboard or keypad, a display  204 , and a memory  206  that communicate with a processor  208 . The data processing system  200  may further include a storage system  210 , a speaker  212 , and an input/output (I/O) data port(s)  214  that also communicate with the processor  208 . The storage system  210  may include removable and/or fixed media, such as floppy disks, ZIP drives, hard disks, or the like, as well as virtual storage, such as a RAMDISK. The I/O data port(s)  214  may be used to transfer information between the data processing system  200  and another computer system or a network (e.g., the Internet). These components may be conventional components, such as those used in many conventional computing devices, and their functionality, with respect to conventional operations, is generally known to those skilled in the art. The memory  206  may be configured with a trunk utilization monitor/data analyzer  216  that can be used to collect trunk utilization data for various shared facilities in a communication network, analyze the shared facility utilization data to determine the utilization of the lines, ports, and/or channels that contribute to the utilization of the shared facility, and generate a grooming proposal to improve the overall utilization of trunks or shared facilities in the communication network. 
       FIG. 3  illustrates a processor  300  and memory  305  that may be used in embodiments of the traffic grooming function  145  of  FIG. 1  and data processing system  200  of  FIG. 2  in accordance with some embodiments of the present invention. The processor  300  communicates with the memory  305  via an address/data bus  310 . The processor  300  may be, for example, a commercially available or custom microprocessor. The memory  305  is representative of the one or more memory devices containing the software and data used for monitoring DSL lines through a DSLAM and analyzing the collected data, in accordance with some embodiments of the present invention. The memory  305  may include, but is not limited to, the following types of devices: cache, ROM, PROM, EPROM, EEPROM, flash, SRAM, and DRAM. 
     As shown in  FIG. 3 , the memory  305  may contain up to five or more categories of software and/or data: an operating system  315 , a trunk utilization and data collection module  320 , a trunk data analysis module  325 , a provisioning module  330 , and a data module  335 . The operating system  315  generally controls the operation of the traffic grooming function  145 . In particular, the operating system  315  may manage the traffic grooming function&#39;s software and/or hardware resources and may coordinate execution of programs by the processor  300 . The trunk utilization and data collection module  320  may be configured to monitor the utilization of various trunks and/or shared facilities in a communication network and store the data in the data module  335 . The trunk data analysis module  325  may be configured to perform a statistical analysis on the trunk/shared facility utilization data collected by the trunk utilization and data collection module  320 . The provisioning module  330  may be configured to generate a traffic-grooming proposal for the trunks and/or shared facilities in the network to improve the overall utilization of the trunks and/or shared facilities. 
     Although  FIG. 3  illustrates exemplary hardware/software architectures that may be used in the traffic grooming function of  FIG. 1 , it will be understood that the present invention is not limited to such a configuration but is intended to encompass any configuration capable of carrying out operations described herein. Moreover, the functionality of the data processing system  200  of  FIG. 2  and the hardware/software architectures of  FIG. 3  may be implemented as a single processor system, a multi-processor system, or even a network of stand-alone computer systems, in accordance with various embodiments of the present invention. 
     Computer program code for carrying out operations of data processing systems discussed above with respect to  FIG. 2  and/or the software modules discussed above with respect to  FIG. 3  may be written in a high-level programming language, such as Java, C, and/or C++, for development convenience. In addition, computer program code for carrying out operations of embodiments of the present invention may also be written in other programming languages, such as, but not limited to, interpreted languages. Some modules or routines may be written in assembly language or even micro-code to enhance performance and/or memory usage. It will be further appreciated that the functionality of any or all of the program modules may also be implemented using discrete hardware components, one or more application specific integrated circuits (ASICs), or a programmed digital signal processor or microcontroller. 
     The present invention is described herein with reference to flowchart and/or block diagram illustrations of methods, systems, and computer program products in accordance with exemplary embodiments of the invention. It will be understood that each block of the flowchart and/or block diagram illustrations, and combinations of blocks in the flowchart and/or block diagram illustrations, may be implemented by computer program instructions and/or hardware operations. These computer program instructions may be provided to a processor of a general purpose computer, a special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart and/or block diagram block or blocks. 
     These computer program instructions may also be stored in a computer usable or computer-readable memory that may direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer usable or computer-readable memory produce an article of manufacture including instructions that implement the function specified in the flowchart and/or block diagram block or blocks. 
     The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions that execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart and/or block diagram block or blocks. 
     Exemplary operations for identifying peak bandwidth usage for specific resources, such as trunks, trunk groups, and/or shared facilities in a communication network and identifying the lines, ports, and or channels that contribute to over utilization of various ones of the resources, in accordance with some embodiments of the present invention, will now be described. Operations begin at block  400  where the trunk utilization and data collection module  320  monitors the utilization of various trunks in the communication network periodically, such as, for example, every 15 minutes. At block  405 , the trunk data analysis module  325  detects the utilization peak P of each monitored trunk during each hour. The operations of blocks  400  and  405  may be repeated for several days, e.g., N d  days, to collect enough data for a statistical analysis. 
     At block  410  the trunk data analysis module  425  calculates the mean and the coefficient of variance of each peak during each hour of a day. The coefficient of variance is used to normalize the variance value because it measures the spread of a set of data as a proportion of its mean. The mean utilization peak and the utilization peak variance are given below as Equations 1 and 2: 
     
       
         
           
             
               
                 
                   
                     P 
                     _ 
                   
                   = 
                   
                     
                       
                         ∑ 
                         
                           i 
                           = 
                           1 
                         
                         
                           N 
                           d 
                         
                       
                       ⁢ 
                       
                         P 
                         j 
                       
                     
                     
                       N 
                       d 
                     
                   
                 
               
               
                 
                   EQ 
                   . 
                   
                       
                   
                   ⁢ 
                   1 
                 
               
             
             
               
                 
                   
                     S 
                     P 
                     1 
                   
                   = 
                   
                     
                       1 
                       
                         ( 
                         
                           
                             N 
                             d 
                           
                           - 
                           1 
                         
                         ) 
                       
                     
                     ⁢ 
                     
                       
                         ∑ 
                         
                           i 
                           = 
                           1 
                         
                         
                           N 
                           d 
                         
                       
                       ⁢ 
                       
                         
                           ( 
                           
                             
                               P 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               i 
                             
                             - 
                             
                               P 
                               _ 
                             
                           
                           ) 
                         
                         1 
                       
                     
                   
                 
               
               
                 
                   EQ 
                   . 
                   
                       
                   
                   ⁢ 
                   2 
                 
               
             
           
         
       
     
     Equation 2, however, is a theoretical formula of the variance. The computational formula for the utilization peak variance is given by Equation 3 below: 
     
       
         
           
             
               
                 
                   
                     S 
                     P 
                     2 
                   
                   = 
                   
                     
                       
                         
                           ∑ 
                           
                             i 
                             = 
                             1 
                           
                           
                             N 
                             d 
                           
                         
                         ⁢ 
                         
                           P 
                           i 
                           2 
                         
                       
                       - 
                       
                         
                           
                             ( 
                             
                               
                                 ∑ 
                                 
                                   i 
                                   = 
                                   1 
                                 
                                 
                                   N 
                                   d 
                                 
                               
                               ⁢ 
                               
                                 P 
                                 i 
                               
                             
                             ) 
                           
                           2 
                         
                         
                           N 
                           d 
                         
                       
                     
                     
                       
                         N 
                         d 
                       
                       - 
                       1 
                     
                   
                 
               
               
                 
                   EQ 
                   . 
                   
                       
                   
                   ⁢ 
                   3 
                 
               
             
           
         
       
     
     The utilization peak coefficient of variance is given by Equation 4 below: 
     
       
         
           
             
               
                 
                   
                     C 
                     P 
                   
                   = 
                   
                     
                       S 
                       P 
                       2 
                     
                     
                       P 
                       _ 
                     
                   
                 
               
               
                 
                   EQ 
                   . 
                   
                       
                   
                   ⁢ 
                   4 
                 
               
             
           
         
       
     
     At block  415 , the trunk utilization and data collection module  320  monitors the utilization of all lines, ports, and/or channels associated with each trunk and/or shared facility at each peak hour if the mean utilization peak value for the trunk and/or shared facility exceeds a threshold, such as 75%. 
     The trunk utilization and data collection module  320  sorts the lines, ports, and/or channels based on their utilization level and then calculates the percentage M of the contributors that consume at least 50% of its mean utilization peak. Thus, M is given by Equation 5 below: 
                   M   =       D   N     *   100             EQ   .           ⁢   5               
where D is the number of lines, ports, and/or channels running on each trunk and/or shared facility and consume at least 50% of its mean utilization peak and N is the total number of lines, ports, and/or channels running on each trunk and/or shared facility.
 
     Based on the percentage M and the peak coefficient of variance and the mean utilization peak, the trunk data analysis module  325  classifies each trunk and/or facility into one of a plurality of categories at block  420  based on various thresholds that can be defined by a service provider. In the example shown below, six categories A through F are defined as follows: 
     
       
         
           
             
               
                 
                   
                     
                       
                         
                           P 
                           _ 
                         
                         &gt;= 
                         
                           75 
                           ⁢ 
                           % 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           of 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           
                             U 
                             ∞ 
                           
                         
                       
                       &amp; 
                     
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     
                       C 
                       P 
                     
                   
                   &gt;= 
                   
                     15 
                     ⁢ 
                     
                       % 
                       ⟶ 
                       A 
                     
                   
                 
               
             
             
               
                 
                   
                     
                       
                         
                           P 
                           _ 
                         
                         &gt;= 
                         
                           75 
                           ⁢ 
                           % 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           of 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           
                             U 
                             ∞ 
                           
                         
                       
                       &amp; 
                     
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     
                       C 
                       P 
                     
                   
                   &lt; 
                   
                     15 
                     ⁢ 
                     
                       % 
                       ⟶ 
                       B 
                     
                   
                 
               
             
             
               
                 
                   
                     
                       
                         
                           P 
                           _ 
                         
                         &lt; 
                         
                           75 
                           ⁢ 
                           % 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           of 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           
                             U 
                             ∞ 
                           
                         
                       
                       &amp; 
                     
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     M 
                   
                   &lt; 
                   
                     25 
                     ⁢ 
                     
                       % 
                       ⟶ 
                       C 
                     
                   
                 
               
             
             
               
                 
                   
                     
                       
                         P 
                         _ 
                       
                       &lt; 
                       
                         75 
                         ⁢ 
                         % 
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         of 
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         
                           U 
                           ∞ 
                         
                       
                     
                     &amp; 
                   
                   ⁢ 
                   
                       
                   
                   ⁢ 
                   
                     
                       ( 
                       
                         
                           50 
                           ⁢ 
                           % 
                         
                         &gt; 
                         M 
                         &gt;= 
                         
                           25 
                           ⁢ 
                           % 
                         
                       
                       ) 
                     
                     ⟶ 
                     D 
                   
                 
               
             
             
               
                 
                   
                     
                       
                         P 
                         _ 
                       
                       &lt; 
                       
                         75 
                         ⁢ 
                         % 
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         of 
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         
                           U 
                           ∞ 
                         
                       
                     
                     &amp; 
                   
                   ⁢ 
                   
                       
                   
                   ⁢ 
                   
                     
                       ( 
                       
                         
                           70 
                           ⁢ 
                           % 
                         
                         &gt; 
                         M 
                         &gt;= 
                         
                           50 
                           ⁢ 
                           % 
                         
                       
                       ) 
                     
                     ⟶ 
                     E 
                   
                 
               
             
             
               
                 
                   
                     
                       
                         
                           P 
                           _ 
                         
                         &lt; 
                         
                           75 
                           ⁢ 
                           % 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           of 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           
                             U 
                             ∞ 
                           
                         
                       
                       &amp; 
                     
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     M 
                   
                   &gt;= 
                   
                     70 
                     ⁢ 
                     
                       % 
                       ⟶ 
                       F 
                     
                   
                 
               
             
           
         
       
     
     Where U m  is the maximum possible utilization of each backbone trunk. 
     The trunk data analysis module may, at block  425 , determine whether to groom the traffic carried by the trunks, trunk groups, and/or shared facilities based on thresholds applied to the categories defined at block  420 . In some embodiments, if the number of trunks classified in group A is more than zero or the sum of trunks classified in groups B and C is more than 35% and less than 50% of all of the trunks in the network, then a grooming proposal will be generated. If, however, the sum of trunks in groups A, B, and C is more than 50% of the total of all provisioned trunks in the network, then it is generally desirable to add new bandwidth. 
     At block  430 , the provisioning module  330  may generate a grooming proposal based on the analysis performed at block  425 . In some embodiments, the grooming proposal may include re-provisioning the worst lines, ports, and channels contributing to the utilization of the highest utilized trunk or facility to the lowest utilized trunk or facility. The lines, ports, and/or channels may be selected based on two criteria in accordance with some embodiments of the present invention: 1) they should be among those lines, ports, and/or channels having among the lowest utilizations; and 2) they should not be among those lines, ports, and/or channels having among the highest utilizations at other times of day. A goal may be to bring each over utilized trunk or facility to about 50% or less of its maximum possible utilization. The number of lines, ports, and/or channels N p  that need re-provisioning may be calculated based on Equation 6 below:
 
 U   p =P−0.5 *U   w   EQ. 6
 
Where N p  is the number of lines, ports, and/or channels running on each trunk and/or facility and consume N p  of its maximum possible utilization, where Equation 7 holds below:
 
   P &lt; 0.5 *U   w |  EQ. 7
 
This may reduce the number of lines, ports, and/or channels that are re-provisioned while still smoothing network bandwidth demand and consumption.
 
     The operations of  FIG. 4  can be repeated if the lines, ports, and/or channels have not been re-provisioned should conditions change and it is desired to obtain an alternative grooming proposal. Otherwise, once the lines, ports, and/or channels have been re-provisioned, the operations of  FIG. 4  can resume so as to possibly generate a new grooming proposal should traffic conditions in the network change over time. 
     Thus, some embodiments of the present invention may provide an automated system and method to determine whether network grooming or adding new bandwidth is desired in response to changing bandwidth demands in the network. Network traffic introduced by monitoring operations may also be reduced as traffic monitoring may be limited to peak utilization times for each trunk and/or shared facility. Moreover, the number of grooming orders and lines, ports, and/or channels may be reduced while still smoothing out bandwidth demand and consumption. 
     Many variations and modifications can be made to the embodiments described herein without substantially departing from the principles of the present invention. All such variations and modifications are intended to be included herein within the scope of the present invention, as set forth in the following claims.