introduction to mobile and cloud computing - cs.umb.edushengbo/teaching/cs697/lecture1.pdf · •...

14
1 Introduction to Mobile and Cloud Computing CS697: Mobile and Cloud Computing 1 Outline Syllabus and Overview Introduction to Cloud Computing Introduction to Mobile Computing 2 General Information Location and Time: M03-0204A, Tu & Th, 4:00 ~ 5:15pm Office: Science Center, S-3-075 Email: [email protected] Office Hours: Tu & Th, 2 ~ 4pm Class Materials: http://www.cs.umb.edu/~shengbo/teaching/cs697.html Turn in homework via email (usually) Use “CS697” in subject line. If I receive your email, I will reply. If you do not get anything in 2-3 days, email again. 3 Why a class on mobile & cloud computing? Emerging areas that will be increasingly important Better job prospects, e.g., companies like Facebook, Twitter, Amazon, etc, are hiring Impact many different areas of research, such as networking, data mining, security, high performance computing, graphics, and so on Many mobile applications depend on the cloud, e.g., Windows mobile & Azure, iPhone & iCloud. 4 Goals for this class Introduce key technologies and open problems How? Student presentations on recent papers from premier conferences and journals Provide hands-on experience How? Programming assignments, one on cloud, one on mobile phones, and one combining cloud and phones. Explore research topics How? Complete one research project during the entire semester 5 General Information Pre-requisites. None. Textbook. None. Your background OS? Distributed OS? Networks / Wireless networking? Programming languages? Java? C#? Javascript? Python? Use Linux? Programmed android/iPad/windows mobile before? Access to laptop/PC? 6

Upload: trankhuong

Post on 28-Apr-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

1

Introduction to Mobile and Cloud

Computing

CS697: Mobile and Cloud Computing

1

Outline

• Syllabus and Overview

• Introduction to Cloud Computing

• Introduction to Mobile Computing

2

General Information

• Location and Time: M03-0204A, Tu & Th, 4:00 ~ 5:15pm

• Office: Science Center, S-3-075

• Email: [email protected]

• Office Hours: Tu & Th, 2 ~ 4pm

• Class Materials: http://www.cs.umb.edu/~shengbo/teaching/cs697.html

• Turn in homework via email (usually)

• Use “CS697” in subject line.

• If I receive your email, I will reply. If you do not get

anything in 2-3 days, email again.

3

Why a class on mobile & cloud computing?

• Emerging areas that will be increasingly important

• Better job prospects, e.g., companies like Facebook,

Twitter, Amazon, etc, are hiring

• Impact many different areas of research, such as

networking, data mining, security, high performance

computing, graphics, and so on

• Many mobile applications depend on the cloud, e.g.,

Windows mobile & Azure, iPhone & iCloud.

4

Goals for this class

• Introduce key technologies and open problems

• How? Student presentations on recent papers from

premier conferences and journals

• Provide hands-on experience

• How? Programming assignments, one on cloud, one on

mobile phones, and one combining cloud and phones.

• Explore research topics

• How? Complete one research project during the entire

semester

5

General Information

• Pre-requisites. None.

• Textbook. None.

• Your background

– OS? Distributed OS?

– Networks / Wireless networking?

– Programming languages? Java? C#? Javascript?

Python?

– Use Linux?

– Programmed android/iPad/windows mobile before?

– Access to laptop/PC?

6

2

General Information

• Grading Policy

– Attendance & participation 10%

– Paper presentations (2) 20%

– Homework assignments (3) 30%

– Class project (1) 40%

• University’s Policies

– Plagiarism, Honor code

– Emergency

– Disability service

7

Paper Presentation

• Everyone will present 2 papers, one for cloud and the

other for mobile computing

• A list of papers can be found on course web page.

• Pick 4 papers total (2 cloud and 2 mobile) and email me.

I will do the assignment.

• Do this by Monday, Sept 10 noon.

• May provide guidelines on presentations later

8

Class Project

• Either individual or in a group of 2 students

• Project considered complete if it has

– Short report. 5-6 pages long, IEEE conference format

– Source code and documentation

– Presentation of project or demo (last 1 or 2 classes)

• Turn in 1 of everything per project. E.g., a group

will only turn in 1 report with both names on it.

Same grade for both people

• Team management

9

Class Project

• In general, your project should have an

evaluation component.

• System implementation/prototype, can be

combined on simulation (Matlab, NS2, etc).

• This means you have to think about issues like

workload, trace data, experimental setup.

