You are on page 1of 9


Outline of an architecture to joint embedded systems with cloud computing Discussion on business viewpoint

Vertical integration of embedded systems and cloud computing


Why embedded systems cloud computing Review of cloud computing Internet of things A touch on implementation Cloud strategy

March 16, 2012

Characteristics of embedded product development

Google Health was a personal health information (PHR) centralization service: similar to Microsoft HealthVault

Introduced in 2008, discontinued in 2011.

How to adopt business model of iPad, Kindle Fire

March 16, 2012

March 16, 2012

Free to use for consumers with possibly advertising.

"Method and apparatus for serving advertisements in an electronic medical record system"

A highly integrated, wearable wireless development system that comes in a sports watch.

Fitness functions with BlueRobin heart rate monitor

heart rate / running speed / distance traveled / calories

Population ageing is a shift in the distribution of a country's population towards older ages. Patient-centered medical homes, new care delivery

March 16, 2012

March 16, 2012

Questions to be answered at the starting stage

Motivation of buying a product

how to sell product to individuals how to sell product pack to businesses impact of products to daily life privacy, social networking, cost to use, ...

How to make personal and group customers happy

Let see a solution by Nike and iPod

March 16, 2012

March 16, 2012

Market fitness center

tracking presence and activities within center monitored/analyzed by fitness assistants customer data is the business resource but how about server and IT staffs ? tracking self-paced activities viewed as health indicator collected data is private, but may be shared into social networks but how to develop software to run on their PCs ?

[NIST] Model for enabling convenient, on-demand network access to a shared pool of configurable computing resources that can be rapidly provisioned and released with minimal effort/interaction

On-demand self-service. Broad network access. Resource pooling. Rapid elasticity. Measured service.

Market gadget for runners, sport persons, ...

March 16, 2012


March 16, 2012


Public PaaS cloud - Google App Engine

Develop web services with Java/Python Pricing instance hours, bandwidth, storage

Public IaaS cloud - Amazon EC2

Select VM image, deploy middleware and apps Pricing machine type, usage hours, bandwidth, storage TSAM request, deploy, monitor, manage clouds Workload deployer = OS+server+WebSphere images

Private IaaS/PaaS cloud solutions - IBM

March 16, 2012


March 16, 2012


[IBM] three steps are consolidate, virtualize, automate

Cloud computing offers a solution for IT system and/or

Business viewpoint

decision on business roadmap marketing strategy plan on essential & value-added features time-to-market/budget launch of demo/beta/official services

Developer viewpoint: top-down approach

no investment on IT department accessible to history of service usages

selection on IaaS (flexibility on system/software components) or PaaS (ready-to-develop) design and implementation of web APIs implementation of APIs for gateways and devices

Customers = service users (2nd-party)

Management team = outsourcing unit (3rd-party)

March 16, 2012


March 16, 2012


On-demand self-service.

Some part of user stories

business owner, fitness assistants, end users can customize features access to records anywhere, anytime, any device

Owner can view usage trends of each center Health status of current users can be monitored Fitness assistants can view fitness/usage trends of their clients Fitness assistant can monitor status of clients

Broad network access.

Resource pooling.

fitness centers/end users access to same service small instance first, increasing w.r.t customers usage can be checked and charged

Rapid elasticity.

Measured service.

March 16, 2012


March 16, 2012


Internet of things = uniquely identifiable objects and their virtual representations in an Internet-like structure

PC (desktop, notebook) speed, full UI, LAN Tablet, smartphone portability, touch UI, networks Embedded systems heterogeneous, autonomous

Multitier connectivity requires different skill sets for each tier MCU / PC / embLinux / smartphone / server

March 16, 2012


March 16, 2012


Communication in Internet of things is about data flow through each tier protocol conversion

Network of small-scale embedded devices tend to rely on P2P or star topology

Lowest-level is between device and PC/smartphone/ gateway proprietary/binary protocol

Low-power RF technology

