Friday, August 30, 2013

What is a Content Pack?

When I talked about building water applications using IBM Smarter Water SDK, I omitted a key ingredient needed by the application, its content. For and application to function it needs supporting content such as; data, business reports, key performance indicators (KPIs), and standard operating procedures (SOPs). In the Smarter Water SDK, the application's content comes in the form of a content pack. We can think of a content pack as a container that holds lots of different types of content, content that that be both consumed and produced by the application. Here is a diagrammatic representation of the Smarter Water application content pack.

Smarter Water Content Pack

Application development using IBM Smarter Water SDK follows an model-view-controller pattern (MVC). Using this pattern; the application is the controller, the content pack is the model, and the Smarter Water Platform provides the view (other views can be plugged in here as well). This allows the content to be changed independent of the application so that we can easily add new KPIs and custom reports as our understanding of the application grows. We will come back to this topic again in a later blog.

IBM's Smarter Water SDK Model View Controller Pattern




Let us examine the content of the content pack in more details





Data sources - Understand the external systems (e.g. work equipment: devices, sensors, meters, etc)

Identify the external system that the application needs to pull data from, or interface to, in order to function. Example of such external systems are; (water) meter devices, sensors devices, loggers, enterprise asset management systems (EAM), customer relationship management systems (CRM), GIS systems, ERP system etc.. Once these particular systems are identified the application developer much also understand the format of the data that is been external systems provide. The data in on-boarded using an enterprise service bus and mediations are responsible for routing the data to the various sub systems and data stores.





Events - The enterprise service bus and the mediations are also responsible for handling and dealing with events. These events can be external event such as a weather event, or events from the meters and sensor devices, such as a no read. These events can also be generated by the application. 





Database extensions – Create the corresponding application specific IOW persistence stores 

Based on the format of the data from the external systems, such as the measurements and measurement values from sensor or meters, the corresponding database stores need to be created within the Smarter Water Platform. Examples of the kind of data stores that an application developer may want to create would be; reporting, operational, analytics and geospatial persistence data stores





Water information hub/Semantic model - Extend the IOW Semantic Model to support the clients water model

Based on the application requirements and the types of external systems the semantic model, at the heart of the Smarter Water Platform (IOW), can be extended to model these systems to provide a overall view of the water network. This semantic model also allows the application to perform meaningful queries, fine grained filtering validation and inferencing. For more information see Tim Hanis dW article on using semantic models.






Key Performance Indicators (KPIs) - Create application specific KPIs

Discover, specify and implement the KPIs that the application needs to report on. Key performance indicators (KPIs) are quantifiable measurements employed by organizations to monitor and assess performance. See Allen Smiths dW article Part 1 & 2 on KPIs





Custom business reports - Gain insight from historical data with reporting, scorecards, clustering etc.

Custom business reports, also know as descriptive analytics, provides simple summaries about the sample and about the observations that have been made. Such summaries may be either quantitative, i.e. summary statistics, or visual, i.e. simple-to-understand graphs. These summaries may either form the basis of the initial description of the data as part of a more extensive statistical analysis, or they may be sufficient in and of themselves for a particular investigation.
For example, the asset maintenance history of a water pipe is a descriptive statistic that summarizes the quality of a water pipe. 




Standard operating procedures

Standard operating procedures (SOPs) can also be launched by an application via the underlying eventing mechanism. SOPs are essential to an organization's ability to deliver consistent, measured, high-quality responses to complex events. An SOP might be related to automatically detecting a failure in a sensor and opening a work order to have it repaired, or to dealing with approaching severe weather. Regardless of the reason for the standard operating procedure, if an organization develops a planned, understood (and rehearsed) response to various events it can better respond to that incident quickly, and consistently. See Bob Patten dW article on SOPs.





Advanced analytics algorithms

The  Smarter Water SDK also gives application developer access to three types of, advanced business analytics such as; descriptive Analytics (historical insights), prescriptive/optimization analytics (optimization), and predictive Analytics (predication). We have already addressed descriptive analytics in the custom reporting section and this section of the content pack deals with any algorithms needed for optimization or predicative analytics. An example here would be a predicative algorithm that is used to predict when pipes are going to fail.


