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.

Wednesday, May 27, 2015

We were discussing Riverbed Operating System (RiOS) technical concepts. Let us look into network integration. RiOS solution does not demand anything from the network topology. It also does not require the use of tunnels. Since there are no tunnels involved, peers can be auto-discovered, full mesh environments can be supported and there is no limit to scale. There is no hindrance to the use of web cache communication protocols, policy based routing, or other out of path deployment options.
The purpose of mentioning this non-invasive, application neutral acceleration with little or no change to network is to say that this approach differs from a overarching one panacea fix all strategy. It's also not quite like a solution that requires different vendors to "bolt and glue" their products. That said, WAN optimization can proceed through multiple vendors who can combine or reuse some of the patterns introduced with RiOS.
The use of minimal configurations helps with the following in these ways:
Data Streamlining:
Reduce WAN bandwidth utilization by 60-95%
eliminate redundant transfers
perform cross application optimization
and provide quality of service for all the applications.
The support for data streamlining includes features for rule-based policy administration of optimization classes, packet marking, enforcement for QoS and route control.
These enable tremendous ease of use with most QoS measures.
#codingexercise

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




{




If ( A== null) return 0;


By



Return A.NthRootProductOddRaisedPMinusQAndEvenRaisedPPlusQ(p, q);




}


Tuesday, May 26, 2015

We continue to read up on Riverbed Optimization System (RiOS) technical overview. In the previous post, we discussed RiOS as a transparent TCP proxy where an innovative three channel mechanism replaces the logical single end to end connection. With RiOS, all TCP traffic can be intercepted and accelerated regardless of the application that generates it. This means that there is no application category or bracket to which RiOS is specific. In addition, transport streamlining optimizes the behavior of TCP on the WAN. And these can be applied to both encrypted data and clear.
Application caching is therefore not required which anyways is application specific and providing marginal benefits.
That mentioned we can refer to application specific optimizations. There are some applications like Windows File sharing or Exchange e-mail, where the application protocol matters. Aside from data and transport streamlining, application streamlining enables RiOS to alleviate application specific behavior although introducing TCP optimizers or data compression devices have shown limited performance gains.
Having discussed traffic, we now shift attention to data and disk usages. RiOS implements a Universal Data Store. This lets it reduce data to efficiently scale across multiple peers because of the use of a single store. The significance of this improvement can be seen in the number of per-peer data store savings. Moreover per peer segmentation often reduces usable disk space to very small portions. This manifests in such performance bottlenecks as data store "misses" or "cold hits". On the other hand, with a universal datastore and accelerated traffic, RiOS can now support efficient sharing in a large scale enterprise environment.
The data is guaranteed to be coherent because the single copy is accessed through the server. The server handles permissions and file locking. The client requests happen as if the intermediary accelerator device is not there.  Hence, the data can be considered original by branch offices. It may be interesting to note that in the absence of the single copy of server, obsolete and multiple stale versions of the master have a chance to proliferate. Perhaps its worthwhile to mention that the locking    available from the server also includes OpLocks which enables latency optimizations over CIFS that can help reduce contention for the same file.
#codingexercise answer
In response to the question asked in the previous post, something like this could work :
var l = new SortedList ();
Items.ForEach ( x => l.Add (x) ),

Sunday, May 24, 2015

