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 động. Giới thiệu và phân tích một số phương pháp nhất quán dữ liệu trong môi trường di động. Nội dung chi tiết của phần 2: Giới thiệu về học tập di động và học tập di động cộng tác.
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 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 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 5 mà 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 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.
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. Các trường hợp sử dụng CacheData, CachePath và HybridCache HybridCache CacheData CachePath Ts Si ≤ Ts Si ≤ Ts TTTL TTLi> TTTL Lưu trữ TH 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. 3) Kiến trúc COCA Trong kiến trúc COCA (COoperative CAching) [3], [5] của nhóm tác giả Chi-Yin Chow, mỗi MH được trang bị hai thiết bị giao tiếp không dây (Card Wireless), một thiết bị chuyên dùng để giao tiếp với máy chủ (MSS), thiết bị còn lại dùng để truyền tin với các MH khác trong vùng để chia sẻ dữ liệu cộng tác qua kênh truyền P2P và được mô tả trong Hình 1-2. Kiến trúc COCA [3][5] 7 0.
Local cache hit Interface Cards Global Interface Cards MSS MH 2.Local cache miss 3.Global cache hit 4.Global cache miss MSS Interface Cards Global Interface Cards MH MSS Hình 1-3. Cơ chế hoạt động của kiến trúc COCA [3][5] Cơ chế hoạt động của kiến trúc COCA được mô tả trong Hình 1-3. Khi nhận được 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 8 MH 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].
4) Kiến trúc DGCOCA Công trình nghiên cứu [6] đưa ra chiến lược lưu trữ dữ liệu trong vùng cộng tác, mục tiêu của chiến lược này là tối ưu kho lưu trữ cục bộ. Chiến lược thay thế dữ liệu hợp lý sẽ làm tăng tỉ lệ có dữ liệu trong vùng, khi đó các MH không tốn nhiều chi phí cho một lần truy vấn dữ liệu. Trong môi trường mạng không dây, khả năng mất kết nối rất sẽ xảy ra, chính vì vậy kỹ thuật xử lý khi MH bị mất kết nối được đề cập trong công trình nghiên cứu này nhằm giảm khả năng mất dữ liệu trong vùng. Chiến lược lưu trữ dữ liệu trong vùng cộng tác: khi yêu cầu dữ liệu được trả về, 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. Chiến lược thay thế dữ liệu tại bộ nhớ cục bộ: khi dữ liệu yêu cầu được trả về, 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ộ. Xử lý khi MH bị mất kết nối: trong môi trường mạng không dây, các MH hạn chế 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 9 kế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.