Sidestepping Delays

There is a famous game in the business world called the Beer Game.  Developed at MIT’s Sloan School of Management, this game gives a taste of reality to novice and experienced managers alike.  In addition to lessons in management, the Beer Game illustrates an interesting similarity between business systems and industrial processes, and suggests to me how real-time data cloud services may be able to help business sidestep costly delays.

In the Beer Game, players representing retailers, wholesalers, distributors and producers of beer are responsible for keeping up with customer orders.  Everything goes pretty smoothly until there is a sudden increase in demand.  Due to a built-in request-and-response time delay at each level of supply, it takes a while for the increased orders to reach the factory, and still longer for the new supplies of beer to reach the retailers.

The delay in supply shipments causes a temporary shortage for retailers, so they keep sending in large orders for beer.  Eventually, when truckloads of beer finally start to arrive, their supplies overshoot demand, and the retailers now have to cut orders dramatically.  But the beer keeps coming.  Oscillations between supply and demand ensue, creating customer dissatisfaction, wasted resources, and loss of profit.  Hard feelings often arise between the game players at the various levels in the supply chain, as each blames the others for the losses.

The problem is, most players simply keep ordering beer as long as their customers or downstream distributors keep clamoring for it, not realizing the mistake until it is too late.  “If there were no time delays, this strategy would work well,” said MIT Professor John D. Sterman, who has run the game for many years.  So, in a way, the culprit here is the time lag.  Let’s see how a real-time approach might change the picture.

In the real-time world of industrial control, this is a familiar scenario.  If you have, for example, an oven running at a set temperature, and then turn a dial to raise the temperature, it takes a bit of time for the system to respond.  If it is tuned well, the heating mechanism will quickly bring the oven up to the newly set temperature, and maintain that setting.  If not, it may respond slowly, and possibly overshoot and undershoot the setting a few times until it finally stablizes on the new temperature.

This type of behavior can be plotted on a graph.  Here are a few examples:


In these images, the red line represents the newly set temperature, the green line is the ouput from the heating mechanism, and the blue line is the actual temperature inside the oven.

Poor Response shows delayed communication and overreaction.  Notice that the heating mechanism output (green line) doesn’t start decreasing until the oven temperature hits the proper setting.  Poor feedback between the actual temperature in the oven and the heating mechanism causes a number of oscillations.

So-so Response is better, but there is still some overreaction.

Quick Response is the best.  A combination of an immediate and strong initial response with a tightly coupled feedback loop between the heating mechanism and the oven temperature means that the new setting is achieved rapidly, with minimum waste.

How does this apply to the Beer Game and the business world?  Using real-time cloud technology, it should be possible to connect all the data related to the beer sales, ordering, distribution and production into a single, seamless flow.  Imagine if each player in the game had a window into actual production figures and supply inventories at every level, updated in real time.  The factory could see immediate spikes in demand and retailers could gauge supply levels, while distributors and wholesalers could monitor the flow of orders and shipments up and down the supply chain.

Of course, there will always be time constraints in the actual beer shipments.  But that doesn’t mean we have to settle for frustrations originating in the paper-based systems of the last century.  With a real-time cloud approach, many “inevitable” delays can simply be sidestepped.

Cloud Economics: Data on Tap

How is cloud computing like buying a cup of coffee?  Joe Weinman uses a clever analogy of purchasing a cup of coffee to explain some of the factors that go into providing faster, and therefore more valuable, cloud services.  I thought it would be fun to see how his coffee-buying model may or may not fit with the economics of real-time cloud computing.

To speed up the process of getting a cup of coffee from your local coffee shop (and data from your cloud service), Wienmann suggests several options for the service provider and customer:

  • Optimize the process by streamlining and reducing the number of tasks that the coffee shop staff need to carry out to prepare a cup of coffee.  In cloud computing, this equates to optimizing algorithms and implementing other processing efficiencies on the server.
  • Use more resources, such as hiring more staff behind the counter to make and pour coffee, so that multiple customers can be served simultaneously.  Cloud service providers do something similar when they provide parallel processing for large computing tasks.
  • Reduce latency by opening a coffee shop closer to the customer’s office, or by the customer moving closer to the shop.  We see this playing out in certain situations when cloud customers who require ultra-high-speed performance actually move their physical location to be closer to the data center.
  • Reduce round trips for coffee by picking up a whole trayful of coffees on each trip to the shop.  In the similar way, it is sometimes possible to send multiple requests or receive multiple replies in a single transaction with the cloud.

