It’s four days post Hurricane Irene. Here in Foxboro, MA, we have trees down everywhere and the town is still without power. I have to admit, I assumed that the storm was a big non-event once it went west and weakened. WRONG! One of my neighbors had four trees fall down – all on his house. What are the odds of that? As bad as it was around here, it was nothing compared to what happened in Vermont – Massachusetts is counting itself lucky.
In my last blog, (Is the Smart Grid Dumb?) I talked about a consumer centric approach to smart grid that is built on the concept of a Connected Product. In the conclusion, I talked about how Connected Products could serve a world of applications, even ones such as smart grid. This blog digs further into that concept.
WARNING: This section may get a little technical – I’ll try to keep it English.
Computer scientists use a term call “Services” to describe capabilities that a particular application provides that can be utilized by others. In the past, this was called an Application Programming Interface, or API for short. Services have been around forever. When you run an application, like word, on an operating system like Microsoft Windows, the application is using the services provided by the operating system to do its job.
The word-wide web is comprised of many sites. Each site has an address, like Amazon.com and Weather.com. Many of these sites expose little pieces of functionality that can be leveraged by the developer of another web site. For example weather.com has a full set of services that can be used to find local weather. If you expand the concept across the entire world of web sites, there is a site that does almost anything you could possibly want to do that can save you tremendous amount of time and energy. Want to send a text message notification to someone? Twitter can do that. Want to send them a voice message? Try Twilio. These sites perform useful functions that can be accessed programmatically as well as via a traditional browser.
To facilitate easy utilization of these services, standards have evolved that govern the way that services are published and consumed. These services are called, appropriately enough, Web Services.
A modern web site will have an architectural stack that looks something like this:
You put a bunch of the sites together, all doing their thing, you have the Cloud.
Still with me?
Extending Cloud Architecture to Products
Now lets take the cloud architecture of modern web sites and extend it to everyday products. One way to do this would be to take the architecture of the cloud down to the product. The old website in the toaster guys though this way. It never took off!
The better way is to bring the products to the cloud and enable each and every one of them to start acting like a major web site. The picture below shows the general idea…
The general gist is that each product gains a virtual representation of itself in the cloud. That virtual representation can be interacted with via web services just like a major site. In effect, each product becomes like amazon.com – a fully functioning element in the cloud.
In the Cloud? Now What?
Once that product is in the cloud everything is possible. It is now a Connected Product. Connected Products are publishers of services. Want your product to participate in the smart grid? It publishes a series of services that manage it’s power consumption. Want it to play well with others in its operational environment? It publishes services to interact with its operational behavior. Once these services are published, standard web tools can be used to develop applications that interact with the product and extend it functionality. Those applications can be developed to run in the cloud – web site like, a smart phone like Apple’s iPhone or Google’s Android. You name it, it’s possible.
In effect, we have taken a humble product in the wild and brought it to a place where its power can be harnessed.
Not Finished Yet!
Next comes the tricky part – user logins and product security… How does a vending machine become MY VENDING MACHINE!
To avoid potential brain melting – that will have to wait for another day…