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

}


Tuesday, May 19, 2015

In the storage industry, file system protocols and their access are very important for the products and the day to day usages.the storage vendors push these features down into their products but cloud service providers have to even wire ways to expose these at their user level. If there were more than one vendot and each vendor had different degrees of interpretation, then there are more variations. Even if there is one vendor to go with, these variations are a helpful study both from a survey perspective as well as in evaluating the maturity of the product. It's in this connection that the change log between the versions and the components affected become all the more interesting . The savviness to use the right product right version of the product and right features enables ease of use to accomplish a task
In an example outside the topic we began some heat questionnaire and answer set for this evaluation.
Examples include :
How does this fit our need now ?
How does this feet our need down the line ?
How does this evaluate with others
How much effort us involved ?
How many moving parts are involved ?
What is the resiliency
And the TCO?
This builds a scorecard for each option.

#codingexercise

Double  GetNthRootSumOddRaisedPEvenRaisedQ (Double [] A,Double  p, Double q)
{
If ( A== null) return 0;
Return A.NthRootSumOddRaisedPEvenRaisedQ(p, q);
}

Monday, May 18, 2015

I've injured my hand and the swelling has increased even more today. In the previous post we ere discussing dynamic pricing models. It's important to note that such model is only applicable in a small percentage of cases. Specifically when the supply is less than demand. Uber's research has shown that both supply and demand curves are elastic here. Higher prices increase supply here. The Boston experiment confirmed that there is higher number of fulfilled requests when that happens. On the demand side there are two areas noteworthy, I referred the corresponding post by Bill Gurley. There is a mention of UberX as an alternative to the black car service and this has caught on.

#codingexercise


GetAllNumberRangeProductSeventhRootPowerTwwlve(Double [] A)



{





if (A == null) return 0;





Return A.AllNumberRangeProductSeventhRootPowerTwelve();




}