low data rate, periodic, real-time communication mainly C programming for I/O access

ISM band, less than 1 mW, short distance, small payload, low latency, low data rate

PC/smartphone/gateway to cloud service textbased protocol

Two proprietary protocols: ad hoc style

BSP_Init(); // initialize RF access point SimpliciTi = watch the BSP (HW/radio) SMPL_Init(0); BlueRobin = watch heart rate sensor SMPL_LinkListen(&linkID1); // Handle Linking while (1) { while((SMPL_SUCCESS == SMPL_Receive(linkID1, msg, &len)) { // do something such as store and forward } }

large data payload, asynchronous communication mainly web programming via HTTP/URL/XML/REST

PC/smartphone to user UI programming

March 16, 2012


March 16, 2012


Multitasking OS with device drivers, full network stack, large base of middleware, community-support development toolchain

Old style is to use socket programming based on TCP/IP connection

cluster topology DHCP is the choice

Choice of C or script programming Increasing performance due to phone/tablet market

HTTP+URL offer better compatibility with web sites


Web services are standardized by best practices

Either REST (public) or SOAP (enterprise) Use XML or JSON as data container Use Ajax + JavaScript framework for dynamic web-based UI No my own format, please

import serial conn = serial.Serial("/dev/ttyACM0",115200,timeout=1) conn.write("\xFF\x07\x03") conn.write("\xFF\x08\x07\x00\x00\x00\x00")

No static IP, please

March 16, 2012


March 16, 2012


Web service is software system designed to support interoperable M2M interaction over a network

PaaS solution that enables businesses to build and host web apps on Google infrastructure

REST architecture relies on HTTP verb messages, resource URI, and XML/JSON

Access to features (account, BigTable, CDN) used by Google services Schema-less object database with pre-indexing
class health_record(db.Model): customer = db.UserProperty() timestamp = db.DateTimeProperty(auto_now_add=True) class MainPage(webapp2.RequestHandler): @login_required def get(self): self.response.out.write('<html>...</html>') def post(self): payload = self.request.get('data') # extract payload, store records, generate XML self.response.out.write(xml_resp)

GET = query for data POST = add new data PUT = update existing record DELETE = remove record

March 16, 2012


March 16, 2012


Even free quota (storage, bandwidth) is enough for serving thousand of end users

Addition services will make business owners/end users more happy



Web services

March 16, 2012


March 16, 2012


Why embedded systems should be integrated with cloud computing

enabling technology for Internet of Things to compensate limitations of existing PC-based end-user interaction

How to integrate heterogeneous devices into cloud environment

multitier network architecture web APIs protocol conversion business opportunities developer skills

And what should be development concerns

March 16, 2012


March 16, 2012


IT integration with any business is about workflows

Concerns about cloud computing



authenticate authorize



security: customer privacy, regulation vendor login: control of data, app portability Authorization Authentication Accounting Confidentiality Integrity Availability
security policy of cloud providers Cloud Security Alliance's guideline


Design consideration: multitenancy


logging request data logging authenticate processing

repository response

OAuth 2.0 protocol Login with Facebook Access rights

repository remove

Fundamentals of information security

teardown() request

authenticate selection

March 16, 2012


March 16, 2012


Better when integrated with existing cloud platforms

social network: Facebook, Twitter, Others: Google Maps, Flickr, Dropbox, ... temporary expansion (1d,1w,1m) for fitness global events

Making use of elasticity

Cloud + embedded is just a solution, other solutions exist with their own advantages
network of smart fitness machines + local server fitness machines with iPhone/Android attachable

New business opportunities: think global

How to get over these solutions ?

March 16, 2012


March 16, 2012


Asst.Prof.Supachai Vorapojpisut
Dept. of Electrical and Computer Engineering Thammasat University

Key research areas:

embedded software development, mobile cloud computing, wireless sensor networks

embedded software, RTOS, mobile apps

SIA 2011 (silver) Android in Logistics


March 16, 2012