Tải bản đầy đủ (.pdf) (63 trang)

Xây dựng nền tảng Mobile Cloud Computing tương thích giữa hai hệ điều hành Mobile khác nhau

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.44 MB, 63 trang )

i

LỜI CAM ĐOAN
Tôi cam đoan luận văn “Xây dựng nền tảng mobile cloud computing tƣơng thích
giữa hai hệ điều hành mobile khác nhau” là công trình của riêng tôi, không sao chép
của bất kỳ ai. Nội dung của luận văn đƣợc trình bày từ những kiến thức tổng hợp
của cá nhân, tổng hợp từ các nguồn tài liệu có xuất xứ rõ ràng chƣa từng đƣợc công
bố tại bất kỳ công trình nào khác.
Tôi xin chịu hoàn toàn trách nhiệm và nếu sai, tôi xin chịu mọi hình thức kỷ luật
theo quy định.

TP.Hồ Chí Minh, tháng 6 năm 2016
Tác giả luận văn

Huỳnh Trung Trụ


ii

LỜI CẢM ƠN
Lời đầu tiên Em xin cảm ơn chân thành và sâu sắc đến Thầy TS.Tân Hạnh đã dành
rất nhiều thời gian hướng dẫn Em một cách tận tâm và sâu sát để giúp Em hoàn
thành tốt luận văn này.
Em xin chân thành cảm ơn toàn thể thầy cô khoa công nghệ thông tin, Học Viện
Công Nghệ Bưu Chính Viễn Thông đã tận tình truyền đạt những bài học quý báu
trong suốt quá trình học tập tại trường.
Trong suốt quá trình học tập, nghiên cứu và thực hiện đề tài luận văn thạc sĩ, ngoài
những cố gắng nỗ lực của bản thân, đề tài này còn có sự hướng dẫn nhiệt tình của
quý Thầy cô, cùng với sự động viên khích lệ và ủng hộ của gia đình, bạn bè đồng
nghiệp.
Cuối cùng, mặt dù đã có nhiều nỗ lực, xong do thời gian và kinh nghiệm nghiên cứu


khoa học còn hạn chế nên không thể tránh khỏi những thiếu sót. Em rất mong nhận
được sự góp ý của các thầy cô và bạn bè đồng nghiệp để hiểu biết của mình ngày
một hoàn thiện hơn.

TP. Hồ Chí Minh, tháng 6 năm 2016
Ngƣời thực hiện luận văn

Huỳnh Trung Trụ


iii

MỤC LỤC
LỜI CAM ĐOAN .......................................................................................................i
LỜI CẢM ƠN ............................................................................................................ii
MỤC LỤC ................................................................................................................iii
DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT ..............................................iv
DANH SÁCH BẢNG ................................................................................................v
DANH SÁCH HÌNH VẼ ........................................................................................vi
MỞ ĐẦU ....................................................................................................................1
1. Tính cấp thiết của đề tài ……………………………………………………..1
2. Tổng quan về vấn đề nghiên cứu…………………………………………….2
3. Mục đích nghiên cứu…………………………………………………………2
4. Đối tƣợng và phạm vi nghiên cứu……………………………………………2
5. Phƣơng pháp nghiên cứu…………………………………………………..…2
6. Tổ chức luận văn……………………………………………………………..2
CHƢƠNG 1- TỔNG QUAN VỀ ĐIỆN TOÁN ĐÁM MÂY DI ĐỘNG ………...4
1.1 Điện toán đám mây di động là gì ……...………………………………...4
1.2 Kiến trúc của điện toán đám mây di động ………………………………5
1.2.1 Dịch vụ phần mềm (Software as a Service – SaaS) …………...........…7

1.2.2 Dịch vụ nền tảng (Platform as a Service – PaaS) ……………..............8
1.2.3 Dịch vụ cơ sở hạ tầng (Infrastructure as a Service – IaaS ) …...........…9
1.2.4 Lợi ích và trở ngại khi việc sử dụng PaaS ...........................................10
1.2.4.1 Lợi ích ………................……………………………………...........10
1.2.4.2 Trở ngại và khó khăn …..............……………………………..........11
1.3 Kết chƣơng ……………………………………………………………..12
CHƢƠNG 2- XÂY DỰNG NỀN TẢNG MOBILE CLOUD COMPUTING
TƢƠNG THÍCH GIỮA HAI HỆ ĐIỀU HÀNH MOBILE KHÁC NHAU ………13
2.1 Tổng quan về PaaS ……………………………………………………..13
2.1.1 Khái niệm và các định nghĩa …………………...……………13
2.2 Thiết kế hệ thống và kiến trúc ……...………………………………….15
2.2.1 Thiết kế cơ sở …………………………....………………………15
2.2.2 Kiến trúc của VSPC …………………........……....…....…………….18
2.2.2.1 VSPC Overseer …………….............…………..........…….……….20
2.2.2.2 VSPC Server ……………………...........………...........……….…..20


iv

2.2.2.3 Virtual Vevice Image ………………........................……………...21
2.2.2.4 User Data Volumes ……………………...................……...……….21
2.2.2.5 Cloud controller …………………......................…...………..…….21
2.2.3 Virtual Device Structure ……………….......………....……...………22
2.2.3.1 VSPC daemon ……………………...............……....……………23
2.2.3.2 Touch Input ………………………..............……...…………….23
2.2.3.3 Sensors ……………………………..............………...………....23
2.2.3.4 Location …………………………..............………...…………..24
2.2.4 VSPC Wire Protocol …………………..........…………….………….25
2.3 Kết chƣơng ……................................………………………………….27
CHƢƠNG 3- THỬ NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ ………………………28

3.1 Cài đặt ……………………………………………………………….…28
3.1.1 Phần cứng ……..………….............................……………………..…28
3.1.2 Phần mềm ……………………………...........………………………..28
3.1.3 Giới thiệu một số module của nền tảng ……...........…………………29
3.2 Một số kết quả thử nghiệm …………………………………………….30
3.3 Đánh giá ………………………………..………………………………37
KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN ……………………….……………….41
DANH MỤC CÁC TÀI LIỆU THAM KHẢO ……………………………………42
PHỤ LỤC 1…………………………………………………………………..…46
PHỤ LỤC 2…………………………………………………………………..…50


