Xây dựng chuỗi đƣợc thực hiện theo một thuật toán tham lam, nơi các nút chọn hàng xóm gần nhất của chúng nhƣ là các chặng tiếp theo trong chuỗi. Giả định rằng các nút có một kiến thức toàn cục về mạng và xây dựng chuỗi bắt đầu từ các nút xa Sink nhất. Do kết quả của hoạt động chuỗi, thay vì duy trì thành cụm, mỗi nút chỉ theo dõi những hàng xóm trƣớc đó và kế tiếp trong chuỗi. Truyền thông trong chuỗi đƣợc thực hiện tuần tự sao cho mỗi nút trong một chuỗi tổng hợp dữ liệu từ hàng xóm của mình cho đến khi tất cả các dữ liệu đƣợc tổng hợp tại một trong các nút cảm biến đƣợc gọi là trƣởng chuỗi. Các trƣởng chuỗi điều khiển thứ tự truyền thông bằng cách truyền một thẻ giữa các nút. Một ví dụ về truyền thông chuỗi đƣợc thể hiện trong hình 2.10. Trƣởng chuỗi trong ví dụ này là nút 2. Nút 2 đầu tiên chuyển thẻ thông báo đến nút 0 để bắt đầu truyền thông. Nút 0 truyền dữ liệu của nó đến nút 1 để tổng hợp dữ liệu riêng của mình để tạo ra một gói cùng độ dài. Gói tin này đƣợc chuyển đến nút 2. Khi nút 2 nhận đƣợc gói tin từ nút 1, nó truyền thẻ thông báo đến đầu kia của chuỗi, tức là nút 6. Thông tin từ các nút 6, 5, 4, và 3 cũng đƣợc tổng hợp và gửi đến nút 2. Khi nhận đƣợc thông tin tổng hợp, nút 2 sử dụng một truyền thông một chặng để truyền tải dữ liệu đến Sink.
2.4.3. Giao thức dựa trên vị trí
Thông tin vị trí các nút là cần thiết trong nhiều ứng dụng của mạng WSN. Để cung cấp thông tin vị trí mỗi nút cảm biến, thiết bị định vị toàn cầu (GPS) có thể đƣợc tích hợp trong các nút cảm biến. Mặc dù GPS không cần thiết phải dùng cho tất cả các loại mạng WSN, nó là thích hợp đƣợc sử dụng nếu các nút là cố định và nhiều năng lƣợng. Các giao thức định tuyến dựa trên địa điểm hoặc các giao thức định tuyến địa lý (geographical routing protocols) khai thác thông tin vị trí của mỗi nút để định tuyến hiệu quả.
GAF (Geographic Adaptive Fidelity)
Với giao thức GAF (Xu và cộng sự 2001) vùng mạng đƣợc chia thành các khu vực cố định coi nhƣ một lƣới ảo nhƣ hình 2.11.
Hình 2.11 Cách tiếp cận lưới ảo của GAF
Các khu vực thƣờng là những hình vuông có kích thƣớc bằng nhau và việc chọn kích thƣớc khu vực phụ thuộc vào năng lƣợng truyền và hƣớng truyền. Trong mỗi khu vực, các nút cộng tác với nhau để hoạt động. Ví dụ, các nút sẽ chọn một nút cảm biến thức trong một thời gian nhất định và các nút còn lại đi ngủ. Nút thức có trách nhiệm theo dõi và thay mặt các nút trong khu vực báo cáo dữ liệu cho Sink. Do đó, GAF bảo tồn năng lƣợng bằng cách tắt các nút không cần thiết trong mạng mà không ảnh hƣởng đến độ trung thực của định tuyến. Mỗi node sử dụng GPS xác định vị trí của nó để liên kết với một điểm trên lƣới ảo (có thể gọi là mắt lƣới). Các nút liên kết với cùng một điểm trên lƣới ảo đƣợc coi là tƣơng đƣơng về mặt chi phí của gói tin định tuyến. Điều này cho phép một số nút nằm trong một mắt lƣới có thể ngủ để tiết kiệm năng lƣợng. Trong hai khu vực liền kề, mỗi nút trong khu vực này đều có thể truyền thông với tất cả các nút trong khu vực kia.
GAF định nghĩa ba trạng thái cho mỗi nút là là khám phá (Discovery), để xác định các hàng xóm, hoạt động (Active) phản ánh sự tham gia vào việc định tuyến và trạng thái cuối cùng là ngủ (sleep). Để xử lý di động, mỗi nút trong lƣới ƣớc tính thời gian rời khỏi mắt lƣới và gửi cho các láng giềng. Các nút hàng xóm đang ngủ điều chỉnh thời gian ngủ của mình cho phù hợp để giữ độ trung thực định tuyến. Trƣớc khi thời gian rời khỏi của các nút hoạt động hết hạn, các nút ngủ thức dậy và một trong số chúng sẽ ở trạng thái hoạt động. GAF thực hiện đƣợc cho cả các nút không di động (GAF cơ bản) và di động (GAF thích ứng di động).
Chƣơng 3. GIAO THỨC LEACH VÀ CẢI TIẾN 3.1. Giới thiệu 3.1. Giới thiệu
Giao thức phân cụm thích ứng năng lƣợng thấp (LEACH) nhằm mục đích chính là giảm thiểu sự tiêu thụ năng lƣợng trong mạng WSN. Giao thức LEACH đƣợc xây dựng dựa trên hai giả định cơ bản là:
Sink đƣợc cố định và đặt xa các nút cảm biến.
Tất cả các nút trong mạng là giống nhau và có năng lƣợng hạn chế.
Với giao thức LEACH một số nút cảm biến sẽ tự động đƣợc chọn là cụm trƣởng CH (cluster-head), các nút thành viên trong cụm chỉ truyền thông với cụm trƣởng của chúng. Các cụm trƣởng sẽ tổng hợp, loại bỏ dữ liệu dƣ thừa từ các nút trong cụm của mình sau đó trực tiếp truyền thông với Sink để chuyển tiếp các thông tin thu thập từ mỗi cụm. Các cụm trƣởng đƣợc thay đổi liên tục nên sự tiêu thụ năng lƣợng đƣợc chia đều cho các nút.
3.2. Hoạt động [7]
Hoạt động của LEACH đƣợc chia thành các vòng. Trong mỗi vòng, sự hình thành mỗi cụm là nhƣ nhau và cụm trƣởng đƣợc lựa chọn vào đầu mỗi vòng. Một vòng đƣợc chia thành hai pha, gồm pha thiết lập và pha trạng thái ổn định. Trong pha thiết lập, cụm trƣởng đƣợc lựa chọn, các cụm đƣợc hình thành, và lịch trình truyền thông trong cụm đƣợc xác định. Trong pha trạng thái ổn định, việc truyền dữ liệu giữa các thành viên cụm và cụm trƣởng đƣợc thực hiện. Thời gian của pha trạng thái ổn định dài hơn thời gian của pha thiết lập để giảm thiểu các chi phí. Sau đây sẽ trình bày chi tiết về hoạt động ở mỗi pha.
Pha thiết lập
Pha thiết lập của LEACH bao gồm ba giai đoạn là giai đoạn quảng cáo,
giai đoạn thiết lập cụm, giai đoạn tạo lịch trình. LEACH sẽ lựa chọn ngẫu nhiên các nút cảm biến làm cụm trƣởng trong thời gian đầu của mỗi vòng. Việc lựa chọn nút làm cụm trƣởng sẽ đƣợc thực hiện thông qua giai đoạn quảng cáo. Đầu tiên, một nút cảm biến chọn một số ngẫu nhiên giữa 0 và 1. Nếu số ngẫu nhiên này nhỏ hơn một ngƣỡng T(n), nút cảm biến sẽ trở thành một cụm trƣởng. T(n) đƣợc tính nhƣ sau:
Trong công thức (1):
-P là phần trăm mong muốn của các nút cụm trƣởng. -r là vòng hiện tại.
-G là tập hợp các nút đã không đƣợc chọn là cụm trƣởng ở các vòng trƣớc trong 1/P vòng.
Sử dụng ngƣỡng này, mỗi nút sẽ là một cụm trƣởng vào một thời điểm trong 1/P vòng. Trong vòng 0 (r = 0), mỗi nút có một xác suất P trở thành một cụm trƣởng. Các nút là cụm trƣởng trong vòng 0 không thể là cụm trƣởng cho 1/P - 1 vòng tiếp theo, vì vậy xác suất mà các nút còn lại trở thành cụm trƣởng đƣợc tăng lên. Tại vòng 1/P-1, T = 1 đối với bất kỳ các nút chƣa đƣợc làm cụm trƣởng, nên các nút này sẽ trở thành các nút cụm trƣởng và sau 1/P vòng, tất cả các nút một lần nữa lại đủ điều kiện để trở thành cụm trƣởng. Cụm trƣởng đƣợc lựa chọn sau đó quảng cáo cho các nút hàng xóm của chúng trong mạng rằng chúng là những cụm trƣởng mới. Để làm việc này, LEACH sử dụng chiến lƣợc đa truy cập dựa trên cảm nhận sóng mang CSMA (Carrier Sense Multiple Access) để tránh va chạm quảng cáo từ các cụm trƣởng khác. Một khi các nút cảm biến nhận đƣợc quảng cáo, chúng xác định cụm trƣởng của cụm mà chúng thuộc về. Nếu một nút nhận đƣợc một quảng cáo từ cụm trƣởng duy nhất, thì nó sẽ tự động trở thành một thành viên của cụm đó. Tuy nhiên, nếu một nút cảm biến nhận đƣợc quảng cáo từ nhiều cụm trƣởng, việc lựa chọn cụm đƣợc thực hiện dựa trên cƣờng độ tín hiệu của quảng cáo từ cụm trƣởng đến nó. Cụm trƣởng với cƣờng độ tín hiệu cao nhất (nút có thể truyền dữ liệu đến với năng lƣợng nhỏ nhất) sẽ đƣợc chọn. Sau giai đoạn quảng cáo, là giai đoạn thiết lập cụm mà các nút cảm biến sẽ thông báo cho cụm trƣởng chúng sẽ là thành viên của cụm đó bằng một thông điệp dựa trên CSMA để tránh xung đột. Cuối cùng, giai đoạn tạo lịch trình đƣợc thực hiện, trong đó cụm trƣởng chỉ định thời gian mà các nút cảm biến có thể gửi dữ liệu đến cụm trƣởng dựa trên phƣơng pháp đa truy cập phân chia thời gian (Time Division Multiple Access -TDMA) và lịch trình này đƣợc quảng cáo cho các nút thành viên trong cụm. Mỗi cụm trƣởng cũng chọn một mã CDMA, mà sau đó đƣợc phân phối cho tất cả các thành viên của cụm mình. Căn cứ vào mã này để lọc ra các dữ liệu của các nút thành viên của cụm mình, và cụm trƣởng cũng chọn một mã CDMA để truyền dữ liệu đến Sink.
Pha trạng thái ổn định
Một khi sự hình thành cụm đƣợc hoàn thành trong pha thiết lập, LEACH chuyển sang pha trạng thái ổn định. Trong pha này, các nút cảm biến có thể bắt đầu cảm biến dữ liệu và truyền cho cụm trƣởng theo thời gian đã lập ở giai đoạn
tạo lịch trình. Trong khi một nút thành viên chờ đến lƣợt mình truyền dữ liệu, nó có thể chuyển sang trạng thái ngủ để tiết kiệm năng lƣợng. Cụm trƣởng cũng tổng hợp dữ liệu từ các nút trong cụm của chúng trƣớc khi gửi đến Sink. Vào cuối giai đoạn trạng thái ổn định, mạng đi vào pha thiết lập một lần nữa để tham gia vào vòng tiếp theo lựa chọn cụm trƣởng mới. Kết quả là, tiêu thụ năng lƣợng do các nhiệm vụ cụm trƣởng đƣợc chia đều giữa các nút cảm biến. Hình 3.1 cho thấy hai pha trong một vòng của giao thức LEACH.
Hình 3.1 Hai pha hoạt động trong một vòng của Leach
3.3. Hạn chế của LEACH và cải tiến 3.3.1. Hạn chế 3.3.1. Hạn chế
Ngoài các ƣu điểm nhƣ yêu cầu năng lƣợng của hệ thống đƣợc phân phối cho tất cả các nút, tự phân cụm không cần điều khiển từ Sink, thực hiện tính toán địa phƣơng trong mỗi cụm để giảm số lƣợng dữ liệu phải truyền đến Sink, các nút ngủ khi chờ đến lƣợt truyền dữ liệu, giao thức LEACH có một số hạn chế nhƣ sau :
- Không quan tâm đến năng lƣợng còn lại của nút: Vì chọn nút cụm trƣởng là ngẫu nhiên nên sẽ dẫn đến tình trạng một nút năng lƣợng còn lại ít đƣợc chọn làm cụm trƣởng
- Các nút cụm trƣởng ở xa Sink 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 vì phải truyền trực tiếp dữ liệu đến Sink.
- Số cụm và số lƣợng thành viên trong một cụm phân chia không đều. Có thể có cụm nhiểu thành viên và cụm ít thành viên, có thể hai nút gần nhau đều là cụm trƣởng trong một vòng.
- Không thể đƣợc áp dụng cho các mạng cảm biến đặc biệt lớn do yêu cầu truyền thông trực tiếp giữa cụm trƣởng với Sink.
3.3.2. Cải tiến
Vì LEACH có các hạn chế nhƣ trên, nhiều nghiên cứu đã đƣợc tiến hành để cải tiến giao thức này, làm cho giao thức hoạt động tốt hơn. Sau đây giới thiệu một số giao thức cải tiến từ giao thức LEACH.
Giao thức E-LEACH
Giao thức Energy-LEACH (E-LEACH )[8] cải tiến thủ tục chọn cụm trƣởng. Nó lấy phần năng lƣợng còn lại của nút là thƣớc đo chính để quyết định nút sẽ trở thành cụm trƣởng hay không sau vòng đầu tiên. Cũng giống nhƣ giao thức LEACH, E-LEACH đƣợc chia thành nhiều vòng, trong vòng đầu tiên, mỗi nút có cùng xác suất trở thành cụm trƣởng, nghĩa là các nút đƣợc chọn ngẫu nghiên thành các cụm trƣởng, ở các vòng tiếp theo, năng lƣợng còn lại của mỗi nút là khác nhau và dùng làm tiêu chí chọn cụm trƣởng, nghĩa là các nút có nhiều năng lƣợng hơn sẽ trở thành một cụm trƣởng.
Giao thức TL-LEACH
Một cải tiến của LEACH gọi là giao thức LEACH hai mức, TL-LEACH (Two-Level LEACH) đã đƣợc đề xuất [9]. Trong giao thức này, cụm trƣởng sẽ thu thập dữ liệu từ các nút thành viên trong cụm khác giống nhƣ LEACH, nhƣng thay vì việc truyền trực tiếp đến BS, nó sử dụng một trong các cụm trƣởng nằm giữa cụm trƣởng đó và Sink nhƣ một trạm chuyển tiếp.
Hình 3.2TL-LEACH
Giao thức Multi-Hop LEACH
Với giao thức LEACH, khi kích thƣớc mạng tăng, vì các cụm trƣởng trực tiếp truyền thông với Sink nên việc truyền thông giữa các cụm trƣởng ở xa Sink sẽ tốn nhiều năng lƣợng, dẫn đến các nút đó sẽ nhanh chóng hết năng lƣợng. Giao thức Multi-hop LEACH[10] ra đời để khắc phục nhƣợc điểm này. Giao thức Multi-hop LEACH giống LEACH ở pha thiết lập, chỉ khác ở pha trạng thái ổn định. Trong pha trạng thái ổn định, các cụm trƣởng tổng hợp dữ liệu của cụm
rồi gửi trực tiếp đến Sink hoặc thông qua các cụm trƣởng khác để gửi dữ liệu đến Sink. Multi-hop LEACH chọn đƣờng đi tốt nhất với số chặng tối thiểu giữa cụm trƣởng đầu tiên và Sink. Multi-Hop Leach cho phép hai loại hoạt động truyền thông. Đó là truyền thông liên cụm (inter-cluster) và truyền thông nội cụm (intra-cluster). Trong truyền thông liên cụm, cụm trƣởng chịu trách nhiệm về truyền thông cho tất cả các nút trong cụm. Cụm trƣởng nhận dữ liệu trực tiếp từ tất cả các nút thành viên của cụm và tổng hợp, truyền tải trực tiếp tới Sink hoặc thông qua cụm trƣởng trung gian. Truyền thông liên cụm giữa các cụm trƣởng đƣợc thực hiện khi khoảng cách giữa cụm trƣởng và Sink lớn. Hình 3.3 mô tả kiến trúc truyền thông Multi-hop LEACH.
Hình 3.3 Kiến trúc truyền thông Multi-hop LEACH
Giao thức LEACH-C
Về mặt ý tƣởng, LEACH-C[11] (Centralizzed – LEACH) hoàn toàn giống với LEACH, chỉ khác ở pha thiết lập còn pha trạng thái ổn định thì nó kế thừa từ giao thức LEACH. Khác với LEACH (mỗi nút sẽ có một xác suất để nó có thể đƣợc chọn làm nút cụm trƣởng), trong giao thức LEACH-C, quá trình lựa chọn cụm và cụm trƣởng đƣợc thực hiện bởi trạm gốc Sink. Trong pha thiết lập (set- up) của LEACH-C, mỗi nút gửi thông tin về vị trí hiện thời (có thể xác định bằng GPS) và mức năng lƣợng còn lại đến Sink. Sink sẽ dùng thuật toán tối ƣu để tìm ra các cụm trƣởng. Khi tìm đƣợc các cụm trƣởng và các cụm tƣơng ứng, Sink quảng bá một thông điệp để so sánh mã số ID của các cụm trƣởng cho mỗi nút. Nếu một mã số ID của cụm trƣởng khớp với ID riêng của một nút thì nút đó sẽ trở thành một cụm trƣởng, nếu không nó là nút thành viên của một cụm, nó sẽ xác định khe thời gian của nó để truyền dữ liệu và trở về trạng thái ngủ đến thời điểm nó truyền dữ liệu.
Giao thức LEACH-DE
Giao thức LEACH- Distance Energy (LEACH-DE)[12] đƣa ra hai cải tiến. Thứ nhất, năng lƣợng còn lại của một nút ứng cử viên muốn trở thành một cụm trƣởng (CH) phải lớn hơn trung bình mức năng lƣợng còn lại của các nút còn sống trong. Thứ hai, khoảng cách từ nút ứng cử viên đến Sink phải là ngắn nhất.
Giao thức V-LEACH
Trong V-LEACH[13] một cụm gồm: cụm trƣởng CH (chịu trách nhiệm cho gửi dữ liệu nhận đƣợc từ các thành viên cụm đến Sink/Base Station), phó cụm trƣởng Vice-CH (nút trở thành một CH của cụm trong trƣờng hợp CH chết), các nút thành viên (tập hợp dữ liệu từ môi trƣờng và gửi nó CH). Trong giao thức LEACH, CH luôn nhận dữ liệu từ các thành viên của cụm, tập hợp dữ liệu này và gửi nó đến BS có thể nằm ở xa vị trí của CH. CH sẽ chết sớm hơn các nút khác trong cụm bởi vì các hoạt động nhận, gửi dữ liệu. Khi CH chết, cụm sẽ trở thành vô dụng vì dữ liệu do các nút trong cụm này sẽ không bao giờ đến đƣợc Sink. Trong giao thức V-LEACH, bên cạnh có một CH trong cụm, có một phó cụm trƣởng Vide-CH sẽ nắm vai trò của CH khi CH chết vì các lý do ở trên. Bằng cách làm này, dữ liệu của các nút trong cụm sẽ luôn đến đƣợc BS, không cần chọn CH mới mỗi khi CH hiện thời chết.