Phần 1 NGHIÊN CỨU CÁC CHIẾN LƯỢC CỘNG TÁC VÀ ĐỒNG BỘ DỮ LIỆU 1.1 Một số chiến lược cộng tác dữ liệu và so sánh đánh giá giữa các công trình cộng tác dữ liệu trong môi trường di động
Trang 1ỦY BAN NHÂN DÂN TP.HCM
SỞ KHOA HỌC VÀ CÔNG NGHỆ
BÁO CÁO NGHIỆM THU
XÂY DỰNG MÔ HÌNH QUẢN LÝ CHIA SẺ DỮ LIỆU TRONG MẠNG NGANG HÀNG KHÔNG
DÂY
CHỦ NHIỆM ĐỀ TÀI
PGS.TS ĐỒNG THỊ BÍCH THỦY
THÀNH PHỐ HỒ CHÍ MINH THÁNG 5/2015
Trang 2Mục lục
PHẦN MỞ ĐẦU 1
Thông tin đề tài: 1
Mục tiêu 1
Nội dung 2
Sản phẩm đăng ký theo hợp đồng thực hiện đề tài dự án 2
Sản phẩm nộp của đề tài dự án 3
Chương 1 TỔNG QUAN VỀ TÀI LIỆU NGHIÊN CỨU 5
Phần 1 NGHIÊN CỨU CÁC CHIẾN LƯỢC CỘNG TÁC VÀ ĐỒNG BỘ DỮ LIỆU 5 1.1 Một số chiến lược cộng tác dữ liệu và so sánh đánh giá giữa các công trình 5
1.1.1 Sơ lược các công trình nghiên cứu liên quan đến phương pháp cộng tác dữ liệu trong môi trường di động 5
1.1.2 So sánh đánh giá các giải pháp cộng tác dữ liệu 18
1.2 Một số chiến lược nhất quán dữ liệu 20
1.2.1 Sơ lược các công trình nghiên cứu liên quan đến phương pháp nhất quán dữ liệu trong môi trường di động 20
1.2.2 So sánh đánh giá các giải pháp 27
Phần 2 NGHIÊN CỨU VỀ HỌC TẬP CỘNG TÁC TRONG MÔI TRƯỜNG DI ĐỘNG 28
1.3 Định nghĩa học tập cộng tác 28
1.4 Định nghĩa học tập di động 30
1.5 Học cộng tác với sự hỗ trợ của thiết bị di động 31
1.6 Kết luận 42
Chương 2 NỘI DUNG NGHIÊN CỨU 43
Phần 1 MÔ HÌNH QUẢN LÝ CHIA SẺ DỮ LIỆU TRONG MẠNG NGANG HÀNG KHÔNG DÂY 43
2.1 Xây dựng mô hình quản lý chia sẻ dữ liệu 43
2.1.1 Mô tả cấu trúc mô hình chia sẻ dữ liệu ngang hàng 43
2.1.2 Nguyên lý hoạt động tìm dữ liệu trên mô hình 44
2.1.3 Kiến trúc chi tiết tại mỗi MH 46
2.2 Các mô-đun xử lý trong mô hình 48
2.2.1 Nguyên lý gia nhập mạng của MH 48
2.2.2 Mô tả cấu trúc kho dữ liệu lưu cục bộ của mỗi MH 49
2.2.3 Mô-đun xử tìm kiếm dữ liệu 49
2.2.4 Mô-đun xử lý thu nạp dữ liệu 56
2.2.5 Mô-đun xử lý thay thế dữ liệu 59
2.2.6 Mô-đun xử lý Nhất quán dữ liệu 60
2.3 Kết luận 66
Trang 3Phần 2 XÂY DỰNG ỨNG DỤNG MINH HỌA MÔ HÌNH QUẢN LÝ CHIA
SẺ DỮ LIỆU 67
2.4 Mô hình kiến trúc và kịch bản thử nghiệm 67
2.4.1 Mô hình kiến trúc 67
2.4.2 Các hệ thống con của MES 68
2.5 Phân tích các chức năng của hệ thống MES 72
2.5.1 Hệ thống hỗ trợ thảo luận trong lớp học (Classroom Discussion System - CDS) 72 2.5.2 Hệ thống hỗ trợ học tập cộng tác theo nhóm trong lớp học(Classroom Cooperative System - CCS) 74
2.5.3 Hệ thống hỗ trợ đồng bộ dữ liệu (Data Consistency System - DCS) 75
2.6 Thiết kế giao diện 76
2.7 Giới thiệu hệ thống học cộng tác ngoài trời (outdoor) 78
2.7.1 Giới thiệu mô hình học tập cộng tác di động 78
2.8 Kịch bản thử nghiệm 79
Chương 3 KẾT QUẢ VÀ THẢO LUẬN 84
Phần 1 MÔ HÌNH QUẢN LÝ CHIA SẺ DỮ LIỆU TRONG MẠNG NGANG HÀNG KHÔNG DÂY 84
3.1 Tiêu chí và độ đo thử nghiệm 84
3.1.1 Tiêu chí đánh giá dựa trên kích thước kho lưu trữ (cache size): 84
3.1.2 Tiêu chí dựa trên số lượng MH: 85
3.2 Kết quả thử nghiệm so với các công trình khác 85
3.2.1 Tham số thiết lập mô phỏng 85
3.2.2 So sánh về tiêu chí kích thước kho lưu trữ 86
3.2.3 So sánh về tiêu chí số lượng MH 89
Phần 2 XÂY DỰNG ỨNG DỤNG MINH HỌA MÔ HÌNH QUẢN LÝ CHIA SẺ DỮ LIỆU 92
3.1 Kết quả thử nghiệm của hệ thống hỗ trợ dạy và học trong lớp 92
3.2 Kết quả thử nghiệm của hệ thống học cộng tác ngoài lớp 94
KẾT LUẬN VÀ ĐỀ NGHỊ 96
3.3 Các kết quả đạt được 96
3.3.1 Về mô hình cộng tác chia sẻ dữ liệu trong mạng ngang hàng không dây 96
3.3.2 Về ứng dụng hỗ trợ giảng dạy và học tập trong môi trường không dây 96
3.4 Hướng phát triển 97
Tài liệu tham khảo 98
Các công trình đã công bố 102
Trang 4
PHẦN MỞ ĐẦU
Thông tin đề tài:
Tên đề tài: Xây dựng mô hình quản lý chia sẻ dữ liệu trong mạng ngang hàng không dây
Chủ nhiệm đề tài/dự án:PGS TS Đồng Thị Bích Thủy
Cơ quan chủ trì: Trường ĐH Khoa học Tự Nhiên
Thời gian thực hiện: 12/2010 – 12/2011
Kinh phí được duyệt: 360 triệu
Kinh phí đã cấp: 220 triệu theo TB số: 288/TB-SKHCN ngày 21/12/ 2010
Mục tiêu
1) Xây dựng một mô hình quản lý chia sẻ dữ liệu trong mạng ngang hàng không dây
Mô hình xây dựng hướng đến một số vấn đề chính sau:
Xử lý truy vấn dữ liệu: Chúng tôi hướng tới việc thực hiện lưu trữ lại kết quả các
câu truy vấn trước đó tại các thiết bị di động (được gọi là kỹ thuật caching) để phục vụ cho các lần truy vấn sau nhằm giảm khả năng yêu cầu dữ liệu tại máy chủ, tiết kiệm năng lượng và chi phí của mạng không dây trong việc chuyển dữ liệu Việc lưu trữ lại dữ liệu tại mỗi thiết bị di động không chỉ phục vụ cho các yêu cầu dữ liệu của chính nó mà còn phục vụ cho các yêu cầu dữ liệu của các thiết bị lân cận
Xử lý thay thế dữ liệu: dữ liệu sau khi được lưu trữ tại thiết bị di động được gọi là
kho dữ liệu lưu (cache), khi kho dữ liệu lưu bị đầy vấn đề chúng ta phải làm như thế nào để loại bỏ dữ liệu không còn hợp lệ để thay thế bằng dữ liệu mới một cách chính xác, kịp thời
Xử lý đồng bộ dữ liệu: đảm bảo dữ liệu lưu tại kho dữ liệu luôn được nhất quán
với dữ liệu gốc ban đầu
2) Xây dựng mô phỏng mô hình đề xuất thông qua công cụ mô phỏng mạng
3) Xây dựng một ứng dụng thử nghiệm trong lĩnh vực giáo dục có áp dụng mô hình đề xuất
Trang 5Tài liệu báo cáo
2 Đề xuất mô hình quản lý ứng dụng chia sẻ dữ liệu giữa các
MH
Mô hình
3 Phân tích, thiết kế cấu trúc kho dữ liệu lưu cục bộ tại mỗi
MH phục vụ truy vấn, đồng bộ, thay thế dữ liệu,…
Cấu trúc, nguyên lý hoạt động của kiến trúc
4 Đề xuất các giải pháp liên quan để hiện thực hóa cấu trúc
2 Xây dựng ứng dụng thực tế để thử nghiệm tính khả thi
của mô hình đề xuất
Ứng dụng thử nghiệm
SẢN PHẨM NGHIÊN CỨU
1 Mô hình và nguyên lý hoạt động
của mô hình trong việc chia sẻ
2 Giải pháp thực hiện và các thuật
toán đi kèm
Giải pháp, thuật toán đề nghị đưa ra hiệu quả và được so sánh đánh giá với các công trình nghiên cứu trước đó
Báo cáo, Tài liệu
3 Chương trình thử nghiệm mô
phỏng
Mô phỏng được kiến trúc đã đề xuất Báo cáo,
Tài liệu,
CD - ROM
Trang 65 Bảng số liệu, Sơ đồ Các bảng số liệu kết quả chạy thực
nghiệm và các biểu đồ so sánh dựa trên bảng số liệu
Báo cáo, Tài liệu,
CD – ROM
6 Bài báo khoa học 2 bài báo đăng ở hội nghị quốc tế hoặc
hội nghị quốc gia
Báo cáo, Tài liệu,
CD – ROM
Tài liệu báo cáo vè
Nghiên cứu hiện trạng
3 Phân tích, thiết kế cấu trúc kho dữ liệu lưu cục bộ tại mỗi
MH phục vụ truy vấn, đồng bộ, thay thế dữ liệu,…
Tài liệu báo cáo về Cấu
trúc, nguyên lý hoạt động của kiến trúc
( Phần 1 – Chương 3)
2 Xây dựng ứng dụng thực tế để thử nghiệm tính khả thi
của mô hình đề xuất
Ứng dụng thử nghiệm chia
sẻ thông tin học tập
(Phần 2 - ở các Chương 1, 2, 3)
SẢN PHẨM NGHIÊN CỨU
1 Mô hình và nguyên lý hoạt động Chia sẻ dữ liệu giữa các thiết bị di Báo cáo,
Trang 7của mô hình trong việc chia sẻ
Báo cáo, Tài liệu
3 Chương trình thử nghiệm mô
phỏng
Mô phỏng được kiến trúc đã đề xuất Báo cáo,
Tài liệu,
CD - ROM
5 Bảng số liệu, Sơ đồ Các bảng số liệu kết quả chạy thực
nghiệm và các biểu đồ so sánh dựa trên bảng số liệu
Báo cáo, Tài liệu,
CD – ROM
6 Bài báo khoa học 2 bài báo đăng ở hội nghị quốc tế hoặc
hội nghị quốc gia
Báo cáo (2 bài báo), Tài liệu, CD – ROM
7 Đào tạo nghiên cứu 5 Luận văn tốt nghiệp đại học (ĐH), 1
cao học (CH)
Thông tin thể hiện ở mục Công trình công
bố - Sản phẩm đào tạo
Trang 8Chương 1
TỔNG QUAN VỀ TÀI LIỆU NGHIÊN CỨU
Tóm tắt chương:
Nội dung chương 1 trình bày gồm 2 phần chính: phần 1 trình bày hiện trạng nghiên cứu
về các chiến lược cộng tác dữ liệu và đồng bộ dữ liệu; phần 2 trình bày hiện trạng nghiên cứu về học tập di động và học tập di động cộng tác
Nội dung chi tiết của Phần 1:
Giới thiệu và phân tích một số phương pháp cộng tác dữ liệu trong môi trường di
Khảo sát các hệ thống về học tập di động và học tập di động cộng tác trên thế giới
Phần 1 NGHIÊN CỨU CÁC CHIẾN LƯỢC CỘNG TÁC VÀ ĐỒNG BỘ
DỮ LIỆU
1.1 Một số chiến lược cộng tác dữ liệu và so sánh đánh giá giữa các công trình
cộng tác dữ liệu trong môi trường di động
1) Lưu trữ dữ liệu (CacheData)
Trong công trình nghiên cứu [4], tác giả Liangzhong Yin đã đề xuất kỹ thuật lưu
trữ dữ liệu của các MH (Mobile Host) trung gian trên đường định tuyến Công trình nghiên cứu chỉ rõ các MH trung gian trên đường định tuyến nhận dữ liệu từ MH khác, phải lưu trữ dữ liệu vào bộ nhớ cục bộ để phục vụ cho yêu cầu trong tương lai thay vì gửi yêu cầu lên máy chủ BS (Base Station) Các MH trên đường định tuyến lưu trữ dữ liệu, không lưu đường dẫn Tuy nhiên, chiến lược lưu trữ này không hiệu quả vì nếu cùng một hạng mục dữ liệu di mà có nhiều MH gần nhau cùng lưu trữ, không những gây lãng phí
bộ nhớ kho lưu trữ mà còn tăng chi phí duy trì Vì thế chiến lược lưu trữ dữ liệu (CacheData) không phù hợp với kiến trúc mạng cộng tác chia sẻ dữ liệu theo nhóm nơi
Trang 9mà các MH bị giới hạn không gian bộ nhớ lưu trữ cục bộ Do đó công trình nghiên cứu chỉ ra rằng: không lưu trữ dữ liệu nếu tất cả yêu cầu đến từ cùng một MH
1.1.1.1 Lưu trữ định tuyến (CachePath)
Để giải quyết những hạn chế của kỹ thuật lưu trữ dữ liệu, tác giả [4] đã đưa ra kỹ thuật lưu trữ đường định tuyến: các MH lưu trữ đường định tuyến của MH chứa dữ liệu gần nhất, trong tương lai có thể định hướng quá trình tìm kiếm nhanh hơn Trong môi trường mạng di động, các MH lưu trữ hay thay thế dữ liệu do sự giới hạn về kích thước
bộ nhớ cục bộ Tuy nhiên, trong môi trường mà các MH thường xuyên di chuyển nên đường định tuyến từ MH nguồn đến MH đích cũng thay đổi Vì vậy việc lưu trữ đường định tuyến từ MH nguồn đến MH đích không còn chính xác Để giải quyết vấn đề trên,
MH nguồn chỉ lưu trữ đường định tuyến đến MH đích khi khoảng cách giữa hai MH này ngắn hơn khoảng cách đến BS Hay nói cách khác, lưu lại địa chỉ của MH trả dữ liệu về (MH đích) để lần truy vấn trong tương lai có thể biết chính xác MH nào có dữ liệu yêu cầu
Hình 1-1 Mô hình mạng ad hoc
Ví dụ trong Hình 1-1, MH1 yêu cầu dữ liệu di từ MH11, khi MH3 trả dữ liệu về cho
MH1, MH3 biết rằng MH1 đã có lưu dữ liệu di vào trong bộ nhớ cục bộ Ở lần tìm kiếm khác, như MH2 muốn có dữ liệu di, lúc này MH3 biết rằng di ở MH1 gần hơn so với MH11,
do đó MH3 sẽ đưa yêu cầu tìm kiếm sang MH1 thay vì MH11.
2) Kết hợp lưu trữ dữ liệu và đường định tuyến (HybridCache)
Để giải quyết hạn chế cho kỹ thuật lưu trữ dữ liệu và lưu trữ định tuyến, tác giả đã đưa ra kỹ thuật kết hợp lưu trữ dữ liệu và đường dẫn (Hybrid Cache) [4] HybridCache dựa vào 3 tham số chính chính: kích thước dữ liệu (S), thời gian sống dữ liệu (TTL), số lượng bước nhảy (Hsave) Cụ thể các trường hợp sử dụng các tham số này cho các kỹ thuật CacheData, CachePath và HybridCache được trình bày trong Bảng 1-1.
Trang 10Bảng 1-1 Các trường hợp sử dụng CacheData, CachePath và HybridCache
T TTL TTLi> TTTL Lưu trữ
T H Hsave> TH Hsave> TH và có đủ không gian bộ nhớ Nếu kích thước Si không vượt quá ngưỡng tham số Ts thì sử dụng CacheData và CachePath Nếu giá trị TTL nhỏ hơn một giới hạn TTTL thì dữ liệu di không sử dụng CachePath, ngược lại TTL lớn hơn giá trị TTTL thì sử dụng CachePath Nếu Hsave lớn hơn giá trị Th thì sử dụng CachePath, ngược lại CachePath sẽ không được sử dụng, sử dụng CacheData khi có đủ không gian lưu trữ Tuy nhiên CacheData, CachePath và HybridCache có hạn chế là mỗi khi có sự thay thế trên CacheData, hay MH thường xuyên
di chuyển thì tốn thêm thời gian xử lý cho cập nhật CachePath trên MH lân cận
Một đặc điểm của môi trường mạng không dây là các MH rất hạn chế về khả năng
xử lý và lưu trữ, hạn chế về không gian bộ nhớ, các thuật toán trên không thể hiện được tính cộng tác giữa các MH
Hình 1-2 Kiến trúc COCA [3][5]
Trang 11Interface Cards Global
Interface Cards MSS
MSS
0.Request 1 Local cache hit
Interface Cards Global
Interface Cards MSS
2.Local cache miss
3.Global cache hit 4.Global cache miss
MH
MH
Hình 1-3 Cơ chế hoạt động của kiến trúc COCA [3][5]
yêu cầu dữ liệu từ người dùng, đầu tiên MH nguồn sẽ tìm kiếm dữ liệu yêu cầu trong bộ nhớ cục bộ Nếu dữ liệu không được tìm thấy trong bộ nhớ cục bộ thì yêu cầu tìm kiếm sẽ được gửi đến các MH trong vùng (các MH liên kết với MH nguồn qua 1 bước liên kết) đồng thời chờ dữ liệu được phát từ máy chủ (MSS) ở kênh truyền xuống (broadcast) Trong lúc chờ dữ liệu được phát, nếu một trong số các MH đích trong vùng hồi đáp dữ liệu yêu cầu cho MH nguồn trước khi dữ liệu được máy chủ phát, MH nguồn gởi yêu cầu đến MH đích hồi đáp sớm nhất để yêu cầu truy xuất dữ liệu Trong trường hợp không có
MH trong vùng nào hồi đáp dữ liệu yêu cầu trong một khoảng thời gian nhất định, MH nguồn chờ dữ liệu được máy chủ phát trên kênh truyền xuống Nếu dữ liệu yêu cầu được phát trên kênh truyền xuống trước khi các MH vùng hồi đáp, MH nguồn lấy dữ liệu trên kênh truyền lên mà không cần gửi thông tin truy xuất dữ liệu đến các MH trong vùng Tuy nhiên, nếu dữ liệu vẫn không được tìm thấy từ kênh truyền xuống và các MH trong vùng thì yêu cầu tìm kiến sẽ được gửi đến máy chủ (MSS) qua kênh truyền Point-to-Point
(Cache miss)
Kiến trúc COCA đã cho thấy sự hiệu quả trong truy vấn dữ liệu, giảm thời gian hồi đáp khi có yêu cầu dữ liệu từ một MH bất kì Tuy nhiên, trong môi trường HTTT DĐ các
Trang 12MH thường xuyên phải di chuyển nên khả năng mất kết nối xảy ra rất cao, công trình nghiên cứu không đề cập đến vấn đề xử lý mất kết nối khi MH ra khỏi vùng dịch vụ mạng Bên cạnh đó, việc cộng tác chia sẻ dữ liệu giữa các MH trong vùng và chiến lược thay thế dữ liệu khi bộ nhớ cục bộ đầy là một phần rất quan trọng và không thể thiếu trong môi trường mạng không dây, nơi mà các MH hạn chế về tài nguyên và kho lưu trữ Những vấn đề này được giải quyết trong công trình nghiên cứu [6]
MH nguồn có thể lưu trữ tại các MH khác trong vùng nếu bộ nhớ cục bộ của MH nguồn
bị đầy Nếu các MH đích nằm ngoài vùng của MH nguồn, thì MH nguồn sẽ xóa đi những
dữ liệu ít được truy cập nhất để giải phóng không gian bộ nhớ cục bộ Sau khi các MH trong vùng gửi dữ liệu trả về cho MH nguồn, MH nguồn sẽ cập nhật lại nhãn thời gian (timestamp) trong lần truy cập gần nhất để dữ liệu có thời gian sống dài hơn trong vùng cộng tác
MH nguồn sẽ lưu trữ hạng mục dữ liệu đó nếu bộ nhớ cục bộ còn trống Tuy nhiên, để tăng không gian lưu trữ khi bộ nhớ cục bộ đầy, MH nguồn phải loại bỏ những hạng mục
dữ liệu cũ để thay thế những hạng mục dữ liệu mới Những hạng mục dữ liệu được truy cập nhiều nhất luôn được giữ lại trong bộ nhớ cục bộ, những hạng mục dữ liệu ít được truy cập trong một khoảng thời gian dài sẽ bị loại bỏ khỏi bộ nhớ cục bộ Trong vùng, những dữ liệu bị trùng lắp với số lượng lớn sẽ được thay thế đầu tiên để tăng không gian
bộ nhớ cục bộ
về năng lượng và thường xuyên di chuyển nên dễ xảy ra mất kết nối với máy chủ Để giải quyết vấn đề này, nhóm tác giả đưa ra giải pháp ghi nhận lại thời gian
last_signature_update_ts khi MH phát tín hiệu “broadcast” để cập nhật thông tin dữ liệu
đến các MH khác trong vùng Ngoài ra còn ghi lại thời gian disconnection_ts khi MH mất
Trang 13kết nối, khi MH tham gia vào mạng (kết nối lại) thì disconnection_ts được kèm theo khi
MH phát tín hiệu “broadcast” đến các MH khác trong vùng Nếu
last_signature_update_ts < disconnection_ts: có nghĩa là các MH trong vùng trả lời cho
biết MH hợp lệ, còn ngược lại thì không
Công trình nghiên cứu [6] đã giải quyết được vấn đề lưu trữ, thay thế dữ liệu và vấn
đề mất kết nối của các MH Tuy nhiên, trong môi trường HTTT DĐ, tuy nhiên chưa đưa
ra được chiến lược lưu trữ cộng tác dữ liệu giữa các MH trong vùng và chiến lược thay thế dữ liệu cũng chưa được hiệu quả Bên cạnh đó, công trình nghiên cứu cũng không quan tâm đến vấn đề định tuyến (routing) – nghĩa là khi một yêu cầu truy xuất dữ liệu không tìm thấy tại cục bộ hoặc trong nhóm thì định tuyến sẽ giúp cho MH truy xuất dữ liệu tới các MH ngoài vùng (các MH liên kết với MH nguồn nhiều hơn 1 bước liên kết) Các vấn đề này được giải quyết trong công trình nghiên cứu [2] của nhóm tác giả Narottam Chand, và được chúng tôi trình bày trong phần tiếp theo
5) Chiến lược cộng tác nhóm dựa trên vùng (clusters)
Nhóm tác Narottam đề xuất mô hình cộng tác vùng (Cluster Cooperative - CC) cho chiến lược lưu trữ trong môi trường mạng không dây [2] Mô hình CC được đặc trưng bởi
đồ thị G = (V, E), trong đó V là số lượng các MH (MH1, MH2, …MHn), E đặc trưng cho đường nối kết giữa Vi, Vj Kí hiệu cho hai MH có thể giao tiếp với nhau bằng đường dẫn (u,v) Kiến trúc mạng được chia thành nhiều phần bằng nhau dựa vào vị trí vật lý được
mô tả trong Hình 1-4
Hình 1-4 Mô hình phân chia thành các vùng Kích thước lớn nhất có thể có trên một vùng là 1 bước nhảy Mỗi MH trong vùng đảm nhận một trong hai vai trò: CSN (cache status node) và MH lưu trữ CSN lưu trữ danh sách thông tin kho lưu trữ của các MH khác trong vùng cùng với khoảng thời gian sống TTL (time to live) của từng thông di dữ liệu
Trang 14Với sự phân chia các MH thành các vùng thì mỗi sự chuyển động của MH được
chia thành 2 loại: intra-cluster và inter-cluster Intra-cluster là di chuyển trong cùng một
vùng, đối với loại di chuyển này thì CSN không cần phải cập nhật lại thông tin kho lưu
trữ của các MH khác Ngược lại loại di chuyển inter-cluster là di chuyển ra ngoài vùng hiện hành nên thông tin kho lưu trữ sẽ bị thay đổi, nhóm tác giả chia sự di chuyển inter-
cluster thành hai loại: CSN di chuyển và MH dữ liệu di chuyển
Trước khi MH dữ liệu di chuyển, thông tin được gửi đến CSN để CSN cập nhật lại trạng thái thông tin các kho lưu trữ Khi MH dữ liệu tham gia nhóm, nó sẽ phát thông điệp xin gia nhập đến các MH trong vùng mới gia nhập Nếu MH lân cận nhận được thông điệp, nó gửi trả về địa chỉ của CSN Dựa vào thông tin này MH dữ liệu gửi thông tin bộ nhớ cục bộ đến CSN Sau khi cập nhật thông tin kho lưu trữ của MH dữ liệu thành công, CSN báo trả về lại cho MH dữ liệu Trong trường hợp khi MH dữ liệu không nhận được thông tin địa chỉ của CSN thì nó trở thành một CSN mới
Khi CSN di chuyển ra ngoài vùng thì sẽ chọn lựa một MH dữ liệu trong vùng đảm nhận vai trò CSN Quá trình thay thế CSN như sau: CSN chọn ra MH phù hợp nhất (tuy nhiên công trình nghiên cứu chưa nói rõ tiêu chí nào phù hợp nhất) Tất cả các thông tin trạng thái bộ nhớ sẽ được di chuyển sang MH mới đó CSN sẽ gửi thông tin cho các thành viên cập nhật CSN mới CSN cũ sẽ xóa hết thông tin về kho lưu trữ của các MH trong vùng hiện hành và xử lý gia nhập vào vùng mới
Khi nhận được yêu cầu tìm kiếm thì quá trình thực hiện xảy ra một trong các trường
hợp sau: Local hit (dữ liệu được tìm thấy trên kho lưu trữ), Cluster hit (dữ liệu được tìm thấy trên vùng tại CSN), Remote hit (dữ liệu được tìm thấy thông qua các CSN khác),
Global hit (dữ liệu được tìm trên máy chủ)
Hình 1-5 Gói tin yêu cầu dữ liệu từ MHi nguồn đến MHs đích
Trang 15Trong Hình 1-5, khi MHi cần dữ liệu dx, đầu tiên nó sẽ kiểm tra trong bộ nhớ cục bộ của chính nó Nếu dữ liệu dx được tìm thấy thì kết quả sẽ được trả về Nếu dữ liệu không được tìm thấy, MHi sẽ gửi gói tin “lookup” yêu cầu tìm kiếm lên CSN CSN dựa vào
thông tin tìm kiếm đó để tìm trong danh sách các cluters có dữ liệu dx Nếu dữ liệu được tìm thấy thì CSN gửi 1 gói tin “ack” đến MHi, trong gói tin “ack” chứa thông tin địa chỉ của MH đích có chứa dx Lúc này MHi gửi gói tin “confirm” tới MH đích có địa chỉ vừa nhận được từ gói tin “ack” và dữ liệu được trả về cho MHi Nếu gói tin “ack” từ CSN là rỗng, nghĩa là trong vùng không có dữ liệu cần thiết MHi sẽ gửi gói tin yêu cầu đến các
MHa bên cạnh Tiếp tục lại thao tác tìm kiếm tại MHa tương tự như tại MHi cho đến khi tìm thấy dữ liệu và MH đích sẽ gửi dữ liệu ngược lại về cho MHi theo đường định tuyến
đã hình thành trong quá trình tìm kiếm (tuy nhiên công trình nghiên cứu [2] không nêu rõ đến khi nào sẽ yêu cầu lên máy chủ) Dữ liệu hồi đáp bao gồm các thông tin: chỉ mục dữ liệu, dữ liệu thật sự và thời gian sống của dữ liệu đó
Chiến lược lưu trữ dữ liệu: khi nhận được dữ liệu, việc đầu tiên MHi sẽ lưu trữ trên bộ nhớ cục bộ của chính nó, nếu không gian bộ nhớ không đủ chỗ, MHi sẽ loại bỏ một hạng mục dữ liệu có giá trị utility thấp nhất Nếu vẫn không đủ chỗ, thì MHi sẽ gửi thông tin lên CSN để được nhận về địa chỉ của MH có không gian bộ nhớ đủ chỗ để lưu trữ Nếu nhận được địa chỉ của MH có đủ không gian lưu trữ thì MHi sẽ di chuyển dữ liệu đến MH đó, nếu không có MH nào thỏa thì dữ liệu bị loại bỏ
Chiến lược thay thế dữ liệu bằng LUV-Mi (Lest Utility Value with Migration)
Thuật toán MHV-Mi bao gồm 2 khung xử lý chính: thay thế và di chuyển để chọn ra dữ liệu cần thay thế dựa vào 4 yếu tố chính:
được cho bởi công thức sau:
Với ai là tỷ lệ truy cập vào một dữ liệu di, N là tổng số dữ liệu trên cơ sở dữ liệu, ai được tính theo công thưc sau:
Với K là số lần truy cập vào dữ liệu di, tc là lần truy cập hiện tại, tik là nhãn thời gian truy cập cũ nhất
Trang 16Distance: б là khoảng cách tính theo số lượng bước nhảy từ MH chứa dữ liệu và MH yêu
cầu
Size: kích thước dữ liệu (S)
Vậy công thức tổng quát để tính khi thay thế dữ liệu:
Công trình nghiên cứu [2] đã tối ưu được không gian bộ nhớ cục bộ (không trùng lắp dữ liệu) Dùng cộng tác theo vùng để tăng khả năng cộng tác chia sẽ dữ liệu Chiến lược thay thế dữ liệu LUV-Mi hiệu quả Mục tiêu chính của công trình nghiên cứu là giảm khả năng trùng lắp dữ liệu và cung cấp môi trường cộng tác tốt hơn Tuy nhiên, trong thực tế việc chia các vùng mạng thành các ô vuông nhỏ là vấn đề rất phức tạp và khó thực hiện được Bên cạnh đó, trong môi trường mạng không dây, khả năng mất kết nối cao, việc sử dụng CSN lưu giữ thông tin bộ nhớ cục bộ của các MH là không hợp lý, khi CSN mất kết nối, dẫn đến tất cả các MH trong vùng quản lý của CSN cũng mất kết nối theo Hơn nữa, các MH luôn luôn hạn chế khả năng tính toán và không gian lưu trữ, công trình nghiên cứu không đề cập đến vấn đề tổ chức cấu trúc dữ liệu lưu trữ như thế nào
6) Chiến lược lưu trữ cộng tác dữ liệu theo nhóm (GroupCaching)
Các điểm hạn chế của công trình nghiên cứu [2] được giải quyết trong công trình nghiên cứu [1] của nhóm tác giả Yi-Wei Ting Trong môi trường mạng không dây, một
MH có thể giao tiếp các MH bất kì ở mọi nơi và bất cứ lúc nào Kỹ thuật lưu trữ cộng tác
dữ liệu có thể tăng khả năng truy cập dữ liệu Tuy nhiên, các MH thường xuyên di chuyển, bên cạnh đó sự giới hạn về băng thông và năng lượng tiêu thụ dẫn đến tỉ lệ có dữ liệu trong vùng thấp và thời gian truy vấn dữ liệu tăng cao Công trình nghiên cứu [1] đề
ra kỹ thuật quản lý chia sẻ cộng tác dữ liệu theo nhóm, cho phép các MH trao đổi thông
tin liên lạc với nhau qua một bước nhảy Với việc sử dụng kĩ thuật GroupCaching, thông
tin trạng thái bộ nhớ cục bộ được trao đổi và duy trì trong nhóm sau mỗi chu kỳ, các MH biết được trạng thái bộ nhớ của nhau vì vậy giảm được sự dư thừa dữ liệu, tăng hiệu quả không gian bộ nhớ cục bộ Với kỹ thuật này chi phí về thời gian truy xuất dữ liệu và lưu trữ dữ liệu hiệu quả hơn
Trang 17Mỗi MH có một mã nhóm (mã nhóm có thể là địa chỉ IP hoặc mã host) Để duy trì tính kết nối trong nhóm, thông điệp “Hello” sẽ được trao đổi theo định kỳ giữa các MH Bằng cách này, mỗi MH biết được các MH nào nằm trong phạm vi giao tiếp hay nói cách khác biết được những MH nào thuộc nhóm của nó
Để ghi nhận thông tin trạng thái bộ nhớ cục bộ của các MH trong nhóm, tại mỗi
MH lưu trữ hai bảng {self_table và group_table} lưu trữ thông tin của chính nó và thông
tin của các MH trong nhóm Nội dung mỗi bảng được trình bày trong Bảng 1-2:
Bảng 1-2 Cấu trúc lưu trữ tại mỗi MH
self_table = {cache data Id, cache data item, datasource Id, times stamp}
group_table={cache data id, data source id, group member id, times tamp}
Bảng self_table lưu trữ thông tin bộ nhớ cục bộ tại chính MH đó, thông tin
seft_table được cập nhật khi có sự lưu trữ dữ liệu tại MH Trong khi đó bảng group_table
lưu trữ thông tin bộ nhớ cục bộ của các MH khác trong nhóm tại MH đang xét, thông tin
group_table được cập nhật khi MH nhận thông tin cập nhật trạng thái bộ nhớ từ các MH
thành viên trong nhóm Nếu một MHA không nhận được thông điệp “Hello” từ MHI bất
kỳ trong nhóm trong một khoảng chu kỳ thời gian, nghĩa là MHI đã rời khỏi nhóm hoặc
tắt nguồn Lúc này, thông tin group_table của MHA cần được cập nhật lại bằng cách xóa
đi những thông tin liên quan đến MHI Từ group_table, một MH biết được hạng mục dữ
liệu được lưu trữ tại MH nào trong nhóm, khi có yêu cầu dữ liệu, MH nguồn có thể tìm
kiếm thông tin dữ liệu trong seft_table và group_table để truy hồi dữ liệu tồn tại, chính vì
vậy tỉ lệ có dữ liệu sẽ tăng lên và thời gian truy vấn sẽ giảm xuống
Hình 1-6 Nhóm của MHDTrong Hình 1-6 mô tả nhóm của MH D và các MH thành viên trong nhóm {C, E, G
và H} Trong chu kỳ thời gian, MH D gửi thông tin trạng thái bộ nhớ cục bộ của chính nó đến các MH {C, E, G và H} và ngược lại các MH {C, E, G và H} cũng gửi thông tin bộ nhớ đến MH D Vì vậy, khi một yêu cầu dữ liệu được trả về cho MH D, MH D có thể lưu trữ dữ liệu hoặc kiểm tra không gian bộ nhớ cục bộ của các MH {C, E, G và H} để lưu trữ dữ liệu khi bộ nhớ cục bộ của nó đầy
Trang 18Để nhận biết được sự tồn tại của các MH trong nhóm, sau mỗi khoảng chu kỳ thời gian nhất định, giữa các MH trong nhóm có sự trao đổi thông tin trạng thái bộ nhớ cục bộ với nhau Đồng thời các MH trong xử lý cập nhật thông tin bộ nhớ từ các MH trong
nhóm Thông tin trạng thái bộ nhớ cục bộ bao gồm: {Group member Id, cache data Id,
time stamp, remaing availible cache space}
thông tin self_table có tồn tại dữ liệu không Nếu có (cache hit), dữ liệu sẽ được trả về cho người dùng, ngược lại nếu dữ liệu không tìm thấy trong self_table thì MH nguồn tiếp tục kiểm tra thông tin trong bảng group_table xem có dữ liệu yêu cầu hay không Nếu có,
MH nguồn gửi yêu cầu đến MH đích trong nhóm để truy hồi và đợi dữ liệu được trả về
(remote cache hit) Nếu dữ liệu yêu cầu không tìm thấy trong self_table lẫn group_table
thì MH nguồn sẽ tiếp tục qua trình tìm kiếm sang các MH ngoài nhóm Để có thể yêu cầu
dữ liệu từ các MH ngoài nhóm, MH nguồn phải xây dựng đường đinh tuyến từ MH nguồn đến MH đích bằng cách gửi yêu cầu dữ liệu đến MH kế tiếp trên đường đi từ MH nguồn đến MH đích
Bảng 1-3 Xử lý tại MH trung gian trên đường định tuyến
1 Nếu dữ liệu tồn tại trong seft_table
Gửi dữ liệu di đến MH nguồn
2 Ngược lại nếu thông tin dữ liệu tồn tại trong group_table
Gửi yêu cầu dữ liệu đến MH trong nhóm có chứa dữ liệu di
3 Ngược lại
Tiếp tục chuyển đến MH kế tiếp trên đường định tuyến
Trong Bảng 1-3, khi MH trung gian trên đường định tuyến nhận yêu cầu dữ liệu, nó
cũng xử lý tương tự như tại MH nguồn, nếu dữ liệu vẫn không tìm thấy thì yêu cầu dữ liệu sẽ được chuyển đến MH kế tiếp trên đường định tuyến đến MH đích.Nếu MH đích nhận được yêu cầu, dữ liệu hồi đáp sẽ được trả về theo đường định tuyến đã được xây dựng trong quá trình tìm kiếm Khi MH trung gian trên đường định tuyến nhận được dữ liệu trả về từ MH đích, dữ liệu đó sẽ được lưu trữ vào bộ nhớ cục bộ, nếu bộ nhớ cục bộ đầy, MH trung gian sẽ xóa những hạng mục dữ liệu không hợp lệ để thay bằng dữ liệu mới Thuật toán xử lý lưu trữ và thay thế được trình bày trong phần tiếp theo
này, chúng tôi sẽ trình bày thuật toán xử lý lưu trữ khi MH nguồn truy xuất dữ liệu từ MH đích được mô tả trong Bảng 1-4
Trang 19Bảng 1-4 Xử lý lưu trữ tại MH nguồn
tuyến
1 Nếu dữ liệu đã tồn tại trong seft_table hoặc group_table
Không lưu di
2 Ngược lại
Thuật toán lưu trữ di
Lưu trữ di vào bộ nhớ cục bộ
Thoát
Lưu di tại một MH bất kì trong nhóm
Chuyển dữ liệu đến MH được chọn để lưu trữ
Dựa trên thông tin cập nhật trạng thái bộ nhớ cục bộ, mỗi MH biết được thông tin không gian bộ nhớ các của các MH khác trong nhóm như chỉ mục dữ liệu hay nhãn thời gian (thời gian dữ liệu được cập nhật sau cùng) Đầu tiên, khi MH nguồn nhận về một hạng mục dữ liệu, dữ liệu sẽ được lưu trữ vào bộ nhớ khi không gian bộ nhớ cục bộ còn trống Ngược lại, MH nguồn sẽ kiểm tra thông tin bộ nhớ cục bộ của các MH trong nhóm, nếu không gian bộ nhớ trong nhóm chưa đầy, MH nguồn sẽ chuyển dữ liệu đến một MH bất kì trong nhóm Nếu không gian bộ nhớ trong nhóm không đủ để lưu hạng mục dữ liệu
đó thì MH nguồn sẽ kiểm tra trong group_table để xem dữ liệu đó đã tồn tại trong nhóm
chưa, nếu có thì dữ liệu sẽ không được lưu, ngược lại MH nguồn chọn một MH thích hợp nhất chứa dữ liệu có nhãn thời gian lâu nhất để lưu dữ liệu Khi đó, tại MH được chọn sẽ
tiến hành thuật toán thay thế dữ liệu LRU nhằm tăng không gian bộ nhớ cho đến khi dữ
liệu mới được thêm vào
Công trình nghiên cứu [1] đưa ra được cấu trúc lưu trữ dữ liệu, giải quyết vấn đề cộng tác kho lưu trữ dữ liệu theo nhóm, giảm độ dư thừa dữ liệu trong bộ nhớ vốn rất hạn
Trang 20chế về kích thước và tăng độ phổ biến dữ liệu trong nhóm từ đó tăng khả năng truy cập
dữ liệu nhờ khả năng cộng tác của các MH thành viên trong nhóm Tuy nhiên, công trình
nghiên cứu sử dụng thuật toán tìm kiếm dữ liệu bằng cách “phát thông điệp ngập lụt”
(flooding broadcast) trong hệ thống nên chi phí cho tìm kiếm rất cao, có thể làm tăng thời
gian hồi đáp và hao tốn nhiều năng lượng nếu dữ liệu không nằm trong vùng dịch vụ, do
đó công trình nghiên cứu chưa có một kỹ thuật định tuyến tìm kiếm dữ liệu ngoài nhóm
rõ ràng khi trong nhóm không có dữ liệu Hơn nữa, tại mỗi khoảng chu kỳ thời gian, các
MH phải xử lý cho việc gửi thông tin duy trì nhóm và xử lý cập nhật thông tin trong nhóm, như vậy rất hao tốn năng lượng khi mà năng lượng tiêu thụ của các MH luôn luôn hạn chế trong môi trường mạng không dây
7) Một hướng tiếp cận khác cho giải pháp cộng tác kho lưu trữ (Proactive Caching)
Công trình nghiên cứu [1] cũng chưa giải quyết được vấn đề di chuyển khi các MH
ra khỏi nhóm cộng tác hoặc tham gia vào một nhóm mới Công trình nghiên cứu [7] của nhóm tác giả Prashant Kumar đã giải quyết được vấn đề di chuyển của các MH và đưa ra một chiến lược thay thế dữ liệu hiệu quả Trong công trình nghiên cứu này, mỗi MH trong mô hình mạng có khả năng chia sẻ nội dung bộ nhớ cục bộ của chính nó với các
MH lân cận Khi một MH cập nhật bộ nhớ cục bộ, sẽ phát tín hiệu cập nhật này đến tất cả các MH trong vùng Mỗi MH sẽ lưu một bảng thông tin lưu trữ (CIT) Bảng CIT chứa n
hạng mục dữ liệu , mỗi hạng mục dữ liệu d có 4 trường:
d.available: có giá trị TRUE/FALSE cho biết dữ liệu d hiện tại có trong kho lưu trữ hay
không
d.nnode: cho biết MH lân cận có chứa dữ liệu yêu cầu hay không
d.accesscount : sô lần truy cập dữ liệu d
d.TTL : thời gian sống của dữ liệu d
Tìm kiếm dữ liệu d: ban đầu MH nguồn sẽ tìm trong bộ nhớ cục bộ, kiểm tra
d.available là đúng hay sai, nếu sai thì MH nguồn sẽ kiểm tra d.nnode để biết dữ liệu có
lưu trong các MH lân cận hay không Nếu có thì yêu cầu sẽ được gửi đến các MH lân cận, ngược lại thì chuyển hướng tìm kiếm về phía máy chủ Trên đường định tuyến, các MH trung gian cũng lặp lại quá trình tìm kiếm giống như tại MH nguồn Nếu dữ liệu được tìm thấy tại MH trung gian trên đường định tuyến thì yêu cầu tìm kiếm kết thúc, ngược lại thì yêu cầu được gửi lên BS
Trang 21Tính di chuyển: khi MH gia nhập vùng mới, nó sẽ gửi thông tin kho lưu trữ của chính MH đó đến tất cả các MH trong vùng Khi MH rời khỏi vùng thì nó sẽ phát một thông điệp “LEAVE” đến tất cả các MH trong vùng Các MH trong vùng sẽ dựa vào các tiêu chuẩn sau để quyết định lưu dữ liệu của MH rời hay không Đầu tiên các MH sẽ kiểm tra kho lưu trữ của nó, nếu có các MH sẽ kiểm tra CIT để xem dữ liệu đã có ở các MH trong vùng lân cận của nó hay không, nếu có thì sẽ không lưu Trong trường hợp ngược lại thì dữ liệu này sẽ được lưu trữ bởi một MH bất kì trong vùng Nếu MH không đủ không gian trống thì nó sẽ sử dụng thuật toán thay thế kho lưu trữ để có không gian lưu
dữ liệu mới
Chiến lược thay thế dữ liệu: khi bộ nhớ không đủ không gian lưu trữ thì ta sẽ
chọn một bộ dữ liệu d có d.accesscount lớn nhất để thay thế nhằm tránh tình trạng dư
thừa dữ liệu trong vùng Nếu một hạng mục dữ liệu không được truy cập trong vùng thì khi đó ta sẽ kiểm tra giá trị thời gian sống của đơn vị dữ liệu (TTL: time-to-live) của nó
có hết hạn hay chưa, khi đó dữ liệu sẽ bị xóa khỏi kho lưu trữ
Công trình nghiên cứu [7] giải quyết được trường hợp khi MH rời khỏi vùng hay gia nhập một vùng mới, sử dụng thuật toán thay thế kho lưu trữ hiệu quả Tuy nhiên giải pháp chỉ dừng lại ở mức ý tưởng, tác giả chưa thực nghiệm để kiểm tra độ hiệu quả của kiến trúc
Với các công trình nghiên cứu được tìm hiểu ở trên, chúng tôi lập bảng so sánh độ hiệu quả của các giải pháp dựa trên khả năng chúng khắc phục được những yếu tố hạn chế trong môi trường HTTT DĐ
Trang 22Chiến lược lưu trữ dữ liệu tại
MH trung gian trên đường
định tuyến
Chi phí xử lý thấp
Gây lãng phí kho lưu trữ Không có cấu trúc dữ liệu lưu trữ
Thay thế Đồng bộ
HybridCache
Khắc phục nhược điểm của
của CacheData, CachePath
Không có hướng giải quyết trong trường hợp bộ nhớ đầy
Không đề cập vấn đề định tuyến
Không có cấu trúc dữ liệu lưu trữ
Khám phá Lưu trữ
Không có cấu trúc dữ liệu lưu trữ
Khám phá Lưu trữ Thay thế Đồng bộ
[2]
CLUSTER
Chia các MH theo vùng, tìm
kiếm theo vùng
Lưu trữ dữ liệu hiệu quả làm
tối ưu không gian bộ nhớ
Giảm số lượng thông điệp
Tăng khả năng cộng tác chia
sẻ dữ liệu
Đưa ra công thức thay thế dữ
Chi phí xử lý cao
Phụ thuộc vào CSN, CSN mất kết nối dẫn đến các MH trong vùng quản lý của CSN cũng mất thông tin
Không có cấu trúc dữ liệu lưu trữ
Khám phá Lưu trữ Thay thế Đồng bộ
Trang 23liệu hiệu quả
Xây dựng đường định tuyến
[1]
GROUPCACHING
Khắc phục được nhược điểm
của Cluster (không dùng
CSN)
Có tổ chức cấu trúc dữ liệu rõ
ràng
Chia các MH theo nhóm
Tối ưu không gian bộ nhớ
Tăng khả năng có dữ liệu
trong vùng cộng tác
Giảm thời gian truy vấn
Thay thế dữ liệu dựa trên
LRU, TTL
Xây dựng đường định tuyến
Chi phí duy trì nhóm cao, tốn năng lượng tiêu thụ
Sử dụng thuật toán loang mù sang các MH ngoài vùng khi trong vùng không có dữ liệu Chưa giải quyết được vấn đề
di chuyển của các MH (ra khỏi nhóm, tham gia nhóm mới)
Khám phá Lưu trữ Thay thế Đồng bộ
Sử dụng thuật toán thay thế
dữ liệu hiệu quả (tốt hơn
Khám phá Thay thế Đồng bộ
1.2 Một số chiến lược nhất quán dữ liệu
nhất quán dữ liệu trong môi trường di động
1) Kỹ thuật gom nhóm dữ liệu
Ý tưởng của kỹ thuật gom nhóm dữ liệu động (Dynamic Group Caching - DGC) [14]
của nhóm tác giả Jinbao Li là mỗi nhóm chỉ có một MH chủ và nhiều MH thành viên
Mỗi MH chủ đi đến các MH thành viên trong nhóm thông qua một bước nhảy và mỗi MH chỉ thuộc về một nhóm Các thành viên trong nhóm có thể giao tiếp với nhau thông qua
MH chủ Các nhóm xung quanh giao tiếp với nhau thông qua MH trung gian Trong kỹ thuật này, chỉ số bộ nhớ được chia thành 2 mức: chỉ số bộ nhớ nút (index node) duy trì ở client và chỉ số bộ nhớ nhóm (index group) duy trì ở nút quản lý nhóm Khi một MH cần tìm kiếm dữ liệu, MH sẽ truy xuất dữ liệu từ các MH khác trong nhóm hoặc gửi yêu cầu đến các MH từ xa dựa vào MH chủ của nó Như vậy, theo tác giả, chi phí về thời gian truy xuất và quản lí dữ liệu sẽ hiệu quả hơn Đồng thời, chi phí về truyền thông giữa các MH cũng được cải thiện Tuy nhiên, nếu một dữ liệu không được tìm thấy trong nhóm hoặc trong nhóm khác thì bài báo chưa đưa ra giải pháp cụ thể để giải quyết vấn đề này Ngoài
Trang 24ra, chúng tôi nhận thấy trong kỹ thuật này, MH chủ đóng vai trò quan trọng trong việc quản lí thông tin dữ liệu, hỗ trợ, chia sẻ dữ liệu giữa các thành viên trong nhóm; tuy nhiên, trong HTTT DĐ, các MH thường xuyên di chuyển dẫn đến thường xuyên xảy ra mất kết nối giữa MH chủ và các MH thành viên; vì vậy, việc để các MH khác phụ thuộc nhiều vào
MH chủ sẽ mang lại hiệu quả không cao
Cũng với kỹ thuật gom nhóm dữ liệu, ở công trình nghiên cứu [1], tác giả Yi-Wei
Ting đưa ra kỹ thuật Group Caching – GC Trong đó, các client lân cận (trong phạm vi
một bước nhảy) tạo thành một nhóm các client thông qua cơ chế sử dụng thông điệp xin chào (Hello) Thông điệp này sẽ được gửi một cách định kì giữa các client với nhau như tín hiệu cho biết client vẫn còn tồn tại (Keep-Alive-Signal) Mỗi client sẽ biết được tình trạng
bộ nhớ (Caching Status) của các client lân cận trong nhóm mình Và định kì, client cũng sẽ gửi thông tin tình trạng bộ nhớ của mình đến thành viên trong nhóm Tại mỗi client lưu trữ
2 bảng: self_table, group_table có cấu trúc như sau:
Self_table={cache data Id, cache data item, data source Id, times stamp}
Group_table ={cache data Id, cache data item, group member Id, times stamp}
Bảng self_table giữ thông tin bộ nhớ nội bộ của chính MH đó Bảng group_table giữ
thông tin bộ nhớ của các MH khác trong phạm vi một bước nhảy từ MH đang xét Do đó, trong cấu trúc này không tồn tại MH chủ Khi một MH A cần đồng bộ dữ liệu, nó sẽ kiểm tra tình trạng bộ nhớ của mỗi thành viên trong nhóm để tìm dữ liệu đồng bộ Nếu một yêu cầu
dữ liệu không được tìm thấy trong bộ nhớ của các thành viên trong nhóm, MH A sẽ dựng đường định tuyến từ nó đến nguồn dữ liệu (Data Source), và yêu cầu dữ liệu sẽ được chuyển đến MH kế tiếp trên đường định tuyến đó Sau đó, MH kế tiếp này lại tìm dữ liệu trong tình trạng bộ nhớ của mình và trong tình trạng bộ nhớ của các thành viên khác trong nhóm; nếu yêu cầu dữ liệu vẫn không được tìm thấy, MH này lại phát sinh đường định tuyến mới, yêu cầu dữ liệu sẽ tiếp tục được chuyển đi
Do đó, theo tác giả thì so với kỹ thuật CacheData, kỹ thuật này có số bước nhảy và
độ trễ trung bình giảm, cải thiện tỉ lệ sử dụng bộ nhớ do tận dụng được không gian lưu trữ trong nhóm và giảm tỉ lệ gửi câu truy vấn lên kênh uplink Nếu dữ liệu được tìm thấy trong nhóm thì thao tác tìm kiếm và đồng bộ dữ liệu rất nhanh Tuy nhiên, nếu dữ liệu cần tìm kiếm, đồng bộ không được tìm thấy trong nhóm thì thuật toán lại lan truyền ra bên ngoài dựa vào đường định tuyến mà tác giả lại không đề cập rõ giải pháp định tuyến
2) Một hướng tiếp cận dựa trên hai lược đồ ABI+HCQU và SWRCC+MHVI
Một hướng tiếp cận khác cho việc đồng bộ dữ liệu là kỹ thuật đồng bộ dựa trên hai
lược đồ ABI+HCQU và SWRCC+MHVI, của nhóm tác giả Po-Jen Chuang và Yu-Shian
Trang 25Chiu [13] Trong đó, lược đồ ABI+HCQU giải quyết cho vấn đề đồng bộ dữ liệu giữa client và server, còn lược đồ SWRCC+MHVI phục vụ cho việc đồng bộ sau khi xảy ra mất
kết nối củaclient với server Với kỹ thuật này, các tiêu chí về thời gian truy cập dữ liệu, tỉ
lệ không sử dụng bộ nhớ và sự tiêu thụ băng thông được xem xét đến Ở lược đồ SWRCC+MHVI, nhóm tác giả đã giải quyết khá nhiều trường hợp mất kết nối sát với thực
tế và đạt được một số tiêu chí mà tác giả đưa ra Các thông điệp được tác giả sử dụng trong lược đồ này là: mất kết nối (Sleep), kết nối lại (Wakeup), phục hồi (Recovery), kiểm tra (Check) và xác nhận (Confirm)
Trong bối cảnh đưa ra, tác giả giải quyết hai tình huống mất kết nối sau: mất kết nối chủ động và mất kết nối bị động Ở trường hợp mất kết nối chủ động, trước khi ngắt kết
nối, client gửi thông điệp Sleep tới server Sau khi kết nối trở lại, client gửi thông điệp
Wakeup và nhận lại từ server thông điệp Recovery (bao gồm những dữ liệu bị cập nhật
trong khoảng thời gian client không còn kết nối) Client dùng thông tin này để cập nhật lại
bộ nhớ của mình Trong trường hợp này, gần như ngay khi kết nối trở lại thì client đã có thể cập nhật lại dữ liệu, và trạng thái của mỗi đơn vị dữ liệu là hợp lệ Còn với trường hợp mất kết nối bị động, client mất kết nối đột ngột và không kịp thông báo với server
Giả định client A mất kết nối đột ngột và không kịp thông báo cho server trước khi mất kết nối; khi kết nối trở lại, A sẽ đánh dấu toàn bộ dữ liệu ở trạng thái không chắc chắn
(Uncertain) và sẽ xin cập nhật dữ liệu từ các client lân cận A gửi thông điệp Check chứa
danh sách định danh (id) và nhãn thời gian của các dữ liệu tới tất cả client lân cận theo chu
kì kiểm tra (Check period) bằng 1/4 hoặc 1/5 chu kì đồng bộ của server Client lân cận nào
đó nhận được thông điệp Check từ A sẽ phản hồi thông điệp Confirm (gồm những dữ liệu trong Check mà nó có lưu trữ và hợp lệ) tới A và những client lân cận khác Những client lân cận còn lại khi nhận được thông điệp Check và Confirm sẽ tìm trong dữ liệu của mình những dữ liệu hợp lệ có trong thông điệp Check mà không có trong thông điệp Confirm Client này cũng tạo thông điệp Confirm bao gồm các dữ liệu tìm được rồi gửi tới A và
những client lân cận khác Sau khi nhận được những dữ liệu phản hồi từ các client lân cận,
A sẽ thay đổi trạng thái dữ liệu từ không chắc chắn sang trạng thái thay đổi(Modified) và
đợi đến chu kì phát thông báo dữ liệu mất hợp lệ (IR1
) kế tiếp của server để xác nhận lại tính hợp lệ Dữ liệu sẽ được chuyển sang trạng thái hợp lệ (Valid) nếu còn hợp lệ và ngược lại sẽ chuyển sang trạng thái mất hợp lệ (Invalid) Khi đó, dữ liệu tại client A đã được đồng
bộ với các client khác Bởi vì việc trao đổi dữ liệu trong trường hợp này chủ yếu diễn ra
1
Invalidation Reports
Trang 26giữa các client lân cận với nhau nên lược đồ giúp tiết kiệm băng thông truyền tải giữa server và client
Như vậy, kỹ thuật đồng bộ dựa trên hai lược đồ ABI+HCQU và SWRCC+MHVI có
hai ưu điểm cơ bản: một là làm giảm bớt việc yêu cầu dữ liệu giữa client và server vì việc trao đổi dữ liệu trong tình huống mất kết nối bị động chủ yếu diễn ra giữa các client lân cận với nhau; hai là client mất kết nối chủ động gần như sẽ được đồng bộ dữ liệu ngay tức thì sau khi kết nối trở lại Tuy nhiên, theo nhận xét của chúng tôi thì kỹ thuật này vẫn còn hạn chế Đối với xử lý mất kết nối chủ động, server phải tốn nhiều không gian lưu trữ cho dữ
liệu bị cập nhật của từng client Với mỗi client, sau khi nhận được thông điệp Sleep, server
phải tạo ra một nơi lưu trữ để chứa tất cả những dữ liệu thay đổi trong suốt khoảng thời gian client ngắt kết nối cho đến khi nó kết nối trở lại Do đó chỉ với một dữ liệu bị cập nhật, nếu có một số lượng n client thì phải tốn n không gian lưu trữ Đối với tình huống mất kết nối thụ động, client phải gửi quá nhiều thông điệp lẫn nhau để cập nhật dữ liệu từ
hàng xóm của mình Nếu số lượng client lân cận tăng lên thì số lượng thông điệp Check và
Confirm trao đổi giữa các client cũng sẽ tăng lên rất nhiều Và mặc dù client nhận được các
dữ liệu từ client lân cận của mình, nhưng dữ liệu này vẫn ở trạng thái Modified, client
không thể sử dụng để trả lời truy vấn cho người dùng mà phải chờ đến chu kì kế tiếp để xác nhận trạng thái hợp lệ của những dữ liệu đó Điều này có thể dẫn tới độ trễtrung bình cao
3) Một hướng tiếp cận dựa trên kỹ thuật RPCC
Kỹ thuật đầu tiên chúng tôi khảo sát là kỹ thuật Relay-peer-based caching
consistency (RPCC) trong công trình nghiên cứu [15] của Jiannong Cao và các cộng sự
Kỹ thuật này đã giải quyết vấn đề đồng bộ dữ liệu được đặt ra trong phương pháp CacheData [4], đây là một phương pháp hỗ trợ cho việc chia sẻ, tìm kiếm dữ liệu dựa trên nút trung tâm dữ liệu (lưu trữ dữ liệu của những client khác trong mạng) Khi một nút A yêu cầu dữ liệu, yêu cầu sẽ được gửi đến nút trung tâm dữ liệu; nếu trên đường đi từ A tới nút trung tâm dữ liệu, một nút nào đó có dữ liệu theo yêu cầu sẽ gửi phản hồi lại cho A; ngược lại thì yêu cầu sẽ được gửi tới nút trung tâm và nút này sẽ gửi trả lại dữ liệu cho A, các nút trung gian có thể lưu trữ lại dữ liệu phản hồi này nếu cần thiết để phục vụ cho lần truy vấn sau Tuy nhiên, phương pháp CacheData này không đề cập đến vấn đề đồng bộ dữ liệu giữa các client trong mạng Do đó, kỹ thuật RPCC đã được đưa ra để giải quyết vấn đề này
Mục tiêu của RPCC cũng giống như các kỹ thuật đồng bộ dữ liệu giữa client và server trước đó, là giảm độ trễ trung bình, tiết kiệm năng lượng và giải quyết vấn đề
Trang 27thường xuyên mất kết nối xảy ra giữa các client trong môi trường mạng không dây Tuy nhiên, trong phương pháp này, việc đồng bộ dữ liệu giữa client và server chủ yếu thông qua các nút chuyển tiếp (relay-peer nodes) Theo định kì, server phát đồng loạt bản báo cáo
và dữ liệu tới các nút chuyển tiếp; các client muốn yêu cầu cập nhật dữ liệu sẽ gửi yêu cầu tới các nút chuyển tiếp Đặc biệt, khi client kết nối trở lại với server sau một khoảng thời gian mất kết nối chỉ cần gửi yêu cầu tới nút chuyển tiếp gần nó nhất để kiểm tra tính hợp lệ của dữ liệu trong kho dữ liệu cục bộ của mình mà không cần gửi yêu cầu lên server; nút chuyển tiếp này sẽ phản hồi ngay lập tức hoặc cũng có thể phản hồi sau khi nhận được bảng thông báo từ server tính hợp lệ của dữ liệu được client đó yêu cầu kiểm tra; nếu dữ liệu không còn hợp lệ, nút chuyển tiếp sẽ yêu cầu các client cập nhật dữ liệu từ server Nút chuyển tiếp được xác định dựa vào ba hệ số đánh giá của server: hệ số ổn định, hệ số năng lượng pin và hệ số truy cập
Như vậy, ưu điểm lớn nhất của phương pháp này là sự chia sẻ thông tin giữa các client nhằm làm giảm độ trễ trung bình và tiết kiệm băng thông Tuy nhiên, theo nhận xét của chúng tôi, kỹ thuật này gặp vấn đề khi dữ liệu mà client cần cập nhật không có trong nút chuyển tiếp mà client gửi yêu cầu tới, trong khi các nút khác lại chứa dữ liệu yêu cầu, khi đó, yêu cầu vẫn được chuyển lên server
4) Kiến trúc CCCM
Nhóm tác giả G.Anandharaj và Dr.R.Anitha [11][12] đưa ra kiến trúc Combined and Complete Cache Management (CCCM) để quản lí và đồng bộ dữ liệu lưu trữ trong các client, dựa trên máy khách hoạt động (Active Client)
Active Client là các client có điểm vượt trội được đánh giá dựa trên tiêu chí vector
trọng lượng đo bằng tính sẵn sàng của băng thông, tốc độ vi xử lý, độ trễ truy xuất vàtỉ lệ
sử dụng bộ nhớ Thuật toán xác định active client được mô tả chi tiết trong Hình 1-7
Trang 28Hình 1-7 Thuật toán xác định active client
Giả định client A cần một mục dữ liệu, A gửi yêu cầu tới các Active Client lân cận Một Active Client nào đó có dữ liệu trong bộ nhớtheo yêu cầu nhận được, sẽ gửi lại thông
điệp bao gồm nhãn thời gian của dữ liệu yêu cầu và giá trị trọng lượng W về A.Client A
chọn lựa Active Client tốt nhất (Sbest) với nhãn thời gian mới nhất và trọng lượng W tốt
nhất, rồi gửi gói tin xác nhận tới Sbest đó, Sbest sẽ gửi lại dữ liệu thật sự đến client A sau khi nhận được gói tin xác nhận từ A
Như vậy, vì các yêu cầu dữ liệu đều được hồi đáp bởi các Active Client tốt nhất nên
chiến lược này sẽ tăng hiệu quả sử dụng băng thông, tiết kiệm năng lượng, độ trễ thấp và giảm việc mất gói dữ liệu; mang lại hiệu quả hơn so với [15] do yêu cầu được chuyển đến
nhiều Active Client chứ không phải chỉ dựa vào nút chuyển tiếpgần nhất Khi cần đồng bộ
dữ liệu, server sẽ tạo ra danh sách các nút lưu trữ hoạt động (Active caching node) cần cập nhật dữ liệu {Sui} dựa vào điều kiện: số câu truy vấn Qpj chưa được hồi đáp nhỏ hơn giới hạn Qm và nhãn thời gian Ts ở nút đó đã bị hết hạn Sau đó, server sẽ gửi thông điệp cập nhật (Update) đến nút hoạt động đầu tiên trong danh sách {Sui} Khi nhận được thông điệp
Update, nút hoạt động đó sẽ xác nhận bằng cách gửi thông điệp ACK trở lại và chuyển
thông điệp Update đến nút gần nhất kế tiếp trong {Sui} Quá trình sẽ kết thúc khi toàn bộ các nút trong {Sui} đều nhận được thông điệp Update và gửi ACK Về mặt tổng quan thì
công trình đã đạt được nhiều ưu điểm: tăng hiệu quả sử dụng băng thông, tiết kiệm năng
lượng và giảm độ trễ trung bình Tuy nhiên, vấn đề đặt ra khi Active Client không chứa thông tin cập nhật cần thiết của client yêu cầu trong khi client khác (không phải Active
Client) lại chứa dữ liệu yêu cầu hoặc là Active Client có chứa dữ liệu yêu cầu có thể bị ngắt
kết nối thì yêu cầu vẫn được chuyển lên server
Trang 295) Kiến trúc XIR
Trong công trình nghiên cứu [16], nhóm tác giả Po-Jen Chuang mong muốn cải tiến
kỹ thuật đồng bộ [13], phục vụ cho việc cập nhật dữ liệu hiệu quả hơn Tác giả đánh giá cao kiến trúc XIR và muốn tích hợp kiến trúc này vào 2 lược đồ đã đề xuất của mình nhằm năng cao hiệu quả của nó Về mặt tổng quan thì công trình đã đạt được một số thành quả nhất định mà theo tác giả là tăng tỉ lệ sử dụng bộ nhớ, giảm tỉ lệ đưa câu truy vấn lên kênh uplink và thời gian truy cập trung bình ngắn so với các lược đồ liên quan khác Tuy nhiên tác giả chỉ kết hợp để đạt được kết quả tốt hơn mà chưa giải quyết được các hạn chế của từng kiến trúc như nhận xét của chúng tôi nêu ở công trình nghiên cứu[13]
6) Một hướng tiếp cận sử dụng kỹ thuật chia các MH theo từng vùng
Để quản lí tốt việc hợp tác chia sẻ dữ liệu trong mạng, một công trình nghiên cứu khác
là [7] đã sử dụng kỹ thuật chia các MH theo từng vùng (Zone) Trong mô hình này, các nút liên kết với nhau trong một vùng và mỗi vùng có một quản lí vùng Mỗi nút duy trì một bảng thông tin bộ nhớ (Caching Information Table – CIT), các thông số trong bảng CIT đã được trình bày ở 7)
Khi một đơn vị dữ liệu d được yêu cầu ở A, nó sẽ kiểm tra thông số d.available để biết thông tin lưu trữ dữ liệu ở bộ nhớ cục bộ Nếu dữ liệu không có trong bộ nhớ cục bộ, thông tin d.nnode sẽ được kiểm tra để biết dữ liệu có ở trong các nút lân cận hay không Nếu dữ liệu có ở một nút lân cận, A sẽ kết nối trực tiếp tới nút đó thay vì kết nối tới server Ngược lại, các nút khác nằm trên đường từ d đến server cũng sẽ kiểm tra bộ nhớ cục bộ của mình trong bảng CIT, nếu nó có dữ liệu hoặc đường dẫn dữ liệu sẽ chuyển tiếp tới A Những nút dữ liệu nào gần hơn sẽ được A lựa chọn
Khi một nút di chuyển vào vùng mới, nó sẽ gửi bảng cập nhật tới tất cả các nút trong vùng Khi một nút muốn rời vùng, nó sẽ gửi thông điệp di chuyển (Leave) trước khi rời vùng Những nút lân cận sẽ kiểm tra lại dữ liệu: nếu dữ liệu của nó giống với dữ liệu này, những dữ liệu này sẽ không được lưu lại Nếu dữ liệu được kiểm tra không trùng với dữ liệu trong bảng CIT (được lưu bởi một vài nút lân cận) thì những dữ liệu này cũng sẽ không được lưu lại.Nếu dữ liệu không trùng với dữ liệu trong dữ liệu nội bộ và trong những nút lân cận, trong khi không gian lưu trữ không còn nhiều, những dữ liệu này sẽ được xử lý bằng phương pháp thay thế (dữ liệu sẽ được kiểm tra về tần số truy xuất và thời gian sống để quyết định có được lưu lại hay không) Như vậy, kiến trúc sẽ giúp tăng khả năng quản lý và đồng bộ dữ liệu trong hệ thống mạng Tuy nhiên, trường hợp nút chứa dữ liệu cần thiết vẫn nằm trên đường đi từ nút yêu cầu tới server nhưng lại cách xa nút yêu cầu
và gần server hơn thì việc xác định và xin dữ liệu đồng bộ tốn nhiều thời gian và chi phí
Trang 301.2.2 So sánh đánh giá các giải pháp
Với các công trình nghiên cứu được tìm hiểu ở trên, chúng tôi lập bảng so sánh độ hiệu quả của các giải pháp dựa trên khả năng chúng khắc phục được những yếu tố hạn chế trong môi trường HTTT DĐ Thông tin của bảng so sánh được thể hiện ở Bảng 1-5
Bảng 1-5 Bảng so sánh giữa các công trình giải quyết đồng bộ
Ghi chú:
x: giải pháp có đề cập và giải quyết
ComMHnication bandwidth: hiệu quả sử dụng băng thông
Access time: thời gian truy xuất dữ liệu
Tunning time: thời gian nhận dữ liệu
Cache mis rates: tỉ lệ không sử dụng bộ nhớ
Cache hit ratio: tỉ lệ sử dụng bộ nhớ
Energy consumption: tiêu thụ năng lượng
The Query uplink ratio: tỉ lệ gửi câu truy vấn lên kênh uplink
Average latency: độ trễ trung bình hay còn gọi là độ trễ truy vấn trung bình
Để đồng bộ dữ liệu giữa client và server, mỗi tác giả đưa ra các phương pháp với những tiêu chí đánh giá khác nhau, và sử dụng các kỹ thuật đồng bộ cùng với kỹ thuật lập lịch khác nhau để giải quyết mục tiêu của nhất quán dữ liệu
Trang 31Phần 2 NGHIÊN CỨU VỀ HỌC TẬP CỘNG TÁC TRONG MÔI
TRƯỜNG DI ĐỘNG
1.3 Định nghĩa học tập cộng tác
Nhiều công trình nghiên cứu trong lĩnh vực sư phạm trước đó khẳng định học cộng tác là phương pháp học hiệu quả và có nhiều định nghĩa về học cộng tác, những định nghĩa này phụ thuộc phạm vi ngữ cảnh khác nhau Trong đó một định nghĩa khá tổng quát được phát biểu: “học cộng tác là tình huống học trong đó có hai hoặc nhiều người học hoặc cố gắng học với nhau [21]” Định nghĩa này có thể áp dụng trong những phạm vi khác nhau về số lượng người học, nội dung học và cách học Mục tiêu của học cộng tác là hỗ trợ việc dạy học thông qua các hoạt động chia sẻ và hợp tác bằng cách tương tác xã hội giữa các thành viên trong nhóm Ngoài ra, [22] khẳng định tính tương tác xã hội là cần thiết để đạt được việc học như mong muốn, tương tác xã hội đảm bảo duy trì liên tục việc chia sẻ kiến thức của các thành viên khi tham gia học cộng tác Hai phương pháp lý thuyết chủ yếu giải thích vai trò của tính tương tác xã hội trong học cộng tác như sau:
Phương pháp Piagetian cho rằng học cộng tác hiệu quả bởi vì trong khi các thành
viên hợp tác với nhau có thể xảy ra xung đột Xung đột xảy ra do các thành viên
có những quan điểm và chiến lược khác nhau trong khi thảo luận một chủ đề Khi
Trang 32đó các thành viên tham gia phải thương thuyết để thống nhất một kết quả chung
của nhóm [23]
Quan điểm của [22] cho rằng cá nhân người học sẽ thay đổi theo quá trình tiếp
thu thường xuyên các hoạt động học như: Sự điều phối và sự tương tác giữa các
thành viên trong quá trình xây dựng kiến thức với nhau, sự thỏa thuận giữa các
thành viên trong khi giao tiếp để đạt mục tiêu chung của nhóm
Cả hai phương pháp trên đưa ra các yếu tố chủ yếu để đánh giá các hoạt động học cộng
tác: Các thành viên tham gia học cộng tác với nhau cần phải tương tác, giao tiếp và điều
phối Trong quá trình thảo luận, chia sẻ ý tưởng có thể xảy ra xung đột giữa các thành viên,
vì vậy các thành viên trong nhóm cần thương thuyết để đưa ra quyết định chung của nhóm [24] Lợi ích từ việc học cộng tác cũng được [25] tóm tắt thành 4 hạng mục: xã hội, tâm lý,
giáo dục, đánh giá
Lợi ích từ xã hội:
Học cộng tác góp phần phát triển thành hệ thống hỗ trợ xã hội cho người học
Học cộng tác giúp xây dựng kiến thức đa dạng hơn giữa những người học
Học cộng tác tạo không khí tích cực cho người học khi hợp tác làm việc với nhau
Sinh viên hợp tác với nhau không còn hoặc giảm đi những rào cản tâm lý như lo
âu hay mặc cảm hơn khi hợp tác với giáo viên
Học cộng tác giúp sinh viên có thái độ tích cực hơn khi làm việc với giáo viên
Lợi ích từ giáo dục:
Học cộng tác khuyến khích sinh viên suy nghĩ phê phán trong khi giải quyết vấn
đề
Sinh viên hoạt động tích cực hơn trong quá trình học tập
Học cộng tác có lợi ích giúp tăng động cơ học cho sinh viên trong chương trình giảng dạy
Lợi ích từ đánh giá:
Giáo viên hoặc sinh viên có thể đánh giá luân phiên với nhau như sinh viên đánh giá sinh viên, giáo viên đánh giá sinh viên Vì vậy trong học cộng tác thì có có nhiều cách thức đánh giá khác nhau
Trang 33Công trình [25] kết luận học cộng tác có nhiều lợi ích hơn so với học cá nhân, sinh viên
có suy nghĩ sáng tạo hơn, tích cực hơn, phát triển kỹ năng tâm lý xã hội Tóm lại, việc học
cộng tác với các yếu tố: giao tiếp, tương tác, điều phối, xung đột và thương thuyết mang lại nhiều lợi ích cho người học
1.4 Định nghĩa học tập di động
Đối với nhu cầu học tập hiện nay, phần lớn mọi người quen thuộc với các hình thức học truyền thống, tức là việc học bắt buộc phải đến lớp và học theo thời gian quy định Ngoài ra, một hình thức học khá phổ biến là học từ xa qua mạng, với hình thức học này người học không cần đến lớp mà có thể học tại nhà Tuy nhiên, hình thức học này cần phải có sự hỗ trợ
của máy tính cá nhân (PC) kết nối mạng internet, những công nghệ cần thiết phục vụ vấn đề
tương tác giữa người học và người dạy
Gần đây với sự phát triển không ngừng của công nghệ mạng không dây và thiết bị di động đã mở ra xu hướng học tập mới, người học có thể học bất kỳ nơi đâu, ví dụ học khi đang trên xe buýt, học khi thăm viện bảo tàng, học khi đi dã ngoại, và người học có thể học bất kỳ thời gian nào Với xu hướng đó, khái niệm học tập di động được quan tâm rộng rãi trong cộng đồng nghiên cứu từ năm 1990 trở lại đây Tuy nhiên, có nhiều quan điểm về định nghĩa học tập di động , trong đó có 3 quan điểm chính như sau:
a) Định nghĩa thứ nhất tập trung về hướng công nghệ, mô tả việc học di động là học có sử
dụng thiết bị di động như điện thoại di động, thiết bị cầm tay (PDA), máy tính xách tay (laptop) hoặc bất kỳ các thiết bị có tính di động nào Công trình [26] đã đưa ra định
nghĩa như sau: “Trong nền giáo dục thì bất kì các hoạt động học tập nào có trang bị hầu hết các thiết bị có tính di động như thiết bị cầm tay hoặc máy tính xách tay được biết như khái niệm học tập di động” Một định nghĩa khác về học di động hướng công nghệ như: “ học tập di động là khả năng hỗ trợ hoạt động học tập bởi các thiết bị có tính di động như thiết bị cầm tay” [27]
b) Định nghĩa thứ hai liên hệ với việc học trực tuyến (E-Learning): học tập di động là một
phần của học trực tuyến, vì vậy học tập dùng thiết bị di động để học trải nghiệm trộn lẫn với học trực tuyến [28] Công trình [26] ủng hộ quan điểm này, vì nó giữ được định nghĩa hướng công nghệ là đưa hình ảnh học tập trực tuyến có tính di động Tuy nhiên, khái niệm học trực tuyến không đề cập đến đặc điểm nổi trội của học tập di động là tính
Trang 34học không ở vị trí cố định hoặc việc học xảy ra khi người học tận dụng lợi ích của công nghệ di động” [29]
Như vậy, những định nghĩa trên đều đề cập đến việc học tập nhờ lợi ích của thiết bị di động và những công nghệ hỗ trợ như công nghệ mạng không dây Học tập nhờ thiết bị di động và mạng không dây mang đến những lợi ích như sau:
Người học không bị ràng buộc về thời gian, tức là học bất kỳ thời gian nào họ muốn
Thiết bị di động có đặc điểm di động, vì vậy người học có thể học trong khi di
chuyển như học trên xe buýt, học kết hợp với trải nghiệm bên ngoài thế giới
thực như khảo sát viện bảo tàng, khảo sát khu di tích lịch sử,…Vì vậy, người học không bị giới hạn về không gian học
Ngoài ra, thiết bị di động còn có những đặc điểm như tương tác, quản lý dữ liệu Những đặc điểm này mang nhiều lợi ích trong quá trình học tập như giúp người học tương tác với giáo viên hoặc bạn học dễ dàng hơn và quản lý dữ liệu như bài giảng, bài tập, tài liệu tham khảo để truy cập thông tin mọi lúc mọi nơi
1.5 Học cộng tác với sự hỗ trợ của thiết bị di động
Ngày nay, sự phát triển không ngừng của công nghệ và thiết bị di động có tiềm năng hỗ
trợ việc học cộng tác (collaborative learning) mọi lúc mọi nơi Hình thức học mới này, với tên gọi học cộng tác di động (Mobile Collaborative Learning) là một lĩnh vực nghiên cứu
được quan tâm gần đây Học cộng tác di động là hình thức học cộng tác trong đó mỗi thành viên tham gia chia sẻ kiến thức với nhau mà không bị giới hạn về không gian và thời gian Các thành viên tham gia học cộng tác sử dụng thiết bị di động để chia sẻ kiến thức ngay thời điểm giao tiếp với nhau Hình thức học này được áp dụng trong những tình huống học bên
ngoài thế giới thực (outdoor) như nhóm sinh viên phân công đi khảo sát viện bảo tàng, hoặc
nhóm nghiên cứu đi khảo cổ khu di tích lịch sử hoặc nhóm quân lính tham gia huấn luyện chiến đấu trên khu vực rộng lớn….Đặc điểm của thiết bị di động cùng công nghệ mạng không dây có tiềm năng hỗ trợ cho hình thức học mới này Các đặc điểm nổi bật được mô tả như sau [28]:
Tính di động: Cho phép người học mang thiết bị di động để tham gia các hoạt động học mọi lúc mọi nơi
Tính tương tác xã hội: Cho phép người học hợp tác với nhau với sự hỗ trợ thiết bị di động và công nghệ không dây như chia sẻ thông tin, tài nguyên mọi lúc mọi nơi
Tính nhận biết ngữ cảnh (Context sensitivity): Hỗ trợ các hoạt động học dựa vào ngữ
cảnh thực với dịch vụ xác định vị trí
Trang 35 Tính kết nối (connectivity): Các thiết bị di động tương thích kết nối với nhau để tăng
khả năng truy cập thông tin
Tính cá nhân: Thiết bị di động mang tính sở hữu cá nhân, vì vậy mỗi cá nhân dùng thiết bị di động để học tập và nghiên cứu bất kỳ lúc nào
Hình thức học cộng tác di động nhắm tới việc chia sẻ kiến thức trong lúc giao tiếp giữa
những người tham gia học mọi lúc mọi nơi Trong học cộng tác thì người học có thể hợp tác với nhau để dễ dàng hoàn thành mục tiêu học hơn là học cá nhân Để việc hợp tác được hiệu
quả, các hoạt động của nhóm người học cần phải có sự điều phối, trong đó người học tương
tác để giao tiếp với nhau Khi người học có thể giao tiếp tốt với nhau, người học có thể chia
sẻ kiến thức và quan điểm cá nhân Trong quá trình giao tiếp, người học có thể phản bác ý
kiến của nhau và sự xung đột xảy ra Cuối cùng, người học phải thương thuyết với nhau để
đạt mục tiêu cuối cùng của nhóm Giá trị lợi ích của việc học cộng tác ở đây là mọi thành viên có cơ hội nắm bắt nhiều ý tưởng đối với mục tiêu học, những ý tưởng này đến từ nhiều thành viên tham gia hoạt động học hơn là từ một cá nhân người học Trong học di động thì người học không bị ràng buộc thời gian và không gian Với hình thức học cộng tác di động, những lợi ích từ học cộng tác kết hợp với việc di động được cộng đồng nghiên cứu quan tâm
gần đây Công trình [30] kết luận rằng học cộng tác di động giúp người học trải nghiệm tốt
nhất khi việc học cộng tác kết hợp với các hoạt động học bên ngoài Trong hoạt động này thì
các thành viên tham gia hợp tác chia sẻ kiến thức tức thì với nhau mọi lúc mọi nơi Mục tiêu
đề tài quan tâm là làm sao áp dụng những ưu điểm nổi bật của thiết bị di động và mạng
không dây hỗ trợ các yếu tố trong học cộng tác: Điều phối, tương tác, giao tiếp, thương
thuyết Ngoài ra, hình thức học cộng tác di động còn có thêm yếu tố di động Môi trường di
động hỗ trợ yếu tố di động trong học cộng tác, môi trường này bao gồm thiết bị di động và công nghệ mạng không dây Môi trường di động được phát triển đầu tiên với kiến trúc mạng
khách/chủ (client/server) Theo kiến trúc này, các máy khách (clients) sẽ kết nối đến một máy chủ (server) thông qua một giao thức nhất định (www, fpt, telnet, ) Mô hình mạng
khách/chủ có rất nhiều điểm ưu việt, nổi bật là mọi xử lý sẽ nằm trên máy chủ, do đó tránh cho các trạm những tính toán nặng nề Tuy nhiên, kiến trúc mạng khách/chủ không còn phù hợp và gây ra khó khăn khi số lượng máy khách tăng lên Lý do chính là khi số lượng máy khách tăng lên thì nhu cầu truy xuất dữ liệu và băng thông tăng, dẫn đến máy chủ giảm khả năng cung cấp dịch vụ cho các máy khách Đặc biệt trong môi trường mạng không dây kết nối yếu hoặc thường xuyên mất kết nối thì kiến trúc khách/chủ này hoàn toàn không còn phù hợp nữa Để khắc phục các nhược điểm của kiến trúc khách/chủ, các công trình khoa học đã đưa ra một mô hình kiến trúc mới phù hợp trong môi trường di động, đó là mô hình cộng tác chia sẽ dữ liệu và thông tin giữa các máy khách với nhau để hạn chế việc truy xuất đến máy
Trang 36chủ Trong mô hình này cũng có những khuyết điểm của thiết bị di động ảnh hưởng đến hoạt động tương tác trong học cộng tác di động, các khuyết điểm được công trình [31] [32] nhận diện như sau:
Hạn chế về năng lượng: Các thiết bị di động có tính di động, vì vậy cung cấp
năng lượng cho thiết bị di động khó khăn Ngoài ra, việc kết nối thường xuyên với môi trường mạng không dây gây tiêu hao năng lượng
Hạn chế không gian lưu trữ: quá trình chia sẻ dữ liệu liên tục trong hoạt động học cộng tác bị ảnh hưởng do hạn chế bộ nhớ lưu trữ của thiết bị di động
Dễ mất kết nối: thiết bị di động có tính di động, vì vậy thiết bị thường xuyên mất kết nối với môi trường mạng không dây Ngoài ra thiết bị di động có thể tự ngắt kết nối để tiết kiệm năng lượng
Hạn chế về băng thông: các thiết bị di động trong môi trường mạng không dây chia sẻ băng thông với nhau, vì vậy khi số lượng thiết bị di động tăng ảnh hưởng đến băng thông môi trường mạng không dây
Với những khuyết điểm trên, môi trường di động cần những giải pháp khắc phục những
khuyết điểm để hỗ trợ cho yếu tố di động khi người học khi tham gia điều phối, tương tác,
giao tiếp, thương thuyết Trong phần này chúng tôi trình bày một số công trình nghiên cứu
liên quan trong lĩnh vực học cộng tác di động được công bố từ 10 năm trở lại đây :
Một trong những công trình nghiên cứu trong lĩnh vực này là công trình [33] giới thiệu
hệ thống mCLT, một nền tảng hỗ trợ học cộng tác di động Trong hệ thống này, sinh viên có
thể dùng thiết bị di động để thu thập và chia sẻ thông tin tức thì mọi lúc mọi nơi Công trình
đã tạo ra một công cụ hỗ trợ học cộng tác di động, qua đó giúp sinh viên đóng vai trò tích
cực trong quá trình xây dựng kiến thức Hệ thống này bao gồm một máy chủ (server) và các máy trạm (client) là những thiết bị điện thoại di động có nền tảng java
Về mặt tương tác, sinh viên dùng thiết bị di động tương tác với sinh viên khác thông qua
máy chủ, máy chủ bao gồm một tập các dịch vụ web (web services), ngoài ra có thể tương tác ngang hàng (Peer to Peer) thông qua SMS hoặc email Các chức năng mà hệ thống hỗ trợ
cho sinh viên bao gồm việc quản lý đăng nhập, đảm bảo bảo mật việc giao tiếp giữa máy
trạm và máy chủ, chức năng quản lý khóa học (Navigation Course) cho phép sinh viên xem
danh sách các khóa học cũng như chi tiết thông tin về khóa học, chức năng chú thích khóa
học (Course Note) cho phép sinh viên thêm chú thích hoặc thảo luận chú thích của sinh viên khác, chức năng quản lý kho lưu trữ cục bộ (Manage Local Repository)cho phép sinh viên làm việc trong môi trường không kết nối (offline), chức năng biên soạn (Editing Module) cho
phép sinh viên chỉnh sửa chú thích hoặc thêm chú thích mới Trong số chức năng trong hệ thống mCLT chỉ có chức năng ghi chú thích lên khóa học hỗ trợ học cộng tác di động, chức
Trang 37năng này cho phép sinh viên dùng thiết bị di động thêm một chú thích trong khóa học và các sinh viên khác thảo luận trên chú thích đó Với chức năng còn lại trong hệ thống thể hiện hình thức học di động hơn, tức là nhấn mạnh việc học tập mọi lúc mọi nơi, trong đó sinh viên dùng thiết bị di động sinh viên đăng nhập vào hệ thống, danh sách các khóa học được hiển thị để sinh viên chọn và xem nội dung khóa học Hình 1-8 mô tả tổng quan hệ thống mCLT
Hình 1-8 Hệ thống mCLT [33]
Về giao tiếp hệ thống hỗ thảo luận giữa các sinh viên với nhau thông qua công cụ thảo
luận dưới dạng đồ thị Trong mô hình đồ thị phân biệt đâu là khái niệm, vấn đề cần được thảo luận Bên cạnh đó, sinh viên có thể thêm chú thích hoặc phản hồi trên những chú thích, điều này cho phép sinh viên tham gia tích cực hơn trong quá trình xây dựng kiến thức Về
hoạt động điều phối công trình chưa đề cập trong hệ thống này, trong hoạt động điều phối
các thành viên cần được gán một vai trò và theo quy luật hoạt động của nhóm, phân công
công việc cụ thể khi tham gia học cộng tác Trong khi hệ thống hỗ trợ giao tiếp giữa các thành viên, quá trình thảo luận có thể xảy ra xung đột thì yếu tố thương thuyết không được
nhắc đến trong hệ thống này
Về yếu tố di động trong học cộng tác di động thì hệ thống hỗ trợ chức năng quản lý kho
lưu trữ cục bộ hướng đến mục tiêu tương tác bất đồng bộ giữa các thành viên Điều này là
cần thiết trong học cộng tác di động, bởi vì ngoài ưu thế nổi bật của thiết bị di động là di
động thì còn những mặt hạn chế như năng lượng yếu, khả năng lưu trữ thấp, dễ kết nối, hạn
chế băng thông Khi sinh viên tham gia học cộng tác có thể di chuyển, khả năng mất kết nối
Trang 38diễn ra thường xuyên do những mặt hạn chế thiết bị di động Do đó những mặt hạn chế này
có thể gây trở ngại cho việc học cộng tác như tương tác và giao tiếp giữa các sinh viên Đối
với khó khăn về tính dễ mất kết nối, công trình đưa ra hướng giải quyết là lưu trữ dữ liệu cục
bộ tại mỗi thiết bị di động Trong quá trình sinh viên tạo chú thích hoặc thảo luận chú thích của môn học mà thiết bị di động bị mất kết nối, thông tin được lưu lại tại bộ nhớ cục bộ mỗi
thiết bị, khi thiết bị có khả năng kết nối lại, hệ thống thực hiện việc đồng bộ dữ liệu với máy
chủ
Hệ thống mCLT được xem như là một đóng góp của công trình [33] đối với hình thức học cộng tác di động, hệ thống tạo ra công cụ cho phép sinh viên tham gia học cộng tác di động Hệ thống này đã được kiểm tra mức độ khả thi của hệ thống Hệ thống sẽ được tiếp tục thử nghiệm để đánh giá tính lợi ích của nó khi hỗ trợ học cộng tác di động
Một ứng dụng khác là Interactive Logbook của công trình [34] chủ yếu hỗ trợ cho sinh
viên trường đại học, ứng dụng tạo điều kiện thuận lợi cho học cộng tác di động và quản lý học cá nhân cho sinh viên Tuy nhiên phạm vi đề tài chỉ quan tâm đến vấn đề học cộng tác di động nên phần mô tả các chức năng hỗ trợ học cá nhân chúng tôi không trình bày chi tiết ở
đây Ứng dụng Interactive Logbook được xây dựng trên thiết bị máy tính bảng kết hợp với
mạng không dây, qua quá trình thu thập yêu cầu từ sinh viên, ứng dụng cung cấp các chức năng như sau:
Programs: cho phép truy cập đến các ứng dụng nhỏ (mini applications) với các chức
năng như truy cập internet, gửi tin nhắn, ghi chú thỏa thích (freehand note), trong đó sinh
viên có thể gửi tin nhắn đến sinh viên khác đảm bảo yếu tố tương tác trong học cộng tác di
động
Modules: cho phép người học truy cập đến tài liệu giảng dạy từ khóa học Ngoài ra, cho
phép hiển thị các tài liệu bài giảng có liên quan đến lịch học dựa vào ngày giờ hiện tại Phần này chủ yếu phục vụ học cá nhân hơn là học cộng tác giữa các thành viên tham gia
Meeting: cung cấp một công cụ cộng tác như truy cập đến nhóm và khởi tạo phiên làm
việc nhóm bằng bảng trắng (whiteboard).Trên bảng trắng này, sinh viên có thể thảo luận trực
tiếp bằng cách ghi chữ lên bảng trắng và những sinh viên khác trong nhóm có thể thấy được, sau đó sinh viên trong nhóm chỉnh sửa hoặc thêm mới các vấn đề học trên đó Hình 1-9 mô
tả công cụ bảng trắng để thảo luận, đảm bảo yếu tố giao tiếp giữa các thành viên trong nhóm
Diary: cung cấp chức năng quản lý thời gian, lịch, lên danh sách công việc cần làm, phục
vụ học cá nhân hơn
Trang 39Hình 1-9 Màn hình chính ứng dụng Interactive logbook [34]
Công trình [34] xây dựng công cụ hướng đến mục tiêu tạo điều kiện để sinh viên giao tiếp với nhau, tác giả bỏ qua yếu tố tổ chức hoạt động cho các thành viên trong nhóm Vì vậy
hệ thống không có hỗ trợ chức năng điều phối cũng như yếu tố thương thuyết khi xung đột
xảy ra Công trình khẳng định ứng dụng cung cấp không gian để sinh viên cộng tác mức đơn giản chứ không quan tâm đến nội dung học Ứng dụng vẫn còn phát triển trong tương lai sau khi thu thập dữ liệu thử nghiệm trong giai đoạn thử nghiệm
Ngoài đặc điểm di động, thiết bị di động còn có đặc điểm nhận biết ngữ cảnh thông qua
việc xác định vị trí thiết bị Hầu hết những thiết bị di động ngày nay đều trang bị hệ thống định vị toàn cầu GPS Nhờ tính năng này mà thiết bị di động được sử dụng trong những tình huống học dựa vào ngữ cảnh Ví dụ: Khi người học tham gia hoạt động khảo sát viện bảo tàng, đứng trước bức tranh lịch sử, ứng dụng sẽ xác định vị trí của thiết bị di động và hiển thị nội dung lịch sử phù hợp trên thiết bị di động nơi định vị
Công trình mà chúng tôi trình bày tiếp theo đã tận dụng đặc điểm ưu việt này, một dự án
Mobile and Ubiquitous Learning (MoULe) được xây dựng để hỗ trợ sinh viên dùng thiết bị
cầm tay trang bị GPS để hợp tác chia sẻ kiến thức với nhau [35] Trong dự án này, tác giả
thiết kế môi trường MoULe để cho phép người học chia sẻ và chỉnh sửa tài liệu (wiki), bản
đồ khái niệm (concept map) được sử dụng trên máy tính bàn và thiết bị di động trang bị GPS Công trình tạo công cụ bản đồ khái niệm và tài liệu wiki, bản đồ khái niệm là một công cụ
Trang 40quan trọng trong quá trình xây dựng kiến thức [36] và Wiki là một công nghệ được phát triển
để tạo ra các trang web cho phép bất kì người dùng trên mạng tự do chỉnh sửa nội dung Mục tiêu dự án MoULe nhắm đến là cho phép sinh viên tham gia học tập mà không bị giới hạn không gian và thời gian hoạt động như trong lớp học và phòng thí nghiệm Tác giả cho rằng
sinh viên dùng thiết bị di động có thể giao tiếp và tương tác với nhau Bên cạnh đó, sinh
viên có thể chia sẻ những trải nghiệm thực tế thúc đẩy động cơ học tập của sinh viên Tác giả
cũng cho rằng việc học khi di chuyển xung quanh địa điểm học rất quan trọng, vì nội dung
học có thể thay đổi theo từng địa điểm học, ở đây tác giả muốn nhấn mạnh việc học dựa vào
ngữ cảnh Trong hệ thống này, sinh viên sẽ giao tiếp với nhau thông qua bản đồ khái niệm
và wiki Sự khác biệt với công trình khác là tác giả kết hợp giữa nội dung học với vị trí học
phù hợp Để xác định vị trí, hệ thống trang bị cho sinh viên thiết bị di động trang bị GPS khi tham gia hoạt động học di động
Trước khi hoạt động học diễn ra, giáo viên thiết kế hoạt động học sẽ chuẩn bị trước các nội dung học, định nghĩa khu vực hoạt động mong muốn sinh viên tham gia khảo sát, kết
hợp nội dung học với từng vị trí được xác định trước trong khu vực hoạt động gọi là points of
interest (POI) Sau đó một bản đồ khái niệm hoặc wiki được tạo ra cung cấp cho sinh viên
trên thiết bị di động hoặc máy tính bàn Với bản đồ khái niệm, một nút khái niệm đầu tiên được tạo ra bởi giáo viên, sinh viên mở rộng khái niệm từ nút này, các sinh viên khác trong
nhóm thêm nút hoặc xóa tùy quan điểm mỗi sinh viên Với wiki, sinh viên tạo ra trang wiki, nội dung trang wiki có thể được gắn với POI xác định trước Vì vậy sinh viên không chỉ phân tích nội dung dựa vào siêu văn bản (hypertext link) mà còn dựa trên vị trí vật lý khi tham gia
học Trong hoạt động học cộng tác di động này, giáo viên có thể theo dõi sự đóng góp của sinh viên về nội dung và những vị trí liên quan đến nội dung mà sinh viên đã khảo sát
Về mặt giao tiếp, tác giả đã tạo 2 công cụ bản đồ khái niệm và wiki kết hợp POI giúp
sinh viên giao tiếp với nhau, trải nghiệm và chia sẻ kiến thức kết hợp vị trí khảo sát Công
trình cũng tạo ra công cụ cho phép giao tiếp bất đồng bộ và đồng bộ
Trong giao tiếp đồng bộ, sinh viên có thể tương tác với nhau bằng cách gửi những tin
nhắn dạng văn bản (text) hoặc đa phương tiện (multimedia) như hình ảnh, âm thanh, hoặc
sinh viên trao đổi thông qua bảng trắng Trong giao tiếp bất đồng bộ, sinh viên có thể tương
tác với nhau bằng cách gửi tin nhắn qua email
Trong dự án MoULe, công trình đã tận dụng những ưu điểm của thiết bị di động kết hợp công cụ học tập để hỗ trợ cho sinh viên trong học cộng tác di động và trải nghiệm Ngoài ra, tác giả cũng đưa ra những mặt hạn chế liên quan công nghệ của dự án MoULe như giới hạn băng thông, cơ sở hạ tầng giao tiếp Một trong những mặt hạn chế của thiết bị di động và
mạng không dây là băng thông Hạn chế băng thông gây cản trở quá trình tương tác giữa