v

DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT
Viết tắt

Tiếng Anh

MCC

Mobile cloud computing

MC

Mobile cloud

CC

Cloud computing


VSPC

Virtual Smart Phones Cloud

IaaS

Infrastructure as a Service

PaaS

Platform as a Service

SaaS

Software as a service

CPU

Control Process Unit

DMZ

Demilitarized Zone

API

Application Programming Interface

HA


Home agent

AAA

authentication, authorization, and accounting

IT

Information technology

RAM

Random access menmory

ROM

Red Only Memory

App

Application


vi

DANH SÁCH BẢNG
Bảng 3.1. Thiết bị đƣợc sử dụng trong hệ thống VSPC ………………………….31
Bảng 3.2. Các ứng dụng VSPC đã ghi và phát lại thành công………………….37
Bảng 3.3. Time and space overhead và số lƣợng của các sự kiện trong mỗi loại….40



vii

DANH SÁCH HÌNH VẼ
Hình 1.1. Kiến trúc Mobile cloud computing ……………………………………...5
Hình 1.2. Kiến trúc điện toán đám mây hƣớng dịch vụ......………………………...6
Hình 2.1. Mô hình PaaS……………………. …………………………………...12
Hình 2.2. Mối quan hệ giữa các nhóm điện toán đám mây và các phần tử của
PaaS………………………………………………………………………………...14
Hình 2.3. Ứng dụng dữ liệu đầu vào của một điện thoại di động (không server)
……………………………………...........................................................................15
Hình 2.4. VSPC gồm điện thoại di động và máy chủ……………………………...18
Hình 2.5. VSPC Cloud system…………………………………………………...19
Hình 2.6. Cân bằng tải VSPC system……….…………………………………...20
Hình 2.7. VSPC máy ảo …………..…………………………………... 22
Hình 2.8. MotionEvent, SensorEvent, KeyEvent và các classer liên quan...….…...23
Hình 2.9. Lớp LocationListener và 4 methods với các tham số tƣơng ứng …..…25
Hình 2.10. Bảng ghi dữ liệu đầu vào trên điện thoại di động và máy chủ..……...25
Hình 2.11. Giao thức của hệ thống VSPC…..…………………………………...26
Hình 3.1. Giao diện trang chủ VSPC Overseer…...……………………………...30
Hình 3.2. Giao diện trang đăng ký thông tin.. …………………………………...31
Hình 3.3. Giao diện trang login vào hệ thống………..…...……………………...32
Hình 3.4. Sau khi đăng nhập vào hệ thống VSPC Overseer trạng thái của tài
khoản……………………………………………………………………..………...33
Hình 3.5. Core hệ điều hành Android……………...….…………………………...34
Hình 3.6. Sau khi đăng nhập vào App……..………….…………………………...35
Hình 3.7. Tất cả các ứng dụng trên App VSPC của hệ điều hành Android....…...36
Hình 3.8. Truy cập một ứng dụng calendar……………………………………...37
Hình 3.9. Thời gian trễ trọn vòng với nhiều loại đầu vào khác …………...39

Hình phụ lục 1 kiến trúc hệ điều hành Android…...……………………………...46


1

MỞ ĐẦU
1. Tính cấp thiết của đề tài
Thiết bị di động đang dần trở thành một thiết bị thiết yếu trong cuộc sống của
con ngƣời, một dụng cụ liên lạc tiện lợi không giới hạn bởi không gian và thời gian.
Ngƣời dùng di động đƣợc trải nghiệm nhiều loại dịch vụ từ những phần mềm di
động (mobile app, hay iPhone app, google app), chạy trên thiết bị hoặc server qua
mạng không dây. Sự phát triển nhanh chóng của điện toán di động (mobile
computing –MC) trở thành một xu hƣớng phát triển mạnh mẽ trong IT cũng nhƣ
thƣơng mại. Tuy nhiên, thiết bị di động hiện nay gặp phải nhiều vấn đề trong tài
nguyên (thời lƣợng pin, lƣu trữ, băng thông) và kết nối (tính di động và bảo mật).
Giới hạn này ngăn trở việc phát triển chất lƣợng dịch vụ.
Điện toán đám mây (cloud computing –CC) đƣợc thừa nhận là cơ sở hạ tầng của
điện toán tƣơng lai.
Lợi thế của CC là cho ngƣời dùng sử dụng cơ sở hạ tầng (máy chủ, mạng và lƣu
trữ), nền tảng (dịch vụ trung gian và hệ điều hành), và phần mềm của những nhà
cung cấp dịch vụ cloud (Google, Amazon, Saleforce) với mức chi phí thấp. Hơn
nữa, CC cho phép ngƣời dùng tùy nghi co giãn lƣợng tài nguyên sử dụng theo yêu
cầu. Chính điều này rút ngắn thời gian phát triển của mobile app mà không mất
nhiều công sức quản lý hay tƣơng tác với nhà cung cấp dịch vụ. Với sự bùng nổ của
mobile app và sự trợ giúp của CC cho những dịch vụ phong phú cho ngƣời dùng,
điện toán đám mây cho di động (Mobile cloud computing - MCC) đƣợc giới thiệu là
một sự kết hợp của điện toán đám mây vào môi trƣờng di động. MCC đem đến một
loại hình dịch vụ và phƣơng tiện cho phép ngƣời dùng di động đƣợc tận hƣởng lợi
ích của CC
Với mục đích đƣa những tiến bộ công nghệ vào phục vụ cho cuộc sống, tôi xin

chọn đề tài “Xây dựng nền tảng điện toán đám mây di dộng tương thích giữa hai
hệ điều hành mobile khác nhau.”


2

