Directed Difusion (Khuếch tán trực tiếp)

Một phần của tài liệu Đánh giá hiệu suất của giao thức định tuyến trong mạng cảm biến không dây (Trang 33)

SPIN cung cấp các kỹ thuật hiệu quả để các nút cảm biến truyền bá thông tin nó quan sát được cho các nút mạng khác quan tâm. Kết quả là, lưu lượng trong SPIN được bắt đầu từ các nút cảm biến và kết thúc tại sink. Tuy nhiên, loại lưu lượng này không phù hợp cho các ứng dụng mà nguồn lưu lượng được bắt đầu từ phía người dùng (sink) khi cần đưa ra các truy vấn tới các nút cảm biến cụ thể. Do đó, mô hình truyền dữ liệu bằng cách khuếch tán trực tiếp đã được phát triển để đáp ứng cho các loại ứng dụng này. Hoạt động xác định đường đi giữa sink và các nút cảm biến trong mô hình khếch tán trực tiếp được thực hiện qua 4 giai đoạn như hình 2.7 : (a)_tuyên truyền các gói tin interest, (b)_thiết lập gradient, (c)_củng cố lại đường đi

reinforcements và cuối cùng (d)_truyền dữ liệu data.

Hình 2.7: Hoạt động của giao thức Khuếch tán trực tiếp

Các yêu cầu về thông tin được bắt đầu từ Sink bằng cách gửi lan truyền các gói tin Interest tới tất cả các nút cảm biến trong mạng như hình 2.7 (a). Các gói tin Interest hoạt động như các gói tin thăm dò để tìm ra các nút chứa dữ liệu phù hợp cho các nhiệm vụ cụ thể. Trong giai đoạn này, Sink tiếp tục phát quảng bá các gói tin Interest theo định kỳ trong mạng.

Khi nhận được gói tin Interest, các nút cảm biến sẽ lưu nó vào trong bộ nhớ Interest cache của mình. Bộ nhớ Interest cache chứa các trường như: mốc thời gian (timestamp), tốc độ và hướng dữ liệu (Gradient), khoảng thời gian (interval) và thời hạn (duration). Trường timestamp cho biết mốc thời gian nút cảm biến nhận được gói tin Interest. Trường Gradient được sử dụng để xây dựng con đường ngược trở lại từ

nút cảm biến tới Sink. Trường Interval cho biết chu kỳ gửi gói tin Interest và mỗi gói tin Interest được lưu trong bộ nhớ Interest Cache với một khoảng thời gian cụ thể được quy định trong trường Duration. Sau khi nhận được gói tin Interest, nút cảm biến sẽ chuyển tiếp gói tin này tới các nút lân cận theo hướng ra xa sink hơn. Sự chuyển tiếp này có thể giống như Flooding hay giới hạn hơn tùy theo mô tả công việc. Các Gradient được thiết lập thông qua các quy tắc cục bộ và theo đó nút có năng lượng cao nhất được lựa chọn. Do Interest được truyền đi khắp nơi trong mạng cảm biến nên các Gradient từ nút nguồn quay trở lại Sink được thiết lập như hình 2.7 (b).

Các gói tin Interest cho biết dữ liệu được yêu cầu tại một thời điểm nhất định trong mạng cảm biến. Mỗi nút mạng kiểm tra thông tin mà nó quan sát được và trở thành nút nguồn nếu nó có dữ liệu phù hợp với dữ liệu được yêu cầu trong Interest. Khi đó, nút nguồn sẽ gửi dữ liệu dọc theo con đường dựa trên Gradient của gói tin Interest tương ứng.

Một nút nguồn có thể có nhiều Gradient cho cùng một gói tin Interest. Do đó, dữ liệu có thể được gửi thông qua nhiều tuyến đường để tới Sink. Trong trường hợp này, các Sink củng cố 1 tuyến đường cụ thể bằng cách gửi lại gói tin Interest thông qua một nút xác định trên đường truyền như được chỉ ra trong hình 2.7 (c). Con đường này có thể được lựa chọn dựa trên một vài tiêu chuẩn như: chất lượng liên kết tốt nhất, độ trễ nhỏ nhất hay số lượng gói tin nhận được từ nút lân cận là nhiều nhất,…Mỗi khi một nút xác định được lựa chọn, gói tin Interest chỉ gửi tới nút đó để củng cố con đường liên kết với nút này. Mỗi nút mạng dọc theo con đường sẽ chuyển sự củng cố này cho các nút mạng kế tiếp. Cuối cùng, một tuyến đường giữa nút nguồn và Sink được thiết lập như hình 2.7 (d).

