You are on page 1of 9

Goals:

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

Vertical integration of embedded systems and cloud computing

Contents:

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

March 16, 2012

vsupacha@engr.tu.ac.th

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

vsupacha@engr.tu.ac.th

March 16, 2012

vsupacha@engr.tu.ac.th

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

vsupacha@engr.tu.ac.th

March 16, 2012

vsupacha@engr.tu.ac.th

http://mastersinhealthcare.org/2010/25-creativehealthcare-gadgets-that-are-changing-the-world/

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

vsupacha@engr.tu.ac.th

March 16, 2012

vsupacha@engr.tu.ac.th

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
http://csrc.nist.gov/publications/nistpubs/800-145/SP800-145.pdf

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

Market gadget for runners, sport persons, ...


March 16, 2012

vsupacha@engr.tu.ac.th

10

March 16, 2012

vsupacha@engr.tu.ac.th

11

http://www.ibm.com/cloud-computing/us/en/

Public PaaS cloud - Google App Engine


http://code.google.com/appengine/

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

Public IaaS cloud - Amazon EC2


http://aws.amazon.com/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

vsupacha@engr.tu.ac.th

13

March 16, 2012

vsupacha@engr.tu.ac.th

16

[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

vsupacha@engr.tu.ac.th

17

March 16, 2012

vsupacha@engr.tu.ac.th

19

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

vsupacha@engr.tu.ac.th

20

March 16, 2012

vsupacha@engr.tu.ac.th

21

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

vsupacha@engr.tu.ac.th

22

March 16, 2012

vsupacha@engr.tu.ac.th

23

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

vsupacha@engr.tu.ac.th

24

March 16, 2012

vsupacha@engr.tu.ac.th

26

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


scheme://host/path?query_strings

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

vsupacha@engr.tu.ac.th

27

March 16, 2012

vsupacha@engr.tu.ac.th

28

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

vsupacha@engr.tu.ac.th

29

March 16, 2012

vsupacha@engr.tu.ac.th

30

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

Addition services will make business owners/end users more happy

Storage

Bandwidth

Web services

March 16, 2012

vsupacha@engr.tu.ac.th

31

March 16, 2012

vsupacha@engr.tu.ac.th

32

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

vsupacha@engr.tu.ac.th

33

March 16, 2012

vsupacha@engr.tu.ac.th

34

IT integration with any business is about workflows

Concerns about cloud computing


setup()

request

authenticate authorize

deploy

deliver

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

profile

Design consideration: multitenancy


loop()

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

vsupacha@engr.tu.ac.th

35

March 16, 2012

vsupacha@engr.tu.ac.th

36

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

vsupacha@engr.tu.ac.th

37

March 16, 2012

vsupacha@engr.tu.ac.th

38

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

Key research areas:


embedded software development, mobile cloud computing, wireless sensor networks

Courses:
embedded software, RTOS, mobile apps

Awards:
SIA 2011 (silver) Android in Logistics

Contact:
vsupacha@engr.tu.ac.th

March 16, 2012

vsupacha@engr.tu.ac.th

39