2. Tổng quan về vấn đề nghiên cứu
Cùng với sự bùng nổ của các ứng dụng di động và sự nổi lên của khái niệm điện
toán đám mây, MCC (Mobile Cloud Computing) đã đƣợc giới thiệu là một công
nghệ tiềm năng cho các dịch vụ di động. MCC tích hợp điện toán đám mây vào môi
trƣờng di động và vƣợt qua những trở ngại liên quan đến hiệu suất (nhƣ tuổi thọ
pin,lƣu trữ và băng thông), môi trƣờng (tính không đồng nhất, khả năng mở rộng,
và tính sẵn có), và an ninh (nhƣ độ tin cậy,và riêng tƣ) Các vấn đề đƣợc thảo luận
trong các diễn đàn về điện toán đám mây di động. Các diễn đàn này đƣa ra một
khảo sát về MCC và xây dựng nền tảng điện toán đám mây di động tƣơng thích
giữa hai hệ điều hành khác nhau, giúp chúng ta có một cái nhìn tổng quan về MCC,
bao gồm các định nghĩa, kiến trúc, và các ứng dụng. Các vấn đề, giải pháp hiện có
và phƣơng pháp tiếp cận cũng đƣợc trình bày. Ngoài ra, các hƣớng nghiên cứu
trong tƣơng lai của MCC sẽ đƣợc thảo luận.

3. Mục đích nghiên cứu
Nghiên cứu đề xuất một giải pháp xây dựng nền tảng cho mobile cloud
computing tƣơng thích giữa hai hệ điều hành mobile khác nhau.

4. Đối tƣợng và phạm vi nghiên cứu
 Đối tƣợng nghiên cứu: Luận văn tập trung vào nghiên cứu nền tảng, giải
pháp mobile cloud computing tƣơng thích giữa hai hệ điều hành khác.
 Phạm vi nghiên cứu: Giới hạn trong dịch vụ nền tảng PaaS (Platform as a
Service).


5. Phƣơng pháp nghiên cứu
Tìm hiểu nền tảng, kiến trúc hiện tại của điện toán đám mây di động, đề xuất
nền tảng điện toán đám mây di động mới tƣơng thích giữa hai hệ điều hành mobile
khác nhau, cuối cùng là phân tích và đánh giá phƣơng pháp đề xuất trên nền tảng
điện toán đám mây di động mới.

6. Tổ chức luận văn
Dự kiến luận văn sẽ đƣợc cấu trúc với các chƣơng nhƣ sau:
Chƣơng 1: Tổng quan về điện toán đám mây di động


3

Chƣơng 2: Xây dựng nền tảng mobile cloud computing tƣơng thích giữa hai hệ
điều hành mobile khác nhau
Chƣơng 3: Thử nghiệm và đánh giá kết quả
Kết luận và hƣớng phát triển
Chƣơng 1: Giới thiệu một cách tổng quan về điện toán đám mây di động, kiến trúc,
các dịch vụ của điện toán đám mây. Đầu tiên là dịch vụ phần mềm (SaaS), dịch vụ
nền tảng (PaaS) và dịch vụ cơ sở hạ tầng (IaaS). Những ƣu điểm, nhƣợc điểm của 3
dịch vụ điện toán đám mây cở bản đã nêu, những thuận lợi và trở ngại khi sử dụng
dịch vụ điện toán đám mây.
Chƣơng 2: Phần đầu của chƣơng 2 giới thiệu một cách tổng quan về kiến trúc của
mô hình dịch vụ PaaS. Phần chính của chƣơng 2 là trình bày thiết kế hệ thống, kiến
trúc, giao thức: Bao gồm hệ thống client-server, VSPC Cloud system, ảo hóa hệ
điều hành Android và giao thức (Protocol) để giao tiếp giữa các máy client, server
và máy ảo.
Chƣơng 3: Tự xây dựng cài đặt chƣơng trình và áp dụng các thiết kế của hệ thống
VSPC nhằm mục đích kiểm tra lại hoạt của hệ thống, đánh giá hiệu năng, tốc độ,
tính sẵn sàng và độ tin cậy. Dựa trên các cơ sở đó đƣa ra những đề xuất hƣớng phát

triển tƣơng lai.
Kết luận và hƣớng phát triển: Trình bày kết luận của luận văn và các kiến nghị
định hƣớng nghiên cứu tiếp theo.


4

Chƣơng 1 - TỔNG QUAN VỀ ĐIỆN TOÁN ĐÁM MÂY
DI ĐỘNG
Thuật ngữ “điện toán đám mây di động” đã đƣợc giới thiệu không lâu sau khái niệm
“điện toán đám mây” ra mắt vào giữa năm 2007. Nó đã thu hút đƣợc sự chú ý của
các doanh nhân nhƣ một lựa chọn kinh doanh có lợi nhuận, làm giảm các chi phí
phát triển và chạy các ứng dụng di động, của ngƣời sử dụng di động nhƣ là một
công nghệ mới để trải nghiệm một loạt các dịch vụ di động với chi phí thấp, và các
nhà nghiên cứu nhƣ một hứa hẹn cho giải pháp IT xanh [3]. Phần này cung cấp một
cái nhìn tổng quan của MCC,bao gồm định nghĩa, kiến trúc, và lợi thế của MCC.

1.1 Điện toán đám mây di động là gì
[4] “MCC đề cập đến một cơ sở hạ tầng lƣu trữ và xử lý dữ liệu xảy ra bên
ngoài thiết bị di động. Ứng dụng đám mây di động di chuyển sức mạnh tính toán và
lƣu trữ dữ liệu từ điện thoại di động và vào các đám mây, các ứng dụng và tính toán
di động” của không phải chỉ ngƣời dùng điện thoại thông minh mà phạm vi rộng
hơn nhiều các thuê bao di động.
Aepona [5] mô tả MCC là một mô hình mới cho các ứng dụng di động, theo đó
việc xử lý dữ liệu và lƣu trữ đƣợc chuyển từ thiết bị di động vào các nền tảng mạnh
mẽ và tập trung đặt trong các đám mây. Các ứng dụng này sau đó đƣợc truy cập qua
kết nối không dây dựa trên trình duyệt web trên các thiết bị di động.
Ngoài ra, MCC có thể đƣợc định nghĩa là một sự kết hợp của web di động và
điện toán đám mây [6], [7], là công cụ phổ biến nhất cho ngƣời sử dụng di động để
truy cập vào các ứng dụng và dịch vụ trên Internet.

