Challenge of cloud platform technology- changing communication style -	  Ikuo Nakagawa
Oct., 2011	  Vision
Our goal
is a cloud platform	  Basic architecture of cloud platform	  applications
3rd party modules & libraries

Cloud style application component

Dripcast,
open in communities

Mail, SMS
& ChatVoice& Video

Workflow

Document& Calc.

Add-onmodulesDevelopers Env. &Basic features(Eclipse or tools)

EXAGE by Intec, Inc.

Cloud platform API
Dripcast
easy development
framework for Java

File System& File Shareplanin a futureavailable
now or soon
Oct., 2011	  Data
ProcessingScheduler

EXAGE / Storage
scale-out, unlimited unified storage
high performance random write.

Add-onmodules

Loggerlogging& analysis

Auth / BillSessions

EXAGE / KVS
scale-out KVS (aka NOSQL)
with very easy Java Map i/f.

Operation
andManagement

EXAGE / Filter
real time / high performancestreaming processing filters

H/W
H/W

H/W
H/W

H/W
H/W

H/W
H/W

H/W
H/W

H/W
H/W

H/W
H/W

H/W
H/W

H/W
H/W

H/W
H/W

Confidential, Copyright © 2011, Ikuo Nakagawa & Intec, Inc., All rights reserved.	  

H/W, e.g.,a huge numberof computers3	  Technologies
Brief introduction of EXAGE	  EXAGE / Storage – Unlimited scale-out storage	  	  rationnd geneScale-out style storage based on original cloud platform technology by INTEC,
2with high performance random access I/O (suits for VM or RDB images, as well).
It's unified storage, that is, it supports NFS, CIFS and iSCSI.
Features or EXAGE/Storage
1. Unlimited scale-out storage
Just adding storage component (commodity server),to increase storage-space and access performance.
2. High performance random access
100MB/s for GbE, Suitable for VM images forvirtualization cloud, or even historical RDB data store.
3. Native file system support
As known as scale-out style "unified storage", which
support NFS, CIFS or iSCSI with unlimited file size
EXAGE / Storage, released in Dec, 2010.
2.2 will be available, soon.	  
Oct., 2011	  Confidential, Copyright © 2011, Ikuo Nakagawa & Intec, Inc., All rights reserved.	  

5	  EXAGE / Database – Scale-out, unlimited data processing	  Parallel & distributed processing framework, with scale-out style KVS technology.
Dividing "key-spaces", for processing or storing data, among huge # of computers.
Ability to process and to store about 1B objects per node.
Key	  Key	  Method	  not only "storing",
but also "processing", on the cloud.	  

Value	  benefit of scale-out style platform	  each computer has
its own key-space	  Identify location
based on Key	  Easy to plan, design and installation,
just connect a computer to increase power.
Automatic redundancy & failover by S/W,
for scalable and easy operation.

data volumes & processing power
will increase linear to # of computers.
i.e., easy to increase computer resources	  Scale merit by using commodity servers,for all of computer H/W.

EXAGE / KVS, as known as NoSQL.
will be available, in Nov. 2011
Oct., 2011	  Confidential, Copyright © 2011, Ikuo Nakagawa & Intec, Inc., All rights reserved.	  

6	  EXAGE / Filter – Real time stream processing	  EXAGE provides scalable processing space for real time stream processing.
It accepts various data or records and process them in parallel & distributed manner.
Logger (with indexing) is one of typical implementation of filters.
data orrecords(input)

accept & deliverbased on keys
(distribution)parallel & distributed
real time processing(stream processing)processing(indexing)	  devices	  acceptingrecords	  able to write intoto
backend storage(EXAGE / Storage)
log store(indexed)	  distributionby key	  scale-out
processing power	  Storage	  scale-outstorage space	  EXAGE / Logger release, in Nov. 2011
EXAGE / Filter will be available, 1Q of 2012
Oct., 2011	  Confidential, Copyright © 2011, Ikuo Nakagawa & Intec, Inc., All rights reserved.	  

7	  Dripcast – Simple and easy Java framework	  Seamless access to data objects on the cloud (almost same as a object, in local)
No need to think about location of the data, no need to write communication (nor HTTP),
Just call Java method simply, to access or process your data object on the cloud.
cutting-edge model,
incredibly easy than,
Google, Apple or MS
Java application
environment

Your Java VM

very simple and easy application framework,
enables application development to be simple,efficient and productive.
Billing	  application logic
scheduler

mailboxScheduler	  Mailbox	  Document	  authVoice	  document
Security	  Processing	  Experimental research project, started with University of Tokyo.
with academic organizations, communities, service operators and application vendors.
Oct., 2011	  Confidential, Copyright © 2011, Ikuo Nakagawa & Intec, Inc., All rights reserved.	  

8	  Dripcast
10 times easier development way,for your "Android+cloud" applications.	  