In addition to these four options, Wienmann suggests a rather drastic alternative: Eliminate the need for the transaction altogether.  In the analogy, that would mean stop buying coffee from the shop, and either make it yourself at the office or do without.  This equates to not using cloud services at all.

Data flowing from a faucet.What is the real-time approach?  Data on tap.  Instead of making round-trips to the coffee shop every few hours or days, just pipe the coffee directly to the office, and let it flow past your desk, always hot and fresh, ready to be scooped up and savored. Just dip your cup into the stream.

A key conceptual shift takes place when we implement real-time cloud computing.  There is no need for transactions to receive data.  The cycle of request-process-reply gets replaced by an always-on stream of data.  Thus there is minimal delay.

In the physical world this would be considered wasteful.  I can see my grandfather, who lived through the Great Depression, recoiling in horror at the thought of those gallons per minute of undrunk coffee going down the drain somewhere.  But real-time data gets generated fresh all the time, and most of it quickly vaporizes into thin air anyway.  Best to put it into the hands of someone who can use it.  Data on tap means there is actually less waste.

But how, some may ask, can you possibly contain it?  How do you get a grip?  How can you analyze a moving target?  What if a highly valuable factoid escapes my cup and flows off into oblivion?

Different tools and skills are necessary for working with streaming data.  High-speed, in-line analytics that can keep up with the incoming flow will help decision-makers respond to ever-changing conditions.  Super-efficient real-time data historians that capture every event, large or small, will provide quick access to minute details occurring on a millisecond time scale.  Even now, experts are working on advanced methods for mining through the astronomically growing collection of “big data.”

Perhaps more important than the tools, though, is a change of perspective.  We need to shift our thinking from a static world to a dynamic one.  Working with a data stream from the cloud offers new opportunities, and challenges our conventional thinking in some interesting ways.  We may continue to buy our coffee by the cup from the local shop, but maybe soon we’ll have our data on tap.

Cloud Economics: Does Location Matter?

If you’ve been following the recent blogs, you’ll know the “L” in Joe Weinman’s C L O U D definition stands for location independence.  One of the five distinctive attributes of cloud computing, location independence means that you can access your data anywhere.  Location doesn’t matter.

Or does it?  Like many things in life, there is a trade-off.  Time is related to distance, even in cloud computing.  The farther you are from your data source, the longer it takes for the data to reach you.  And since timeliness has value, a better location should give better value.  So maybe location does matter after all.  The question is, how much?

Let’s put things into perspective by translating distance into time.  The calculated speed of data flowing through a fiber optic cable is about 125 miles per millisecond (0.001 seconds).  In real-world terms, since Chicago is located about 800 miles from New York City, it would take about 6.4 milliseconds for a “Hello world” message to traverse that distance.

As we discussed last week, for certain automated trading platforms that operate in the realm of microseconds (0.000001 seconds), 6.4 milliseconds is an eon of lost time.  These systems can make or lose millions of dollars at the blink of an eye.  For that reason you’ll find the serious players setting up shop right next door to their data center.  The rest of us, on the other hand, can pretty much remain in our seats, even for real-time cloud applications.

Why?  Well, first of all, the majority of industrial applications are already optimized for location.  Most SCADA systems are implemented directly inside a plant, or as close as physically practical to the processes they monitor.  Engineers who configure wide-area distributed systems are well aware of the location/time trade-offs involved, and take them into account in their designs.  Furthermore, they keep their mission-critical data communication self-contained, not exposed to the corporate LAN, much less to potential latencies introduced by passing data through the cloud.

Of course, a properly configured hybrid cloud or cloud-enhanced SCADA can separate the potential latencies of the cloud system from the stringent requirements of the core system.  What results is a separation between the deterministic response of the control system and the good-enough response time of the cloud system, which we have defined in a previous blog as “remote accessibility to data with local-like immediacy.

