Directed Disffusion

Một phần của tài liệu Đề xuất các thuật toán định tuyến đem lại hiệu quả năng lượng trong mạng cảm biến không dây (Trang 42)

Directed Disffusion là giao thức định tuyến trung tâm dữ liệu đối với việc truyền và phân bố thông tin trong mạng WSN. Mục tiêu chính của giao thức này là tiết kiệm năng lượng để tăng thời gian sống của mạng bằng cách tạo ra sự tương tác giữa các nút cảm biến, dựa vào việc trao đổi các bản tin, định vị trong vùng lân cận mạng. Sử dụng sự tương tác về vị trí nhận thấy có tập hợp tối thiểu các đường truyền dẫn. Đặc điểm duy nhất của giao thức này là sự kết hợp với khả năng của nút để có thể tập trung dữ liệu đáp ứng truy vấn của trạm gốc để tiết kiệm năng lượng.

Thành phần chính của giao thức này bao gồm 4 thành phần : thông điệp interests, data messages, gradients và reinforcements. Directed Disffusion sử dụng mô hình Publish – and – Subcribe trong đó một người kiểm tra tại trạm gốc sẽ miêu tả mỗi thông điệp interest bằng một cặp thuộc tính – giá trị. Thông điệp interests được xem như lời hỏi hay lời yêu cầu mà nút cần dữ liệu nào đó gửi đến các nút khác. Nút nào có thể đáp ứng được yêu cầu đó sẽ trả lời bằng dữ liệu tương ứng. Trạm gốc phát thông điệp interests quảng bá và theo chu kỳ đến tất cả các nút mạng để xác định xem có nút nào có thể phát dữ liệu mà nó đang cần hay không.

Mỗi nút cảm biến có một interest cache để lưu trữ các entry interest khác nhau. Mỗi một entry trong interest cache sẽ lưu trữ một interest khác nhau. Các entry cache này sẽ lưu trữ 3 trường sau:

43 nhận được sau cùng.

+ Nhiều trường gradient cho mỗi nút lân cận, sẽ lưu trữ tốc độ và hướng mà dữ liệu được gửi đi.

+ Trường duration chỉ ra thời gian sống của một interest.

Một gradient có thể coi như là một liên kết phản hồi khi mà nhận được bản tin interest. Hình 2.10 mô tả quá trình truyền interest trong một mạng WSN. Việc truyền thông điệp interest qua mạng kết hợp với việc xây dựng các gradient (có thể xem như là hướng và tốc độ truyền) tại các nút mạng hình thành liên kết giữa trạm gốc và các nút có dữ liệu. Một nút, khi nhận được thông điệp, sẽ tiến hành kiểm tra thông điệp có trong interest với dữ liệu có trong interest cache của mình có phù hợp không. Nếu có nút sẽ tính tốc độ cao nhất trong số các đường gradient liên kết với các nút lân cận. Sau đó, nó thiết lập một phân hệ cảm biến để lấy mẫu các sự kiện ở mức tốc độ cao này. Các nút này sẽ gửi ra ngoài miêu tả về sự kiện cho các nút lân cận có gradient. Các nút lân cận này sẽ nhận dữ liệu và sẽ kiểm tra trong cache xem có entry nào phù hợp hay không, nếu không có nó sẽ bỏ qua dữ liệu này, còn nếu phù hợp nó sẽ nhận dữ liệu các nút này sẽ thêm bản tin vào cache dữ liệu và sau đó gửi bản tin dữ liệu cho các nút lân cận.

44

Hình 2.11. Hoạt động cơ bản của giao thức định tuyến Directed Disffusion. [7]

Sau khi nhận được một thông điệp interest các nút tìm kiếm trong interest cache của mình xem có entry nào phù hợp không, nếu không nút sẽ tạo ra một cache entry mới. Các nút sẽ sử dụng các thông tin chứa trong interest để tạo ra các thông số interest trong entry. Các entry này là một tập hợp chứa các trường gradient với tốc độ và chiều tương ứng với nút lân cận mà interest được nhận. Nếu như interest nhận được có trong cache thì nút sẽ cập nhật nhãn thời gian và trường duration cho phù hợp với entry. Một trường gradient sẽ được loại bỏ khỏi entry nếu quá hạn.

45