Tóm lại, MCC cung cấp cho ngƣời sử dụng di động với việc xử lý dữ liệu và các
dịch vụ lƣu trữ trong các đám mây. Các thiết bị di động không cần một cấu hình
mạnh mẽ (ví dụ, CPU tốc độ và dung lƣợng bộ nhớ) vì tất cả các mô-đun tính toán
phức tạp có thể đƣợc xử lý trong những đám mây.


5

1.2 Kiến trúc của điện toán đám mây di động

Hình 1.1: Kiến trúc MCC

Từ khái niệm của MCC, kiến trúc chung của MCC có thể đƣợc hiển thị trong hình
1.1. Trong hình 1.1, các thiết bị di động đƣợc kết nối với các mạng di động thông
qua các trạm (ví dụ, cở sở trạm phát (BST), điểm truy cập (access point), hoặc vệ
tinh) đƣợc thiết lập và kiểm soát các kết nối và giao diện chức năng giữa mạng và
các thiết bị di động. Yêu cầu của ngƣời dùng di động và thông tin (ví dụ nhƣ ID và
vị trí) đƣợc truyền đến các bộ vi xử lý trung tâm đƣợc kết nối với máy chủ cung cấp
dịch vụ mạng di động. Ở đây, nhà khai thác mạng di động có thể cung cấp dịch vụ
cho ngƣời sử dụng di động là AAA (authentication, authorization, and accounting )
dựa trên các home agent (HA) và dữ liệu của thuê bao đƣợc lƣu trữ trong cơ sở dữ
liệu. Sau đó, yêu cầu của thuê bao đƣợc chuyển giao cho một đám mây (cloud
controller) xử lý các yêu cầu để cung cấp cho ngƣời sử dụng di động với các dịch
vụ đám mây tƣơng ứng. Những dịch vụ này đƣợc phát triển với các khái niệm tiện
ích tính toán, ảo hóa và kiến trúc hƣớng dịch vụ (ví dụ web, ứng dụng, vá máy chủ
cơ sở dữ liệu).


6


Kiến trúc chi tiết của điện toán đám mây có thể khác nhau trong ngữ cảnh khác
nhau. Ví dụ, kiến trúc bốn lớp (4-layers) đƣợc giải thích trong [8] để so sánh điện
toán đám mây với điện toán lƣới (grid computing). Ngoài ra, một kiến trúc hƣớng
dịch vụ, đƣợc gọi là Aneka, đƣợc giới thiệu để cho phép các nhà phát triển xây
dựng ứng dụng .NET với sự hỗ trợ các giao diện lập trình ứng dụng (API) và nhiều
mô hình lập trình [9]. [10] trình bày một kiến trúc để tạo ra các đám mây hƣớng thị
trƣờng (karket-oriented). Trong bài báo này, chúng tôi tập trung vào một kiến trúc
đƣợc phân lớp (layered architecture) của điện toán đám mây (hình 1.2). Kiến trúc
này thƣờng đƣợc sử dụng để chứng minh hiệu quả của mô hình điện toán đám mây
trong việc đáp ứng yêu cầu của ngƣời sử dụng [12]

Hình 1.2: Kiến trúc điện toán đám mây hƣớng dịch vụ

Có rất nhiều loại dịch vụ của điện toán đám mây, Tuy nhiên các dịch vụ cơ bản của
nó bao gồm : Dịch vụ cơ sở hạ tầng (Infrastructure as a Service – IaaS), dịch vụ nền
tảng (Platform as a Service – PaaS), dịch vụ phần mềm (Software as a Service –
SaaS), dịch vụ phần cứng (Hardware as a Service).


7

1.2.1 Dịch vụ phần mềm (Software as a Service – SaaS)
Mô hình dịch vụ cho phép nhà cung cấp dịch vụ sẽ cung cấp cho khách
hàng các phần mềm dạng dịch vụ hoàn chỉnh. Dịch vụ phần mềm hoạt động theo
nền tảng muti-tenant. Khách hàng có thể lựa chọn phần mềm hoặc dịch vụ phù hợp
với nhu cầu. Phần mềm hoặc dịch vụ đó chạy trên nền tảng điện toán đám mây.
Mô hình này giải phóng ngƣời dùng khỏi việc quản lý hệ thống, cơ sở hạ tầng, hệ
điều hành… tất cả sẽ do nhà cung cấp dịch vụ quản lý và kiểm soát để đảm bảo ứng
dụng luôn sẵn sàng và hoạt động ổn định.
Các ví dụ phổ biến về các yêu cầu này bao gồm IBM® Lotus® Live, IBM Lotus

Sametime®, Unyte, Salesforce.com, Sugar CRM, và WebEx.
Các ứng dụng này thƣờng cung cấp
 Giao diện tƣơng tác với ngƣời sử dụng.
 Các chức năng ứng dụng đƣợc định nghĩa trƣớc.
 Cấu trúc cơ sở dữ liệu đƣợc định nghĩa trƣớc.
 Thông qua trình duyệt, Ngƣời sử dụng có thể truy cập đến các ứng dụng
bằng nhiều các thiết bị khác nhau nhƣ máy tính, điện thoại di động,…
Phân loại trong SaaS
 Chuyên về dịch vụ: Cung cấp các giải pháp kinh doanh cho các tổ chức,
cá nhân và doanh nghiệp. Chúng đƣợc bán thông qua một dịch vụ thuê
bao. Các ứng dụng loại này gồm: Quản lý quan hệ khách hàng, quản lý
nhân sự …
 Hƣớng khách hàng: Cung cấp dịch vụ cho những khách hàng cá nhân. Họ
chỉ việc đăng ký và sử dụng ứng dụng. Khách hàng hầu nhƣ không phải
trả phí. Mặt khác việc đăng ký sử dụng rất đơn giản, tƣơng tự nhƣ việc
đăng ký sử dụng email. Một số dịch vụ phổ biến hiện nay là google docs,
web mail, game …. Nhà cung cấp dịch vụ chủ yếu kiếm tiền nhờ vào
quảng cáo.


