3.3.1 Mô tả hoạt động giao thức LEACH-C
LEACH - C (LEACH - Thành lập cụm trạm cơ sở) gần giống nhƣ giao thức LEACH thông thƣờng, nó chỉ khác ở pha thiết lập (Set-up Phase) cụm và nút chủ cụm, còn pha ổn định (Steady–state Phase) thì giống với giao thức LEACH. Khác với giao thức LEACH thì mỗi nút sẽ có 1 xác suất để nó có thể đƣợc chọn làm nút chủ cụm, Ở giao thức LEACH – C thì cụm và nút chủ cụm do BS lựa chọn.
Trong LEACH mỗi nút tự nó quyết định sẽ ở trong cụm nào, giải thuật này không đảm bảo đƣợc vị trí cũng nhƣ số lƣợng nút chủ trong toàn mạng. LEACH – C dùng một giải thuật điều khiển trung tâm để hình thành cụm nên có thể tạo ra các cụm tốt hơn với các nút chủ phân tán trên toàn mạng. Trong pha thiết lập của LEACH – C, các nút sẽ gửi thông tin về trạng thái hiện tại của nó bao gồm vị trí và mức năng lƣợng về trạm gốc. Với các thông tin này trạm gốc sẽ dùng thuật toán tối ƣu để xác định một số định trƣớc nút chủ và cấu hình mạng thành các cụm. [5][14]
Hình 3.10: Pha thiết lập của LEACH – C
Việc dùng trạm gốc BS để xác định cụm là tốt hơn so với việc hình thành cụm dùng giải thuật phân tán. LEACH – C yêu cầu các nút phải gửi thông tin về vị trí của nó về BS tại thời điểm bắt đầu của mỗi vòng, thông tin này có thể bao gồm việc phải sử dụng GPS để xác định vị trí hiện tại của mỗi nút.
Để xác định đƣợc các cụm thích ứng tốt thì năng lƣợng phải đƣợc phân bố đều trên tất cả các nút trong mạng. Để làm đƣợc điều này, nút BS tính toán năng lƣợng trung bình của các nút. Nút nào mà có năng lƣợng nhỏ hơn mức năng lƣợng trung bình này sẽ không đƣợc chọn làm nút chủ ở vòng đó, những nút còn lại có năng lƣợng lớn hơn giá trị trung bình đó có thể là nút chủ. BS sẽ chạy giải thuật nhiều lần để chọn ra k nút tốt nhất trở thành nút chủ cũng nhƣ chọn ra đƣợc k cụm tối ƣu.
Khi chọn đƣợc các nút chủ và các cụm tối ƣu, trạm gốc sẽ gửi thông tin này tới tất cả các nút trong mạng. Việc này đƣợc thực hiện bằng việc quảng bá bản tin bao gồm ID của nút chủ cho mỗi nút. Nếu nút nào có ID trùng với ID trong bản tin nó sẽ trở thành nút chủ, các nút khác sẽ xác định khe thời gian của nó cho việc phát dữ liệu, và sẽ ở trạng thái ngủ cho đến thời điểm nó phát dữ liệu về nút chủ.
3.3.2 Ƣu điểm, nhƣợc điểm:
LEACH-C là giao thức cải tiến của LEACH cơ bản, nó khắc phục những nhƣợc điểm của giao thức cũ nên có những ƣu điểm sau:
Phân bổ năng lƣợng hiệu quả: Trong LEACH-C, trạm gốc không bị giới hạn về năng lƣợng, có chức năng lựa chọn nút chủ, có thể áp dụng những thuật toán tối ƣu phức tạp hơn, sử dụng nhiều tham số hơn vào quá trình ra quyết định. Kết quả giải thuật lựa chọn đƣợc nút chủ tối ƣu hơn, nâng cao hiệu quả sử dụng năng lƣợng của các nút trong mạng.
Việc đƣa tham số năng lƣợng dự trữ trở thành một điều kiện trong quá trình xác định nút chủ nhờ thế LEACH-C đạt hiệu quả tốt hơn LEACH cơ bản. Thêm vào đó chỉ có BS thực hiện chức năng xác định nút chủ, các nút khác không cần xác định mình là nút chủ vì thế giảm năng lƣợng xử lý tại các nút cảm biến.
Phân bổ cụm hiệu quả theo vị trí: LEACH-C thực hiện tập trung thông tin toàn mạng về trạm gốc, nên BS xác định đƣợc topo mạng căn cứ vào vị trí của các nút, từ đó có chiến lƣợc phân bố cụm theo vị trí hiệu quả hơn LEACH.
Kiểm soát đƣợc số cụm trong một vòng: Việc loại bỏ tham số ngẫu nhiên S trong quá trình lựa chọn nút chủ (từ đó hình thành nên cụm) đã giúp LEACH-C có thể xác định đƣợc số cụm trong một vòng hoạt động, ƣu điểm này có tác động tích cực đến tính liên tục của dữ liệu nhận đƣợc tại BS. Tuy nhiên, LEACH-C cũng xuất hiện một số nhƣợc điểm nhƣ:
Phức tạp: Việc thiết kế thuật toán để lựa chọn nút chủ tối ƣu cho trạm gốc là rất phức tạp, với số lƣợng lớn tham số đầu vào.
Số lƣợng lớn bản tin mào đầu: Trong giao thức LEACH-C, khi kết thúc một vòng, nút cảm biến phải gửi về cho BS thông tin về vị trí và trạng thái năng lƣợng của nút. Mặc dù kích thƣớc của bản tin này nhỏ, nhƣng với những nút có khoảng cách tới BS lớn thì năng lƣợng tiêu thụ cho việc gửi gói tin này cũng làm ảnh hƣởng đáng kể tới thời gian sống của nút.
3.4 Giao thức STAT-CLUSTER
Stat-Cluster đƣợc gọi là giao thức phân chia cụm một lần rồi cố định, Stat- Cluster có nguyên tắc hoạt động tƣơng tự với LEACH-C. Nút BS sẽ căn cứ vào tọa độ và năng lƣợng hiện tại của các node để phân chia cấu hình mạng. Điều khác biệt ở giao thức Stat-Cluster là nút BS chỉ chia nhóm 1 lần và giữ nguyên cấu hình mạng đó để gửi dữ liệu.[9]
Ƣu điểm: Các Cluster-Head là cố định nên không tốn thời gian và năng lƣợng cho quá trình phân chia lại.
Nhƣợc điểm: Thời gian sống ngắn vì quá trình chọn nút CH ban đầu là ngẫu nhiên và nếu các nút CH này ở quá xa trạm gốc BS thì sẽ mạng hết năng lƣợng rất nhanh.
3.5 Giao thức PEGASIS
PEGASIS (Power-Efficient Gathering in Sensor Information Systems) là giao thức cải tiến lên từ LEACH, đƣợc gọi là Giao thức tập hợp dữ liệu hiệu quả về năng lƣợng cho các hệ thống thông tin cảm biến. [5][7][12]
Giao thức PEGASIS thực hiện 2 nhiệm vụ: 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 và giảm độ trễ truyền gói dữ liệu đến trạm gốc.
PEGASIS áp dụng trên mô hình mạng bao gồm tập hợp các nút đƣợc phân bố đồng nhất trên một vùng địa lý. Mỗi nút trong mạng đều biết đƣợc thông tin về vị trí các nút khác trong toàn mạng. Các nút có khả năng điều khiển công suất và bao phủ một vùng nào đó. Các nút này đƣợc trang bị bộ thu phát sóng sử dụng công nghệ CDMA.
Nhiệm vụ của nút cảm biến là thu thập và truyền dữ liệu đến trạm gốc. Mục đích chính của giao thức là phát triển một cấu trúc định tuyến và một sơ đồ tập trung dữ liệu nhằm giảm thiểu năng lƣợng tiêu thụ, đồng thời dữ liệu đƣợc tập trung và truyền đến trạm cơ sở với trễ truyền dẫn nhỏ nhất, trong khi vẫn cân bằng sự tiêu thụ năng lƣợng giữa các nút trong mạng.
Hoạt động của pegasis gồm 4 bước: Xây dựng chuỗi, chọn nút chủ, truyền dữ liệu, xử lý lỗi khi nút chết.
Xây dựng chuỗi: Xây dựng chuỗi theo thuật toán Greedy, mục đích là tạo ra một chuỗi các nút cảm biến mà mỗi nút có thể nhận và truyền dữ liệu tới nút hàng xóm gần nó nhất. Chuỗi hình thành bắt đầu với nút xa nút gốc nhất để đảm bảo rằng tất cả nút cảm biến ở xa đều có nút lân cận gần nó vì trong thuật toán greedy khoảng cách giữa các nút sẽ tăng dần và nút nằm trong chuỗi sẽ không đƣợc thăm lại, nút mạng đƣợc thêm dần vào chuỗi làm cho chuỗi lớn dần, kể từ nút hàng xóm gần nhất. Để xác định đƣợc nút lân cận gần nhất, mỗi nút sử dụng cƣờng độ tín hiệu để đo khoảng cách tới các nút lân cận của nó. Sau khi xác định xong, nó sẽ điều chỉnh cƣờng độ tín hiệu sao cho chỉ có nút lân cận gần nhất nghe đƣợc.
Hình 3.11: Xây dựng chuỗi sử dụng thuật toán Greedy
Chọn nút chủ: Sau khi chuỗi đƣợc thành lập, bƣớc tiếp theo là chọn nút chủ. Trong một chuỗi chỉ có một nút đƣợc chọn làm nút chủ, trách nhiệm của nút chủ là truyền dữ liệu tập hợp đƣợc tới trạm cơ sở. Vai trò nút chủ sẽ đƣợc thay đổi trong chuỗi theo vị trí sau mỗi vòng. Việc quay vòng nút chủ trong chuỗi nhằm đảm bảo sự cân bằng tiêu thụ năng lƣợng giữa các nút mạng. Vấn đề có thể nảy sinh là việc thay đổi này có thể làm tăng khoảng cách giữa nút chủ và trạm gốc, khi đó nút chủ này cần yêu cầu công suất cao để truyền dữ liệu đến trạm cơ sở. Nút chủ đƣợc chọn theo cách sau: ở vòng thứ i thì nút thứ i mod N (N là số nút trong mạng) sẽ làm chủ. Trong hình 3.11, nút C2 là nút chủ.
Truyền dữ liệu: Trong một vòng, PEGASIS sử dụng cơ chế điều khiển token passing đƣợc khởi tạo bởi nút chủ để bắt đầu truyền dữ liệu từ hai đầu của chuỗi. Chi phí cho các bản tin điều khiển này là rất nhỏ vì kích thƣớc thẻ bài nhỏ. Đầu tiên nút chủ sẽ gửi một thẻ bài tới nút cuối cùng bên phải của chuỗi. Khi nhận đƣợc thẻ
bài này nút cuối sẽ gởi dữ liệu nó cảm biến đƣợc cho thẻ bài và gửi đến nút lân cận theo chiều xuôi trong chuỗi, mỗi nút nhận dữ liệu từ nút hàng xóm và hợp nhất với dữ liệu mà nó cảm nhận đƣợc rồi chuyển tiếp đến nút hàng xóm kế tiếp trong chuỗi. Quá trình tập hợp dữ liệu trong mạng đƣợc tiến hành dọc theo chuỗi và tiếp tục chuyển tiếp đến nút lân cận gần nó nhất, cứ nhƣ vậy cho đến khi dữ liệu đƣợc gửi đến nút chủ. Tiếp theo nút chủ sẽ gửi một thẻ bài tới nút cuối cùng bên trái của chuỗi, từ nút cuối cùng bên trái thẻ bài lại đƣợc gửi xuôi trong chuỗi và xử lý dữ liệu giống nhƣ chuỗi bên trái. Cuối cùng nút chủ tập hợp dữ liệu và chỉ gửi một gói tin đến trạm gốc. Trong hình 3.11 nút C2 là nút chủ. Để truyền dữ liệu, nút chủ C2 sẽ gửi một thẻ bài cho C0, C0 gửi dữ liệu nó cảm biến đƣợc thông qua thẻ bài đến C1. C1 hợp nhất dữ liệu của nó cảm nhận đƣợc với dữ liệu của C0 thành dữ liệu mới để gửi đến nút chủ C2. Nút C2 sau đó sẽ chuyển thẻ bài đến nút C4. C4 gửi dữ liệu nó cảm biến đƣợc thông qua thẻ bài đến C3. C3 hợp nhất dữ liệu của nó cảm nhận đƣợc với dữ liệu của C4 thành dữ liệu mới để gửi đến nút chủ C2. Nút chủ C2 sẽ đợi để nhận dữ liệu của cả hai nhánh trái và phải để rồi nó lại tập hợp dữ liệu lần nữa. Cuối cùng nút chủ C2 sau đó chỉ chuyển một thông báo đến trạm gốc BS. Công việc trên tiếp tục lặp lại cho các vòng tiếp theo chỉ khác có sự thay đổi vị trí nút chủ mà thôi. Mô hình truyền dữ liệu trong hai vòng đƣợc mô tả trong hình 3.12.
Hình 3.12: Mô hình truyền dữ liệu trong PEGASIS
thuật toán định tuyến PEGASIS sẽ thực hiện tiếp tục theo chuỗi mới sau khi đã loại trừ nút chết.
Giao thức PEGASIS sẽ giải quyết đƣợc vấn đề về mào đầu gây ra bởi việc hình thành các cụm động trong LEACH và giảm đƣợc số lần truyền và nhận bằng việc tập hợp dữ liệu. Tuy nhiên PEGASIS lại có độ trễ đƣờng truyền lớn đối với các nút ở xa trong chuỗi, vì vậy cũng khó áp dụng cho mạng có quy mô lớn, số nút cảm biến lớn. Hơn nữa theo thuật toán này ở nút chủ (nút cuối của nhánh bên phải và nhánh bên trái, có màu đen nhƣ hình 3.12) là nơi tập hợp dữ liệu nên có thể xảy ra hiện tƣợng thắt cổ chai.
3.6 Một số ý tƣởng cải tiến giao thức định tuyến theo mô hình phân cấp 3.6.1 Cải tiến giao thức LEACH 3.6.1 Cải tiến giao thức LEACH
Có hai ý tƣởng để cải tiến giao thức định tuyến LEACH nhƣ sau: [4]
3.6.1.1 Tiêu chuẩn chọn nút chủ
Giao thức LEACH sẽ chọn ngẫu nhiên nút chủ tại mỗi vòng. Do đó, một số nút có thể cạn kiệt về năng lƣợng nhanh chóng do đƣợc chọn làm nút chủ nhiều lần. Giao thức LEACH cải tiến không chọn nút chủ một cách ngẫu nhiên nữa mà thay đổi tiêu chuẩn chọn. Một trong những cải tiến là làm cho các node có năng lƣợng còn lại nhiều hơn có nhiều cơ hội trở thành nút chủ hơn vì thế sẽ hiệu quả về năng lƣợng hơn LEACH.
Ví dụ: Giao thức E-LEACH
Giao thức Energy-LEACH cải tiến thủ tục chọn nút chủ. Nó làm cho năng lƣợng còn lại của node thành một ma trận chính để quyết định là các nút này có trở thành nút chủ hay không ở vòng tiếp theo. Trong vòng truyền thông đầu tiên, mỗi nút có cùng xác suất để trở thành nút chủ. n (n=pxN) nút đƣợc chọn ngẫu nhiên làm nút chủ, và sau đó năng lƣợng còn lại của mỗi nút sẽ khác nhau sau mỗi vòng truyền thông. Lựa chọn n nút với năng lƣợng còn lại nhiều hơn trở thành nút chủ ở vòng truyền thông tiếp theo, và cứ tiếp tục nhƣ vậy cho đến khi tất cả các nút chết đi.
Giống nhƣ giao thức LEACH, giao thức Energy-LEACH cũng chia thành nhiều vòng, và mỗi vòng gồm pha hình thành cụm và pha ổn định của cụm (để truyền dữ liệu).
(1)Trong pha hình thành cụm, mỗi nút sẽ quyết định trở thành nút chủ hay không bằng cách so sánh năng lƣợng còn lại.
(2)Các nút với năng lƣợng còn lại nhiều hơn sẽ trở thành nút chủ và gửi thông tin nút chủ để thông báo cho các nút khác. Các nút khác với năng lƣợng còn lại ít hơn sẽ trở thành các nút bình thƣờng, và gửi thông tin về việc gia nhập cụm đến nút chủ.
(3)Trong giai đoạn ổn định cluster, các nút trong một cụm gửi dữ liệu theo bảng TDMA, và các nút chủ sẽ nhận, tập hợp và gửi dữ liệu đến trạm gốc. Sau một khoảng thời gian, mạng thực hiện lại quá trình chọn nút chủ trong một vòng mới.
Trong giai đoạn hình thành cụm, biểu đồ luồng của một nút có trở thành nút chủ hoặc một nút bình thƣờng nhƣ trong hình 3.13.
Hình 3.13: Biểu đồ giao thức E-LEACH
3.6.1.2 Truyền thông đa HOP giữa các nút chủ CH
Các nút chủ CH trực tiếp truyền thông với trạm gốc trong giao thức LEACH. Tiêu tốn năng lƣợng giữa nút chủ và trạm gốc lớn hơn năng lƣợng tiêu thụ trong truyền thông giữa các nút chủ với nhau, do đó nút chủ sẽ cạn kiệt năng lƣợng sớm hơn. Giao thức LEACH cải tiến sẽ sử dụng truyền thông đa HOP giữa các nút chủ có thể tránh toàn mạng chết sớm và kéo dài thời gian sống của mạng bằng cách cân bằng năng lƣợng tiêu thụ trong mạng.
Ví dụ: Giao thức Multihop-LEACH
Trong giao thức LEACH, mỗi nút chủ trực tiếp truyền thông với trạm gốc bất kể là khoảng cách giữa nút chủ và trạm gốc là xa hoặc gần. Việc truyền này sẽ tiêu tốn nhiều năng lƣợng nếu khoảng cách xa. Một giao thức LEACH đƣợc sửa đổi (gọi là Multihop-LEACH) sẽ chọn đƣờng đi tối ƣu và thực hiện cơ chế truyền đa HOP
Là node thƣờng
Gửi thông tin tham gia Cluster đến Cluster Head Chọn Cluster Head
Quảng bá thông tin của Cluster Head
Bắt đầu một vòng
Tiếp nhận các nodes có mức năng lƣợng còn lại cao hơn
Mỗi node tự tính mức năng lƣợng còn lại Sai Đúng Nhiều năng lƣợng hơn mức giới hạn ?
(multi-Hop) giữa nút chủ và trạm gốc đƣợc thực hiện nhƣ sau: Trƣớc hết, truyền thông multi-hop thực hiện giữa các nút chủ với nhau. Sau đó, theo đƣờng dẫn tối ƣu đƣợc chọn thì các nút chủ này truyền dữ liệu đến nút chủ tƣơng ứng gần với trạm gốc nhất. Cuối cùng, nút chủ này gửi dữ liệu đến trạm gốc.
Hình 3.14: Giao thức M-LEACH
Giao thức Multihop-LEACH gần nhƣ giống với giao thức LEACH, nó chỉ thực hiện chế độ truyền thông từ đơn HOP sang đa HOP giữa các nút chủ và trạm gốc.
Thuật toán định tuyến đa HOP trong một vòng nhƣ trong hình 3.15.
Hình 3.15: Định tuyến của giao thức Multihop-LEACH
Chọn node gần nhất làm node đích