Feature Story

Look to Your Network to Ensure Reliable Real-Time Communications

By TMCnet Special Guest
James Hendergart, business development manager at F5 Networks
  |  February 01, 2011


This article originally appeared in the Feb. 2011 issue of Unified Communications Magazine

As companies depend more heavily on unified communications to enrich employee interactions and enhance communication, the reliability of their UC infrastructure is more critical than ever. Deploying UC solutions can present challenges, but maximizing your untapped network capabilities can help you ensure the high availability and resilience necessary to deliver real-time communications.

Get More Out of Your Network

When looking to ensure the reliability of UC, every data center resource – compute, storage, network, and software – must be considered. Of all these resources, perhaps none is more underutilized than the network. Traffic flowing between user interfaces (PCs, phones, etc.) is rich with information about the user, security, and applications being used, making the network an ideal place for optimization, visibility, and control over the computing environment. The information contained in each network packet can be used for making intelligent traffic management decisions that meet both user needs and business priorities.

A perfect way to fully utilize the network and increase reliability for UC services is by monitoring, intercepting, proxying, manipulating, and managing network traffic. This must be done at line speed – that is, without introducing latency that is noticeably greater to the user than the baseline latency of the network segment. These application-specific network optimizations are complimentary to applications and are executed simultaneously up and down the OSI model. Users don’t realize that their sessions are being brokered by a third-party device, but they do experience increased responsiveness and overall reliability from the applications.

While applications can be tuned to use the network somewhat more efficiently, the overhead and latency associated with using an application-level service to manipulate network packets in real time is impractical and an inefficient use of server processing power. A better design is to leverage a hardware device meant to manage network connections up and down the protocol stack as they are being formed, used, and closed. This approach is particularly important when dealing with real-time communication services. To better understand the nature of network optimization, let’s look at the network-level connections taking place at the session, server, and site level.

Keeping User Sessions Active with Session Resilience

Session resilience refers to keeping a user session active and current, avoiding the need to renegotiate connections at the protocol level if a connection is lost. Sessions maintain state for a given user transaction and are managed at the application level. When a user connects to an application server that provides real-time communications capabilities, idle timeout settings for each protocol in use are particularly important. If the values are set too low, sessions can end prematurely, forcing users to reconnect. This may require re-authentication to the server or, at the very least, cause a delay while the client-side application reconnects.

Setting longer timeout values keeps user sessions active long enough for users to complete normal interactions with the application. It also reduces the overhead of renegotiating connections within a session. Because timeout settings must be managed for each protocol, it’s most efficient to manage them in a central location through a single device designed for managing and controlling traffic.

Ensure the Best User Experience with Server Resilience

Server resilience describes the concept of establishing and persisting active user connections to the most responsive and available server across all sessions within an array of application servers, or across multiple arrays in a single data center site. The network plays two primary roles in server resilience: protocol health monitoring and intelligent load balancing.

To effectively assess and ensure the best user experience, protocol health monitoring should be performed at multiple levels in the network stack rather than at a single layer for a particular protocol. Different protocols require unique monitoring methods, and some protocols are dependent on others. For example, TCP connections, which operate at Level 4 (the transport layer) of the OSI model, are monitored differently than HTTP connections, which operate and Level 7 (the application layer) of the OSI model. Further, because HTTP is higher up in the stack, it relies on TCP. That means HTTP traffic should be monitored at both the TCP and HTTP levels to measure accurately application responsiveness for users or the health of the application server itself.

Intelligent load balancing employs methods that are both dynamic and predictive. Load-balancing decisions are made based on continually changing conditions and therefore require an accurate model for understanding the overall health of applications running across multiple servers. Any application delivery controller used in a deployment of real-time communications software should be multi-protocol aware, be able to monitor the health of multiple protocols in the stack, and have the ability to load balance intelligently and persist user sessions.

Send Users to the Optimal Server with Site Resilience

Site resilience refers to monitoring the health of one or more arrays of application servers in two or more sites that are connected by a WAN. This includes a deployment with active primary and secondary sites (active-active), and those with one active primary site and an inactive disaster recovery site (active-passive).

The network can effectively manage user connections into multiple front-end server arrays that span sites if two requirements are met:

·         application data is relatively fresh and available in all sites; and

·         criteria for determining the health of each site is available.

An ADC (News - Alert) with site-level health monitoring and cross-site user connection routing capabilities can determine and track the health of all available sites. The ADC uses health data and prioritized criteria to determine when a user connection should be sent to another site to ensure the best user experience. To keep application data fresh, an application replication solution is deployed that meets the application latency requirements for cross-site traffic. These two requirements will vary by application. The bar is much higher for real-time communications than for applications (and network protocols) designed for continuously latent data across sites. Nevertheless, the key to leveraging the network to ensure site-level resiliency is having robust site-level health monitoring.

Data center optimization and control is nowhere more critical than in the area of real-time communication software. The successful adoption of new technologies like UC requires optimal use of all data center resources, and the network is one element common to all infrastructures that should not be overlooked. The network is a powerful resource for ensuring the reliability of unified communications services. An application delivery controller with session, server, and site monitoring as well as traffic management capabilities can unlock this potential in the network.

James Hendergart is business development manager at F5 Networks.

TMCnet publishes expert commentary on various telecommunications, IT, call center, CRM and other technology-related topics. Are you an expert in one of these fields, and interested in having your perspective published on a site that gets several million unique visitors each month? Get in touch.

Edited by Stefania Viscusi