8

Những thuận lợi khi triển khai SaaS
 Đối với ngƣời sử dụng: Có rất nhiều lợi khi sử dụng SaaS nhƣ: Không
cần phải mua các thiết bị phần cứng đắt tiền, không phải lo bảo trì phần
mềm. Vì phần mềm đƣợc cài đặt trên web, truy xuất ứng dụng thông qua
trình duyệt nên có thể sử dụng bất cứ nơi nào, bất cứ thời điểm nào.
Ngoài ra họ cũng không cần phải lo lắng về bảo mật, phòng chống vi rút.
 Đối với nhà cung cấp dịch vụ: Nhà cung cấp dịch vụ không phải lo vấn
đề vi phạm bản quyền vì chỉ có một phần mềm duy nhất đƣợc cài đặt và

quản lý từ xa, hacker khó có thể lấy cắp dữ liệu của ứng dụng. Nhà cung
cấp dịch vụ có thể kiếm đƣợc nhiều tiền hơn nếu nhƣ có nhiều ngƣời sử
dụng dịch vụ, họ kiếm tiền cũng bằng cách thu tiền quảng cáo …
Những giới hạn khi thực hiện triển khai SaaS
 Khó đáp ứng nhu cầu của tất cả mọi ngƣời: Xây dựng đƣợc một ứng dụng
có khả năng đáp ứng đƣợc hết yêu cầu của mọi ngƣời là rất khó, điều này
đòi hỏi các nhà cung cấp dịch vụ phân tích yêu cầu nghiệp vụ rõ ràng
trƣớc khi triển khi ứng dụng nên SaaS.
 Chuyển đổi dữ liệu ngƣời sử dụng qua SaaS: Với các hệ thống lớn, có
dung lƣợng thông tin lớn thì vấn đề chuyển đổi dữ liệu lên SaaS sẽ gặp
khó khăn vì với các dữ liệu nhạy cảm với doanh nghiệp thì trƣớc khi đƣa
nên SaaS thì cần phải mã hóa thông tin.
 Có một số ứng dụng gần nhƣ không thể chuyển qua SaaS: Ví dụ nhƣ các
ứng dụng Business Intelligence, với khối lƣợng dữ liệu rất lớn, không thể
truyền tải qua mạng internet đƣợc, với lại dữ liệu này cần phải bảo mật
cao, nên rất khó để khách hàng đồng ý đƣa hết dữ liệu của họ lên internet
 Bảo mật là vấn đề cần thảo luận trong SaaS: Nhà cung cấp dịch vụ cần
phải có chính sách bảo mật tốt và phải có thoả thuận cấp dịch vụ hấp dẫn
thì khách hàng mới có thể tin tƣởng giao dữ liệu nên trên SaaS.


9

1.2.2 Dịch vụ nền tảng (Platform as a Service – PaaS)
PaaS cung cấp cho các nhà phát triển một nền tảng hoàn chỉnh bao gồm:
Phát triển ứng dụng, phát triển giao diện, phát triển cơ sở dữ liệu, lƣu trữ dữ liệu.
Đồng thời hỗ trợ phát triển sản phẩm phần mềm theo chu kỳ vòng đời nhƣ phát
triển, kiểm định, triển khai các ứng dụng và dịch vụ trên nền tảng điện toán đám
mây.
Các thành phần cốt lõi của PaaS

 Thiết kế (Design): Hỗ trợ ngƣời dùng thiết kế ứng dụng và giao diện
tƣơng tác với ngƣời sử dụng.
 Phát triển ứng dụng (Development): Hỗ trợ các công cụ cho phép ngƣời
sử dụng có thể thiết kế(Design), viết các mã lệnh nhằm đáp ứng các yêu
cầu nghiệp vụ và thực hiện kiểm thử phần mềm đã thực hiện
 Triển khai ứng dụng (Deployment): Cung cấp môi trƣờng triển khai các
ứng dụng hoặc dịch vụ thông qua môi trƣờng web.
 Tích hợp (Intergration): Cung cấp môi trƣờng cho phép tích hợp ứng
dụng phần mềm của ngƣời sử dụng nên môi trƣờng dịch vụ điện toán
đám mây. Lúc đó phần mềm ngƣời sử dụng trở thành dịch vụ phần mềm.
 Lƣu trữ (Storage): Cung cấp khả năng lƣu trữ bên vững cho các ứng dụng
và dịch vụ bao gồm : Lƣu trữ cơ sở dữ liệu (CSDL) và các file theo yêu
cầu.
 Hoạt động (Operation): Cung cấp khả năng duy trì hoạt động các ứng
dụng trong thời gian dài nhƣ sao lƣu, phục hồi và xử lý các ngoại lệ
(Exception) có liên quan tới hoạt động của ứng dụng.
Hiện nay rất nhiều các chuyên gia là việc trong 2000 công ty tin học hàng đầu
toàn công đều có nhận định chung, PaaS nhƣ là một cách phát triển, triển khai và
duy trì các ứng dụng và dịch vụ với giá thành rẻ.

1.2.3 Dịch vụ cơ sở hạ tầng (Infrastructure as a Service – IaaS )
IaaS thực là dịch vụ trung tâm, cung cấp khả năng truy xuất tài nguyên từ
xa. IaaS bao gồm một tập hợp các tài nguyên vật lí nhƣ các máy chủ, các thiết bị


10

mạng và các ổ lƣu trữ. Chúng đƣợc đƣa ra nhƣ là các dịch vụ để cung cấp cho ngƣời
tiêu dùng. Các dịch vụ ở đây hỗ trợ cơ sở hạ tầng ứng dụng - bất kể cơ sở hạ tầng đó
đang đƣợc cung cấp qua một đám mây hay không. Cũng nhƣ với các dịch vụ nền