In the next blog we will look at building out a content pack for the pressure management application 

Friday, June 21, 2013

The best way to deal with a leaky pipe

At the heart of the IBM Smarter Water product is the water information hub (WIH), can be viewed as a system, where the whole is greater than the sum of the parts. In a previous post I talked about how we can create intelligent apps on top of the WIH using IBM Smarter Water SDK, where these apps can then collaborate together to optimizing the water network by exploiting feedback loops in the system. In this post we will examine another feature of the system, that is the ability for the WIH to learn new stuff.

Usually, when we architect and design applications we store the data in a database. Databases are very good at storing and querying data but one drawback is that all of the data has to known at design time. For example, when we are building a database for a metering system we need to know everything about the metering system at design time. The problem with a dynamic system like the WIH, where the whole is greater than the sum of the parts, is that by definition the 'whole' know more than the 'parts'. In other words we can not possibly know all of the information contained in the 'whole' at design time. 

An example will help illustrate this. Lets return to the water balance application we previously built using IBM Smarter Water SDK. The water balance app measures the amount of water in and out of the system. In a water distribution system, the network is typically divided into a number of pressure zones. In the diagram bellow we can see five separate pressure zones. The water balance application reads data from the water information hub, which is connected at the backend to the sensors and meters in the network, and reports a standard measure of water (IWA) moving in and out of the network. The water balance application provides us with a baseline from which we can start to optimize the water network. By running a minimum night flow analysis, the water balance application can determine which pressure zone is the most 'leaky' in the water network (1). The problem here is, if we we architected the WIH with a database, the concept and corresponding database construct, for 'leakiness', may not have been considered at design time since we could not have foreseen all the apps that could be built on top of WIH at design time.

A water distribution with five separate pressure zones
The WIH bypasses this problem by using a semantic technology, rather than a database technology to represent the water network. I will go into the details of the semantic technology in a later posting but suffice to say that by using a semantic technology we can now add new data at runtime that was not thought about at design time.



Now, once the water balance app runs the minimum night flow analysis and categories the pressure zones by 'leakiness' it can write this information back to the WIH (2). The pressure management app can then use this new information (3) to prioritize which pressure zones it needs to optimize first.

This is just one example of where a water app that processes data from the water information hub has enhanced our understanding of the water system and can then make that new information available to other applications. This is because the semantic technology, that the water information hub is based on, is dynamic enough to allows us to make these changes at runtime. There are lots of other examples of applications that can enhance our understanding of the water network, and we will be looking at others in a future postings.




Friday, May 24, 2013

Cooperating applications for self optimizing water systems

People often ask me what is the importance of the water information hub (WIH)? The WIH provides a system view of the water network, where the whole is greater than the sum of the parts. In other words is not just  an elemental view of the water meters, or the sensor (pressure, flow, turbidity etc), or the assets (pipes, manholes, value, pumps, etc) in the system, it shows how all these elements, and many more, interrelate with each other. We can now treat the WIH as a system and like all other systems it exhibits certain characteristic of a system such as feedback loops. A simple example of a system with a feedback look is a house with thermostat. A thermostat works with a furnace and you set the thermostat to a certain temperature and the furnace works with the thermostat, blowing on and off, to keep the house at that set temperature. Here there is a feedback look between the thermostat and the furnace. For a great book on understand more about systems and systems behaviors, including feedback loops, see the book: Thinking in Systems: A Primer.

The very same can be done for a water distribution network where we have water flowing into and out of the network from the tap, or from from leaks, or from fire hydrants. Water lost from the systems that is not billed through a meter is called non revenue water (NRW). We can create similar feedback loop for the WIH by measuring the amount of water in and out of the system and then optimizing that via some feedback loop mechanism to help minimise the amount of NRW. The example we will look at is very similar to the thermostat example above in that is there are also two applications cooperating together: a water balance application that measures the amount of water in/out of a network and a pressure management application that will optimize the pressure in the network. Both of these application can be build using the IBM's Smarter Water SDK
Water Balance Table
In any system it is always important to get the beat of the system. In a water distribution network this is how much water is flowing through the network and were the water is going to. A measure of a beat of a water network can be provided by a water balance table. In a water distribution network, the network is typically divided into pressure zones, as this makes it easier for a water authority to manage the pressure across a large network and allows for a sub section of pipes to be kept at a constant pressure independent of the rest of the water network. A water balance application built using the SDK could read in the pipe network data and the associated meter readings from the pipe network, and then calculate and display the water balance. The figure above shows a standard water balance report that the water balance application might produce. One of the things a water balance application can do, is run a minimum night flow analysis, which runs the water balance at 3.00 AM, when water usage is at it's lowest, and all of the losses of water in the system at that time are largely due to leaks. By comparing pressures zone, using a minimum night flow analysis, we can then determine which pressure zones are having the most leaks.