• No surprises. The expected output should be

discussed with me in advance.

• It MUST work!

10

Project Topics

• Mobil phone Wi-Fi scanning

– Find available Wi-Fi APs and test the link quality

– Report to cloud and make it accessible to others

• Mobile phone Apps for drivers

– Interactive speech-based navigation

– Foreign road signs reorganization

• NFC-initialized communication between phones

– Wi-Fi ad-hoc, Wi-Fi direct, or Bluetooth

• Cross device web caching/prefetching

– Desktop, laptop, tablet, smartphone, etc

– Cloud-based service

11

Project Topics

• Capacity planning on cloud service

– Monitor the service load, analyze and predict the pattern

– Dynamically allocate more resources when needed

• Job scheduling and resource bidding

– Cloud service charge may vary, e.g, AWS’s ‘spot instance’

– Non real-time jobs, but with deadlines

– Given a limited budget

• Mobile bulletin board

– Drop messages from phones to specific receivers

– Valid only when receivers are in a certain area / within a certain

time span

12

3

Class Project

• Choose a topic by Sept. 25’s class

• 10 min progress report on Oct. 23

• Final report due at the end of semester

13

Available Resources

• Smartphones

– Windows phones (Samsung Focus)

– Android phone (HTC, Samsung)

14

Available Resources

• Cloud service

– 12 Azure passes

– AWS

15

Compute • 1 hosted service, with 2 small compute instances

Storage • 1 storage account, with 3GB of storage and

250,000 storage transactions

Database • Two 1GB SQL Azure Web Edition databases

Data Transfers (per region) • 3 GB in • 3 GB out

Other • 100,000 Access Control transactions • 2 Service Bus

connections

Outline

• Syllabus and Overview

• Introduction to Cloud Computing

• Introduction to Mobile Computing

16

What is cloud computing

17

“The interesting thing about Cloud Computing is

that we’ve redefined Cloud Computing to include

everything that we already do.”

Larry Ellison, Oracle CEO

“It’s stupidity. It’s worse than stupidity: it’s a

marketing hype campaign.”

Richard Stallman, Founder of GNU

Views from NIST

• National Institute of Standards and Technology

• Responsible for developing standards and guidelines for government operations and assets (excluding national security)

• A model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.

18

4

In the Beginning was the Mainframe and Terminals

Users did individual work by connecting to central computer

Next came PCs

Users did individual work

on their own desktops

Then the PCs Got Tied Together

Users could talk to each other’s PCs

Then came the Web

Users did individual work by connecting to web

servers

Then the Web got big

Server had to become

cluster of PCs

Then the Web got REALLY big, and really important

Server PCs had to live in

expensive data center

Microsoft Data Center in Dublin, 27,000 m2, 22 MW, US$ 500 M

5

Data Centers

• Need lots of electric power (1.5% of all US

electricity, EPA 2007)

• Long lead time to build

• Inflexible investment of capital

• Need specialized skills (security, failover, load

balancing, etc.)

• Takes time away from core competencies

• Hard for all but largest companies to own/run

Solution: Outsource Data Center

• Can reap economies of scale

• Because of scale, can afford specialized skills

• Web developers can concentrate on their core competencies that give them market advantage

• Shorter lead times

• Lower capital requirements

• Computing power becomes a commodity, as did electric power in early 20th century

See The Big Switch: Rewiring the World, from Edison to Google ,

by Nicholas Carr, Norton, 2008, from which this chart is taken

Similar to Electrification

in Early 20th Century 5 Key Characteristics of Cloud

• On demand self-service. User can provision computing

capabilities without human interaction with service

provider

• Broad network access. Computing facilities available

over network using standard mechanisms

• Resource pooling. Service provider resources are pooled

to support muti-tenant model, with resources (physical &

virtual) dynamically assigned

28

• Rapid elasticity. Computing capabilities can be elastically

provisioned and released. Appears to be unlimited to the

user.

• Measured service. Resource (e.g. storage, processing,

bandwidth, etc) monitored and reported.

29

5 Key Characteristics of Cloud Types of Cloud Service Models

• Software as a service (SaaS)

– Cloud provides application.

– Customer uses the application.

• Platform as a service (PaaS)

– Cloud provides programming lang., libraries,

services, tools.

– Customer creates their own applications.

30

6

Types of Cloud Service Models

• Infrastructure as a service (IaaS)

– Cloud provides processing, storage,

networks, and other fundamental computing

resources.

– Customer runs own software, including OS.

