Đảm bảo tính thống nhất Tính thống nhất mạnh của phần tử luôn luôn được đảm bảo Tính thống nhất yếu ứng dụng client và server truy cập vào các phần tử dữ liệu có giá trị khác nhau
Trang 1Quản lý và phổ biến dữ liệu trong tính
toán di động
Tính toán di động 2011
Trang 2Nội dung
1. Giới thiệu chung
2. Phổ biến dữ liệu
3. Caching
Trang 31 Giới thiệu chung
Trang 4I Tổng quan
Ứng dụng cung cấp thông tin
chuyến bay
nhà hàng, thời tiết, hiệu thuốc, dịch vụ, danh bạ,
Nhiều loại thông tin có thể được cung cấp qua MC
Trang 5Nhiệm vụ/chức năng
Yêu cầu: chính xác, nhanh chóng
Nhiệm vụ
Trang 6Thực hiện
Mô hình vật lý
Mô hình trao đổi thông tin
Tăng hiệu năng=>Bộ nhớ đệm
Trang 7Mô hình Publisher-Subscriber
Thuận lợi
hưởng nhiều đến hiệu năng của server)
lượng cho client
Vấn đề
Trang 8Caching
On demand: chi phí truy cập cao
Dự trữ
Vấn đề cần giải quyết
thống nhất
thống nhất
Trang 9II Ảnh hưởng của tính toán di động
Hệ thống di động có thể là có kiến trúc/không có kiến trúc
Đảm bảo dữ liệu sẵn sàng cho các ứng dụng khi kết nối bị/không bị ngắt
Trang 10 Khác nhau giữa kênh lên và kênh xuống
MS cạnh tranh để có kênh lên=>tốn kém tài nguyên cho kênh lên
Tối ưu hóa việc sử dụng tài nguyên thông qua việc phân phối hợp lý kênh lên/kênh xuống
Trang 12MANET Mobile Adhoc Network
Kết nối chủ yếu là adhoc
Các nút định tuyến không tin cậy
Bản chất trao đổi thông tin P2P
Có các tính chất của MNET
=> Giải quyết vấn đề caching cho adhoc
Trang 132 Phổ biến dữ liệu
I Giới thiệu
II Phân phối băng thông cho các kênh logic
III Lập lịch cho kênh quảng bá
Trang 14I Giới thiệu
On demand
Mô hình Push
Chỉ có 1 thông báo lên
Độ trễ trung bình nhận một phần tử dữ liệu tăng
Trang 15Các kênh truyền logics
Sử dụng hỗn hợp cả 2 mô hình
Kênh ondemand: đòi hỏi băng thông Uplink và Downlink
Kênh quảng bá: chủ yếu là băng thông Downlink
Bài toán:
Trang 16II Phân phối băng thông cho kênh logic
Giả định
Số lượng nút là M
tổng băng thông là B
băng thông quảng bá là 𝐵𝑏
băng thông on demand là 𝐵𝑜
Có n phần tử dữ liệu 𝐷1 , 𝐷𝑛, kích thước S
Các thông báo yêu cầu thông tin kích thước R
Các phần tử xuất hiện với xác suất 𝑝1, 𝑝2 … 𝑝𝑛 theo thứ tự giảm dần
Các nút yêu cầu dữ liệu giống nhau với tốc độ là r yêu cầu /s
Tính thời gian truy cập một đơn vị dữ liệu
Trang 17Nếu kênh truyền là on demand
Thời gian để truy cập một đơn vị dữ liệu theo ondemand
Không đảm bảo tính co giãn
Trang 18Nếu kênh truyền là broadcast
Thời gian chờ trung bình của mỗi nút 𝑛/2 đơn vị
(𝑛/2) ∗ ( 𝑆
𝐵𝑏)
Không phụ thuộc vào số nút M
Chỉ phụ thuộc vào số lượng đơn vị dữ liệu n
=> có thể điều chỉnh bằng cách thay đổi tần suất quảng bá của các đơn vị dữ liệu
Trang 19Ví dụ
Trang 201 Assign D1, …, Di to the broadcast channel
2 Assign Di+1, …, DN to the on-demand channel
3 Determine the optimal value of Bb and Bo, to minimize the access time T, as follows
Trang 21III Lập lịch cho quảng bá
Nhiệm vụ
Trừu tượng hóa kênh logic với chương trình
nhau
Kiến trúc
nhất
Trang 22Giải thuật AAFZ
Lập lịch cho các đĩa để đạt được tốc độ quay tương đối
Đầu vào
Đầu ra: Lịch quảng bá các phần tử dữ liệu
Giải thuật
dữ liệu tương ứng
Trang 23Giải thuật AFFZ
For i = 0 to max_chunk do:
For j=1 to n-1
End For
End For
Trang 24Broadcast schedule
Trang 253 Caching
I. Caching trong hệ thống phân tán cố định
II. Caching trong các hệ thống di động
III. Mobile web caching
Trang 26I Caching trong các hệ thống cố định
Bài toán
Tại client, proxy, server
Trang 29Đảm bảo tính thống nhất
Tính thống nhất mạnh
của phần tử luôn luôn được đảm bảo
Tính thống nhất yếu
ứng dụng client và server truy cập vào các phần tử dữ liệu có giá trị khác nhau
Cơ chế
Chưa giải quyết được các vấn đề trong hệ thống di động
Trang 30Mất thông báo vô hiệu hóa
Trang 31Các yếu tố cần quan tâm
Cách thức/qui luật truy cập dữ liệu
Tần suất cập nhật dữ liệu
Chi phí truyền thông/truy cập
Cách thức/qui luật di chuyển
Đặc điểm của kết nối
Nhu cầu về tính cập nhật của dữ liệu
Thông tin phụ thuộc bối cảnh
Trang 32Các vấn đề cần giải quyết
Giảm độ trễ (client)
Đảm bảo tính thống nhất của dữ liệu
Đảm bảo tính sẵn sàng cao của dữ liệu
Đảm bảo hiệu quả cao về nguồn/băng thông
Xác định chi phí của cache miss và sử dụng trong cơ chế cache
Quản lý dữ liệu vị trí trong cache
Đồng bộ các bộ nhớ đệm của nhiều bên
Trang 33Các lựa chọn có thể
Cache ở đâu
Cache bao nhiêu lớp
Cache cái gì
Làm thế nào để hủy một phần tử cache
Mức độ cập nhật của thông tin trong cache
Hiệu quả đáp ứng yêu cầu
Trang 34Các mô hình caching trong MC
Trang 35Caching cho các hệ thống mô hình Push
cache đơn vị dữ liệu được sử dụng nhiều nhất
Chủ yếu để tăng hiệu năng
Chi phí tải đơn vị dữ liệu không đáng kể
Cần tính thêm chi phí tải đơn vị dữ liệu về client
tần suất xuất hiện là 1% và 0,5%
thời gian truyền là 1% và 0,1%
Thời gian chờ đợi giữa 2 đơn vị dữ liệu của y gấp 10 lần x=>vấn đề
về độ trễ
Trang 36 Ví dụ: Phần tử dữ liệu được coi là hot nếu tích giữa xác xuất xuất hiện và tần xuất quảng bá lớn hơn
=> cải tiến các hệ thống caching đã có sẵn, đưa vào các thông số liên quan đến chi phí tải dữ liệu
Trang 37Quảng bá các thông báo vô hiệu hóa dữ liệu
BT: quảng bá thời gian
các dữ liệu trong khoảng thời gian [𝑡 − 𝑤, 𝑡]
Id: số thứ tự của đơn vị dữ liệu
Ts: thời gian thay đổi cuối cùng của dữ liệu
Với mỗi phần tử id, kiểm tra nếu ts cục bộ của id nhỏ hơn trong thông báo => xóa dữ liệu khỏi bộ đệm
thường) Quá thời gian đó, tất cả các dữ liệu trong bộ nhớ đệm
Trang 38Mobile Host (MH)
Wireless Access Point Data Server
Invalidation Report
Queries are batched and answered after cache validation following the next invalidation report
Cache validation
is performed
Trang 39Một vài cải tiến
báo vô hiệu hóa để tối ưu băng thông
thiết bị vào mô hình cache
kết nối (Hue and Lee 1998)
Không trạng thái
Không hướng tới các ứng dụng di động
Chưa giải quyết vấn đề nếu MS ngắt kết nối quá w=>tải lại dữ liệu
Trang 40 Nguyên lý: “dự trữ thông tin”
thực hiện
Trang 41Dự trữ thông tin
Dự trữ các phần tử thông tin nào?
Dự trữ thế nào (tần suất thay đổi của các thông tin
Xử lý khi có cache miss
Đồng bộ dữ liệu client-server
Trang 42Cơ chế không đồng bộ có trạng thái
(Kahol-2001)
Nguyên lý
tử dữ liệu trong cache
Trang 43Thành phần hệ thống
Server: chứa dữ liệu
HA: chứa các HLC, mỗi MS có một HLC là một danh sách (x,T,invFlag)
MS: chứa cache với các đơn vị dữ liệu, có time stamp
Ứng dụng: gửi các yêu cầu dữ liệu đến MS
Kết nối: MS chứa ứng dụng Server kết nối với HA bằng
mạng có dây
Trang 44Điều kiện ràng buộc
Khi đơn vị dữ liệu được cập nhật, thông báo vô hiệu hóa nội dung cache được gửi tới tất cả các HA bằng mạng có dây
HA chuyển tiếp thông báo đến cho MS
Không có thông báo bị mất khi chuyển trong mạng có dây
MS có thể phát hiện được tình trạng kết nối Khi ở trạng thái không kết nối, không đáp ứng các yêu cầu từ ứng
dụng
MS thông báo cho HA trước khi cập nhật bất cứ một phần
tử dữ liệu nào trong bộ nhớ đệm
Trang 45Cơ chế thực hiện
HA theo dõi các dữ liệu được lưu ở bộ nhớ đệm của các MS bằng
x là định danh của phần tử dữ liệu
T là thời gian vô hiệu hóa lần cuối của dữ liệu
invFlag=True nếu HA đã gửi yêu cầu vô hiệu hóa đến MS mà chưa nhận được trả lời
MS có thể gửi các thông báo chứa yêu cầu với dấu thời gian có thể coi là báo nhận thông báo vô hiệu hóa
MS lưu trữ các phần tử dữ liệu được truy cập thường
Trang 46Cập nhật dữ liệu
Khi HA nhận được yêu cầu vô hiệu hóa cache từ phía
server, HA xác định các MS đang sử dụng dữ liệu bằng cách tìm kiếm trong các HLC
HA gửi các thông báo vô hiệu hóa tới các MS
Khi các MS nhận được thông báo, loại bỏ phần tử dữ liệu
Khi nhận được yêu cầu từ phía application, MS đọc trong cache
Nếu có, MS trả lời application
Nếu không có, gửi yêu cầu cập nhật phần tử đến HA
HA yêu cầu server cung cấp dữ liệu,
gửi đến cho client,
cập nhật HLC
Trang 47Vấn đề:
nếu MS ở trong trạng thái ngủ một thời gian=>
tất cả các yêu cầu vô hiệu hóa đều phải truyền lại?
Yêu cầu nào phải truyền lại?
Cơ chế
Sau khi thiết lập lại kết nối với HA, MS gửi một thông báo probe (nếu
có nhu cầu gửi thông báo khác thì không cần gửi thông báo probe) đến cho HA, chứa dấu thời gian của MS
HA căn cứ vào dấu thời gian của MS để xác định những phần tử dữ liệu nào trong cache của MS không còn giá trị và gửi yêu cầu vô hiệu hóa đến cho MS
MS có thể xác định được là dữ liệu nào đã bị thay đổi trong quá trình
Trang 48Ví dụ
Mobile Host
Wireless Access Point Data Server
Time Query
(y,t1)
Invalidation (x,t1)
x changed
X Z
*
*
F F
X Z
Query + Probe (*,t2)
Z *
T T
First query after wakeup
x z
t2
* t5
Cache Data
Trang 49Chính sách sử dụng cache
Dữ liệu không thay đổi: luôn luôn dùng phiên bản cục bộ
Dữ liệu có thay đổi=> lựa chọn cache
Hiệu quả?
Biết trước lịch thay đổi=> tối ưu hóa cache
Không biết trước=> thuật toán trực tuyến
Trang 50Huang 1998: cơ chế cửa sổ trượt
Các thao tác trên đơn vị dữ liệu
Lịch cập nhật dữ liệu s=> cost C(s)
Theo dõi một cửa sổ kích thước k
Cần quan tâm tới các yếu tố khác
Trang 51Tóm tắt
Tổng quan
Quảng bá và phổ biến dữ liệu
Mobile Caching