Multiple pressure zones and a minimum night flow analysis chat

A pressure management application works on the principle, that within a pressure zone, pressure in usually kept high to ensure that there is adequate positive pressure on the tap side.  Keeping the water network at high pressure all the time has a detrimental effect on the pipe network, particularly in an aging pipe network, which is the case in most western european cities. The constant high pressure tends to corrode the pipes and also exasperates any existing leaks. A pressure management application, built using SDK, will read off the pipe network and then iterate through the pipe network and read off the pressure reading at pressure critical point and then take that data and process it through an optimization algorithm. The output of the optimization algorithm will then give the optimized pressure readings for that pressure zone. The application could then write out to the pressure reducing values, in that pressure zone. using an OPC interface and set the optimized pressure value for the network.
Feedback loop between the water balance and the pressure management applications 
These two applications, the water balance application and the pressure management application can be set up in a feedback loop very similar to how the thermostat and the furnace feedback on each other. This kind of collaboration between the two application can be done simply with a pub/sub interface on the applications. The water balance application alerts, the pressure management application, that a particular pressure zone is very leaky. The pressure management application optimize the pressure in that pressure zone. Once the pressure management application runs and optimizes the pressure in the pressure reducing values and then in turn alerts the water balance application that the pressure has been optimized. The water balance application would then run the minimum night flow analysis again, the following night, and find by how much the leaks have been reduced.

Rain to drain water network

In this feedback loop between the water balance application and the pressure management application, the water balance application may tell the pressure management application to use a different optimization algorithm and test the effectiveness of one algorithm against another. There are many more of these feedback loops that you can find in the water network, such as the rain to drain picture above in Peter Williams paper, and we challenge you find more and build collaborating applications around those.




Sunday, May 19, 2013

Application development using IBM's Smarter Water SDK

Last week IBM quietly released a new version of its Smarter Water product (called the Intelligent Operations for Water). Buried inside of this release is a feature that looks to completely change the way water applications are developed. The new version supports an application development model that allows for third parties to build water applications (such as leak detection, flood management, water quality applications) quickly and consistently on the Smarter Water platform. The benefits of such an application development approach is that it provides one way of building water applications, including mobile applications, on the platform.

Apple revolutionized the consumer world with their iPhone/iPad app store providing developers with access to the iOS platform and allowed them to build their own applications. Apple also provided an App Store where application developer could advertise and sell the applications. The Smarter Water platform now follows this model but instead of targeting customers, it targets a range of 3rd party water applications developers from research groups (including universities), services provider and partners, to developer their own smarter water applications.

IBM's Smarter Water SDK

The Smarter Water platform provides this application development capability by providing a software development kit (SDK) for water application developers.  The SDK consists of a set of underlying interfaces and programming model to enable and simplify application development as well as number of examples to help guide and educate application developers.  The SDK consists of three core interfaces. 

  • An interface into the water information hub (WIH), which gives an application access any and all water, related assets, such as the water pipe network, pumps, sensor, meters, etc. 
  • An interface into the advanced analytics engines of the platform, which gives an application developer access to three types of, advanced analytics such as descriptive Analytics (historical insights), prescriptive/optimization analytics (optimization), and predictive Analytics (predication)
  • An interface into a rendering service, which allows the application developer to create a resulting information layer which can then be put on top of a map.
Detailed documentation about this SDK and these interfaces, written by our fearless Dublin based documentation team, can be found here: http://ibm.co/1ANClFk