• Private Cloud (On-Premise)

31

Types of Cloud Service Models

32

Private

(On-Premise)

Storage

Server HW

Networking

Servers

Databases

Virtualization

Runtimes

Applications

Security &

Integration

Yo

u m

an

ag

e

Infrastructure

(as a Service)

Storage

Server HW

Networking

Servers

Databases

Virtualization

Runtimes

Applications

Security &

Integration M

an

ag

ed

by v

en

do

r

Yo

u m

an

ag

e

Yo

u m

an

ag

e

Platform

(as a Service)

Storage

Server HW

Networking

Servers

Databases

Virtualization

Runtimes

Applications

Security &

Integration Ma

na

ge

d b

y v

en

do

r

Software

(as a Service)

Storage

Server HW

Networking

Servers

Databases

Virtualization

Runtimes

Applications

Security &

Integration Ma

na

ge

d b

y v

en

do

r

View from Berkeley

• Applications delivered as services over the

Internet, and the hardware and systems

software in the datacenters that provide those

services.

• Services are referred to Software as a Service

• Datacenter hardware and software is known as

the cloud

• Service being sold is known as utility computing

33

New aspects from hardware perspective

• Appearance of infinite computing

resources. Planning less important

• Eliminate up-front commitment

• Pay-as-you-go, release resources when

not needed.

34

Why should you use the cloud?

• Question. If your company needs 500 servers in

the day (peak period) and 100 servers at night

(off-peak period). How many servers should you

buy?

• Average is 300 servers. What happens if we just

get 300?

Why should you used the cloud?

• Real world estimates of server utilization is 5% to 20%.

• Peak work load exceeds average factors by 2 to 10.

7

Why should you used the cloud?

• Animoto is a video sharing site

• When added Facebook, load increased from 50

servers to 3500 servers in 3 days

Is it cheaper?

Is it cheaper?

• Ignores operational cost, e.g. tech. support,

energy, physical facility management, etc.

• Medium is about 1000 servers. Very large is about 50,000 servers

• Statistical multiplexing allows hardware to be used by more users.

Private data center does not have this advantage.

Is it cheaper?

40

So everyone should use the cloud? So everyone should use the cloud?

8

Top 10 challenges (according to Berkeley)

1. Availability of service

• What happens when the cloud provider is down?

Top 10 challenges (according to Berkeley)

2. Data lock-in

• What happens when you need to get data out of

the cloud? E.g. Cloud provider raise prices, goes

bankrupt, etc.

• Cloud may use own data formats

• Compare with other types of utilities, e.g.

electricity, phone.

Top 10 challenges (according to Berkeley)

3. Data sensitivity and auditability

• Your data in the cloud is managed by the people

hired by the cloud. Why should you trust them?

• E.g. police database, government database

• Difficult to run audit on cloud facilities (sometimes

needed for compliance)

Top 10 challenges (according to Berkeley)

4. Data transfer bottleneck

• Want to transfer 10TB of data to cloud

• 20 Mbit/sec upload link. It would take

10 ∗ 1012 Bytes / (20 × 106 bits/second) =

4,000,000 seconds, which is >45 days, and cost

about $1000

• Use Fedex, send 10 1TB disk. About 1 day, cost

about $400

• What if all data is always stored into cloud?

Top 10 challenges (according to Berkeley)

5. Performance unpredictability

• Users share CPU, memory, IO, with other users

• Generally have no control over scheduling or hardware choices.

6. Scalable storage

• Scaling up CPUs is relatively easy compared to scaling up storage.

• How can users effectively utilize the data they have stored?

Top 10 challenges (according to Berkeley)

7. Bugs in large-scale distributed systems

• Difficult to catch bugs, sometimes bugs only

appear when scaling up

8. Scaling quickly

• Difficult to scale up or down based on load while

maintaining service level agreements (SLA)

9

Top 10 challenges (according to Berkeley)

9. Reputation fate sharing

• What happens when one user does something

bad, and leads to blacklisting of cloud provider’s

IP addresses?

10. Software licensing

• How will we bill the users?

• Use open source instead?

Amazon Web Services

Amazon Web Services Amazon Web Services

• Launched in 2002

• Run by Amazon.com

• Programmed in many languages, including

Java, Python, Ruby, and .NET

• Evolved from basic computing to add

commerce-based services, such as

payment and fulfillment

Google App Engine Google App Engine

• Released in 2008

• Primary languages are Python and Java

• Currently provides basic computing and

