Embedded systems are on a trajectory that will see billions of embedded devices in active use in diverse applications- many of which include communications links between individual embedded devices. This shift in communications will offer unexpected opportunities and unanticipated risks. To benefit from the general increase in embedded systems capabilities in a future interconnected-world, requires “broadcast” mode communications to become a norm as opposed to peer-to-peer communications. As these embedded appliances proliferate, they will be applied in new ways to automotive, avionics/aerospace, industrial automation (and robotics); telecommunications; consumer electronics and intelligent homes; health and medical systems.
“Cloud computing” has been the domain of “big iron” for Information Technology (IT) datacenters. Saugatuck Technology in their report “Key SaaS, PaaS and IaaS Trends Through 2015 – Business Transformation via the Cloud” predicts overwhelming movement of data processing tasks to Cloud Computing over the next four years. Many of the motivations behind enterprise cloud computing will translate to larger-deployment of networked embedded systems. Three of the main drivers behind developing cloud computing have been a desire to contain costs, improve scalability, and increase systems reliability. Technology developed for datacenters provides embedded systems designers with a wealth of experiences on which to draw new concepts in embedded systems. But ironically enough, the modern concept of cloud computing has its roots in telecommunications.
The name Cloud Computing comes from the form of telecommunications design. Telecommunications systems were depicted with a cloud shape at the telephone demarcation box. The cloud symbol denoted the demarcation point between provider services and the user. Cloud computing as presently understood encompasses the technology enabling the communications between computers, services provided by servers, and the network infrastructure. Embedded cloud computing will see a shift in the services provided by the cloud and how they are provided.
CloudStack is an enterprise class “Infrastructure as a Service” (IaaS) development, that although aimed at serving the general purpose computing model, can provide embedded developers with a hands-on view of IaaS services in a broad context. With some appropriate architecting of applications, CloudStack can provide one piece of a complex embedded system. CloudStack is an open source infrastructure as a service solution that makes it easier to setup, configure and manage both public and private cloud services.
The OpenStack Open Source project includes cloud computing and cloud storage as services. Object Storage creates redundant, scalable object storage using clusters of commodity servers to store large scale data - counted in terabytes or even petabytes of accessible data. It is not a file system or real-time data storage system, but rather a long term storage system for a more permanent type of static data that can be retrieved and then updated if necessary. This type of data storage model is typically used in IT applications to save virtual machine images, photo storage, and the like. But some embedded applications like medical equipment, industrial control systems, and systems that rely on networked communications are likely topics for embedded cloud computing.
Both CloudStack and OpenStack are aimed primarily at large scale, multi-server datacenters, but the technology can also be adapted for use in embedded systems. Embedded-specific software products are emerging from companies, signaling a change in how embedded computers may be used. Embedded cloud systems will operate within a networked environment that may be autonomous from general purpose computer control, or use “cloud computing” as a data resource and storage. The first steps in this direction have already taken place. Kanda.Com offers an Embedded Cloud Computing starter kit based on software from SSV Embedded Cloud Computing. The starter kit CD-ROM includes a full GNU cross-development tool chain for C/C++ software development and an Eclipse-based tool kit for Java-based development. The C/C++ tool chain runs on an x86 Linux-based host (SuSE, Red Hat or other) and builds binary files for 32-bit x86 CPUs with Linux 2.6. The Java tools supports Microsoft® Corporation(1) Windows and Linux-based hosts.
SSV Embedded Cloud Computing expands the meaning of Cloud Computing into the embedded space. Access to additional functions using the Internet protocols is made by using an Application Programming Interface (API) directly from the embedded software without requiring a browser. The initial services provided by SSV include cloud services for data logging, firmware update, VPN-based remote access and remote configuration. Long term monitoring and storage of industrial control process data can be realized by using a cloud-based data logging service. In this approach, the measurement data is forwarded to the cloud service’s storage media by calling an API. Such systems may permit usage of several Gigabyte of storage for persistent data. Depending on the application architecture, the logged data sets may be shared between multiple applications, possibly running on different embedded platforms.
Nokia and 22 European partners have created another Embedded Operating Systems (OS) aimed at serving embedded cloud computing under the sponsorship of the European Commission. Previously available as a free internet download, the SYMBEOS OS software is now available under a licensing model, the terms of which are not yet available. The SYMBIAN platform is aimed at European-centric embedded and mobile software development. It’s understandable that initial product developments are aimed at mobile telephones, but there’s an important change in delivery mechanisms for content. For the most part, content has been controlled by the cellular telephone provisioner. With the adoption of a cloud computing technology, content can be provided by other companies – opening the market for third party content providers.
Embedded cloud computing is in the early stages of development, but for some of the same reasons that cloud computing is projected to become a dominant piece of general purpose computing, the embedded adoption of cloud computing concepts are likely to become dominant in some aspects of embedded systems. Generally, embedded cloud computing will require an Intel Architecture processor such as the Intel® Atom™ or Intel® Core™ processor familieswith networking software for Cloud Computing. CloudStack and OpenStack, or an embedded software package like SSV Embedded Cloud Computing provides the essentials to use this new technology. Virtual Machine technology is a critical part of the cloud computing technology model. Early adoption of cloud computing for embedded systems may require bridging between embedded OSes and Windows environments using software such as TenAsys’(2) Intime for Windows. Another TenAsys product, eVM for Windows embedded virtualization platform, provides a virtual machine environment that hosts an embedded or real-time operating system alongside Windows on the same multi-core processor platform. eVM partitions the platform to ensure that critical hardware interfaces aren’t virtualized, guaranteeing maximum performance and deterministic response to real-time events.
Green Hills Software (3) and Wind River Systems (4) both provide a comprehensive and integrated development environment for C/C++ that can be used to host the SSV Embedded Cloud Computing software package. The Open Source movement will be important for the migration of cloud computing from the data center to the embedded space, and commercial development tools will be a key part of the adoption of cloud computing into embedded applications.
Can your applications use cloud computing concepts to an advantage?
For more on extending the Internet to embedded devices, see intel.com/go/embedded-connectivity
1. Microsoft® Corporation is an Associate member of the Intel Embedded Alliance
2. TenAsys Microsoft® Corporation is an Affiliate member of the Intel Embedded Alliance
3. Green Hills Software, Inc is an Affiliate member of the Intel Embedded Alliance
5. 4. Wind River Systems is an Associate member of the Intel Embedded Alliance
Roving Reporter (Intel Contractor)
Intel® Embedded Alliance