We continue our discussion on the Riverbed Optimization System. We noted that its a powerful WAN accelerator. We review some of the technical concepts. The Riverbed Optimization System (RiOS) operates as a transparent TCP Proxy. RiOS implements the logical single end to end TCP connection with three back to back TCP connections. These connections are established in a one-to-one ratio with no encapsulation, traffic mixing, or tunnel configuration. The two outer connections look the same as a simple logical end to end connection to both the client and the server while the inner connection is invisible. This inner connection lets RiOS perform a variety of performance improvements for transmissions across the WAN. Due to this design of TCP connections across WAN, there is no disruption or reconfiguration of clients, servers or routers. For each of the software clients across the branch office computers, RiOS replace the original end to end TCP connections with two or three back to back connections. The server side connections appear the same as its original connections while the RiOS optimized connection accelerates WAN traffic directly over the remote compute device.
By referring to the proxy as transparent, it is implied that the source and the destination IP header information is maintained as the optimized traffic flows through the device. In the event that this may not jive with the various network rules and firewalls, RiOS provides three visibility modes: Correct Addressing, Correct Addressing Plus Port Transparency and Full IP address and Port Transparency.
Correct Addressing refers to a mode in which the RiOS addresses optimized traffic across the WAN to accurately reflect the source, destination, and nature of each packet. The IP addresses are meaningful only to those appliances while that of the unoptimized traffic is relevant only to LAN.
Correct Addressing plus Port Transparency introduces "spoofing" for the traffic sent over the WAN. The WAN traffic is still addressed to and from the appliance's IP addresses - only the port information is spoofed.
With Full IP address and Port Transparency, RiOS offers a complete address spoofing operations. Here the optimized traffic is addressed identically to unoptimized traffic on the LAN.

#codingexercise




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



{



If ( A== null) return 0;

By


Return A.NthRootProductOddRaisedPPlusQAndEvenRaisedPMinusQ(p, q);



}

In light of the coding exercises, perhaps I want to draw attention to an actual interview question.
This interview question made you think if you wanted a different data structure.
Entries are placed in a singly linked list that may have duplicates but can also be compared. We want the most efficient algorithm to sort them descending.





  
In today's post we discuss, Wide-area data services
This is a term used to describe the set of issues that enterprise applications face in terms of network slowness, application performance, data coherency and other such data issues when the same enterprise applications are required to be shared by various branch offices and personnel. Think of a hypothetical example where a CAD software is being used to design a bridge by offices across the continents. The bridge will be modeled completely to the finest detail and at a pace where the engineers don't feel limited in the data they collaborate with to build the model. There is only one instance of the bridge and it is electronic at any given time.
Although the example serves to illustrate the context, wide-area data services are not restricted to one application. It is used to address data traffic issues that can improve such things as file sharing, email, backup, document management system, IT tools, as well as ERP and CRM solutions.
Together, the set of techniques used to achieve this speedup in the use of WAN applications is referred to as WAN optimization.
Riverbed is a pioneer in this area. We review the technical information on its optimization system as available on the Internet.
Riverbed's optimization System has four major components that address different technical concerns.
1) Data Streamlining - This looks into data deduplication so that the WAN bandwidth is reduced and applications can be prioritized by bandwidth and latency.
2) Transport Streamlining - This looks into different transport issues that removes inefficiencies when a data transfer must happen.
3) Application Streamlining - This looks into application protocol performance so that unnecessary round trips are avoided. Note that there is a line between mutating an existing application for performance improvement and reworking the application level protocol behavior. The former is neither allowed nor viable without source code and mere reverse engineering. The latter is non-invasive and more traffic oriented.
4) Management Streamlining - This looks into deployment and management and virtualizing branch office services.
Usually this solution is available in the form of a hardware appliance and a software client. The former works at the traffic level and the latter is installed at individual workstations.
By the way, wide area data services improvements are not restricted to applications but can also be applied to Cloud technologies including VMWare vSphere datacenter applications.


#codingexercise



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


{


If ( A== null) return 0;


Return A.NthRootProductOddAndEvenRaisedPPlusQ(p, q);


}


Friday, May 22, 2015

Today I had the opportunity to use my hospitals patient information access portal. I found it quite interesting in the way information is organized on the portal. A few of the observations include :
1) patient access security
2) invitation only links
3) portal multi factor security
4) information organized by the type
5) information as deep as reports
#codingexercise


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

{

If ( A== null) return 0;

Return A.NthRootProductOddRaisedPEvenRaisedQ(p, q);

}