storage; a few more simple things. Can’t

imagine that won’t increase and evolve.

10

Microsoft Azure Microsoft Azure

• Launched in 2009

• Program in .NET

• Provides computation and storage services

• Allows access to underlying cloud system (“fabric”) for sophisticated tweaking

• I expect to see additional business services as well, perhaps provided by third parties

Why cloud computing now?

• New business models

• Shift from “high-touch, high-margin, high-

commitment” service to “low-touch, low-margin,

low-commitment” service

• Importance of data analytics

• More companies collect customer data. Need

computing power to analyze

• Popularity of mobile interactive applications

• Smartphones use applications that best live on

cloud

Déjà vu ?

• Before cloud

computing, we had

grid computing.

• Also provides

computing, storage,

data, applications, on

demand.

2) the exponentially growing data size in scientific instrumentation/simulation and Internet publishing and archiving; and 3) the wide-spread adoption of Services Computing and Web 2.0 applications.

1.2 Clouds, Grids, and Distributed Systems

Many discerning readers will immediately notice that our definition of Cloud Computing overlaps with many existing technologies, such as Grid Computing, Utility Computing, Services Computing, and distributed computing in general. We argue that Cloud Computing not only overlaps with Grid Computing, it is indeed evolved out of Grid Computing and relies on Grid Computing as its backbone and infrastructure support. The evolution has been a result of a shift in focus from an infrastructure that delivers storage and compute resources (such is the case in Grids) to one that is economy based aiming to deliver more abstract resources and services (such is the case in Clouds). As for Utility Computing, it is not a new paradigm of computing infrastructure; rather, it is a business model in which computing resources, such as computation and storage, are packaged as metered services similar to a physical public utility, such as electricity and public switched telephone network. Utility computing is typically implemented using other computing infrastructure (e.g. Grids) with additional accounting and monitoring services. A Cloud infrastructure can be utilized internally by a company or exposed to the public as utility computing.

See Figure 1 for an overview of the relationship between Clouds and other domains that it overlaps with. Web 2.0 covers almost the whole spectrum of service-oriented applications, where Cloud Computing lies at the large-scale side. Supercomputing and Cluster Computing have been more focused on traditional non-service applications. Grid Computing overlaps with all these fields where it is generally considered of lesser scale than supercomputers and Clouds.

Figure 1: Grids and Clouds Overview

Grid Computing aims to “enable resource sharing and coordinated problem solving in dynamic, multi-institutional virtual organizations” [18][20]. There are also a few key features to this definition: First of all, Grids provide a

distributed computing paradigm or infrastructure that spans across multiple virtual organizations (VO) where each VO can consist of either physically distributed institutions or logically related projects/groups. The goal of such a paradigm is to enable federated resource sharing in dynamic, distributed environments. The approach taken by the de facto standard implementation – The Globus Toolkit [16][23], is to build a uniform computing environment from diverse resources by defining standard network protocols and providing middleware to mediate access to a wide range of heterogeneous resources. Globus addresses various issues such as security, resource discovery, resource provisioning and management, job scheduling, monitoring, and data management.

Half a decade ago, Ian Foster gave a three point checklist [19] to help define what is, and what is not a Grid: 1) coordinates resources that are not subject to centralized control, 2) uses standard, open, general-purpose protocols and interfaces, and 3) delivers non-trivial qualities of service. Although point 3 holds true for Cloud Computing, neither point 1 nor point 2 is clear that it is the case for today’s Clouds. The vision for Clouds and Grids are similar, details and technologies used may differ, but the two communities are struggling with many of the same issues. This paper strives to compare and contrast Cloud Computing with Grid Computing from various angles and give insights into the essential characteristics of both, with the hope to paint a less cloudy picture of what Clouds are, what kind of applications can Clouds expect to support, and what challenges Clouds are likely to face in the coming years as they gain momentum and adoption. We hope this will help both communities gain deeper understanding of the goals, assumptions, status, and directions, and provide a more detailed view of both technologies to the general audience.

2 Comparing Grids and Clouds Side-by-Side

This section aims to compare Grids and Clouds across a wide variety of perspectives, from architecture, security model, business model, programming model, virtualization, data model, compute model, to provenance and applications. We also outline a number of challenges and opportunities that Grid Computing and Cloud Computing bring to researchers and the IT industry, most common to both, but some are specific to one or the other.

2.1 Business Model

