(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 là các trạm gốc (base station). ðối tượng 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 các node mạng
• Dùng sự tập hợp dữ liệu ñể giảm số thông ñiệp cần truyền ñi
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ố node cảm biến ñể trở thành các node chính và quay vòng vai trò này ñể phân bốñều tải năng lượng giữa các node cảm biến trong mạng. Ở LEACH, các node chính nén các dữ liệu ñến từ các nút khác trong nhóm của chúng và gửi các gói dữ liệu thu thập này tới trạm gốc nhằm mục ñích giảm số lượng thông tin truyền phát về trạm gốc. Việc thu thập số
liệu ñược thực hiện tập trung và theo chu kỳ. Do vậy giao thức này thực sự thích ứng khi có nhu cầu trao ñổi theo dõi thường xuyên của mạng cảm biến.Thực tế, người sử dụng có thể không cần tất cả số
liệu ngay lập tức, cho nên việc truyền phát số liệu theo chu kỳ là không cần thiết và có thể làm suy giảm nguồn năng lượng giới hạn của các node cảm biến. Sau một khoảng thời gian cho trước, việc quay vòng ngẫu nhiên thay ñổi vai trò của node chính ñược tiến hành sao cho có sự tiêu tán năng lượng ñều giữa các node cảm biến trong mạng.
Hoạt ñộng của LEACH ñược phân tách thành hai pha, pha thiết lập và pha ổn ñịnh trạng thái. Ở
trong pha thiết lập, các nhóm ñược tổ chức và các node chính ñược lựa chọn. Còn ở giai ñoạn ổn ñịnh trạng thái, việc truyền số liệu thực sự về các 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í.
Hình 6.10: 2 trạng thái pha LEACH.
Trong pha thiết lập, bắt ñầu quá trình chọn lựa các node chính (cluster head). Một số lượng nhỏ
các node ñược xác ñịnh trước, P, tự quyết ñịnh chúng trở thành các node chính, một node (n) chọn lấy một số ngẫu nhiên, v, trong phạm vi 0 và 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ì node ñó sẽ trở thành node chính ở vòng hiện tại. Giá trị ngưỡng
ñược 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 hiện tại – r, và tập hợp các node chưa ñược lựa chọn làm node chính ở 1/P vòng trước ñó – tập G. T(n) ñược xác ñịnh theo công thức:
0 ( ) 1 ( mod(1 / )) if n G T n P n G P r P ∉ = ∀ ∈ −
Tất cả các node chính ñược lựa chọn phát quảng bá một bản tin thông báo tới tất cả các node còn lại trong mạng rằng chúng là các node chính mới. Các node khác, không phải là node chính sau khi nhận
ñược bản tin thông báo này 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 bản tin thông báo. Các nút không phải là node chính sẽ thông báo cho các node chính thích ứng rằng chúng sẽ là thành viên của nhóm. Sau khi thu nhận ñược tất cả các bản tin từ các node muốn gia nhập nhóm và dựa trên số lượng các node thành viên của nhóm, node chính sẽ tạo ra một ñịnh thời TDMA, và cấp cho mỗi node một khe thời gian khi nó truyền phát. ðịnh thời (Schedule) ñược quảng bá tới tất cả các node của nhóm. LEACH dùng kỹ thuật ña truy cập theo
mã_CDMA ñể giảm xung ñột giữa các node trong và ngoài cluster. Mã ñược chọn lựa 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 cảm biến và truyền phát số liệu về
các nút chính. Các nút chính, sau khi thu tất cả các số liệu, tập hợp chúng lại trước khi gửi ñến trạm gốc. Sau một khoản thời gian nhất ñị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 tin cậy các số liệu 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 hơn thời gian hoạt ñộng 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:
• LEACH chưa xác ñịnh cụ thểñược số lượng tối ưu các nút chính của mạng khi mà các mạng khác nhau 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 node 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 node thay ñổi theo thời gian.
• Khoảng thời gian của pha ổn ñịnh trạng thái ảnh hưởng lớn ñến năng lượng tiêu thụ. Khoảng
ổn ñịnh trạng thái ngắn làm tăng overhead (chi phí cho ñiều khiển giao thức), trong khi khoảng ổn ñịnh trạng thái kéo dài làm sụt giảm năng lượng nhanh chóng.
Nhiều giao thức ñã ñược ñưa ra ñể cải tiến LEACH. Giao thức XLEACH (extented LEACH) xem xét ñến mức năng lượng node trong quá trình lựa chọn node chính. Theo ñó, mức ngưỡng T(n)
ñể lựa chọn node chính ñược ñịnh nghĩa: , , , ,max ,max 1 ( ) 1 1 ( mod(1 / )) n current n current n s n n E E P T n r div P r P E P E = − + − Trong ñó, En current, là năng lượng hiện tại, En,max là năng lượng lúc ñầu node có ñược.
,
n s
r là số vòng liên tiếp mà node không ñược làm node chính. Khi giá trị rn s, ñạ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). rn s, trả về 0 khi một node trở thành node chính.
LEACH làm giảm năng lượng tiêu thụ. Các node không phải gởi dữ liệu trực tiếp ñến trạm gốc. Yêu cầu năng lượng trong LEACH phân bốñều cho tất cả các node bởi vì chúng ñóng vai trò như
nhau trong việc lựa chọn node chính. LEACH thực sự là một thuật toán phân bố, không yêu cầu thông tin ñiều khiển từ trạm gốc. Quản lý các nhóm 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, LEACH vượt trội hơn so với các giao thức ñịnh tuyến truyền
thống nhưñịnh tuyến ña chặng và truyề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.