Magic "spell" changes the world	  "Bibbidi-Bobbidi-Boo"(also called "The Magic Song")
is a novelty song, written in 1948
by Al Hoffman, Mack David, and Jerry Livingston.
It was introduced in the 1950 Disney film Cinderella,
performed by actress Verna Felton.	  

Oct., 2011	  Confidential, Copyright © 2011, Ikuo Nakagawa & Intec, Inc., All rights reserved.	  

10	  write your code
via interface.
it's Java !

Bibbidi-Bobbidi-Boo	  Try, 3 minutes hacking...	  

// an instance we want to handle.
Gadget a = new GadgetImpl();// store out value to the object, at first.
a.setValue(31);// now, verify input against our value.
String s = in.readLine();if (Integer.parseInt(s) == a.getValue()) {System.out.println("Great! Lucky guess!");} else {System.out.println("No match. Sorry.");}Oct., 2011	  defining"how to access"your data object.	  

interface Gadget {void setValue(int val);
int getValue();}class GadgetImpl implements Gadget {private int value = 0;
public void setValue(int val) {value = val;}public int getValue() {return value;}}

Confidential, Copyright © 2011, Ikuo Nakagawa & Intec, Inc., All rights reserved.	  

defining"what to do"when you call it.

11	  Bibbidi-Bobbidi-Boo	  write your code
via interface.
it's Java !

defining"how to access"your data object.	  

Try, 3 minutes hacking...	  

// an instance we want to handle.
Gadget a = new GadgetImpl();interface Gadget {void setValue(int val);
int getValue();}creating yourdata object
on a cloud.	  

// Biddidi-Bobbidi-Boo.
a = B3.setAndAttachInstance(key, Gadget.class, a);	  // store out value to the object, at first.
a.setValue(31);executing yourmethod (request)
on a cloud, as well.	  

// now, verify input against our value.
String s = in.readLine();if (Integer.parseInt(s) == a.getValue()) {System.out.println("Great! Lucky guess!");} else {System.out.println("No match. Sorry.");}class GadgetImpl implements Gadget {private int value = 0;
public void setValue(int val) {value = val;}public int getValue() {return value;}}defining"what to do"when you call it.
Android device(application)	  yourdata object	  Cloud(platform)	  What you need to do, is only casting a spell "Bibbidi-Babbidi-Boo" !	  
Oct., 2011	  Confidential, Copyright © 2011, Ikuo Nakagawa & Intec, Inc., All rights reserved.	  

12	  Try it !
So, what's happen in Android application world ?
Does it make any changes ?	  Example	  Develop a group communication tool for Android.
for example,
Let's share GPS location information,
between group members.

Oct., 2011	  Confidential, Copyright © 2011, Ikuo Nakagawa & Intec, Inc., All rights reserved.	  