Traditional business model for software has been a one-time payment for unlimited use (usually on 1 computer) of the software. In a cloud-based business model, a customer will pay the provider on a consumption basis, very much like the utility companies charge for basic utilities such as electricity, gas, and water, and the model relies on economies of scale in order to drive prices down for users and profits up for providers. Today, Amazon essentially provides a centralized Cloud consisting of Compute Cloud EC2 and Data Cloud S3. The former is charged based on per instance-hour consumed for each instance type and the later is charged by per GB-Month of storage used. In addition, data transfer is charged by TB / month data transfer, depending on the source and target of such transfer. The prospect of needing only a credit card to get on-demand access to 100,000+ processors in tens of data centers distributed throughout the world—resources that be

Grid computing

• A distributed computing paradigm that spans across

multiple virtual organizations (VO)

• A VO can consist of either physically distributed

institutions or logically related projects/groups.

• More popular in government research labs and

universities

• Target large-scale computation problems using a

network of resource-sharing commodity machines

• Because supercomputers and clusters were too

expensive

Grid computing

• Generally speaking, a grid computing has 3 characteristics

(1) Coordinates resources without centralized control

(2) Uses standard, open, general-purpose protocols and interfaces

(3) Delivers non-trivial qualities of service.

• Cloud computing usually does not have the first 2 characteristics

11

Other differences (generally speaking)

• Grid computing uses batch scheduling model.

– Submit a job with required resources (e.g. so

many CPU, etc) to scheduler.

– When resources available, scheduler will run

your job.

• Dedicated resources. Can give better QoS than

cloud computing.

– Good for scientific type applications. Not so

good for interactive type applications.

Other differences (generally speaking)

• Grid computing hardware is not centralized, but

belongs to individual entities.

– E.g. university that provides resources will

own those resources

– Cloud computing has dedicated data centers

operated by single entity.

Outline

• Syllabus and Overview

• Introduction to Cloud Computing

• Introduction to Mobile Computing

63 64

Introduction to Mobile Computing

• Evolution of cell phones

1985 ~ 2007

65

Introduction to Mobile Computing

• Smartphones (Hardware)

66

Introduction to Mobile Computing

• Smartphones (Hardware) 1GHz CPU

512M RAM

RF

Transceiver UMTS/3G, GPS

4~32G Storage

Wi-Fi, Bluetooth

Accelerometer

Multi-touch Screen

Light sensor

...

12

67

Introduction to Mobile Computing

• Smartphones (Software)

– iOS

• 725,000 apps

• 10 billion downloads in Jan 2011

• 25 billion downloads in March 2012

– Android

• 500,000 apps, 15 billion downloads (May 2012)

http://www.androlib.com/appstats.aspx

Consumer Research

68

Mobile Grows, Desktop Use Declines

% of U.S. Adults Who Own Each Type of Device

Consumer Research

• In 2011, 84% of adults have a cell phone.

• In 2000, 53% of adults owned a cell

phone.

• In 2011, ¼ of US households are cell only.

69

Major Platforms

70

35% of smartphone

owners / 15% of cell

owners

Young adults

(especially 18-24)

24% of smartphone

owners / 10% of cell

owners

College grads

HH income $75k

or more

24% of smartphone

owners / 10% of cell

owners

College grads

HH income $75k or

more

Employed full-time

Tablet and E-Reader Use is Growing

71

85%

57% 55%

43%38%

10% 9%

Cell Phone Laptop Desktop MP3 Player Game Console

Tablet Computer

e-Reader

Percent of US adults 18+ who own each type of gadget…

Based on Pew Internet Tracking Survey, 2010-2011

Tablet ownership rose

from 4% to 10%

between September

2010 and August 2011

2/3 Adults are Wireless Internet Users (2011)

72

13

How People Use Their Phones

73

% of adult cell owners who use their phone to…

Send/receive text messages 73%

Take a picture 73

Access the internet 44

Send a photo or video to someone 54

Send or receive email 76

Record a video 59

Access a social networking site 59

Watch a video 54

Post a photo or video online 45

Access Twitter 15

Apps

• Top 4 popular categories of apps (Nielson

data, June 2010)

74

Games (65%)

News/Weather (56%)

Maps/Navigation/Search (55%)

Social Networks (54%)

Apps Provide Connections to Information

75

35%

46%

53%

64%

74%

Get more info about an event you're attending

Help shop or make purchases

Get info about a destination you're visiting

Learn about something you're interested in

News, weather, sports or stocks updates

% of app downloaders who have downloaded each type of app…

Information is Location-Based

• 28% of cell owners use their phones to get directions or