Nhờ giai đoạn củng cố lại đường đi mà đường truyền dữ liệu có thể tự động được thay đổi tùy theo những thay đổi trong mạng WSN. Trong trường hợp này, Sink sẽ gửi gói tin củng cố thông qua con đường mới khác với con đường hiện tại. Hơn nữa, các gói tin từ chối củng cố (negative reinforcement) cũng được gửi thông qua đường dẫn hiện hành để ngăn chặn dữ liệu tiếp tục chuyển giao qua con đường này. Mô tả cho quá trình từ chối củng cố được thể hiện như hình 2.8.

Việc quảng bá gói tin Interest, thiết lập Gradient, củng cố lại đường truyền và gửi dữ liệu được thực thi tuân theo các quy tắc cục bộ. Do đó, các quy tắc cục bộ khác nhau có thể dẫn tới kết quả trong các kỹ thuật truyền là khác nhau. Về cơ bản, khếch tán trực tiếp cung cấp 1 con đường đơn để truyền dữ liệu. Tuy nhiên, Sink có thể lựa chọn nhiều con đường trong giai đoạn củng cố để truyền nhận đa đường. Tương tự như vậy, các thông tin cảm biến có thể được gửi đến nhiều Sink tùy theo sự quảng bá gói tin Interest và các kỹ thuật thiết lập Gradient.

Một chi phí quan trọng trong giao thức khếch tán trực tiếp là hoạt động Flooding các gói tin Interest. Hoạt động này gồm 2 pha tính từ khi các Sink bắt đầu truyền thông. Với các ứng dụng mà dữ liệu được bắt đầu từ các cảm biến thì giao thức khuếch tán trực tiếp sẽ bỏ qua pha quảng bá Interest, thay vào đó các nút cảm biến sẽ quảng bá dữ liệu của nó tới Sink giống như hoạt động của SPIN. Khi nhận được các quảng bá này, Sink sẽ gửi các gói tin củng cố để thiết lập tuyến đường giữa nút nguồn và Sink. Một chi phí khác cũng khá lớn liên quan tới việc lưu trữ dữ liệu tại các nút cảm biến. Tổng các chi phí này sẽ kéo theo chi phí của một nút cảm biến tăng cao.

2.4.5. Đánh giá chất lƣợng các giao thức phẳng và tập trung dữ liệu

Các giao thức định tuyến tập trung dữ liệu cung cấp các tuyến đường tùy theo từng ứng dụng dựa trên sự quan tâm của người dùng. Bất cứ khi nào nút cảm biến cảm nhận được sự thay đổi, các tuyến đường trên mạng sẽ phải tự động thích ứng với những thay đổi này để đáp ứng các yêu cầu của người dùng. Hơn nữa, các giao thức này không đòi hỏi phải định danh các nút cảm biến, không cần phải duy trì một kiến trúc mạng toàn cầu do đó giảm thiểu một phần lớn năng lượng bị tiêu hao.

Nhược điểm chính của các giao thức định tuyến tập trung dữ liệu là chúng thường hoạt động dựa trên kiến trúc phẳng. Đây là nguyên nhân làm giảm khả năng mở rộng của mạng cũng như tăng khả năng tắc nghẽn tại các nút mạng ở gần Sink. Hơn nữa, các giao thức như khếch tán trực tiếp chỉ được áp dụng cho một tập con các ứng dụng trong mạng WSN khi sự truyền thông được bắt đầu bằng các truy vấn được gửi đi từ Sink. Điều này làm cho các giao thức như khếch tán trực tiếp không phải là một lựa chọn tốt cho các ứng dụng mà ở đó dữ liệu cảm biến cần truyền đi một cách liên tục và tự động. Mặt khác, các truy vấn cũng như các thủ tục với gói tin Interest tương ứng cần phải được định nghĩa riêng lẻ cho từng ứng dụng.

2.5. Các giao thức phân bậc [2, 148-152] [4,9]

Các nhược điểm của giao thức kiến trúc phẳng và tập trung dữ liệu được khắc phục bằng các giao thức có kiến trúc phân bậc. Theo cách này, các nút mạng được tổ

chức phân bậc bằng cách gộp lại thành các nhóm riêng biệt. Các nút mạng là thành viên của một nhóm sẽ tương tác cục bộ với nhau và chịu sự điều khiển của nút đứng đầu nhóm (cluster head node) giống như được thể hiện ở hình 2.9. Dựa trên kiến trúc đó, một số giao thức định tuyến phân bậc đã được phát triển để giải quyết các vấn đề trong việc tiêu thụ năng lượng và mở rộng phạm vi cho mạng cảm biến. Các nút thành viên trong nhóm không gửi dữ liệu mà nó thu thập được về trực tiếp Sink mà phải thông qua nút đứng đầu nhóm. Các nút đứng đầu nhóm cũng có thể thành lập nhóm mới ở bậc cao hơn trước khi gửi dữ liệu về Sink. Một số giao thức định tuyến phân bậc được đề xuất cho mạng cảm biến đó là LEACH, PEGASIS, TEEN hay APTEEN.