tảng, sự ảo hóa là một phƣơng pháp thƣờng đƣợc sử dụng để tạo ra chế độ phân
phối các nguồn tài nguyên theo yêu cầu.
Ví dụ về các dịch vụ cơ sở hạ tầng bao gồm IBM Bluehouse, VMware, Amazon
EC2, Microsoft Azure Platform, Sun ParaScale Cloud Storage và nhiều hơn nữa.
Ƣu điểm IaaS
IaaS sử dụng công nghệ ảo hóa nên có thể thấy rõ sự tiết kiệm chi phí do việc sử
dụng nguồn lực hiệu quả mang lại.
Ngƣời dùng không cần quan tâm tới việc duy trì thiết bị phần cứng mạng, cũng
nhƣ những vấn đề rắc rối trong quá trình vận hành hệ thống mạng đem lại.
Nhƣợc điểm IaaS
Do nhiều nhà cung cấp dịch vụ cơ sở hạ tầng (IaaS) yêu cầu ngƣời sử dụng phải
trả tiền cố định theo dung lƣợng sử dụng/đơn vị thời gian, do vậy để giảm chi phí và
tận dụng thế mạnh công nghệ ảo hóa yêu cầu ngƣời sử dụng phải tính chính xác nhu
cầu thực sự cần dùng đối với hệ thống của họ.
Những yếu tố mà ngƣời dùng cần phải tính khi thuê bao IaaS nhƣ : Dung lƣợng
lƣu trữ, băng thông, khả năng tính toán và xử lý…

