Friday, June 5, 2015

We were discussing Riverbed Operating System (RiOS) technical concepts. We were looking at some of the management streamlining features. We review the console and controller to the device and the clients. In particular, we were looking at the reporting capabilities and host:port traffic can be labeled so that reports can included details stats on each by their names. The traffic from an appliance or a client or those monitored by a sniffer such as NetFlow can have detailed real-time flows including byte counts / per port. Traffic can be individually reported and segregated by optimized versus pass through traffic or aggregated over a NetFlow collector. The use of this third party tool also allows for avoiding correlation of data from multiple data sources.
Pass-Through traffic is usually UDP, VoIP, etc and is reported so that it can be reviewed for being pass-throngh. If the maximum capacity or the number of connections are exceeded, traffic may overflow to pass-through.
On the other hand, optimization traffic can quantify the improvements to WAN traffic. even on per feature basis such as application specific and TCP latency. The detailed report can show the number of roundtrips saved as well as the reduction in the data.
The tools used for this monitoring and management are the console and the controller. The central management console is a single console which appliances can auto-discover by a DNS lookup and register with to receive a pre-arranged configuration. Therefore, it allows to scale for as many appliances without requiring any tweaks. This is called touchless configuration. The console administrators can even use this to deploy configuration and policies on an individual, group or enterprise wide basis.

#codingexercise

Double  GetNthRootProductOddRaisedPPlusQAndEvenRaisedPDividedQ (Double [] A,Double  p, Double q)

{


If ( A== null) return 0;


Return A.NthRootProductOddRaisedPPlusQAndEvenRaisedPDividedQ(p, q);


}

Thursday, June 4, 2015

We were discussing Riverbed Operating System (RiOS) technical concepts. We now look at some of the management streamlining features. As discussed, RiOS is deployed via appliances and clients. By their nature, they have minimal administrative overhead. Deployment is further simplified because it requires no change to servers, clients or routes. In addition, a central management console facilitates enterprise wide reporting, configuration and deployment options.
Let us look at the configuration and management tasks to see how the optimizations we talked about earlier are provisioned.  The RiOS devices support management via SSH command line interface or graphical HTTP/S interface.  The device needs to know the configuring interface IP, duplex information, subnet and management information, and then the device can be plugged into the network. Every device also supports SNMP traps and email alerts. SNMP traps include accounting and audit alerts such as user login/logout, configuration changes, TCPDump etc. The APIs allow the rest of the reporting and management actions.
RiOS introduces an auto-discovery capability that automates the establishment of optimization peering relationships through the enterprise.  This is a scalable approach that can grow with the size of the enterprise. Again, without the use of tunnels, auto-discovery enables easy integration with "any-to-any" networks, which is common to many of today's WAN architectures, thereby circumventing problems specific to tunnel based optimization technologies.
As opposed to the devices, the clients can number in hundreds or even in thousands. Since it requires an installer based deployment, this is easily automated via silent installation mode and mass installations.
The reporting information is not clouded by the application acceleration capabilities. RiOS enables naming and tagging to report the different traffic driving across WAN.  Reports can also include per application statistics for traffic that is passed through unoptimized.
#codingexercise
Double  GetNthRootProductOddRaisedPPlusQAndEvenRaisedPTimesQ (Double [] A,Double  p, Double q)
{

If ( A== null) return 0;

Return A.NthRootProductOddRaisedPPlusQAndEvenRaisedPTimesQ(p, q);

}

Wednesday, June 3, 2015