14	  Example of "sharing GPS location" application	  It takes only 3 minutes to implement a stoker application to share GPS info via the cloud.
You only need to define class to identify a location (in Java), and share an instance.
No table definition nor REST/HTTP implementation would be required.
public class YourActivity implements Activity, LocationListener {UUID key = UUID.fromString("your-group-UUID"); // to share an object between group members.
NavigableMap map; // will be associated with a cloud object.
String id; // to store my phone number.
public void onCreate() {map = B3.createOrAttachInstance(key, NavigableMap.class, "java.util.TreeMap");
id = ((TelephonyManager)getSystemService(TELEPHONY_SERVICE)).getLine1Number();((LocationManager)getSystemService(LOCATION_SERVICE)).requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, this);}public void onLocationChanged(Location location) {int x = (int)(location.getLatitude() * 1E6);
int y = (int)(location.getLongitue() * 1E6)
map.put(id, x + "," + y);

GPS info	  unique object
on a cloud	  your-group-UUID

store your GPS info	  // show, your members positions....
Entry entry = map.firstEntry();
while (entry != null) {// show id and location : entry.getValue()entry = map.higherEntry(entry.getKey());}}}

Oct., 2011	  getting GPS infoof your party members

our models are ;cloud-full computing
andserver-less programming	  Confidential, Copyright © 2011, Ikuo Nakagawa & Intec, Inc., All rights reserved.	  

15	  Server-less programming – forget about server side	  There is NO need to develop server side processing nor database programming.
Our "Spell" delivers Java object into the cloud, both of for storing and processing.
You need only to develop application logic. It's very simple and efficient.

GUI / Design	  Existing
Develop. model

client-server
communication

server-RDB
communication
server side(Servlet)

Application logic	  Write as easy as local.
NO skill is required for
SQL/database nor even REST/HTTP.	  
Cloud style
Develop. modeltables(RDB)	  processing and storingon the cloud,automatically.

GUI / Design	  Application logic	  Application logic	  It's 10 times easier to develop an application.
Focus on application logic. That's all.
Oct., 2011	  Confidential, Copyright © 2011, Ikuo Nakagawa & Intec, Inc., All rights reserved.	  

16	  No more servers nor back-end systems for developers	  Of course, there is no need to use SQL/RDB, Servlet nor REST/HTTP.
that means, we don't have to learn more about,...
Oracle, MySQL, PostgreSQL, Ruby, python, php, apache or others.

No more server side technologies	  Oct., 2011	  Confidential, Copyright © 2011, Ikuo Nakagawa & Intec, Inc., All rights reserved.	  

17	  Considerations about networking	  Challenge	  Forget about servers !
No server nor virtual machinefor customers.
Customers know only about platform.

Oct., 2011	  Confidential, Copyright © 2011, Ikuo Nakagawa & Intec, Inc., All rights reserved.	  

19	  Communication in the new computing model	  Device + cloud computing model, also changes global communication model.
A device send a request to a nearest gateway of a cloud, andthe gateway communicates with many nodes in a cloud, deployed globally.

once, a gateway accept
a request from a device,
it communicates withmany nodes in a cloud,deployed globally.	  

computer resources on a cloudwithunlimited data space
unlimited processing space
no server nor VM.
(for a customer)

Oct., 2011	  Confidential, Copyright © 2011, Ikuo Nakagawa & Intec, Inc., All rights reserved.	  

20	  A simple example – Use case of platform technology	  Think about cloud style platform service, as a simple example,
Customers can store and process your data object on a cloud from any location of the world.
(cloud platform has a very large single data space, shared in globally)

cloud style platform service
very large single file systemshare in globally
deployed globallyin world wide.	  

Oct., 2011	  Confidential, Copyright © 2011, Ikuo Nakagawa & Intec, Inc., All rights reserved.	  

21	  Typical configuration (a unit)	  In a typical configuration, we install 10 access servers and 25 core servers in an "unit",
using distributed LAG (link aggregation group) with very simple L2 configuration.
We provides about 10Gbps for external, with 30Gbps internal traffic.

typical configuration (an unit)

expecting throughput
external
service network

up to 10Gbps
for external

10 Access Serverwith bonding
av. 10Gbps
for internal
17 U

36 port L2-SW x 2with DLAG	  up to 30Gbps
for internal
25 Core Serverwith bonding

Oct., 2011	  Confidential, Copyright © 2011, Ikuo Nakagawa & Intec, Inc., All rights reserved.	  

22	  Typical configuration (data center)	  Nowadays, customers want about 1PB data space, which requires 750 core servers.
in our configuration, it requires 30 units (15 racks) in a data center.
we need very high speed aggregation router (L3-SW) for 600 Gbps internal traffic.
typical configuration(inside a data center)
10Gbps / unit
for external(aggregation router)
64 port 10GbE L3-SW x 2with VRRP	  requires,...
up to 1.2 (20 x 30) Tbps
traffic exchange between units(in total)

32 port L2-SW x 2with DLAG	  each rack has 2 units
in 34 U space.	  
Oct., 2011	  30Gbps / unit for internal, e.g.,
10Gbps for unit local, 20Gbps between units
Confidential, Copyright © 2011, Ikuo Nakagawa & Intec, Inc., All rights reserved.	  

23	  More configuration (between DR sites)	  DR (disaster recovery) is most prioritized requirement of cutting-edge cloud service operators.
In technically, we can do that. But we need ultra super very fat pipe between service sites.
For real time DR mechanism, we need more throughput between site, of course.

very large file system
in global environment

Copy to DR-sites

TOYAMA site

TOKYO site

OSAKA site

Copy to DR-sites

WRITE from clients

Throughput between DR-sites
is larger than customers' disk write.
Oct., 2011	  Confidential, Copyright © 2011, Ikuo Nakagawa & Intec, Inc., All rights reserved.	  

24	  Considerations	  We need high speed nation wide internet for smartphone or device nodes.
In addition, we need ultra super very fat PIPE for our internal networks for cloud platform,
where cloud platform would be deployed globally, in world wide.

no server nor VM.
(for a customer)

cloud platform
deployed globally,
in world side

very simple L3 networkwith ultra super very fat PIPE
in world wide
Oct., 2011	  We only need nation widehigh speed internet
for customer reachability.	  

Confidential, Copyright © 2011, Ikuo Nakagawa & Intec, Inc., All rights reserved.	  

25	  F.Y.I.	  F.Y.I. - Research project started for Dripcast	  Research project for server-less programming model	  "live on cloud, play on device"
Action items :	  1. Research a new "server-less" programming model.
optimize data model & processing model of direct access to cloud objects.
2. Deploy and standardize very easy and simple development model.
For several languages and environments. "dripcast" is one of such impl. for Java.
3. Evaluate and feedback of new style cloud platform service.
Application (providers, developers) and Platform (network, IDC, cloud operators).

Demonstration site is available.
Visit http://dripcast.org
for more details.

Oct., 2011	  Thanks for supporting our project.
Smart Technologies, A.T.Works,
NOAH Cloud (IDCF),
and many organizations...

Confidential, Copyright © 2011, Ikuo Nakagawa & Intec, Inc., All rights reserved.	  

27