Tải bản đầy đủ (.pdf) (24 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 (tt)

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.13 MB, 24 trang )

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 dộ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 sử dụng 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. 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ậntrong các diễn đàn về điện toán đám mây di


2

độ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 may 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
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: Cài đặt và đánh giá kết quả
Kết luận và kiến nghị
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:


3

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: 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à kiến nghị: 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 dung 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 la 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).
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 để


6

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).

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 mutitenant. 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.


7

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.

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..

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ị 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.

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 trường lập trình tối ưu với nhiều công cụ hỗ trợ

1.2.4.2 Trở ngại và khó khăn.
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.


8

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 qui 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.

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


9

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

2.2 Thiết kế hệ thống và kiến trúc
2.2.1 hi 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


10

(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 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ác
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 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


11

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.

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 thin-client 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
+ Bộ điều khiển đám mây phục vụ các API của đám mây cơ bản (nền tảng)


12

Hình 2 5: VSPC Cloud system

Ngoài ra có một sự lưa chọn Reverse proxy Load banlncer có thể được sử dụng trong việc
thực hiện.

Hình 2 6: Cân

ng tải VSPC system

2.2.2.1 VSPC Overseer
Các VSPC Overseer là Internet đầu tiên phải đối mặt với các thành phần

của hệ thống. Đây là những gì diễn ra trên DMZ.
Nó có trách nhiệm tiếp nhận các yêu cầu đăng nhập của người sử dụng, thực hiện thẩm định
đối với một cơ sở dữ liệu hoặc dịch vụ nhận diện bên ngoài, tạo ra và quản lý các máy ảo
trên đám mây.Thực thi một API cho khách hàng và máy chủ VSPC có thể truy cập. Nó cũng
bao gồm các điều khiển web cho người quản lý và client HTML5.

2.2.2.2 VSPC Server
Các VSPC Server là internet phải đối mặt với thành phần thứ 2 của hệ
thống. Điều này cũng đi vào vùng DMZ.


13

Nó có trách nhiệm tiếp nhận yêu cầu kết nối từ người sử dụng đã xác thực bằng VSPC
Overseer, bắt đầu triển khai máy ảo thông qua các VSPC Overseer và định tuyến thông điệp
đầu vào từ các kết nối client đến daemon VSPC chạy bên trong các thiết bị ảo.
Các Server được thiết kế modul và khả năng mở rộng rất nhiều trường hợp có thể chạy sau
một cân bằng tải để phục vụ một số lượng lơn người sử dụng đồng thời.

2.2.2.3 Virtual Vevice Image
Hình ảnh này đóng gói các hệ điều hành cốt l i của các thiết bị điện thoại
thông minh ảo, bao gồm các hạt nhân, tập tin khỏi động và các dịch vụ framework Android,
điện toán đám mây và ảo hóa nền tảng khác nhau xử lý hình ảnh này theo cách khác nhau,
ví dụ một hình ảnh Glance trong OpenStack hoặc một AMI trên Amazon EC2.

2.2.2.4 User Data Volumes
Khối lượng dữ liệu cung cấp lưu trữ cho người sử dụng “roaming
profiles.” Chúng thường được hổ trợ bởi khối lượng lưu trữ (OpenStack Cinder, Amazon
EBS) cung cấp bởi các cở sở hạ tầng điện toán đám mây.


2.2.2.5 Cloud controller
Bộ điều khiển đám mây không phải là một phần của phần mềm VSPC
Itelf, nhưng thực hiện một vai trò quan trọng trong hệ thống VSPC. Các VSPC Server được
cấu hình với các thông tin cho phép nó để thưc hiện tạo VM và xóa các hoạt động bảo trì
trên cơ sở hạ tầng điện toán đám mây phía dưới.
Khi điện thoại ảo mới máy ảo cần phải được tạo ra, các VSPC Server tạo một yêu cầu điều
khiển đám mây để tạo một máy ảo mới nhân bản từ hình ảnh thiết bị hiện tại. Nó cũng ra
lệnh cho các bộ điều khiển để đính kèm khối lượng dữ liệu của người dùng cho các yêu cầu
vưa tạo. Khi người dung đã đăng xuất và máy ảo bắt đầu nhàn rỗi, các VSPC Server ra lệnh
cho bộ điều khiển đám mây để xóa các yêu cầu, nhường chỗ cho các kết nối trong tương lai.

2.2.3 Virtual Device Structure
Android Open Source Project (AOSP) có thể biên dịch và chạy trên bộ xử lý x86
nhưng nó không có khả năng để tương tác từ xa. VSPC thêm một tập hợp các thiết bị ảo
đầu vào, đầu ra video trực tuyến và một số tùy chỉnh khác để giúp trải nghiệm truy cập từ xa
phong phú.
Các thành phần chính.
+ The central VSPC daemon
+ Touch-screen input ịnection


14

+ Virtual sensors
+ Location update pub/sub
+ Notification and Intent forwarding and re-broadcast
+ Virtual framebuffer, video endcoding, and streaming

Hình 2 7: VSPC máy ảo


2.2.3.1 VSPC daemon
Được gọi là VSPC Server sự kiện, daemon la điểm vào chính của người sử
dụng client đầu vào cho các thiết bị ảo.

2.2.3.2 Touch Input
Các sự kiện đầu vào cảm ứng cho máy ảo điện thoại thông minh được tạo
ra trên các ứng dụng của client là người sử dụng tương tác với video đang được hiển thị vào
chuyển tiếp đến điện thoại thông minh, máy ảo sử dụng bộ đệm giao thức.

2.2.3.3 Sensors

Hình 2 8: MotionEvent, SensorEvent, KeyEvent và các classer liên quan

 MotionEvent.


15

 SensorEvent
 KeyEvent.

2.2.3.4 Location
Một lợi thế của hệ thống VSPC có thể xử lý dữ liệu vị trí (GPS), với
phương pháp hiện tại ch ng hạng như RERAN và Mosaic, VSPC sử dụng các lớp
LocationListener để phân chia thông tin vị trí. LocationListener có 4 methods, trong 4
methds có một vài thông số đầu vào, như đã liệt kê trong hình 2.9. Bất cứ khi nào có sự thay
đổi vị trí, Android framework sẽ kích hoạt LocationListener để thông báo cho các target ứng
dụng. Đồng thời nó phân chia và ghi lại tất cả những tham số.

Hình 2 9: Lớp ocation istener và 4 methods với các tham số tƣơng ứng


2.2.4 VSPC Wire Protocol
Giao thức VSPC được xác định và tạo ra bằng cách sử dụng định dạng Protocol
Buffers (được gọi đơn giản là “protobuf”). Nó được sử dụng để tạo điều kiện giao tiếp giữa
các máy client, server và máy ảo. Mỗi tin nhắn là một trong hai “supertypes” hoặc là một
yêu cầu (Request) hoặc là đáp ứng (Response). Lưu ý rằng client có thể gửi tin nhắn yêu cầu
mà không chời đợi một Response và ngược lại.
Một Request và Response có một thuộc tính kiểu mô tả phụ của nó và lên đến một thuộc
tính tùy chọn kết hợp với kiểu phụ đó, ch ng hạng khi viết trong JSON, một yêu cầu thông
tin xoay (rotation) như sau:
{"type":"ROTATIONINFO","rotationInfo":{"rotation":0}}
Tuy nhiên một số tin nhắn chỉ có một loại mà không có thuộc tính bổ sung. Ví dụ khi viết
trong JSON, một yêu cầu thông tin màn hình như sau:
{"type":"SCREENINFO"}
Những loại tin nhắn có thể được xem bằng cách nhìn vào định nghĩa giao thức phia dưới.


16

Một ví dụ về trình tự giao thức bên dưới, nơi client xác nhận với Overseer thông qua API
REST của nó, mở một kết nối WebSocket với máy chủ và thiết lập một kết nối tới máy ảo.

Hình 2.11: Giao thức của hệ thống VSPC

Đầu tiên client login vào server Overseer, nơi client xác nhận với server Overseer thông qua
API REST của nó, kiểm tra client có đủ quyền để tiếp tục thực thi hay không, sau khi xác
thực client đủ quyền, mở một kết nối WebSocket với máy chủ và thiết lập một kết nối tới
máy ảo. Sau khi kết nối thành công tới máy ảo, client bắt đầu gửi thông điệp yêu cầu tới
máy ảo.


2.3 Kết chƣơng
Báo cáo đã lần lược đưa ra giải pháp thiết kế hệ thống, kiến trúc và
giao thức của nền tảng. Trong chương tiếp theo báo cáo sẽ xây dựng, tự 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.


17

Chƣơng 3 – THỬ NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ
3.1 Cài đặt
Môi trường cài đặt, phần cứng, phần mềm

3.1.1 Phần c ng
Về nguyên tắt, VSPC chỉ bao gồm điện thoại di động hoặc máy tính bảng và
một máy chủ bằng cách sử dụng các cở sở hạ tầng mạng hiện có, bên cạnh điện thoại và
máy chủ, một bộ định tuyến được sử dụng để thiết lập kế nối không dây giữa máy chủ và
điện thoại di động, các thông tin k thuật của thiết bị được liệt kê trong bảng 1.
ảng 3.1: các thiết ị đƣợc sử dụng trong hệ thống VSPC

Device

Specification

Android phone

quad-core

HTC one


1.2GHz Cortex-A7, 2GB RAM, 32 GB microSD

1.6GHz

Cortex-A15,

quad-core

Android OS, v5.0.1
iOS phone

Apple A4 1GHz

Iphone 4

ROM 8GB
iOS 7.1

Server

CPU 2.20 GHz Intel Xeon(R) 13GB RAM, 500

DELL POWERDGE

GB HD

T320

iOS Ubuntu 12.04


Router

300Mbps

iGate GW040 VNPT

3.1.2 Phần mềm
VSPC được thử nghiệm để chạy trên các môi trường sau đây.
Ở hệ điều hành android sử dụng core mã nguồn mở android 4.4 hiện có, bởi vì hiện tại
nó không có khả năng để tương tác từ xa, sau đó viết thêm một số module: bộ giao thức
(protocol) để giao tiếp giữa các máy client, server và máy ảo android, module quản lý
các sự kiện (Event).
Client: App Android được viết trên môi trường Android 4.0+ trở lên. App
iOS được viết trên môi trường iOS 7.1
Server: Web server sử dụng Node.js 0.10.2+ (node.js là một nền tảng chạy
trên môi trường v8 JavaScrip runtime một trình thông dịch JavaScrip cực


18

nhanh chạy trên trình duyệt). Database sử dụng hệ quản trị cơ sở dữ liệu
MongoDB 2.0+
Virtual Device VM: Linux KVM, Sử dụng Vmware Workstation Pro 12 làm
máy ảo để triển khai hệ điều hành android

3.1.3 Giới thiệu một số module c a nền tảng
-

Android Client (bên phía client). iOS Client (bên phía client. VSPC

Overseer (bên phía server). VSPC Server (bên phía server). VSPC
AOSP VM (bên phía ảo hóa).

3.2 Một số kết quả thử nghiệm
Đầu tiên tuy cập đến trang chủ của VSPC Overseer để đăng ký 1 tài khoản.

Hình 3.1: Giao diện trang chủ VSPC Overseer

Tiếp theo chọn vào Getstarted để đang ký tài khoản


19

Hình 3.2: Giao diện trang đăng ký th ng tin

Sau khi đăng ký tài khoản thành công, tiếp theo đăng nhập hệ thống

Hình 3.4: Trang login vao hệ thống

Sau khi đăng nhập hệ thống, tài khoản cần được approved mới có thể sử dụng được

Hình 3.4: Sau khi đăng nhập vào hệ thống VSPC Oversees trạng thái của tài khoản
cần đƣợc approved

Tiếp theo ở hình 3.5 hệ điều hành Android (core Android) khỏi động.


20

Các giao diện Android, tất cả mọi thứ từ các hình ảnh khởi động thông qua màn hình chủ, là

"hiển thị" để framebuffer ảo mà nó chọn của các mã video và gửi cho một ứng dụng client.
VGA giao diện điều khiển của máy ảo sẽ tiếp tục hiển thị khởi động core ban đầu như bạn
đã thấy.

Hình 3.5: Core hệ điều hành Android

Hình 3.6: Sau khi đăng nhập vào app

Hình 3.7: Tất cả các ứng dụng trên App
VSPC

3.3 Đánh giá
 Tính sẵn sàng


21

Như đã liệt kê trong bảng 3.2, sử dụng một cách ngẫu nhiên 30 ứng dụng từ Google
Play và được chia thành từng loại, bao gồm các trò chơi, công cụ, tin tức, thể thao, giáo dục,
mua sắm,vv. Đã ghi và phát lại thành công 30 ứng dụng này
ảng 3.2: Các ứng dụng VSPC đã ghi và phát lại thành c ng

Tên

Loại

Bible

Sách & Tài liệu tham khảo


Amazon Kindle

Sách & Tài liệu tham khảo

Bing Search

Sách & Tài liệu tham khảo

Tic Tac Toe Free

Game

Bubble Shooter Classic

Game

Crush Eggs

Game

Word search

Game

Chinese Checkers Wizard

Game

NBC news


Tin tức & Tập chí

BBC News

Tin tức & Tập chí

CNN News

Tin tức & Tập chí

Reddit is fun

Tin tức & Tập chí

Flipboard: News Magazine

Tin tức & Tập chí

photo editor

Photography

Emoji Keyboard

Photography

Evernote

Photography


Amazon for Tablets

Mua sắm

Best Buy

Mua sắm

NFL Fantasy Football

Thể thao

Sensor Box for Android

Công cụ

Sensors

Công cụ

File Manager

Công cụ

Shell Terminal Emulator

Công cụ

Clock


Công cụ

Adobe AIR

Công cụ

Amber Weather

Thời tiết


22

The Weather Channel

Thời tiết

TeachersPayTeachers

Giáo dục

Math Expert

Giáo dục

Bing Dictionary (ENG - CHN)

Giáo dục

 Độ trể

Mô hình client-server giới thiệu độ trể. Từ quan điểm của người sử dụng điện thoại
di động, phải mất bao lâu để có được một phản hồi đầu vào. Ví dụ giả sử nhấp chuột một
nút trên máy client, sau đó phải mất bao lâu cho đến khi nhận được thông báo rằng nhấp
chuột thực sự đã xảy ra? Như vậy, chúng ta định nghĩa độ trễ là khoảng thời gian giữa thời
điểm đầu vào xảy ra vào điện thoại di động và thời gian đầu vào có hiệu lực trên điện thoại
di động; đó là, thời gian trễ trọn vòng của đầu vào giữa các điện thoại di động và máy chủ.
Cân đo độ trẻ, thiết kế một ứng dụng để đo độ trể, đầu tiên màn hình chuyển sang màu đỏ
khi một sự kiện đầu vào kết thúc. Sau đó chạy ứng dụng trên VSPC và ghi lại thời gian khi
một sự kiện xảy ra trên điện thoại di động và thời gian khi màn hình màu đỏ. Ví dụ, đối với
trường hợp nhấp chuột, ghi lại thời gian khi ACTION UP của nhấp chuột xảy ra và thời
điểm nhấp chuột vào chỗ chuyển sang màu đỏ.

Hình 3 9: Thời gian trễ trọn vòng với nhiều loại đầu vào khác nhau

Đánh giá độ trễ cho năm loại khác nhau của đầu vào, với 10 rounds. Hình 3.9 cho thấy phát
hoạt của các kết quả. Như chúng ta có thể thấy, tất cả các độ trể ít hơn 450 milliseconds và
trung bình là dưới 350 milliseconds, mà không ảnh hưởng đến tính liên tục thực hiện ứng
dụng và chấp nhận được với hầu hết các thử nghiệm.
 Time and Space Overhead


23

Đo các chi phí thời gian. Bảng 3.3 cho thấy kết quả của 8 ứng dụng, đó là một trong hai
tocuh-intensive hoặc sensorintensive. Cột 2 là thời gian chạy ban đầu, đó là thời gian của
một ứng dụng đang chạy ở chế độ record. Cột 3 là thời gian Replay, đó là thời gian của các
ứng dụng đang chạy trong chế độ Replay với các dữ liệu tương ứng được ghi nhận. Cột 4 là
phí thời gian. Như chúng ta có thể thấy, chi phí thời gian dao động khoảng từ 2% đến 5%.
Ngoài ra còn kích thước của dữ liệu đầu vào recorded cho 8 ứng dụng. Ghi lại một số sự
kiện cho mỗi loại. Trong bảng 3.3 ME (MotionEvent), KE (KeyEvent), SE (SensorEvent), R

(Rotation) và L (Location). Chúng ta có thể thấy các sự kiện nhiều hơn, lớn hơn các kích
thước dữ liệu; và mỗi sự kiện chuyển động chiếm nhiều không gian hơn so với mỗi sự kiện
cảm biến.
ảng 3 3: Time and space overhead và số lƣợng của các sự kiện trong mỗi loại

App Name

Running time (seconds)

Data
Replay Overhead size
(KB)

# of
ME

# of
KE

# of
SE

# of
R

# of
L

KidsDoodle 192.74


199.98 4.7%

391.5

4471

5

0

0

0

Bible

155.17

159.58 3.6%

173.6

1789

9

0

0


5

Bing
Dictionary

134.45

138.03 2.8%

79.9

809

21

0

0

0

Bing
Search

174.98

179.80 2.9%

123.8


1519

12

0

0

9

BBC News

156.65

161.18 2.9%

137.8

14552 6

0

0

0

Amazon
Kindle

201.93


207.74 3.0%

98.4

1180

22

0

0

0

Pedometer

207.84

212.57 2.3%

860.7

141

6

21744 0

0


Sensor Box

236.76

263.16 2.5%

1200.6 39

14

26656 19

0

Original

 Độ tin cậy
Dữ liệu được lưu trữ một cách phân tán, điều này giúp tăng độ tin cậy, độ an toàn của
dữ liệu mỗi khi có sự cố hoặc thảm họa xảy ra. Việc tập trung dữ liệu từ nhiều người dùng
khác nhau sẽ giúp các chuyên gia bảo mật tăng cường khả năng bảo vệ dữ liệu của người
dùng.


24

KẾT UẬN VÀ HƢỚNG PHÁT TRIỂN
KẾT UẬN
Luận văn tập trung nghiên cứu 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. Luận văn đạt được một số kết quả sau:

-

Nghiên cứu và thử nghiệm các k thuật, giao thức để 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.

-

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.

-

Tự thiết kế và cài đặt hệ thống.

Ngoài ra luận văn còn có một số hạn chế như sau:
-

Hệ thống VSPC hiện không hổ trợ điện thoại di động ứng dụng yêu cầu thư viện của
bên thứ ba dựa trên ARM

-

Hiện tại hệ thống VSPC chỉ chạy được trên hai nền tảng Android và iOS

-

Dữ liệu dễ bị mất và đánh cắp, bởi vì tất cả ứng dụng đã được lưu trữ trên server,
không còn ở phía client

HƢỚNG PHÁT TRIỂN

Hiện tại hệ thống VSPC chỉ chạy được trên 2 nền tảng Android và iOS, trong tương
lai sẽ phát triển trên nhiều hệ điều hành như Window phone và blackberry. Tối ưu lại hệ
thống, phát triển thành bản thương mại.



×