recommendations based on their current location, but

only 5% use check-in services on their phone

• 1/3 of adults use mobile devices to check weather or to

find local restaurants or businesses

• 1/5 use mobile devices to get information about

local traffic or transportation

• 1/6 use mobile devices to get discounts/use coupons at

local stores 76

One word best describes your cell phone

• 72% of responses positive, 16% negative

77

Impact on People’s Life

• Mobile (and smartphones especially) changes the relationship

between information, time and space…

• 51% of cell owners use phone to get information they need right

away (smartphone owners: 79%)

• 42% use phone to entertainment themselves when bored

(smartphone owners: 72%) and 40% have been helped by phone in

an emergency situation

• 29% turn phone off occasionally just to get a break

• 13% have pretended to be using their phone to avoid interacting

with people around them

• 36% of smartphone owners have been frustrated by slow download

times, and 34% have had trouble doing something recently because

they didn’t have their phone

78

14

Tablet Users

• 77% use their tablet every day

• Users spend an average of 1 hour, 35 minutes

on their device daily

• 53% get news on their tablet daily

• Other common daily activities:

– Email (54%)

– Social Networks (39%)

– Games (30%)

– Read Books (17%)

– Watch Videos (13%)

79

History of Smartphone

• Jan. 2007, Steve Jobs unveils the iPhone, which he says is "a

revolutionary and magical product that is literally five years ahead of

any other mobile phone". Microsoft chief executive Steve Ballmer

calls it "the most expensive phone in the world".

80

History of Smartphone

• Jan. 2007, Steve Jobs unveils the iPhone, which he says is "a

revolutionary and magical product that is literally five years ahead of

any other mobile phone". Microsoft chief executive Steve Ballmer

calls it "the most expensive phone in the world".

• Apr. 2007, Gartner says that in the first three months of 2007

Microsoft's Windows Mobile had an 18% share of the smartphone

market (then totaling 17m handsets).

• Nov. 2007, Google announces it will offer the Android mobile

operating system for free. Anyone can use it and change it. Asked if

there will be a Google phone, head of Android, Andy Rubin, replies:

"There will be thousands of Google phones – some you like, some

you don't.“ Microsoft's Ballmer says "We'll have to see what Google

does. Right now they have a press release, we have many, many

millions of customers, great software, many hardware devices, and

they're welcome in our world!"

81

History of Smartphone

• Oct. 2008, Apple announces it sold 4.7m iPhones in the summer

quarter, giving it nearly 13% of the smartphone market. Research in

Motion had 15%.

• Nov. 2008, First Android phone, the G1, launches. It has a slide-out

keyboard and limited touchscreen capability.

• Dec. 2008, Microsoft decides to kill off Windows Mobile because it

can't compete with the iPhone and Android, and develop Windows

Phone – a completely new mobile operating system.

• Jan. 2010, Apple launches the iPad, a 10in tablet.

• Feb. 2010, Android phones with full touchscreen interaction like the

iPhone's appear.

• Apr. 2010, Google's Android gained just under 10% of the market in

the first three months of 2010, says Gartner.

82

History of Smartphone

• Oct. 2010, Microsoft's first phones running Windows Phone. Sales

are low. Mike Lazaridis, RIM's co-chief executive, shows off the

Playbook, a 7in tablet.

• Jan. 2011, Researchers Gartner and IDC announce that

smartphones outsold PCs worldwide in the last three months of

2010 – 100m as against 93m.

• Apr. 2011, Apple becomes the largest smartphone vendor by

numbers and revenue, selling 18.6m iPhones in the year's first

quarter. Android becomes the best-selling smartphone platform, with

a 36.6% share, ahead of Symbian's 27%. Apple sues Samsung in

the US over the appearance of the Galaxy Tab tablet, and follows it

up with a string of legal cases around the world claiming

infringement of patents and "trade dress".

• Nov. 2011, Android had more than 50% of the smartphone market in

the third quarter of 2011, says Gartner.

83

History of Smartphone

• Dec. 2011, RIM takes a $485m charge against an estimated 1.2m

unsold Playbooks sitting in its warehouses.

• Jan. 2012, Microsoft gets LG to pay undisclosed per-handset

royalties. Microsoft says it now has such agreements for 70% of

Android handsets sold in the US. Jim Balsillie and Mike Lazaridis

resign as co-CEOs and co-chairmen of RIM. Replaced by Thorsten

Heins and Barbara Stymiest, who have been with the company for

some years.

84