Hình 2.9: Kiến trúc mạng phân bậc trong mạng WSN

2.5.1. Giao thức LEACH [4,9]

LEACH (Low- Energy Adaptive Clustering Hierarchy - Phân bậc theo nhóm thích ứng năng lượng thấp) là giao thức định tuyến được thiết kế để thu thập dữ liệu từ các nút cảm biến và phân phối tới Sink. Mục đích chính của LEACH là:

- Kéo dài thời gian sống của mạng.

- Giảm năng lượng tiêu thụ tại mỗi nút cảm biến. - Tập hợp và nén để giảm thiểu lượng dữ liệu truyền.

Để đạt được những mục đích này, LEACH dựa trên phương pháp phân bậc và tổ chức mạng thành tập các nhóm. Mỗi nhóm được quản lý bởi một nút đứng đầu (cluster head). Các nút mạng là nút đứng đầu nhóm được LEACH lựa chọn ngẫu nhiên và quay vòng vai trò để phân bố đều tải năng lượng.

Các hoạt động cơ bản của LEACH được chia thành 2 giai đoạn là: thiết lập và ổn định trạng thái. Trong giai đoạn thiết lập, các nhóm được hình thành và nút đứng đầu nhóm được lựa chọn. Còn trong giai đoạn ổn định trạng thái, dữ liệu được truyền từ các nút thành viên về nút đứng đầu nhóm và từ các nút đứng đầu nhóm về Sink.

Khoảng thời gian trong giai đoạn ổn định trạng thái thường dài hơn so với khoảng thời gian trong giai đoạn thiết lập để giảm thiểu chi phí của giao thức.

Khởi đầu giai đoạn thiết lập, một vài nút được xác định trước, tự mình quyết định trở thành các nút đứng đầu nhóm theo quy tắc như sau. Mỗi nút sẽ chọn lấy một số ngẫu nhiên, nằm trong khoảng từ 0 tới 1. Nếu số ngẫu nhiên này nhỏ hơn giá trị ngưỡng T(n) thì nút đó sẽ trở thành nút đứng đầu ở vòng hiện tại. Giá trị ngưỡng được tính toán dựa trên biểu thức toán học sau:

(1) Trong đó p: tỷ lệ phần trăm nút chủ

r: vòng hiện tại.

G: tập hợp các nút không được lựa chọn làm nút đứng đầu trong (1/p) vòng cuối.

Sau khi được lựa chọn là nút đứng đầu nhóm, các nút này sẽ quảng bá vai trò mới của mình cho các nút khác trong mạng. Các nút còn lại (không phải là nút đứng đầu) nhận được thông tin quảng bá sẽ quyết định thuộc về một nhóm nào đó mà chúng muốn. Quyết định này dựa trên cường độ tín hiệu của thông tin quảng bá hay một số tiêu chuẩn khác như chất lượng đường truyền... Một nút mạng sau khi xác định được nhóm mà nó muốn gia nhập sẽ gửi thông báo tới nút đứng đầu nhóm đó biết. Dựa trên số lượng các nút thành viên trong nhóm, nút đứng đầu nhóm sẽ tạo ra bộ định thời TDMA và thông báo tới tất cả các nút thành viên trong nhóm.

Trong giai đoạn ổn định trạng thái, các nút mạng bắt đầu cảm biến và truyền dữ liệu về nút đứng đầu nhóm của mình thông qua khe thời gian được cấp phát. Việc thu thập dữ liệu được diễn ra theo chu kỳ. Các nút đứng đầu nhóm ngoài việc thu nhận dữ liệu từ các nút thành viên gửi tới, nó còn phải xử lý nội bộ để giảm thiểu dung lượng dữ liệu trước khi gửi tới Sink. Sau một khoảng thời gian nhất định nào đó được xác định trước, mạng sẽ quay trở lại giai đoạn thiết lập và bắt đầu một vòng lựa chọn các nút đứng đầu nhóm mới. LEACH sử dụng chiến lược đa truy cập phân chia theo mã (CDMA) để giảm thiểu xung đột giữa các nút cảm biến ở trong và ngoài mỗi nhóm đồng thời tránh can nhiễu giữa các nhóm với nhau. (adsbygoogle = window.adsbygoogle || []).push({});