We were discussing Riverbed Operating System (RiOS) technical concepts. With file servers and Email systems, RiOS has another optimization. This is the transparent pre-population. RiOS can transfer segments of file or email to the remote appliance before it is requested by any client. The initial access of a new file or email is therefore accelerated. When the first client calls in, the new file or email may not have made it across WAN and  the client could suffer a miss penalty. This is avoided if the file or email is pre-populated. There is no agent involved just that the segments are sent earlier. This is particularly helpful for emails with attachments. As emails arrive, their components are pulled across the WAN with all the RiOS acceleration techniques. In addition, for emails, RiOS keeps the Exchange TCP connection alive. This technique avoids big surges in email requests, such as the spikes that occur at the start of a work day and can bring the rest of a branch office's applications to a halt. Contrast this approach with the MAPI recommendation to use Cache Mode.  There is no data reduction techniques applied to the traffic in Cache Mode since there is nothing to accelerate email retrieval for users receiving large attachments or re-syncing their inbox. Consequently there is no benefits to network utilization with Cache Mode where as with references and segments used for deduplication and acceleration, there is significant improvement. Moreover, RiOS techniques can work with both Cache Mode as well as non-Cache Mode for Exchange servers. RiOS is therefore able to deliver optimizations for both OutlookAnywhere and MAPI clients. Finally, RiOS support for encrypted traffic optimizes it for deployments where Exchange Server has encrypted mode enabled by default.
RiOS doesn't avoid caching. In fact one of the performance improvement features for both HTTP and HTTPS traffic is that RiOS has an object-prefetch table to cache static web content which improves on reassembling from data references. This still allows for fresh transfers. In addition, RIOS supports the "If-Modified" request and "Not-Modified" responses which directs the clients to use their own local web browser cache avoiding WAN requests and minimizing delay for end-users. 

Tuesday, June 2, 2015

We were discussing Riverbed Operating System (RiOS) technical concepts. In addition to accelerating http and https traffic, RiOS devices respect the "if-modified" headers and respond with "not-modified" responses, so that the clients can retrieve the web content from its own local web browser cache. This eliminates roundtrips across the WAN and minimizes delay for end-users. This combined multi-layered approach works across different web content and application scenarios.
In addition, RiOS supports application streamlining for database server and application suites such as Oracle 11i and 12E-business suites. Here RiOS recognizes client session initiated Oracle Forms request and intercepts it. This is unscrambled from its native format to apply data streamlining and transport streamlining and optimize the client-server traffic bidirectionally.  This also accelerates the initial download of bulky java applets at startup time, allowing user login and startup to complete in seconds rather than minutes. Such techniques show 50X improvements.
Another advantage from RiOS is its compression that helps with application streamlining for Virtual Desktop Infrastructure. RiOS compression is better and achieves higher throughput.  Typical results show that twice as many Virtual Machines can be supported in addition to improving end user response time by 80%. Some applications like the Citrix desktop are even able to prioritize interactive activities like desktop input and display over less time sensitive operations like printing with the help of QoS markings. For jobs that are going to a spooler across the WAN, optimizations similar to CIFS can be applied. This alleviates the network retries and round trips.
To reduce the chattiness of requests and responses, sometimes requests can be replaced with a single large request that the server can choose to respond as available.

#codingexercise


Double  GetNthRootProductOddRaisedPMinusQAndEvenRaisedPTimesQ (Double [] A,Double  p, Double q)


{


If ( A== null) return 0;


Return A.NthRootProductOddRaisedPMinusQAndEvenRaisedPTimesQ(p, q);


}


Monday, June 1, 2015

We were discussing the Riverbed Optimization System (RiOS) technical concepts. We discuss some of the application streamlining modules. In particular we look at Disaster Recovery Acceleration.  The out of box acceleration for backup and replication operations already generated significant performance gains for data transfer jobs.  The traffic for such applications however is different and RiOS recognizes such large scale data transfers and makes use of it. Specifically, it applies system optimizations to enhance the throughput and handling of high-rate, high-volume backup data sets.
These enhancements enable acceleration of asynchronous replication solutions from a variety of vendors. Some integrations with Vendors have resulted in further optimizations. For example, RiOS devices are qualified by EMC to track and tune optimization for EMC SRDF on a per RDF group basis, thereby increasing the overall optimization and performance of SRDF traffic.
These additional optimizations also improve disk utilization, while also dynamically applying data reduction and compression algorithms. This results in throughput enhancements which further reduce the time required to complete a backup or replication operation beyond previous acceleration norms.
#codingexercise

