2.3 Kết luận chương II
Có rất nhiều phương pháp định vị nút trong một mạng cảm ứng không dây mà trong đó có ba phương pháp đã được giới thiệu ở chương này là: định vị không có ước tính khoảng cách, định vị có ước tính khoảng cách và định vị theo phương pháp tam giác phân. Đồng thời trong chương cũng giới thiệu một số giao thức định tuyến dựa trên vị trí như: giao thức MECN, SMECN, GAF và GEAR. Mỗi giao thức đều có ưu điểm và nhược điểm riêng. Việc lựa chọn giao thức nào phụ thuộc vào đặc điểm của mạng và của ứng dụng được triển khai.
Bảng 2.1 tổng kết một số đặc điểm của các giao thức định tuyến theo vị trí. Bảng 2.1. So sánh một số đặc điểm cơ bản của các giao thức theo vị trí
Giao thức định
tuyến Di chuyển
Khả năng định cỡ
Độ phức tạp
của trạng thái Đa đường
GAF Không Tốt Thấp Không
GEAR Không Hạn chế Thấp Không
CHƯƠNG III: GIAO THỨC ĐỊNH TUYẾN GAF
Mạng cảm biến không dây có đặc điểm là nguồn cung cấp năng lượng (chủ yếu là pin) thường có thời gian cung cấp năng lượng ngắn. Do vậy, mạng bị giới hạn về mặt công suất cũng như thời gian hoạt động. Vì thế việc giảm thiểu năng lượng tiêu thụ cũng là một yếu tố rất quan trọng được đặt ra trong vấn đề định tuyến. Chương này sẽ giới thiệu về giao thức định tuyến thích ứng chính xác theo vị trí GAF (Geographic adaptive fidelity), một trong những giao thức định tuyến tiết kiệm năng lượng tiêu thụ trong mạng cảm biến không dây.
3.1 Giao thức GAF
Giao thức GAF thuộc lớp các giao thức tập trung vào việc giảm mức năng lượng tiêu thụ để tăng thời gian sống của mạng. Năng lượng tiêu thụ bởi các nút cảm biến cho việc truyền, nhận và nghe rỗi là cần thiết nhưng trong đó có dư thừa. Trong mạng cảm biến, quan sát thấy rằng các nút trung gian có thể thực sự đưa vào trạng thái nghỉ hoặc tắt đi để tiết kiệm năng lượng trong khi vẫn duy trì kết nối của
mạng. Định tuyến chính xác, được định nghĩa là sự kết nối liên tục giữa các nút giao tiếp, có thể được duy trì miễn là nút trung gian bất kỳ ở trạng thái hoạt động. Trong GAF, định tuyến chính xác được duy trì không đổi trong khi trạng thái nút được thích nghi để mở rộng thời gian sống của mạng.
GAF sử dụng một lưới ảo trên toàn bộ trường cảm biến, và mỗi nút tự kết hợp nó với lưới ảo này. Vị trí nút trong GAF được xác định bằng cách sử dụng hệ thống định vị toàn cầu (GPS) hoặc các hệ thống định vị khác. Tất cả các nút trong một lưới cụ thể là tương đương đối với việc chuyển tiếp các gói tin. Trong mỗi lưới, các nút xác định nút nào sẽ nghỉ và nghỉ trong bao lâu, và nút nào sẽ vẫn hoạt động trong một thời gian nhất định.
3.1.1 Xác định nút tương đương
GAF sử dụng thông tin vị trí và các lưới ảo để xác định nút tương đương. Thông tin vị trí sử dụng trong GAF có thể được cung cấp bởi GPS hoặc các hệ thống định vị khác. Trong quyển đồ án này, giả định rằng mỗi nút biết chính xác vị trí hiện tại của nó đối với các nút khác.
Nút là “tương đương” giữa một số nút có thể không là tương đương trong kết nối giữa các nút khác. Ví dụ, trong hình 3.1 các nút cách đều nhau một đơn vị với dải vô tuyến rộng hơn hai đơn vị. Trong kết nối giữa nút 1 và nút 4, nút 2 và nút 3 là tương đương, trong khi giữa nút 1 và nút 5 chỉ có nút 3 là đáp ứng được việc kết nối này.
Hình 3.1 Vấn đề về nút tương đương
GAF giải quyết vấn đề này bằng cách phân chia toàn bộ diện tích các nút được phân bố thành các “lưới ảo” nhỏ. Lưới ảo này được xác định như sau, cho hai
lưới cạnh nhau A và B, tất cả các nút trong A có thể kết nối với tất cả các nút trong B và ngược lại. Do đó tất cả các nút trong mỗi lưới là tương đương nhau trong việc định tuyến. Ví dụ, hình 4 tạo nên ba lưới ảo A, B và C. Theo định nghĩa của ta về các lưới ảo, nút 1 có thể liên lạc tới bất kỳ nút nào trong số các nút 2, nút 3 hoặc nút 4, và nút 2, 3 và 4 đều có thể liên lạc tới nút 5. Do đó, các nút 2, 3 và 4 là tương đương và hai trong số ba nút này có thể ở trạng thái nghỉ.
Trong định nghĩa về lưới ảo, có đòi hỏi rằng bất kỳ các nút nào trong lưới cạnh nhau có thể kết nối với nhau. Trong thực tế, dải kết nối vô tuyến của một nút là không xác định hoặc thậm chí không đối xứng do sự lan truyền vô tuyến thực hiện giống như sự phản xạ đa đường. Trong quyển đồ án này sẽ giả định rằng dải kết nối này là xác định.
Lưới ảo được định cỡ dựa trên dải vô tuyến danh định R. Giả định rằng lưới ảo là hình vuông với mỗi cạnh là r đơn vị như trong hình 3.2. Để phù hợp định nghĩa của lưới ảo, khoảng cách giữa hai nút xa nhất có thể trong bất kỳ hai lưới cạnh nhau nào, như lưới B và C trong hình 3.2, phải không lớn hơn R. Ví dụ, nút 2 của lưới B và nút 5 của lưới C trong hình 3.2 là các điểm đầu cuối của kết nối chéo giữa hai lưới cạnh nhau.
Hình 3.2 Kích thước lưới ảo trong GAF Do đó, ta có: r2 + (2r)2 ≤ R2 (3.1) Hay: r ≤ 5 R (3.2)
3.1.2 Sự chuyển tiếp trạng thái của GAF
Trong GAF, các nút ở trong một trong ba trạng thái sau: trạng thái nghỉ, khám phá hoặc hoạt động. Một sơ đồ về việc chuyển trạng thái được trình bày trong hình 3.3.
Hình 3.3 Chuyển trạng thái trong GAF
Vào lúc bắt đầu, các nút bắt đầu từ trạng thái khám phá. Khi ở trong trạng thái khám phá, nút bật sóng vô tuyến của chính nó và trao đổi bản tin khám phá để tìm các nút khác trong cùng lưới. Bản tin khám phá này gồm id của nút và id lưới, thời gian hoạt động ước tính của nút (enat – estimated node active time), và trạng thái của nút. Một nút sử dụng vị trí của nó và kích thước lưới để xác định id của lưới.
Khi nút gia nhập trạng thái khám phá, nó thiết lập một bộ định thời trong Td
giây. Khi bộ định thời này khởi động, nút này phát quảng bá bản tin khám phá của nó và gia nhập trạng thái hoạt động. Bộ định thời cũng có thể bị xóa bỏ bởi bản tin khám phá khác. Bộ định thời này làm giảm bớt xác suất của việc xung đột bản tin khám phá.
Khi một nút gia nhập trạng thái hoạt động, nó thiết lập một giới hạn thời gian (timeout) giá trị Ta để xác định nút này có thể ở trong trạng thái hoạt động trong bao lâu. Sau thời gian Ta, nút sẽ quay trở lại trạng thái khám phá. Trong khi hoạt động, nút này phát quảng bá lại bản tin khám phá theo từng khoảng chu kỳ Td.
Một nút trong trạng thái khám phá hoặc trạng thái hoạt động có thể thay đổi sang trạng thái nghỉ khi nó có thể xác định một vài nút tương đương khác sẽ xử lý việc định tuyến. Các nút thương lượng xem nút nào sẽ xử lý việc định tuyến qua một phương pháp phân cấp phụ thuộc ứng dụng (Sự phân cấp nút có thể là thứ tự bất kỳ của các nút để quyết định nút nào nên hoạt động, hoặc nó có thể được lựa chọn để tối ưu toàn bộ thời gian sống của mạng). Khi chuyển sang trạng thái nghỉ, nút hủy bỏ tất cả các bộ định thời chưa kết thúc và giảm cấp nguồn vô tuyến của nó.
Một nút trong trạng thái nghỉ sẽ thoát khỏi trạng thái đó sau một thời gian nghỉ phụ thuộc ứng dụng Ts và chuyển về lại trạng thái khám phá.
3.1.3 Điều chỉnh trong GAF
GAF đưa ra nhiều lựa chọn của các loại tham số bao gồm enat, Td, Ta, cấp bậc của nút, Ts tới các ứng dụng. Trong mục này miêu tả bằng cách nào và tại sao những tham số này được chọn trong thuật toán GAF hiện tại. Các ứng dụng có thể
muốn tối ưu hóa các lựa chọn này, ví dụ, có thể chọn gia tăng tổn thất gói để tiết kiệm nhiều năng lượng hơn.
Thời gian hoạt động ước tính của nút (enat - estimated node active time) có thể được thiết lập từ thời gian sống kỳ vọng của nút (enlt - expected node timelife), thiết lập bằng việc giả định nút này sẽ thường xuyên tiêu thụ năng lượng tại một mức cực đại cho đến khi nó ngừng hoạt động. Thay vì thời gian hoạt động ước tính enat bảo thủ này, GAF sử dụng một cách tiếp cận được miêu tả trong phần 3.1.4 để cân bằng năng lượng sử dụng trên các nút.
GAF lựa chọn khoảng thời gian phát bản tin khám phá (discovery message interval) Td như một giá trị ngẫu nhiên đều giữa 0 và một vài hằng số. Cách tiếp cận này tránh được sự tranh chấp từ các bản tin khám phá được đồng bộ hóa. Phạm vi của Td cũng có thể bị ảnh hưởng bởi cấp bậc của nút để khuyến khích các nút có cấp bậc cao ngăn chặn các nút cấp bậc thấp, cho phép chúng nhanh chóng đi vào trạng thái nghỉ. Các nút trong trạng thái hoạt động có thể muốn chọn một Td lớn hơn để tránh phụ phí băng thông và năng lượng.
Thời gian hoạt động (Ta) của các nút có thể là thời gian sống dự kiến (expected lifetime – enlt) của chính nó. GAF cải tiến sử dụng Ta để thực hiện cân bằng tải như mô tả trong phần 3.1.4.
Việc phân cấp nút trong GAF được dùng để tối đa hóa thời gian sống của mạng bằng cách lựa chọn những nút nào xử lý việc định tuyến. Phân cấp được xác định bởi một số quy tắc. Đầu tiên, một nút A ở trạng thái hoạt động phải có bậc cao hơn một nút a ở trạng thái khám phá. Quy tắc này để cố gắng nhanh chóng đạt đến trạng thái mỗi lưới chỉ duy trì một nút hoạt động. Đối với các nút có cùng trạng thái, GAF cho các nút với thời gian sống dự kiến (enat) dài hơn có cấp bậc cao hơn. Quy tắc này đặt các nút có thời gian sống dự kiến dài hơn vào sử dụng trước. Cuối cùng, các id của nút được sử dụng để phá vỡ các quy tắc. Nó có thể để cho các ứng dụng lựa chọn các quy tắc phân cấp nút khác nhau theo ý kiến riêng của chúng, ví dụ, ứng dụng có thể thiên vị cho các nút ở trạng thái hoạt động cho đến khi chúng thoát ra hết năng lượng trong mạng cảm biến.
Thời gian nghỉ (Ts) của nút có thể được thiết lập đến mức enat của nút hoạt động vì đây là giả định thận trọng về thời gian sống của nút đó. Do sự dịch chuyển của nút, nút hoạt động có thể đi chuyển ra khỏi lưới (dĩ nhiên là ở đó có sự thay đổi làm các nút khác di chuyển vào lưới này). Điều này có thể để lại một lưới mà không có bất kỳ nút hoạt động nào mặc dù một số nút đang ở trạng thái nghỉ, làm giảm độ chính xác của việc định tuyến. Một cách tiếp cận làm giảm vấn đề này là thiết lập
s
T như là một thời gian ngẫu nhiên đều đặn giữa 0 và enat. Phạm vi rộng lớn này của Ts thường có thể có các nút thoát khỏi trạng thái nghỉ khá sớm. Do đó trong GAF Ts được thống nhất trong dải [enat/2, enat]. Một phương án tiếp cận khác sử dụng thông tin di động của nút cũng được xem xét trong phần 3.1.5.
3.1.4 Sử dụng năng lượng cân bằng tải
GAF sử dụng một chiến lược cân bằng tải để tất cả các nút làm việc cùng nhau càng lâu càng tốt. Ý tưởng đằng sau đó là tất cả các nút trong mạng đều quan trọng như nhau và không có nút nào phải bị bất lợi hơn bất cứ nút nào khác. (Một phương án khác là sử dụng hết hoàn toàn năng lượng của mỗi nút lần lượt trong khi các nút khác ở trạng thái nghỉ)
GAF sử dụng chiến lược cân bằng tải sau đây. Sau khi một nút giữ nguyên trạng thái hoạt động trong thời gian Ta, nó thay đổi trạng thái của chính nó thành trạng thái khám phá để đưa ra một cơ hội cho các nút khác trong cùng lưới trở thành trạng thái hoạt động. Nhớ lại rằng các nút được phân cấp theo mức năng lượng còn lại của chúng. Khi nút hoạt động chuyển trạng thái của nó thành khám phá, nó có nhiều khả năng là có ít năng lượng còn lại so với các nút hàng xóm của nó bởi vì có lẽ hàng xóm này đã ở trong trạng thái nghỉ tiết kiệm năng lượng trong suốt thời gian nút này hoạt động. Do dó, các nút đã ở trạng thái hoạt động ít có khả năng vẫn hoạt động sau pha khám phá.
Nút hoạt động thiết lập Ta tới giá trị enat và quảng bá enat trong các bản tin khám phá của nó. Các nút không hoạt động trong miền lân cận sử dụng enat để xác định chu kỳ nghỉ của chúng. Nút hoạt động thiết lập enat tới một giá trị nhỏ hơn thời gian sử dụng tất cả năng lượng còn lại (enlt). Trong phần này đặt enat tới mức
với các nút khác trong miền lân cận. Khi enlt nhỏ hơn một giá trị ngưỡng (thường là 30s) GAF thiết lập enat bằng với toàn bộ enlt.
3.1.5 Thích ứng với tính di động cao
GAF cố gắng để thích ứng với số lượng nút tham gia trong định tuyến để giữ một mức độ không đổi của các nút định tuyến dữ liệu. Diễn biến của ý tưởng này sẽ là một nút hoạt động trong mỗi lưới tại bất kỳ thời điểm nào. Tuy nhiên, như các nút di động, nút hoạt động có thể rời khỏi lưới của nó. Điều này có thể để lại lưới đó không có một nút hoạt động nào, làm giảm độ chính xác của định tuyến. Trong kịch bản với tính di động cao vấn đề này có thể làm tăng hệ số dừng gói (packet drop rate).
Có thể thích ứng với tính di động cao bằng cách xem xét trạng thái mức hệ thống này một cách rõ ràng trong GAF. Mỗi nút ước tính thời gian nó dự kiến rời khỏi lưới của mình (expected node grid time hay engt) và bao gồm các thông tin này trong bản tin khám phá. Khi các nút khác gia nhập trạng thái nghỉ, chúng nghỉ trong thời gian nhỏ hơn enat và engt quyết định chúng có thể ở trạng thái nghỉ trong bao lâu. Sự thay đổi này không làm thay đổi cấp bậc nút; các nút sử dụng cùng các quy tắc phân cấp để quyết định nút nào nghỉ, nhưng chúng nghỉ trong một thời gian ngắn hơn.
Một nút có thể ước tính engt dựa trên tốc độ hiện tại của nó s (tốc độ có thể đã đạt được hoặc được ước tính từ hầu hết các máy thu GPS) và kích thước lưới,
engt = r/s. Ước tính này hoạt động tốt cho các mô hình di động đường-điểm ngẫu nhiên với các điểm dừng; trong các hệ thống mà việc di chuyển khó dự đoán hơn giá trị này có thể khó ước tính hơn.
Để so sánh hiệu quả của việc thích ứng tính di động của nút, gọi GAF mà không thích ứng tính di động của nút là GAF-cơ bản (GAF-b), GAF có thích ứng tính di động của nút là GAF-thích ứng di động (GAF-ma) và sử dụng mô phỏng để so sánh hiệu năng của chúng. GAF-b và GAF-ma có kết quả giống nhau khi tính di động còn thấp (tốc độ của nút s ≈ 1m/s). Khi tính di động cao (tốc độ của nút s≈
20m/s), GAF-b sẽ có xu hướng có các nút hoạt động ít hơn và do đó tiêu thụ năng lượng ít hơn nhưng hệ số mất gói cao hơn.
Như đã đề cập ở phần trước, giao thức định tuyến GAF tập trung vào việc