Devices and the Cloud
Storing Device Data in the Cloud
IT operations have been increasingly benefiting from the economy and flexibility of cloud computing. Now the rapidly multiplying number of embedded devices in all manner of applications can take advantage of making their data available in the cloud as well.
BY KURT HOCHANADEL, EUROTECH
Page 1 of 1
In the past few years, the business world has adopted a new buzzword—cloud computing. Although many industries are embracing cloud computing, the embedded device market has yet to find a standard, cost-effective way to connect distributed devices to the cloud. It can take weeks, months and even years to plan, procure and deploy IT infrastructure to connect embedded devices to the network and capture valuable data.
According to International Data Corporation, worldwide revenue from public IT cloud services exceeded $16 billion in 2009 and is forecast to reach $55.5 billion in 2014. This rapid growth rate is five times the projected rate for traditional IT products (Figure 1).
According to International Data Corporation, cloud offerings will gain significantly on traditional IT products by 2014.
Embedded devices have gone from being isolated tools to being a part of everyday life as they connect data over various ubiquitous networks. Networked devices are becoming commonplace among consumers and in industries ranging from healthcare to transportation, giving way to the arrival of the embedded cloud. The embedded cloud enables embedded developers to deploy services on robust, reliable and flexible communication infrastructure into the business enterprise.
The Device Cloud
Traditionally, data from embedded devices is either downloaded manually or through some proprietary means within a dedicated infrastructure. The data is downloaded at specified intervals, such as each night, or once per month as in utility bills. Many times the data is never used, or perhaps a user will refer to the data after a problem has occurred.
Machine-to-machine communication solutions can be divided into four fundamental building blocks as shown in Figure 2. First, organizations must select and integrate sensors and edge device hardware while considering factors such as computing platform, interface, power supply and housing options.
In the past it could take years to connect embedded devices to the network and capture data.
Next, developing the device firmware includes the operating system, drivers, networking, application and a user interface. Finally, the integrator must figure out how to connect the system to the business application via a dedicated communication infrastructure, which includes a connectivity broker, infrastructure, application, database and user interface.
Device-to-cloud solutions, on the other hand, can simplify the process and greatly reduce the time-to-market. By connecting devices to business logic through the cloud, users can deliver valuable data between distributed devices and vital business applications using standard practices and commonly used methodologies. In many cases, using a cloud service saves time, money and increases efficiency by effectively acting on data in real time utilizing sound business logic. However, developers must have the correct building blocks in place in order to get to market with a cloud solution and leverage the benefits offered.
The Device Cloud is a term coined by Eurotech (Figure 3) to describe how organizations can bring data from device to business application with an integrated solution to turn bits of data into valuable and actionable information. Compared to the conventional approach shown in Figure 2, the Device Cloud in Figure 3 takes care of the entire communication infrastructure piece of the puzzle instantly. The Device Cloud stores the device data in the cloud, providing organizations access to that data in real time through standard methodologies while also archiving the data in a secure redundant manner for easy use with analytic applications.
In the past it could take years to connect embedded devices to the network and capture data.
Today, ready-made solutions like Eurotechâ€™s Everyware Device Cloud greatly reduce deployment time for IT departments.
The Device Cloud is also scalable, secure and many times more cost-effective than traditional infrastructure. As cloud computing becomes more mainstream, organizations are evaluating whether a cloud solution can be an efficient alternative to traditional computing networks.
The Benefits of Storing Data in the Cloud
Consumers and businesses alike have realized the benefits of storing data in the cloud. Most individuals are using the cloud in some capacity—e-mail, social networking, photo sharing sites, online banking, and thousands of other everyday uses. Storing device data, however, is more complicated than these consumer services but can reap even more value.
When device data is stored in the cloud, users can access that data anytime and anywhere through secure online portals. Device data becomes available not only to one specific location or one manager, but to corporate hubs or any executive looking at data from an overall business perspective.
Users can increase efficiency with the cloud by allowing employees more flexibility in accessing important data, software programs and management functions. For instance, a manager who uses a cloud-based device solution can work on tasks regardless of location, rather than needing to be at the office.
Storing device data from a retail warehouse in the cloud, for example, makes shipping and receiving data available to corporate headquarters in real time—allowing for an immediate asset management system. Suppose a hot new toy was shipping in time for the holiday season. In the past, retailers might receive daily tallies of inventory. With cloud computing, they could use RFID scanners to see an accurate picture of inventory at any given moment and redirect inventory, manage production and operations on timely data.
The cloud provides operational efficiencies that did not exist in the embedded device world before. For instance, in the healthcare industry, if a patient had a catastrophic event and was using a home health device connected to the cloud, their doctor could receive an alert in real time, and life saving systems could be deployed.
Building Blocks for a Device-to-Cloud Solution
If an organization decides to collect and store data from distributed devices in the cloud, there are important considerations during the product development cycle that can make connecting to the cloud simpler. Of course hardware and operating system are important building blocks on the device, but in the interest of space we’ll discuss an ideal and efficient interconnect protocol and application framework for a device-to-cloud solution.
A variety of protocols connect embedded devices, such as HTTP or SOAP. Some of the drawbacks associated with these options include thousands of bytes sent as a header for the message, rigid formats and point-to-point communication. HTTP and SOAP provide access to a single embedded device, and some network topologies cannot handle the bandwidth required as it builds up with hundreds of embedded devices. Making efficient use of bandwidth is also a cost-saving measure since some networks charge by the byte of data and it makes little sense to send messages with several thousand bytes of overhead.
IBM and Eurotech’s Arlen Nipper developed the Message Queuing Telemetry Transport (MQTT) protocol 10 years ago. As described at www.mqtt.org, the MQTT protocol enables a publish-and-subscribe messaging model in an extremely lightweight way. It is useful for connections with remote locations where a small code footprint is required and/or network bandwidth is at a premium.
MQTT provides publish-and-subscribe messaging that enables devices to send and receive alerts and data when significant events occur (Figure 4).
The publish/subscribe communication model.
With a single publisher and many subscribers, engineers can send information from a single point to many other devices or listeners interested in receiving the information. One can liken this concept to the social networking tool Twitter. A single person posts information, and many subscribers view the information simultaneously.
Embedded devices can utilize the MQTT protocol to collect data from multiple devices while using limited bandwidth and providing the information to many subscribers. As a result, the system is relatively simple to set up and provides a useful network interconnect protocol for device-to-cloud solutions.
In addition to a lightweight and flexible interconnect, device-to-cloud solutions need a device application framework built so that connecting to the cloud and adding the business logic is the simplest part of the final product development.
In a device-to-cloud solution, the application framework should include all of the functions and utilities vital to making a product platform useful for the end application as well as for the long term management of the product as it matures and evolves. In most cases this application framework includes functionality such as:
• Device management (OS updates, application updates, configuration management)
• Application abstraction (running multiple applications or plug-ins in the same environment)
• Application log management (Dynamic log level, Log file rotates)
• Application messaging infrastructure
• Application event infrastructure
• Application module management (Start/Stop/Unload/Load)
• Runtime statistics and meta data
• Configuration management
• Version management
Fortunately, the open source community has provided an application framework that performs these functions and more. The specification to this framework has been provided by the OSGi Alliance. The original OSGi specification was completed about 10 years ago as the set-top box industry was struggling to find a common framework to run multiple applications on a single box while securely and reliably managing these applications within the embedded device environment.
The OSGi framework can run on any Java platform, and OSGi technology adopters benefit from improved time-to-market and reduced development costs because OSGi technology provides for the integration of pre-built and pre-tested component subsystems.
Choosing a Cloud Service
Developers can connect to the cloud over their own IT infrastructure, they can interface with public cloud computing companies, or they can work with a third party to deploy a hybrid solution of private and public cloud capabilities to connect a device. Developers should choose a type of cloud-based service depending on the end application and business logic that will be added to the solution, as well as their own business processes and in-house IT skill sets.
The ideal device cloud solution processes data coming from any device through a cloud computing solution that offers high availability, scalability and complete data security. By leveraging end-to-end solutions now becoming available in the embedded industry, customers can deploy their embedded devices and start receiving data immediately without the need to create provision and maintain a costly IT infrastructure.
A Device Cloud Use Case
The Device Cloud has been implemented in a distributed retail application for a company that has 50,000 machines at retail locations worldwide. In the past few years, it has become challenging and unreliable for the company to use phone lines to collect data from their machines at retail locations. The cost to maintain a phone line and modem connection at retail locations continues to escalate, and uptime and availability decreases while equipment failures continually require technicians to visit retail sites and download data manually—a very costly, slow and labor-intensive practice.
The original plan was to contract with multiple vendors to develop a new embedded system device to transmit and receive data with a wireless connection. The device development was projected to take just less than a year. Instead of building a new device, the client chose Eurotech’s Everyware Device Cloud, allowing them to access an integrated end-to-end platform consisting of hardware, software, cloud computing, data management and application integration.
By working with an outside vendor, the client was able to focus on their core competencies instead of spending the time to research and develop their own wireless communications system in-house. By accessing, storing and transmitting the data through the cloud, the client did not have to expand its already-full data center. Now, any executive or retail manager can access data with a simple web connection.
The client estimates they will receive a positive return on investment for the new data collection system in just one year based solely on the cost savings from eliminating the modems and phone lines.
One of the largest benefits of the new cloud system is that the client’s machines can output status errors in real time. As soon as the machine encounters an error, the client can diagnose the problem remotely and sometimes fix it without sending a technician. When a technician is necessary, they know what to expect and can bring the appropriate tools and replacement parts, making the most efficient use of resources.
The client says, “We will see significant operational cost savings with the new system since we’ve calculated that truck rolls can cost between $200 and $300 per hour, depending on where the machines are located. Being able to diagnose a problem with the machines remotely, or make only one trip with the right equipment, saves time and money.”