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);


}


Friday, May 29, 2015

We were discussing Riverbed Operating System (RiOS) technical concepts. For Data Deduplication, RiOS intercepts and analyzes TCP traffic, segmenting the data and indexing it. It replaces duplicate segments with proprietary hierarchical references that save massive amounts of data.The segments are compressed using a Lempel-Ziv based algorithm that achieves good peak compression ratios. The size of the segments stored on disk is approximately 100 bytes allowing detection of fine grained changes in the traffic. Since the comparison is at byte level, the same works for both encrypted as well as unencrypted traffic. This scalable data reduction (SDR) technique can be performed interchangeably on disk or in memory. It can be done adaptively as well in either location or both. The best fit for particular connections or overall workload determines the strategy. Since disk accesses are involved, the appliances are fitted with solid state disks for better performance.
It is important to note that segments are byte chunks and agnostic of the metadata on the corresponding data transfer. Filenames, e-mails, objects or anything that the segment belongs to does not affect are not recognized. This is both a convenience as well as a limitation.  The convenience is that the changes are detected even if they are fine grained and applied consistently regardless of file renaming, object cloning or email replies. The limitation is that an application protocol could have been added that tags the traffic with metadata based on time or space for more information to the SDR. In any case, the SDR has to work across all TCP traffic and therefore differs from cache based solutions that cannot recognize the data as the same when tracking file or object based entities.
RiOS overcomes the chattiness of transport protocols through transport streamlining which is  set of techniques that reduce the number of round trips necessary to transport information across the WAN while maintaining the reliability and resiliency of the transport.The techniques involve window scaling, intelligent repacking of payloads, connection management and other protocol optimization techniques. These are standard techniques and therefore RiOS remains true to the fundamentals such as congestion control, error detection, connection management for good neighbor etc without adding extra requirements such as the use of a tunnel, proprietary protocols or other non-standard protocol optimization techniques. Consequently this native transport streamlining design avoids the issues such as traffic mixing, MTU sizes or TCP over TCP that affect alternative designs based on tunnels etc.

#codingexercise
Double  GetNthRootSumOddRaisedPMinusQAndEvenRaisedPPlusQ (Double [] A,Double  p, Double q)

{

If ( A== null) return 0;

Return A.NthRootSumOddRaisedPMinusQAndEvenRaisedPPlusQ(p, q);

}

Thursday, May 28, 2015

We were discussing Riverbed Operating System (RiOS) technical concepts. We know that RiOS can accelerate TCP based connections. These include but are not limited to CIFS, NFS, FTP, HTTP, HTTPS and database connections. Data Streamlining reduces bandwidth consumption by 60 to 95 %.
We now look at the specifics of data de-duplication. RiOS intercepts and analyzes TCP traffic, segmenting the data and indexing it. The indexed data is resident on disk and can be compared. If a segment of data has been seen before, it is not transferred across the WAN, instead a reference is sent in its place. This process  enables duplicate data to be replaced by a reference. RiOS has patented this reference. It includes a hierarchical structure with a single reference that can represent many segments and therefore the ability to reduplicate a large amount of data. If the data has not been seen before, the segments are compressed using Lempel-Ziv based algorithm and sent across to the RiOS appliance on the other side of WAN. These segments are also stored on the counterpart appliance. The original data is reconstructed using the new data and references to the existing data and passed through to the client. LZ Compression allows peak compression ratios of 100:1 to be achieved.