Another area where the location question arises is for the Internet of Things.  As we have seen, great value can be derived from connecting devices through the cloud.  These of course can be located just about anywhere, and most of them can send data as quickly as required.  For example, devices like temperature sensors, GPS transmitters, and RFID chips respond to evironmental input that is normally several orders of magnitude slower than even a slow Internet connection.  Latencies in the range of even a few hundred milliseconds make little difference to most users of this data.  People don’t react much faster than that, anyway.

As we have already seen, user interactions with a cloud system have a time cushion of about 200 milliseconds (ms), the average human response time.  How much of that gets consumed by the impact of location?  Joe Weinmann tells us that the longest possible round trip message, going 1/2 way around the world and back, such as from New York to Singapore and back to New York, takes about 160 ms.  Not bad.  That seems to leave some breathing room.  But Weinmann goes on to point out that real-world HTTP response times vary between countries, ranging from just under 200 ms to almost 2 seconds.  And even within a single country, such as the USA, average latencies can reach a whole second for some locations.

However, a properly designed real-time cloud system still has a few important cards to play.  Adhering to our core principles for data rates and latency we recall that a good real-time system does not require round-trip polling for data updates.  A single subscribe request will tell the data source to publish the data whenever it changes.  With the data being pushed to the cloud, no round trips are necessary.  This elimination of the “response” cycle cuts the time in half.  Furthermore, a data-centric infrastructure removes the intevening HTML, XML, SQL etc. translations, freeing the raw data to flow in its simplest form across the network.

What does this do to our Singapore-to-New York scenario?  Does it now approach 80 ms?  It’s quite possible.  Such a system would have to be implemented and tested under real-world conditions, but there is good reason to believe that for many locations with modern infrastructures, data latency can be well under the magic 200 ms threshold.  To the extent that this is true, location really does not matter.

Cloud Economics: Definitions

Like any good mathematician, Joe Weinman in his book Cloudonomics lays out some definitions right up front.  He chooses to define the concept of “cloud” in cloud computing in a way that brings out five essential attributes that are common to other cloud-like systems in business and life in general.  To make it easy to remember he gives his definition as a mnemonic: C L O U D.

Let’s see how these five attributes of any cloud system fit in with our understanding of real-time cloud computing:

People relaxing in a city park.C – Common infrastructure - refers to the ability to share resources.  A city park is like a cloud in that it can meet the needs of millions of apartment dwellers for some quality outdoor space—gardens, walkways, playgrounds, and sports fields.  Nobody feels overly crowded because they don’t all use the park at the same time, or in the same way.

As Wienman explains in detail later on in the book, non-cloud computing resources are often underutilized, which becomes a cost.  For example, some industrial applications require their software to run alone, on a separate server.  As the number of this kind of application grows, the waste of resources increases.  Where possible, using virtual machines is one way to share the resources of a single server to reduce this kind of waste.  This approach to sharing infrastructure is often used in cloud systems, as well as private systems.

L – Location independence - means that the sevice is available pretty much everywhere.  You might not think of a fast-food franchise as a cloud service provider, but in a sense it is similar.  Just as you can get order-in or take-out service from your favorite burger outlet in many places around the country or even the world, so also can you access the cloud from practically any location.

The value of location independence for real-time systems is just beginning to be realized.  For decades data from industrial systems has been tightly locked down, behind firewalls and physically isolated systems.  But now, perhaps to the dismay of engineers and system integrators who rely on isolation for security reasons, upper management in many companies is waking up to the value of accessing that data from anywhere.

Of course, there is alway a need to keep raw process data secure and free from interference, but advanced methods of keeping firewalls closed and permitting read-only access can help bring key real-time peformance metrics to analysts and decision makers in the office, at home, or on the road.

At the same time, many embedded systems once lacked the power or connectivity to put their data online.  With the advent of the Internet of Things connecting cars, appliances, remote sensors, and a host of other devices directly to the Internet, we are witnessing a huge growth and interest in accessing live data from all kinds of sources, independent of location.