Double  GetNthRootProductOddRaisedPDividedQAndEvenRaisedPTimesQ (Double [] A,Double  p, Double q)

{

If ( A== null) return 0;

Return A.NthRootProductOddRaisedPDividedQAndEvenRaisedPTimesQ(p, q);

}

Sunday, May 31, 2015

We were discussing Riverbed Operating System (RiOS) technical concepts. we now review connection pooling and SSL acceleration. Applications open many connections during their execution. Many of these are short-lived yet they require significant overhead to initiate communications. If for example, the loading of a webpage requires a client to open TCP connections, then each slows down the application. RiOS can maintain a pool of open connections for these purposes. Here the connections are already open and there is no overhead associated with using one. Each such pre-opened connection is ready for data transfer and is not considered dirty from previous use. Connection pooling can improve on overheads by as much as 50%.
In addition to connection pooling, another common practice is the use of SSL with application connections. SSL comes with different trust models. RiOS can accelerate SSL traffic while letting private keys be held in the data center and without requiring fake certificates. Both the RiOS appliance and client can auto-discover their peers and begin optimizing SSL traffic. RiOS also provides central management of SSL acceleration capabilities.  Allowing the organization to use their own certificate with their SSL connections and not require them to keep fake certificates or server private keys in branch offices makes RiOS flexible and improves the security. RiOS only distributes temporary session keys to branch office appliances.
RiOS optimizes both http and https traffic. For static web content, a "learning mechanism" allows the RiOS clients to track the objects that are requested for particular web page and accelerate future requests by using the learned information and pre-fetching associated content. In addition, the learned information is sent in parallel for normally sequential data creating additional optimization benefits.
#codingexercise
Double  GetNthRootSumOddRaisedPDividedQAndEvenRaisedPTimesQ (Double [] A,Double  p, Double q)
{
If ( A== null) return 0;
Return A.NthRootSumOddRaisedPDividedQAndEvenRaisedPTimesQ(p, q);
}

Saturday, May 30, 2015

We were discussing Riverbed Operating System (RiOS) technical concepts.  We now look at the use of Window Scaling and Virtual Window Expansion. Window Scaling is a standard TCP technique to increase the net throughput when the TCP window is the bottleneck.  The maximum amount of data per round-trip goes up because the number of bytes that can be "in flight" without being acknowledged is increased. Although this is a TCP implementation, the configuration lies with the user which often requires some esoteric settings to be tweaked.
This configuration by the user is avoided by RiOS in automatic window scaling.  RiOS virtually expands the TCP windows and enables capacity that is hundreds of times greater than the basic TCP payloads. As a TCP proxy, RiOS effectively repacks TCP payloads with the help of references instead of the actual data.  Since we noted earlier that the use of references saves a lot of data duplication and the proprietary hierarchical references can be used for several segments that are indexed, the TCP frame is virtually expanded and often by a factor of several hundred or more. Consequently, there's fewer roundtrips needed to deliver a given amount of data. The use of references to repack the TCP data is referred to as the Virtual Window Expansion.
RiOS also makes use of high speed TCP and Max speed TCP. These are techniques used for high latency links or where packet loss is high.  These techniques can accelerate TCP based applications so that a single connection runs at hundreds of Mbps even when round trip latencies are high. The potential benefits include : higher throughput, faster replication, backup and mirroring and better utilization of links. These techniques don't need to pre-determine the bandwidth. They can self-adjust the transmission for appropriate throughput.  The difference between high speed TCP and max speed TCP is that the high speed TCP will back down in speed as a result of packet loss or congestion where as max TCP is designed to use a set amount of bandwidth regardless of congestion or packet loss.

#codingexercise

Double  GetNthRootSumOddRaisedPTimesQAndEvenRaisedPDividedQ (Double [] A,Double  p, Double q)


{


If ( A== null) return 0;


Return A.NthRootSumOddRaisedPTimesQAndEvenRaisedPDividedQ(p, q);


}