An Introduction to FlowCloud
by Imagination Technologies
Everything connected - a world of challenges
We're at the beginning of a new technological revolution: an era where thousands of hitherto disparate and unrelated devices will become connected and able to share information via cloud-based services.
Imagine a world where your tablet is automatically populated with the latest movies, simply because you placed a diary entry on your smartphone indicating you were taking a long-haul flight. Or where your home routinely switches into an energy-saving mode after the last person departs the house, and predicts when someone is likely to return based upon GPS data from their smartphone. Or a message indicating all is well with a dependent relative, triggered automatically by them following their normal morning routine of taking their medication, turning on the TV and boiling the kettle.
This type of interaction will ultimately be made possible through hundreds and thousands of connected sensors, actuators and monitoring devices attached to physical objects, embedded within the fabric of buildings, or dispersed within the environment. Each of these devices generates relatively small amounts of data, which are then relayed through IP gateways to servers housed in large data centres.
Powerful algorithms and data analytics engines are then employed to make sense of all this data and draw conclusions on what is happening in the real world, allowing intelligent decisions to be made autonomously by the technology. It's a phenomenon called 'Big Data' and it's already becoming a reality.
So how do you take a world of dissimilar devices and contrasting services, each of which act independently without coordination, and draw them together to make coherent systems that are truly smart? The technical challenge is significant. Even the simplest solutions require a careful blend of apps and services, a comprehensive set of software APIs, substantial internet bandwidth, racks of servers capable of both collating and storing the information, and potent data analytics tools. It's difficult, time-consuming and expensive, especially if you have a business built around niche or highly specialised market segments. Likewise, building connected products can appear quite daunting, especially if your product or service has never required connection to a large IoT or M2M ecosystem before.
To compete effectively in this new technological revolution, in the race to build truly smart products, you need a comprehensive end-to-end solution; Imagination Technologies introduces FlowCloud.
What is FlowCloud?
Put simply, FlowCloud brings together people, devices and services by providing a springboard for building connected products with value- added business opportunity.
FlowCloud technology provides a comprehensive, secure and application-independent platform to enable rapid construction, management and deployment of digital services. It is designed to address the requirements of the emerging Internet of Things (IoT) and Machine-to-Machine (M2M) cloud-connected devices, and is equally adept at handling everything from small real-time monitoring applications right through to full scale internet-based subscription services with thousands of users.
At the heart of FlowCloud is a set of core services and supporting infrastructure that form a set of building blocks specifically designed to accelerate the deployment of cloud-based applications. Our state-of-the-art data centres host the FlowCloud platform and supported services, using cluster server technology and built-in redundancy to deliver high reliability and guarantee system uptime; furthermore, a failover data centre with read-only access safeguards against unplanned downtime.
Major features of FlowCloud include device and user management, asynchronous messaging services, event logging, data storage facilities, secure transactions and electronic payments. From the analytics standpoint, a full suite of administration and reporting tools provide dynamic views into the data stored server-side, enabling monitoring and management of all user interactions plus the status of all devices registered to your cloud-based services. The tools allow both aggregation and deep analysis of this data, enabling the creation of advanced intelligent services. Several unique perspectives can be created within the database to provide targeted reports across devices, services and users.
FlowCloud removes one of the major barriers to developing connected services by making available the capital investment necessary to both create and maintain the IT infrastructure vital to support your online services, ensuring these services are available 24 hours a day, seven days a week. FlowCloud is equally suitable for the hobbyist programmer through to large corporate clients; our continued investment in the technology coupled with our open approach means we can support everyone.
The potential of FlowCloud is exemplified by several real-world examples, from home connectivity to fully-fledged music subscription services.
Case 1: Simple home control applications
One of the simplest applications of FlowCloud is found within the connected home; essentially this is focused on adding connectivity, monitoring and control to passive devices, previously unable to be operated automatically or remotely.
PowerBox is an example application that tracks and controls the electricity consumed by an appliance, enabling running costs to be monitored by the consumer, helping them to reduce their energy bills. The application also delivers remote control and scheduling of individual power sockets; for example, alarms can be established to warn a consumer when power exceeds a defined limit and scheduling can be used to turn on an appliance when electricity costs are lower. The consumer interacts with PowerBox through a FlowCloud enabled mobile/tablet app.
In this instance, FlowCloud provides all the essential back-end services including authentication and registration of one or more PowerBox units, collation of data from each socket, storage and management of scheduling information, and all the asynchronous messaging necessary to support remote control of appliances directly from the app. The application itself is written in HTML5 and therefore runs entirely within the web browser on the device; indeed this is a prime example of how the FlowCloud web API integrates directly and securely with the data centre and head-end services.
PowerBox is an example of how a relatively trivial application can use FlowCloud APIs to build intelligence and security into the system. The technology could be built directly into plug sockets or integrated into residential gateways.
It's easy to see how several of these services may be combined to provide the basis of a connected smart home. To increase security still further, FlowCloud can take advantage of hardware virtualization available on MIPS CPU cores. For example, several services may be running on a residential gateway that manages your home TV subscription alongside your broadband connectivity, plus home security and e-health services.
In this instance hardware virtualization can be an advantage, as multiple FlowCloud services can run independently alongside each other; it's easier to maintain smaller systems rather than large monolithic blocks, the development costs are significantly reduced, and the customer is then able to choose which services and vendor products run on the gateway. We will see more examples as devices and cloud-based services become more complex, all of which will influence the design of products in the connected smart home.
Case 2: Secure systems: Electronic Healthcare
Electronic healthcare is gaining in popularity, not just within the home environment where remote monitoring can reduce the necessity for a patient to regularly visit their doctor, but also for patient care within hospitals and emergency rooms. For these types of application, high integrity, security and privacy of data are primary considerations. FlowCloud makes it easy.
In the example of the SensiumVitals system from Sensium Healthcare, the device itself takes the form of a medical patch worn by the patient which provides live monitoring of vital signs including respiration, heartbeat and body temperature. Each patch has a unique identifier which is used to enable security of the service by creating keys for encryption of data; the identifier is also assigned to the patient healthcare records, in effect creating a secure and trusted relationship between the physical world and digital domains - in this case between the patient and the data being generated by the patch.
FlowCloud enables multiple streams of data from the patch, itself having multiple sensors, to be directly and securely associated with each patient. It delivers live monitoring of all the vital signs through a PC, tablet or web-based application; this can be achieved within the hospital environment or remotely over the internet via encrypted connections. Thresholds can be established on each of the data streams independently by healthcare professionals, with events or alarms triggered if values exceed acceptable limits.
The status of the patch itself may also be tracked via FlowCloud, from initial use through to disposal: for example, confirming that there is sufficient battery life remaining or verifying that the patch is being worn by the patient and is within wireless range.
Aggregation of the data sets within FlowCloud enables the results to be collated from a potentially limitless number of patches, any or all of which can be presented to healthcare professionals via connected mobile apps or otherwise submitted to data analytics engines to derive and evaluate trends across a population of patients. All data sets are securely stored and managed at Imagination's purpose-built FlowCloud data centre.
Case 3: Full subscriptions, billing and micropayment: Cloud Music Service
The potential of Imagination's FlowCloud goes far beyond simple IoT and M2M applications. Indeed the APIs and head-end servers are more than capable of hosting full subscription services, with customer registration, secure billing and payment systems built-in as standard features of the solution.
One real-world example is Pure Connect, a comprehensive music discovery, subscription, streaming and purchasing service that is constructed entirely using FlowCloud.
FlowCloud supplies the software framework and back-end services necessary to build applications to control multiroom audio. Applications exist for both Android and iOS devices using the rich APIs to access cloud-based music services and also to control wireless speakers and connected (internet) radios that form a complete multiroom audio solution.
Pure Connect provides a full internet radio service, called FlowRadio, with instant access to over 20,000 stations worldwide, in addition to 'listen again' services and around 270,000 podcast episodes online. Alongside this, FlowMusic technology provides subscribers with a streaming music service and offers the ability to play or purchase over 22 million music tracks directly from any FlowCloudmanaged audio device. The content is identified using audio fi ngerprinting technology and a single button press is used to confi rm the purchase. Tracks are made available online for download through the Pure Connect content portal; they may then be played on any compatible audio device.
The entire package, including the APIs to interact with devices and the back-end management tools, is managed by FlowCloud. This provides a comprehensive suite of connected audio services with full support for account management, portal hosting and processing of online payments. In this example application, FlowCloud represents a perfect solution to delivering streaming music services to Caskeid-certifi ed connected audio products such as PEAQ's Munet Smart or Pure's Jongo range of wireless speaker systems.
How do I get started with FlowCloud?
It's clear from the case studies that FlowCloud is a highly capable solution. So how do you get started?
The hardware platform
Firstly you'll need some hardware. Imagination's silicon partners have created several low-cost reference platforms with full support for FlowCloud. For example, the chipKIT Wi-Fire development platform from Digilent is an ideal starting point; it uses a PIC32 microcontroller (MCU) with a MIPS microAptiv CPU and boasts on-board Wi-Fi.
All the software you need
On the software side, Imagination makes FlowCloud accessible to developers through SDKs supporting Android, iOS and web-based platforms. The comprehensive documentation includes a quick start guide, a complete set of APIs, plus example code in C, Java and Python. Whichever language you prefer, there are several worked examples that help you quickly build and test your own applications. There's even a dedicated developer portal and community forum.
Each developer account allows up to five devices to be connected for free, with storage allocated on servers in Imagination's state-of-the-art data centre, enabling anyone to develop applications that harness the potential of FlowCloud.
There's an app for that...
For those that want to get started immediately, there's the option of using our FlowCloud app that helps gets the development platforms up- and-running in no time. The intuitive user interface makes embedded application development easier than ever before, taking you through configuration of the hardware through to writing your fi rst FlowCloud application; the app is available for Android and iOS devices.
FlowCloud technology has been engineered by Imagination to optimize device to cloud connectivity for embedded applications. It provides a comprehensive, application-independent platform that enables rapid construction and management of machine-to-machine and man-to-machine connected services. It is designed to address the needs of emerging IoT and cloud-connected devices but is equally adept at handling complex services relying upon subscription, billing and payment mechanisms.
The core set of FlowCloud services include registration, authentication, association, security, notifi cations, updates and remote control; optional plug-ins modules are available to accelerate development including FlowTalk (VoIP), FlowFunds (electronic payments), FlowMusic (audio subscription services) and many others.
Finally, FlowCloud removes one of the primary barriers to developing cloud-based services by making robust IT infrastructure available for anyone to build valuable, connected applications, providing everything a developer requires to intercept the new world of Big Data and create an era of truly smart solutions.
Want to know more? You'll fi nd further information on FlowCloud via the dedicated developer portal at flow.imgtec.com/ developer and for information on Imagination's complementary IP, please go to our website at www.imgtec.com.