Hình 2.12 cho thấy quá trình cài đặt gradient (tốc độ và hướng các liên kết có thể. Trong suốt pha cài đặt gradient trạm gốc tạo ra nhiều tuyến. Trạm gốc có thể tăng chất lượng đường truyền bằng cách tăng tốc độ dữ liệu trong một hay nhiều trong số các đường vừa tạo. Điều này đạt được thông qua quá trình path reinforcement. Trạm gốc này có thể sử dụng sự hỗ trợ của một số các nút lân cận. Để làm được điều này trạm gốc có thể gửi lại bản tin interest nguồn ở tốc độ cao hơn thông qua các đường dẫn được chọn, nhờ việc tăng cường các nút nguồn trên đường dẫn để gửi dữ liệu thường xuyên hơn. Như vậy, đường có chất lượng tốt nhất sẽ được giữ lại trong khi bỏ đi các đường còn lại. Sau khi xây dựng xong tuyến liên lạc từ trạm gốc đến nút có dữ liệu, thì quá trình truyền dữ liệu bắt đầu được thực hiện. Hình 2.13 mô tả quá trình truyền dữ liệu. Directed Disffusion có một ưu điểm, nếu một đường dẫn nào đó giữa trạm gốc và một nút bị lỗi do tác động của kênh truyền hay do nút không đủ năng lượng để hoạt động thì vẫn có thể phát hiện được dựa vào tốc độ dữ liệu bị giảm hay bị mất dữ liệu. Lúc này một đường có tốc độ dữ liệu thấp hơn sẽ được dùng để thay thế cho đường bị hỏng. Kỹ thuật định tuyến Directed Disffusion có hiệu suất sử dụng năng lượng cao, ổn định với môi trường mạng có đặc tính động.

Hình 2.13. Phân phối dữ liệu theo đường được chọn nâng cao chất lượng.

2.2.1.4. SAR [19,38,7]

Giao thức gán tuyến liên tiếp xem xét năng lượng và chất lượng dịch vụ trên mỗi tuyến và mức độ ưu tiên của gói tin để quyết định. Mỗi nút sẽ duy trì nhiều tuyến tới trạm cơ sơ cùng một lúc để tránh tình trạng quá tải hoặc một tuyến liên kết bị lỗi. Số tuyến này được xây dựng bằng cách xây dựng cây mạng tại các nút kề trạm cơ sở, cây được mở rộng bằng cách thêm vào

46

các nút lá hoặc nút nhánh kế tiếp và bỏ qua những nút có chất lượng dịch vụ hoặc năng lượng thấp. Như vậy mỗi nút sẽ kết hợp 2 thông số, chất lượng dịch vụ và năng lượng trong mỗi tuyến, trong đó năng lượng được xác định bằng số gói tối đa có thể định tuyến mà không cần thay thế năng lượng nếu như vẫn sử dụng tuyến đó. Giao thức SAR tính toán thông số chất lượng dịch vụ, năng lượng tiêu thụ và mức ưu tiên của gói tin, Một thủ tục xây dựng lại tuyến được khởi phát bởi nút cơ sở để kịp thích ứng khi tô pô mạng thay đổi, việc phục hồi lại lỗi được thực hiện bằng thủ tục bắt tay giữa các nút hàng xóm với nhau.

2.2.1.5 MCFA [7, 19, 38]

Thuật toán này dựa trên thực tế chiều của luồng dữ liệu trong mạng là

đơn hướng luôn hướng về trạm cơ sở, do vậy nó không đòi hỏi các nút phải xây dựng và duy trì bảng định tuyến để truyền tiếp dữ liệu. Thay vào đó mỗi nút sẽ xác định giá tối thiểu từ nó tới trạm cơ sở.

2.2.2. Giao thức phân cấp

Lợi dụng cấu trúc của mạng để đạt được hiệu quả về năng lượng, sự ổn định, sự mở rộng. Trong loại giao thức này các nút mạng tự tổ chức thành các cụm trong đó một nút có mức năng lượng cao hơn các nút khác và đóng vai trò là nút chủ. Nút chủ thực hiện phối hợp hoạt động trong cụm và chuyển tiếp thông tin giữa các cụm với nhau. Việc tạo thành các cụm có khả năng làm giảm tiêu thụ năng lượng và kéo dài thời gian sống của mạng.

2.2.2.1 LEACH

LEACH là một thuật toán định tuyến được thiết kế để thu thập và phân phối dữ liệu đến các bộ góp dữ liệu, thông thường là một trạm gốc. Mục tiêu chính của LEACH là: [38]

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

 Giảm năng lượng tiêu thụ tại các nút mạng.

 Sử dụng sự tập hợp dữ liệu để giảm bớt số thông điệp cần truyền đi. Để đạt được những mục tiêu này, LEACH xây dựng cấu trúc mạng thành các cluster. Mỗi cluster được quản lý bởi các nút chính gọi là cluster head. LEACH lựa chọn ngẫu nhiên một số nút cảm biến để trở thành các nút chính và quay vòng vai trò này để phân bố đều tải năng lượng giữa các nút cảm biến trong mạng và thực hiện các nhiệm vụ khác nhau. Nhiệm vụ đầu tiên là các nút chính tập hợp dữ liệu đến từ các nút khác trong nhóm của chúng. Sau khi

47 (adsbygoogle = window.adsbygoogle || []).push({});

thu thập dữ liệu, các nút chính cố gắng loại bỏ những dư thừa giữa các giá trị tương quan. Nhiệm vụ thứ hai của cluster head là truyền trực tiếp dữ liệu tập hợp được đến trạm gốc nhằm mục đích giảm số lượng thông tin truyền về trạm gốc. Việc truyền dữ liệu tổng hợp được thực hiện thông qua phương thức truyền đơn chặng (single-hop). Mô hình mạng sử dụng giao thức LEACH được mô tả trên hình 2.14.

Hình 2.14. Mô hình mạng LEACH

Nhiệm vụ thứ 3 của cluster head là tạo ra một bộ định thời TDMA, và cấp cho mỗi nút một khe thời gian khi nó truyền phát. Định thời được quảng bá tới tất cả các nút của nhóm. LEACH dùng kỹ thuật đa truy nhập theo mã (CDMA) để giảm xung đột giữa các nút trong và ngoài cluster. Mã được lựa chọn cẩn thận để giảm can nhiễu giữa các cluster.

Hoạt động của giao thức LEACH được phân tách thành hai pha riêng biệt, pha thiết lập và pha ổn định trạng thái.

+ Pha thiết lập, các nhóm được tổ chức và các nút chính được lựa chọn. + Pha ổn định trạng thái, việc truyền dữ liệu về trạm gốc được tiến hành. Khoảng thời gian tồn tại của pha ổn định trạng thái thường dài hơn so với thời gian thiết lập ban đầu để giảm tối thiểu tổng chi phí.

48

Hình 2.15. Các pha trong LEACH.

Trong pha thiết lập, bắt đầu quá trình chọn lựa các nút chính (cluster head). Quá trình lựa chọn nút chính được xoay vòng giữa các nút mạng để nhằm mục đích năng lượng tiêu tán giữa các nút cảm biến là đồng đều. Một số lượng nhỏ các nút được xác định trước tự quyết định chúng trở thành các nút chính, một nút (n) chọn lấy một số ngẫu nhiên, v, trong phạm vi từ 0 đến 1 và so sánh với giá trị ngưỡng T(n). Nếu số ngẫu nhiên này nhỏ hơn giá trị ngưỡng T(n), thì nút đó trở thành nút chính ở vòng hiện tại. Giá trị ngưỡng tính toán dựa trên một biểu thức toán học có sự kết hợp phần trăm mong muốn hay xác suất trở thành nút chính P ở vòng lặp hiện tại r, và tập hợp các nút chưa được chọn làm nút chính ở 1/P vòng trước đó – tập G. T(n) được xác định như sau:

𝑇 𝑛 =

𝑃

1−𝑃.(𝑟.𝑚𝑜𝑑 1/𝑃 ) 𝑛ế𝑢𝑛 ∈ 𝐺

0 𝑛ế𝑢 𝑛  𝐺

Trong đó, P là tỉ lệ phần trăm nút chính, r là chu kỳ hiện thời, và G là tập các nút không được lựa chọn là nút chính trong 1/P chu kỳ cuối cùng. Sau khi các nút chính được lựa chọn, các nút này sẽ thông báo tới tất cả các nút cảm biến trong mạng rằng chúng là các nút chính mới. Các nút khác, không phải là nút chính khi nhận được thông báo này, chúng sẽ lựa chọn nhóm mà chúng sẽ tham dự theo cường độ tín hiệu của thông báo từ các nút chính đến các nút này. Các nút cảm biến này sẽ khai báo với nút chính thích hợp rằng chúng sẽ là thành viên của nhóm. Sau khi thu thập được tất cả các bản tin từ các nút muốn gia nhập nhóm và dựa trên số lượng các nút thành viên của nhóm, nút chính sẽ tạo ra một biểu thời gian TDMA, và cấp cho mỗi nút một

49

khe thời gian khi nó truyền phát. Và mỗi nút chính cũng lựa chọn ra một mã CDMA, phân bố đều cho tất cả các nút thành viên, để giảm xung đột giữa các nút trong và ngoài cluster. Mã được lựa chọn cẩn thận để giảm can nhiễu giữa các cluster.

Trong giai đoạn ổn định trạng thái, các nút cảm biến bắt đầu truyền số liệu tới các nút chính. Các nút chính sau khi nhận tất cả số liệu từ các nút trong nhóm thì nó tiến hành tập hợp các số liệu này trước khi gửi đến trạm gốc. Sau một khoảng thời gian xác định nào đó được xác định trước, mạng sẽ quay trở lại trạng thái thiết lập và bắt đầu một vòng lựa chọn các nút chính mới.

LEACH cung cấp một mô hình tốt mà các thuật toán nội bộ và tập hợp dữ liệu có thể được thực hiện trong các nút chính được lựa chọn một cách ngẫu nhiên. Điều này làm giảm quá tải thông tin và cung cấp một tập hợp các số liệu tin cậy cho người sử dụng cuối cùng. LEACH góp phần giảm đáng kể năng lượng tiêu thụ và kéo dài thời gian hơn của mạng cảm biến so với trường hợp mạng gồm các nhóm cố định.

Tuy nhiên, LEACH có một số nhược điểm sau:

+ LEACH chưa xác định cụ thể được số lượng tối ưu của các nút chính của mạng khi mà các mạng có cấu hình, mật độ và số lượng nút khác nhau. + Chưa có gợi ý về khi nào thì việc tái tạo lại các nút chính cần được thực hiện.

+ Các nút chính ở xa trạm gốc sẽ tiêu thụ nhiều năng lượng hơn và nhanh chóng dừng hoạt động hơn các nút khác.

+ Tất cả các nút có thể kết nối với trạm gốc qua một chặng có thể không khả thi vì khả năng và năng lượng cung cấp cho các nút thay đổi theo thời gian.

+ Khoảng thời gian của pha ổn định trạng thái có ảnh hưởng lớn đến năng lượng tiêu thụ. Nếu như thời gian ổn định trạng thái ngắn có thể làm tăng overhead (chi phí cho điều khiển giao thức), còn nếu thời gian ổn định trạng thái kéo dài thì lại làm năng lượng của các nút bị sụt giảm nhanh chóng.

Nhiều giao thức đã được đưa ra để cải tiến LEACH. Giao thức XLEACH (extended LEACH) xem xét đến mức năng lượng của nút trong quá trình lựa chọn nút chính. Theo đó, mức ngưỡng T(n) được lựa chọn như sau :

50

Trong đó, là năng lượng hiện tại, là năng lượng ban đầu của nút, là số vòng liên tiếp mà nút không được làm nút chính. Khi giá trị đạt đến 1/P, ngưỡng T(n) trở lại giá trị nó có trước khi xét đến năng lượng còn lại trong biểu thức tính T(n), trở về 0 khi một nút trở thành nút chính.

Yêu cầu năng lượng trong LEACH phân bố đều cho tất cả cá nút bởi vì chúng đóng vai trò như nhau trong việc lựa chọn nút chính. LEACH là một thuật toán phân bố và không yêu cầu thông tin điều khiển từ trạm gốc, quản lý thông tin cục bộ không cần các thông tin chung của toàn mạng. Các kết quả mô phỏng cho thấy so với các giao thức định tuyến truyền thống như định tuyến đa chặng và định tuyến trực tiếp, định tuyến năng lượng tối thiểu, và giải thuật định tuyến phân nhóm tĩnh.

2.2.2.2 PEGASIS [33]

Giao thức tập trung hiệu quả công suất trong hệ thống thông tin cảm biến PEGASIS thực hiện hai nhiệm vụ sau:

+ Kéo dài thời gian sống cho mạng, đồng bộ năng lượng tại tất cả các nút mạng.

+ Giảm độ trễ các gói dữ liệu gửi đến trạm gốc. (adsbygoogle = window.adsbygoogle || []).push({});

PEGASIS được ứng dụng trong mô hình mạng gồm các nút phân bố đồng nhất trên một khu vực và các nút này biết được thông tin chung của các nút khác trong mạng. Hơn nữa các nút còn có khả năng điều khiển công suất và bao phủ một vùng địa lý tùy ý. Các nút này cũng được hỗ trợ một bộ thu phát sóng hỗ trợ CDMA. Mục tiêu của giao thức định tuyến này là giảm năng lượng tiêu thụ và truyền dữ liệu thu thập được từ các nút đến trạm gốc với độ trễ truyền dẫn nhỏ nhất trong khi vẫn cân bằng sự tiêu thụ công suất giữa các nút trong mạng. Khác với những giao thức khác dựa trên cấu trúc mạng hình cây hay phân chia cluster, PEGASIS dùng cấu trúc chuỗi.

Dựa trên mô hình này, các nút sẽ liên lạc với nút lân cận gần nó nhất. Cấu trúc chuỗi bắt đầu từ nút xa trạm gốc nhất, các nút mạng được thêm dần

Một phần của tài liệu Đề xuất các thuật toán định tuyến đem lại hiệu quả năng lượng trong mạng cảm biến không dây (Trang 42)