Wednesday, January 18, 2012

OpenFlow

Just read the OpenFlow whitepaper: OpenFlow: Enabling Innovation in Campus Networks. It sounds like an interesting way to allow networking research coincide with a production network. Their website is: OpenFlow

My summary:
There is a need for a virtualized programmable network in order to allow networking research to progress.  Creating new protocols in small isolated networks do not provide enough data to move into widespread use, and it is impractical to experiment with the production network of a university or other institution.  The proposal here is to insert an open software platform on top of commercial networking switches that allow a virtual experimental network to ride alongside the production network, but still allows access to the high performance and port density of the networking hardware.  Using OpenFlow you could implement VLANs, but it also gives the flexibility to do more.

OpenFlow Switch  (Type 0)


  1. Flow Table with actions for flow entries
    1. Actions
      1. Forward to a port
      2. Encapsulate and forward
      3. Drop
      4. Forward through normal processing
    2. Entries
      1. Packet Header
      2. Action
      3. Statistics
  2. Secure Channel from controller
  3. OpenFlow protocol to communicate with controller

Controllers


  • Adds/removes flows
  • Scalable, one controller can support many flows and switches

Tuesday, January 17, 2012

Cloudonomics

I'm taking a class on cloud computing this semester and our first reading assignment is entitled "Cloudonomics". Here's a link to the paper: link The focus is on the economic viewpoint of cloud computing, starting with the definition provided by NIST, and providing economic views on each piece. The author translates the components into an acronym:

Common infrastructure
Location Independence
Online connectivity
Utility Pricing
on-Demand Services

Here are my notes:

Common Infrastructure

Multiplexing demand over a common infrastructure can increase utilization, lowering the cost per delivered resource.
The coefficient of variation cv = std deviation / absolute mean, the lower the more smooth/flat
The smoother and flatter the demand, the better the utilization.
Multiplexing demand can help reduce cv, increasing utilization.
This is especially true if the demands offset, such as with the power grid having business usage peaked during the day and home usage peaked in the evening.
These economies are reached even at a mid-sized provider level, giving them economies similar to large providers.

Location Independence

Latency is an issue, especially with user interaction.
Latency is dependent on distance due to the limit of the speed of light in fiber and router hops.
As a private company tries to reduce that latency by increasing coverage, they will see diminishing returns on their investment.

Utility Pricing

Cost savings are more than on a per unit basis, but are on a utility pricing basis. You only have to pay for what is used.
Analogy of renting a car vs. buying it for a couple days use.
It gets interesting when using the cloud costs more than owning the resource, but demand is variable. There is a utility premium that must be accounted for. Intuitively if the demands are long term it may be cheaper to buy, if short term then may be cheaper to rent.

On-Demand Services

On-demand avoids excess and insufficient resources.
Really useful when demand is unpredictable and/or non-linear

Online Connectivity

Network costs allowing sharing must be factored in.

Behaviors, Complexity

Users may be slow to adopt due to "loss aversion"
But lack of upfront costs may help speed adoption
Finding the optimal tradeoff between statistics of scale and user experience intractable.