1.2.4 Lợi ích và trở ngại khi việc sử dụng PaaS
1.2.4.1 Lợi ích
Với triết lý: “Không cần cấu hình là cấu hình tốt nhất” (the best config,
deploy, patch is the one I don't have to do) , PaaS đem lại cho ngƣời sử dụng
nhiều lợi ích về các mặt thời gian và kinh tế. Trƣớc tiên với lập trình viên, PaaS
cung cấp sẵn các nền tảng để lập trình viên an tâm phát triển. Họ không cần lo
lắng về những bản vá lỗi của phần mềm, sự phức tạp trong việc setup một hệ
thống để lập trình, sự lo lắng khi tích hợp các gói khác nhau, và đến cả việc
deploy ứng dụng lên hệ thống cho ngƣời sử dụng. PaaS cung cấp một môi


11


trƣờng lập trình tối ƣu với nhiều công cụ hỗ trợ. Chi tiết hơn, các lợi ích của
PaaS mang lại là:
-

Chi phí về phần mềm (up front cost): là chi phí ban đầu cần thiết để sở hữu
một phần mềm. Đối với PaaS, chi phí ban đầu mua phần mềm đƣợc phân
phối cho nhiều ngƣời thuê. Do đó, ngƣời sử dụng không cần đầu tƣ nhiều về
phần mềm, phần cứng, các thiết bị mạng, các phần mềm và thiết bị trung
gian (middleware), cơ sở hạ tầng.

-

Chi phí vận hành phần mềm (operational cost): bao gồm các chi phí về nâng
cấp phần cứng và phần mềm, sự thích hợp của các gói. Với PaaS, những chi
phí trên đƣợc giảm thiếu hoặc ngƣời sử dụng chỉ chi trả trong thời gian dài
thông qua hình thức sử dụng.

-

Tính ổn định (reliability): PaaS cung cấp nhiều mức độ phát triển phần mềm
khác nhau. Mỗi mức độ đều có sự đảm bảo an toàn về thiết bị, và các cam
kết theo các tiêu chuẩn sử dụng thƣờng trực.

-

Chi phí quản lý (management cost): các hệ thống đƣợc hỗ trợ và do đó
ngƣời sử dụng không cần quan tâm nhiều đến việc cập nhật và bảo trì phần
mềm nền.

-


Mang lại lợi thế chiến lƣợc (strategic advantage): PaaS cung cấp chính là
chiến lƣợc phát triển dựa trên tiềm lực của từng doanh nghiệp.

-

Giảm thiểu rủi ro (lower risk): việc đầu tƣ CNTT là một đầu tƣ có rủi ro cao
về sự lạc hậu của công nghệ phần cứng và phần mềm. Với PaaS, càng nhiều
ngƣời sử dụng dịch vụ chứng tỏ dịch vụ theo kịp thời đại.

1.2.4.2 Trở ngại và khó khăn
Ứng dụng ĐTĐM mang lại rất nhiều lợi ích cho ngƣời sử dụng. Tuy nhiên,
điện toán đám mây sẽ là một lựa chọn hoàn hảo nếu nhƣ nó vƣợt qua những trở ngại
gặp phải khi hệ thống vận hàng. Những trở ngại khi sử dụng dịch vụ PaaS nói riêng
và những dịch vụ khác trong ĐTĐM nói chung bao gồm:


12

-

Trở ngại về bảo mật (security): Vấn đề bảo mật và thông tin riêng tƣ Security and Privacy: hacker và nhiều ngƣời cố ý có thể xâm nhập vào hệ
thống và truy xuất những dữ liệu nhạy cảm bên trong hệ thống.

-

Trở ngại về tính riêng tƣ (privacy): Các thông tin về ngƣời sử dụng nhƣ
tuổi, sở thích, giới tính, thu nhập có thể bị mất. Hơn thế nữa, ngƣời sử dụng
các dịch vụ đối mặt với những vấn đề về bản quyền và ý tƣởng.


-

Trở ngại về tính pháp lý: đối với các quốc gia nhƣ Việt Nam, những tranh
chấp và sự cố trong việc sử dụng các dịch vụ cloud computing đặt tại các
nƣớc khác là vấn đề liên quan đến các pháp luật liên chính phủ và cần có
những hành lang pháp lý ổn định.

-

Trở ngại khi chuyển đổi dịch vụ (hoặc chuyển sang sử dụng hệ thống cloud
khác): Ngƣời sử dụng dịch vụ cloud qua nhiều năm sẽ phải đối mặt với việc
chuyển đổi hệ thống. Do đó, việc chọn lựa hệ thống đầu tiên sử dụng sẽ là
bài toán về đầu tƣ. Sự trở ngại này đặc biệt đối với dịch vụ PaaS, khi đó,
ngƣời sử dụng phải chọn các yếu tố nhƣ: ngôn ngữ lập trình, các gói chƣơng
trình/phần mềm đã đƣợc lập trình. Một minh họa cụ thể là: các gói chƣơng
trình của Facebook chỉ thực hiện đƣợc trên nền tảng Facebook mà không
thực hiện đƣợc trên nền tảng khác.

1.3 Kết luận
Chƣơng 1 trình bày một cách tổng quan về điện toán đám mây di động, kiến
trúc, các dịch vụ của điện toán đám mây. Đầu tiên là dịch vụ phần mềm (SaaS),
dịch vụ nền tảng (PaaS) và dịch vụ cơ sở hạ tầng (IaaS). Những ƣu điểm, nhƣợc
điểm của 3 dịch vụ điện toán đám mây cở bản đã nêu, những thuận lợi và trở ngại
khi sử dụng dịch vụ điện toán đám mây.


13

Chƣơng 2 - XÂY DỰNG NỀN TẢNG MOBILE CLOUD
COMPUTING TƢƠNG THÍCH GIỮA HAI HỆ ĐIỀU HÀNH

MOBILE KHÁC NHAU
2.1 Tổng quan về PaaS
Cung cấp nền tảng tính toán và một tập các giải pháp nhiều lớp. Nó hổ trợ
việc triển khai ứng dụng mà không quan tâm đến chi phí hay sự phức tạp của việc
của việc trang bị và quản lý các lớp phần cứng và phần mềm bên dƣới, cung cấp tất
cả các tính năng cần thiết để hỗ trợ chu trình sống đầy đủ của việc xây dựng và
cung cấp một ứng dụng và dịch vụ web sẵn sàng trên Internet mà không cần bất kì
thao tác tải hay cài đặt phần mềm cho những ngƣời phát triển, quản lý tin học, hay
ngƣời dùng cuối. Nó còn đƣợc biết đến với một tên khác là cloudware.

2.1.1 Khái niệm và các định nghĩa
Cung cấp dịch vụ nền tảng (PaaS) bao gồm những điều kiện cho quy trình
thiết kế ứng dụng, phát triển, kiểm tra, triển khai và lƣu trữ ứng dụng có giá trị nhƣ
là dịch vụ ứng dụng nhƣ cộng tác nhóm, sắp xếp và tích hợp dịch vụ web, tích hợp
cơ sở dữ liệu, bảo mật, khả năng mở rộng, quản lý trạng thái, phiên bản ứng dụng,
các lợi ích cho cộng đồng phát triển và nghiên cứu ứng dụng. Những dịch vụ này
đƣợc chuẩn bị nhƣ là một giải pháp tích hợp trên web.


14

Hình 2.1: Mô hình PaaS

Mô hình PaaS cung cấp cho ngƣời dùng khả năng triển khai và phát triển ứng
dụng của chính họ trên hạ tầng cloud sử dụng các ngôn ngữ lập trình và công cụ do
nhà cung cấp cloud hỗ trợ (ví dụ java, python, .Net). Ngƣời dùng không quản lý hay
điều khiển lớp hạ tầng cloud bên dƣới nhƣ mạng, máy chủ, hệ điều hành hay lƣu trữ
mà chỉ có quyền quản lý ứng dụng của họ và một số cấu hình có thể đối với môi
trƣờng hosting ứng dụng đó. Một cách đơn giản, nếu trong IaaS ngƣời dùng kiểm
soát và sử dụng toàn bộ máy chủ đƣợc cấp thì trong PaaS, ngƣời dùng chỉ kiểm soát

và sử dụng một số dịch vụ cụ thể trên máy chủ đó, ví dụ nhƣ chỉ sử dụng và cấu
hình IIS để hosting web site của ngƣời dùng đó

Hình 2.2: Mối quan hệ giữa các nhóm điện toán trong đám mây và các phần tử
của PaaS


15

2.2 Thiết kế hệ thống và kiến trúc
2.2.1 Thi t k cơ sở

Hình 2 3:

ng dụng dữ liệu đầu vào của một điện thoại di động kh ng máy chủ

Hình 2.3 cho thấy logical dòng chảy dữ liệu ứng dụng đầu vào. Giả sử
ngƣời sử dụng gửi một lệnh ngắt tới CPU, sau khi nhận đƣợc lệnh ngắt, hệ điều
hành dừng các cộng việc hiện tại, đọc các dữ liệu đầu vào với trình điều khiển
tƣơng ứng và gửi dữ liệu đến Android framework., sau đó các Android framework
gói dữ liệu vào các sự kiện rời rạc (MotionEvent) và gửi chúng đến các dịch vụ liên
quan, ch ng hạng nhƣ dịch vụ Sersor Service, Input Method Service hoặc Location
Service; đồng thời nó sẽ gửi dữ liệu vào /dev/input/event cũng nhƣ trong các hình


16

thức mã hex. Cuối cùng các dịch vụ liên quan gửi các sự kiện rời rạc đến ứng dụng
chạy nền trƣớc.
REAN và Mosaic có đƣợc các dữ liệu ứng dụng đầu vào bằng cách đọc

/dev/input/event* tập tin sự kiện trong Android framework và hệ điều hành sửa đổi
trong Android Framework. Từ hình 2.3 chúng ta có thể thấy rằng chỉ có các vị trí đó
mới có thể ghi dữ liệu dầu vào, mà không sửa đổi trong lớp ứng dụng hệ điều hành.
Để làm điều này, ngƣời ta phát triển một ứng dụng, đặc biệt dành riêng để chặn các
dữ liệu đầu vào dành cho các mục tiêu ứng dụng. Tuy nhiên điều này bị cấm bởi các
ứng dụng Android Sandbox, cũng nhƣ các chính sách sandbox trong các hệ điều
hành di động khác, trong đó đảm bảo rằng dữ liệu không đƣợc phép chia sẽ giữa các
ứng dụng. Kết quả là các ứng dụng dữ liệu chuyên dụng ngăn chặn không thể truy
cập bất kỳ dữ liệu hoặc bộ nhớ của các ứng dụng đích. Vì vậy rõ ràng một điện
thoại di động một mình không thể giải quyết những thách thức và vần đề mà các
phƣơng pháp tiếp cận hiện nay gặp phải. Để khắc phục “cô lập” điều trở ngại này,
giới thiệu một thành phần thứ 2, tức là một cử chỉ trên màn hình cảm ứng (tap,
swipe, zoom,..) thứ nhất, phần cứng màn hình cảm ứng chụp cử chỉ này, chuyển nó
thành dữ liệu k thuật số và thông báo cho nhân Linux, bằng các thử nghiệm ngƣời
dùng có toàn quyền điều khiển máy chủ, bao gồm cả hệ điều hành Android đƣợc
sửa đổi; Cụ thể, có quyền root, có quyền truy cập để chỉnh sửa và biên dịch lại mã
nguồn hệ điều hành, có thể thay đổi cấu hình,…
tƣởng cơ bản của VSPC là các mục tiêu ứng dụng thực sự chạy trên máy chủ,
trong khi ngƣời dùng tƣơng tác với ứng dụng client trên điện thoại di động. Ngƣời
sử dụng không nhận ra là trong thực tế sử dụng một máy client. Lúc đầu, cài đặt các
ứng dụng mục tiêu trên các máy ảo trên máy chủ và client trên điện thoại di động.
Client cho thấy giao diện của ứng dụng mục tiêu trong thời gian thực trên điện thoại
di động, giống hệt nhƣ các ứng dụng mục tiêu đã đƣợc chạy trên điện thoại di động.
Kết quả là, ngƣời dùng chỉ cần tƣơng tác với các ứng dụng mục tiêu nhƣ bình
thƣờng, trong khi dƣới bề mặt client liên tục chuyển tiếp tất cả các dữ liệu đầu vào
(nhƣ cử chỉ màn hình cảm ứng, dữ liệu cảm biến và GPS) tới các máy ảo trên máy


17


chủ. Đồng thời giao diện của ứng dụng mục tiêu trên máy chủ đƣợc chuyển tiếp đến
các client và sau đó đƣợc hiển thị bởi client trên điện thoại di động. Các máy ảo trên
máy chủ nhận dữ liệu đầu vào từ các dịch vụ của hệ điều hành có liên quan và sau
đó lần lƣợt gửi đến ứng dụng mục tiêu. Các ứng dụng mục tiêu chạy trên máy ảo
với dữ liệu đầu vào chính xác, tƣơng tự vì nó sẽ chạy trên điện thoại di động. Nói
cách khác ngƣời dùng chạy các ứng dụng chính xác giống nhƣ các ứng dụng này đã
đƣợc chạy trên điện thoại di động. Các ứng dụng mục tiêu thực sự chạy trên các
máy ảo trên máy chủ, nhƣng với cùng một môi trƣờng (đầu vào, độ phân giải, kích
thƣớc màn hình, …) nhƣ thể nó đã đƣợc chạy trên điện thoại di động.
Trong chế độ bình thƣờng, VSPC chạy mà không có bất kỳ ghi dữ liệu hoặc dữ liệu
phát lại. Đó là ngƣời dùng điện thoại di động chạy các ứng dụng di động trên máy
chủ, trong khi tƣơng tác với các ứng dụng local client. Ngƣời dùng di động có thể
sử dụng chế độ này để kiểm tra VSPC. Một kịch bản khác có thể áp dụng cho chế
độ này ngƣời dùng di động muốn giảm tải một ứng dụng tài nuyên đó đến máy chủ
mạnh hơn rất nhiều. Trong chế độ record, VSPC chặn tất cả các dữ liệu đầu vào
thông qua các ứng dụng của client, nhƣ các ứng dụng mục tiêu chạy trên máy chủ.
Các dữ liệu thu thập đƣợc lƣu trữ trên đĩa. Một tùy chọn cấu hình cho phép ngƣời
sử dụng truy cập tới các dữ liệu đƣợc lƣu trữ trên điện thoại hoặc máy chủ hoặc cả
hai. Trong chế độ replay, VSPC đầu tiên cấu hình nơi để đọc dữ liệu (điện thoại
hoặc máy chủ), nới để replay (điện thoại hoặc server). Sau đó đọc dữ liệu đầu vào từ
đĩa, injects những sự kiện đầu vào, theo thứ tự ứng dụng mục tiêu di động trên thiết
bị đƣợc lựa chọn và phát lại các ứng dụng mục tiêu. Trong khi đó replay VSPC
không xử lý bất cứ yêu cầu dịch vụ Android local. Điều này tránh sự can thiệp nào
từ trạng thái hiện tại (nhƣ GPS mới hoặc accelerometer data).


18

. . Ki n tr c c a VSPC
Hệ thống Client – Server bao gồm điện thoại di động và máy chủ, nhƣ

trong hình 2.4 máy chủ và điện thoại di động đƣợc kết nối thông qua một kết nối
mạng tốc độ cao 300Mbps đến 1Gbps

Hình 2.4: VSPC g m điện thoại di động và máy chủ

VSPC chủ yếu dựa vào các API trong đám mây để quản lý vòng đời của các thiết bị
điện thoại thông minh ảo. Điều này cho phép chúng ta chứa nhiều môi trƣờng triển
khai khác nhau và dễ dàng. Ở mức độ cao, nó giống nhƣ một hệ thống máy thinclient có cấu hình tối thiểu của máy tính để bàn truyền thống. Có các yếu tố giống
giọng nói và video qua dịch vụ IP nhƣ XMPP hoặc SIP.
Các thành phần chính
+ Các ứng dụng của client trên điện thoại hay máy tính bảng của ngƣời sử
dụng
+ Các VSPC Overseer để xử lý xác thực, quản lý cơ sở dữ liệu và triển khai
máy ảo
+ Các VSPC Server phục vụ các client kết nối tới
+ Các thiết bị ảo “gold image” và sử dụng tập hợp các khối dữ liệu không đổi


×