O – Online accessibility - is the availability of service via a network or the Internet.  Every service needs some form of access.  A restaurant needs an eating area, a movie theater needs seats and a view of the screen, a radio show needs transmitters and receivers.  As Wienman sums it up: “Without networks, there is no cloud.“  Real-time cloud systems can function well on private networks, and in many cases access to the Internet and public clouds will provide additional value.

U – Utility pricing - like the Water Works and Electric Company in the game of Monopoly, utility pricing means you only pay for what you use—be it water, electricity or computing power.  Usually this aspect of cloud computing goes hand-in-hand with on-demand resources.

D – on-Demand resources - the ability to bring in additional resources, or remove extra ones, to cope with variable demand.  For example, your house has plenty of space for your family and an occasional guest, but on special occasions like a big wedding you may need to engage the services of hotels or restaurants.

The flexibility to respond to market fluctuations is a real boon for retail and consumer-oriented companies who may see significant peaks and valleys of seasonal or irregular demand.  In our experience, most industrial and embedded real-time systems don’t undergo such large variations in demand for computing resources.  However, for systems too small or too dispersed to justify a dedicated, in-house SCADA system, (such as mentioned in our SCADA for the Masses discussion), on-demand resources and utility pricing may help make the cloud a viable solution.

Given the above C L O U D definitions, the economic value of any cloud computing system, real-time or not, depends on a number of variables and circumstances.  We need to consider these in their appropriate context to determine how real-time systems can benefit.

Cloud Economics: A Vision

For the past few months we’ve been looking at the technical side of real-time cloud computing.  We’ve touched on some of the requirements for supporting real-time data communications on the cloud, looked at how SCADA and embedded systems might benefit from accessing the cloud, and even considered how the term “real time” may be best applied to cloud computing.

Going forward, I thought it might be a good idea to switch gears a bit, and take a deeper look at the business and economic side of cloud computing, and see how the latest thinking about cloud economics may or may not apply to real-time applications.

Coins for the cloud.A new book, Cloudonomics, by Joe Weinman, Senior Vice President of Cloud Services and Strategy at Telx, gives a profound yet accessible overview of the business value of cloud computing.  Among other things, the book’s cover blurb says, “Weinman drills down past the hype and hysteria, the myths and misconceptions, to uncover the fundamental principles underlying how the cloud works, how it’s used, and how it will evolve in a business context.

With the vision of a mathematician, Weinman strips away the non-essential features of the cloud and breaks it down into its basic elements and principles.  At that level, he can demonstrate how “cloudy” ideas and concepts have been used for centuries.  For example, he shows the similarities between cloud computing and the transportation and lodging infrastructure of ancient Rome, complete with multi-protocol wide-area networks, pay-per-use resources, value-added services, regulatory agencies, security tokens, branding, advertising, and more.

Weinman uses lots of real-world examples to show how we find cloud concepts in every facet of life, such as hotels, taxicabs, and movie theaters.  At the same time, he introduces some simple mathematical theories and models that sometimes uphold and sometimes contradict much of the conventional wisdom that has grown up around cloud computing.

Through it all, he strives to adhere to three goals: 1) present a multidisciplinary view from a number of fields of economics, mathematics, natural sciences, and system dynamics; 2) plant seeds of ideas in areas related to cloud computing, which may be cultivated and developed by others; and 3) take an evergreen approach, where the concepts are so fundamental and universal that they will serve to inspire research and application in business for many years to come.

Although I haven’t read it exhaustively, I’ve not yet seen much mention of the application or value or real-time systems in the cloud.  This is not surprising, as this topic is still on the distant horizon for many leaders of thought.  Or, it could be that what applies to cloud computing in general also applies to real-time cloud computing.

This raises an interesting question: Is there any significant difference between the economics of the more familiar cloud systems of business and consumer applications, and the less-well-known real-time cloud systems for industrial and embedded applications?  We know there are some unique technical requirements.  Is there a fundamentally different business model for real-time cloud?

In the weeks to come we’ll take a look at some of the ideas presented by Weinman in Cloudonomics, and see how they may or may not apply to the special case of real-time cloud computing.