The Smarter Water SDK interfaces allows us to build smart water applications

Using these three interfaces, the core pattern for application development is very simple. 
  1. The application will read the types of water asset from the water information hub (WIH) e.g. pump, pipe, valves, sensors, meters, etc. This is because the WIH has a self-describing interface. 
  2. The application will then focus on a particular asset such a pipe and then read the pipe network from the WIH, for a particular pressure zone. The application could also iterate through the pipe network and read off the meter reading in that pipe network. 
  3. The application may then do some advanced analytics on the pipe network, such as checking which meters are reading high. 
  4. The application can then create a layer of the pipe network and color the particular of the network with high meter reading in red and then display that pipe network on a map.
A complete tutorial details a factious water company called the Sunshine Water Group (SWG) who manage a water network for a regional council. The water network contains a number of sensors that monitor measurements. Sunshine Water Group have been experiencing challenges with water pressure measurements in their pipe infrastructure. Each pipeline asset in the water network has the following managed components: pipes, junctions, reservoirs, valves and tanks. Each managed component has an associated measurement. For example, both junctions and valves have pressure readings, measured in psi (force per square inch). Sunshine Water Group use valves to set pressure readings. The rest of the tutorial shows how to build out, using the SDK, a simple pressure management application and deploy it onto the Smarter Water platform.

In an up coming Smarter Planet Blog posting I will be teaming up with the Smarter Water Product Manager, Nitin Kapoor and Dr Sean Mckenna from IBM Dublin water research laboratory to talk more about the SDK and the Smarter Water platform.


Wednesday, April 17, 2013

Cooperating systems of water

If Henry Ford were alive today in the internet era of Facebook, Google and Twitter, the last thing he would do is startup another internet company. Instead he look to provide an organizing principle that would leverage and streamline business to catapult them into the next age of business development. Ford would look to streamline and enable collaborative business development to allow businesses to mass produce, in the internet environment, in the same way as he did with the assembly line for the automotive business at the start of the 20th century.

In 1913 Henry Ford caused a paradigm shift in the automotive business by leveraging the assembly line to streamline car manufacture. While Ford did not invent the assembly line, his sponsorship of its development and his use of it as an organizing principle to streamline manufacture, was central to its explosive success in the 20th century. Ford major contribution was not in the invention of anything new in terms of automotive manufacturing it was about providing an organizing principle that effectively and efficiently leveraged existing technologies in a value added manner.

Today we stand at another tipping point in terms of business evolution. After 20 years of breathtaking internet development, the internet has evolved from simple client server to collaborative social interactions. We have Amazon and eBay to buy stuff, PayPal to pay for stuff, Google to search for stuff, Twitter to tell people about stuff and Facebook to show off our stuff. These are some of the internet giants that have become household names, in the internet landscape of today. Yet impressive as these advances have been, without an organizing principle to allow business to leverage them in a collaborative and added value manner, they will remain a hodgepodge of technologies much like the automotive industry prior to the introduction of the assembly line.

A business centric organizing principle that aligns businesses to allow them to leverage and flexibly combine existing technologies and services will jetism business development into the 21th century. A business framework that will enable businesses to easily collaborate together, with their producers and consumers in a value add fashion, to enabling new business opportunities and strengthening existing ones. This business centric organizing principle is what is needed in today business landscape and will provide the kind of acceleration and enablement that Ford introduced with the assembly line.

Ford’s legacy lives with us today in every assemble line, in every business process and has being the very foundation and building blocks for business for the last 100 years. Today in a rapidly evolving business paradigm not only do we need a new business framework to organize and align business, we also need to think beyond the static and linear business processes and think more in terms of business activities that are achieved by mixing and matching business capabilities in a self optimizing network ecosystem.

A self optimizing ecosystem were business capabilities can be mixed and matched to dynamically realize business activities will allow businesses to become much agile in terms their reactions to new market opportunities and allow for the rapid evolution and realization of new business models.

