SevOne NPM

 View Only

Displaying and Right-Sizing Contracted Network Capacity

By Tim Greenside posted Tue January 09, 2024 12:50 PM


In offering flexibility to their customers, Carrier Service Providers (CSP) will in many cases offer flexible network bandwidth capacity rates allowing customers to estimate their requirements so they don’t have to pay for more than they need.  The customer will sign up for a contracted capacity rate that may be less than the actual physical port speed of their interface.  The CSP will provide a discounted rate to the customer (they don’t have to pay a premium for the entire port capacity available) and will typically rate limit traffic that exceeds the contracted capacity rate.  Optionally, the CSP might allow traffic to burst over the contracted capacity rate but may charge the customer an overage fee. 

So how can the CSP help their customers avoid overage charges?

SevOne can arm both CSPs and their customers with visibility into before-and-after capacity changes and their impact on the resulting percent of capacity available by tracking the contracted capacity rate overtime. 

Using IBM SevOne NPM’s Data Insight interface, we can use a dual-Y axis to view both current bandwidth utilization % (blue line) and the contracted rate Mbps (orange line).

Below, we see a 100 Mbps circuit that has an initial contracted capacity rate of 40 Mbits/sec.  Since the customer has under-estimated their requirements, it is causing them to regularly violate their contracted rate.  An adjustment is needed.

They double the contracted rate from 40 Mbits/sec to 80 Mbits/sec (orange line) and immediately see the bandwidth utilization (blue line) drop below 100% of their contracted rate, helping them avoid overage fees.

IBM’s SevOne NPM solution provides the ability to override the physical interface speed max value, making bandwidth calculations based on contracted rate possible. 

Consider our example – For incoming bandwidth utilization, normally the System Maximum Value is used, which gets its value from the SNMP ifSpeed value reported by the device.  If we are using a contracted rate that is less than the ifSpeed, we need a way to set that value.  While you could manually go in and modify the User Maximum Value setting for an indicator, in a production setting you would want to automate these changes by integrating your provisioning system with SevOne using its RESTful API.  A solution like IBM’s Rapid Network Automation could be used for this purpose, making it a hands-off, closed loop configuration change.

Before the change:

After the change:

Cool!  We can make changes to indicator max values. 

Now, with any solution there are bound to be some nuances that need to be considered.  With SevOne, the default behavior of bandwidth utilization calculations is to apply the currently used maximum value (whether system or user maximum) against the past historical data when calculating bandwidth utilization.  This works great for most use cases.  But for our CSP use case, we need to preserve the contracted speed setting (user maximum value) whenever it changes and use that against the historical bandwidth data so we can accurately calculate the % utilization of the link based on historical contracted speed and any changes made over time.  To do this we need to configure a couple of synthetic indicators within SevOne.

Synthetic indicators are a terrific capability that SevOne provides – the ability to take the native indicators for an object and create an expression that can provide a useful result.  In our case, we want to track the Contracted rate over time for the ifHCInOctets indicator, which is used to track bandwidth consumption.  We can get the result we are after by using a Synthetic Indicator Expression that contains ${ifHCInOctets}.  Next we need to apply a bit of magic and append the indicator name inside the curly braces with the key word “:maxValue”.  This tells SevOne to track the user-defined maxValue of the interface for this indicator (the indicator “Override” switch must be toggled on).

Next, we need to create one more synthetic indicator to use our Contracted Rate In value when calculating Bandwidth Utilization Incoming %:

Now rediscover the device and SevOne will instantiate both of our new synthetic indicators which can be used for reporting and alerting!

I hope you have found this article helpful in understanding this use case and how SevOne’s synthetic indicator capability can help you do useful, custom things with your network performance data!