LEACH đạt được hiệu quả tiết kiệm năng lượng lớn nhờ tính năng tập trung và xử lý dữ liệu nội bộ tại các nút đứng đầu nhóm. Hơn nữa, việc luân chuyển vai trò của nút đứng đầu giúp phân bố đều năng lượng tiêu thụ cho tất cả các nút cảm biến trên mạng. Nhờ đó, phạm vi của mạng được ổn định và thời gian sống của mạng được kéo dài. Tuy nhiên, LEACH cũng còn một số nhược điểm sau: Hoạt động của LEACH giả định tất cả các nút đều có thể liên lạc với Sink thông qua một chặng là không thực tế do khả năng lưu trữ và mức độ năng lượng của các nút mạng thay đổi theo thời gian. Mặt khác, khoảng thời gian của giai đoạn ổn định trạng thái là rất quan trọng. Nếu

khoảng thời gian này ngắn, nó sẽ làm tăng chi phí của giao thức, trong khi quá dài thì nó sẽ làm năng lượng của nút đứng đầu sụt giảm nhanh chóng. Cuối cùng, do việc tập trung dữ liệu được thực hiện theo chu kỳ nên LEACH chỉ phù hợp với các ứng dụng cần giám sát liên tục trong các mạng cảm biến. Để khắc phục các nhược điểm trên, một số cải tiến và phiên bản cho LEACH đã được đề xuất như: LEACH mở rộng, LEACH-C hay LEACH-F.

Giao thức LEACH mở rộng (XLEACH) là một cải tiến của LEACH khi có xem xét đến mức độ năng lượng của mỗi nút trong quá trình lựa chọn nút đứng đầu nhóm. Theo đó, giá trị ngưỡng T(n) được xác định như sau:

(2) Trong đó En, current: năng lượng hiện tại.

En, max: năng lượng ban đầu của nút cảm biến.

rn,s: số vòng liên tiếp mà nút không được làm nút đứng đầu. Khi giá trị rn,s

đạt đến 1/P ngưỡng T(n) trở lại giá trị mà nó có trước khi xét đến năng lượng còn lại

trong biểu thức tính ngưỡng).Giá trị rn,s trở về 0 khi nút đó được chọn làm nút đứng

đầu.

Một phiên bản khác của LEACH là LEACH-C. LEACH-C khác với LEACH trong giai đoạn thiết lập. Thay vì các nhóm được hình thành một cách phân tán, LEACH-C sử dụng thuật toán phân nhóm tập trung. Bắt đầu giai đoạn thiết lập, các nút sẽ phải gửi thông tin gồm vị trí (có được thông qua hệ thống GPS) và mức năng lượng hiện tại của nó về Sink. Ngoài việc xác định tốt các nhóm, Sink cần đảm bảo rằng tải năng lượng được phân bố đều trên tất cả các nút. Để làm được điều này, Sink tính toán năng lượng trung bình và xác định chỉ những nút có năng lượng trên mức trung bình mới được lựa chọn làm nút đứng đầu. Sink chạy giải thuật của mình để xác định số lượng các nút đứng đầu tối ưu. Cuối cùng, Sink gửi thông tin quảng bá chứa ID của nút đứng đầu tới tất cả các nút trong mạng. Nút mạng nào có ID trùng với ID chứa trong thông tin quảng bá sẽ thực hiện vai trò là nút đứng đầu của mình. Các nút còn lại tìm kiếm nhóm của mình giống với LEACH và sau đó lần lượt gửi dữ liệu tới nút đứng đầu nhóm theo khe thời gian được cấp phát. Trong khi khe thời gian không thuộc về mình, các nút này sẽ ở trong trạng thái nghỉ.

Để giảm thiểu chi phí trong giai đoạn thiết lập, LEACH-F (Giao thức LEACH thực hiện phân nhóm cố định) được đề xuất dựa trên hoạt động của LEACH. Ở LEACH-F số lượng, phạm vi các nhóm được hình thành một lần duy nhất và cố định trên toàn mạng trong tất cả thời gian hoạt động. Giải thuật LEACH-F sử dụng để phân chia nhóm giống với LEACH-C nhưng vai trò của nút đứng đầu nhóm chỉ được quay vòng cho các nút trong cùng một nhóm. Giai đoạn ổn định trạng thái của LEACH-F giống LEACH và LEACH-C. Tuy nhiên, LEACH-F không đạt hiệu quả trong vấn đề tiết kiệm năng lượng và giao thức này cũng không khả thi khi các nút cảm biến là di

động. LEACH-F cũng không cung cấp sự linh hoạt khi các nút mới được bổ sung và cũng không điều chỉnh được hành vi của mạng khi có những nút ngừng hoạt động.

2.5.2. Static-cluster (Phân nhóm tĩnh)

Static-cluster là giao thức định tuyến nằm trong nhóm các giao thức phân bậc. Nguyên tắc hoạt động của Static-Cluster là chỉ thực hiện phân chia nhóm một lần duy nhất và cố định nút đứng đầu của mỗi nhóm.

Một phần của tài liệu Đánh giá hiệu suất của giao thức định tuyến trong mạng cảm biến không dây (Trang 33)