All of these ideas can be applied to water and can enable a more advanced concept of cooperation, such as cooperation between businesses with the desired result of a solving a water problem. We need to provide an organizing framework that encourages private sector to build business application on top of the instrumented water systems. It helps to think of a business application such as a water meter reading application that exists in a business app store and the organizing principle as organizational categories within the app store. These applications need to be cloud enabled so that we can access them from anywhere. Finally we need to figure a way to allow these business applications to collaborate and cooperate together to achieve some common goal.

We are really just beginning to figure out the smarts and the math behind cloud enabled application cooperation, but a good place to start is with game theory. Game theory is the brain child of a mathematician called John von Neumann and was born in the shadow of the US/USSR nuclear arms race when the super powers were thinking to outthink each other in the face of mutually assured destruction. But game theory can also be applied to the problem of cooperation and collaboration between water related business application produced by different parties to come to achieve a mutually beneficial outcome. We will return to these ideas in future posts.



Wednesday, April 3, 2013

Reflections on World Water Day 2013

World Water Day has been observed since 1993 when the United Nations General Assembly declared 22th of March as World Day for Water. The theme this year 2013 was the International Year of Water Cooperation and to mark this I had the privilege of hosting a Smarter Friday chat on the People of a Smarter Planet Facebook page.

For this chat I got to work with the very impressive IBM media team. I was traveling back home from Paris, France, where I had been meeting a a number of water clients, and ran the chat from Charles de Gaulle Airport while being supported by the IBM media team, first in India and later from US. They had a number of announcements and articles about water that were posted at periodic intervals on Facebook and I had the task of commenting and replying to those posts.


I was most proud that one of my sons made the cover of the Smarter Planet Facebook page for the World Water Day chat. This picture was taken by a very talented friend of mine and it is one of my  favorites.

The first articles to be posted was one I wrote especially for World Water Day: Why the World Thirts for Smarter Water. Here is how it was introduced by the IBM team 

Worldwide, up to 60% of water is lost due to leaky pipes. I believe a combination of Instrumentation, Big Data Analytics & Cooperation can help us manage water better. 

Another article that was published builds on the theme for cooperation and talks about how IBM launches WaterWatchers, a mobile app, in South Afica. This really is a great example of how we can cooperate together and directly involves the citizen in water conservation. Basically when a citizen finds a leaky pipe or a broken manhole in the street they can take a picture of it and text or email that picture to the water authorities (see a picture of a leaky tap i found in Rome below). Since the picture has location information the water authorities know where the issue is and what it looks like. They can then prioritize these issues and send their water crews out to fix them on a priority basis. Suddenly the water authority has eyes everywhere, helping them keep their water network healthy and leak free.

Watering hole by Jelly Dude
My own personal connection to the WaterWatchers was that I was present in an IBM meeting room in Johannesburg, South Africa, when a very talented IBM marketing woman, Nicola Lupini, pitched this idea. Somehow she moved heaven and earth to get IBM Water Watchers funded, advertised  nationwide across South Africa, and up and running for World Water Day. My hat is off!. This is such a great idea which involves citizen cooperation, enabled by everyday technology, as well as giving them real ownership of water conservation and I hope to see it replicated in many places across the world by the next World Water Day in 2014.

After about 6 hours the chat wound down, it was time to board my plane back home to a cold and snowy Boston. It felt good to be a part of a world wide collaboration, it showed me how technology such a Facebook and our GPS, camera ready, mobile phones can enable cooperation by making us a Smarter Planet and can help us address some of the real issues we face with water worldwide. What he need is more good ideas about how to use these technologies effectively, what we need are more people like Nicola who can make these ideas into reality. I will leave you with the same sobering facts that I closed the chat with.
  • Millions of the world's poorest subsist on fewer than five gallons per day 
  • 46% of the people on Earth do not have water piped to their homes 
  • In 15 years 1.8 billon people will live in regions of severe water scarcity

Thursday, March 21, 2013

Chat with me on Facebook for World Water Day March 22th


Water is one of our most essential resources. Of all the water on Earth, only 1 percent is useable by ecosystems and humans. As the world's population increases to an estimated 8 billion in 2025, the demand for water will rise too. It's time we get smarter about water. 

Join me Eoin Lane the IBM Smarter Water Architect tomorrow in the Smarter Friday chat on World Water Day, March 22, as we discusses how technology can help us with use our water wisely.