Hạn chế của LEACH và cải tiến

Một phần của tài liệu Nghiên cứu, cải tiến giao thức định tuyến LEACH hiệu quả về mặt năng lượng trong mạng cảm biến không dây (WSN) (Trang 46)

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.

3.4. Đề xuất

Nhƣ trên đã trình bày, có rất nhiều nhà nghiên cứu đã tập trung vào cải tiến giao thức LEACH để nó hoạt động tốt hơn. Một trong các giao thức cải tiến của LEACH là giao thức LEACH-DE và đề xuất cải tiến của tác giả luận văn sẽ dựa trên giao thức này.

3.4.1. Giả thiết và hoạt động của giao thức LEACH-DE

Giao thức LEACH-DE hoạt động trong mô hình mạng với các giả thiết:

 Tất cả các nút cảm biến đƣợc triển khai trong một khu vực vuông là đồng nhất.

 Tất cả các nút cảm biến và nút BS là cố định sau khi triển khai.

 Tất cả các nút cảm biến chỉ sử dụng năng lƣợng pin ban đầu và không đƣợc nạp lại.

 Tất cả các nút cảm biến nhận biết đƣợc vị trí của mình. Hình 3.5 là sơ đồ hoạt động của giao thức LEACH-DE.

Trong sơ đồ ở hình 3.5 thì Pi(t) đƣợc tính theo công thức (2):

Trong công thức (2)

- D(i.BS) là khoảng cách từ nút i đến BS

- Eresidual(i) là năng lƣợng còn lại của nút ứng viên i tại thời điểm hiện tại

- Eaveragelà năng lƣợng trung bình của tất cả các nút cảm biến còn sống, đƣợc tính theo công thức (3)

- Dmax là giá trị đƣợc tính toán sau khi triển khai mạng, cụ thể giá trị của nó là khoảng cách lớn nhất trong số các khoảng cách từ các nút mạng tới BS.

- c là các giá trị tối ƣu tùy chọn dựa vào đặc điểm quy mô của mạng.

- 0 < Thresthold < 1 và đƣợc chọn ngẫu nhiên bởi mỗi nút. Cũng trong sơ đồ ở hình 3.5 giá trị f đƣợc tính theo công thức (4)

Trong công thức (4)

- d(BS, CHj) là khoảng cách từ nút CHj tới BS - d(i, CHj) là khoảng cách từ nút i tới nút CHj

Vì fcriterion → Max khi Eresidual (CHj) → Max và d (CHj, BS) + d (i, CHj) → Min, do đó các nút thành viên sẽ chọn nút CH có mức năng lƣợng còn lại lớn hơn và gần với BS hơn.

3.4.2. Lí do đề xuất

Với giao thức LEACH-DE, việc chọn nút cụm trƣởng tại đầu mỗi vòng đƣợc thực hiện nhƣ sau: Mỗi nút với mức năng lƣợng còn lại lớn hơn trung bình mức năng lƣợng còn lại của tất cả các nút còn sống trong mạng tính toán giá trị Pi(t) theo công thức (2) và chọn một số ngẫu nhiên Thresthold lớn hơn 0, nhỏ hơn 1. Nếu Pi(t) > Thresthold thì nút sẽ trở thành một cụm trƣởng. Để giao thức LEACH hoặc LEACH-DE hoạt động tốt thì một trong các điều kiện là số lƣợng

(2)

(3)

cụm trƣởng (hay chính là số lƣợng cụm) không nên quá ít hoặc quá nhiều (các nhà nghiên cứu sâu về LEACH đã nhận xét rằng số lƣợng cụm bằng 1/20 số nút là tốt). Do đó, ngoài giá trị Thresthold, số lƣợng cụm sẽ phụ thuộc vào các giá trị Pi(t), mà trong công thức (2) thì giá trị c là tùy chọn nên giá trị Pi(t) phụ thuộc vào giá trị của c. Hay có thể nói số lƣợng cụm hay giao thức LEACH-DE có hoạt động hiệu quả hay không còn phụ thuộc vào giá trị c đƣợc chọn (tác giả giao thức LEACH-DE chọn giá trị c là 0.04).

Ngoài ra vì một nút ứng cử viên muốn trở thành một cụm trƣởng thì điều kiện cần là năng lƣợng còn lại của nó 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 mạng, còn các nút có mức năng lƣợng còn lại nhỏ 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 mạng thì không có cơ hội trở thành cụm trƣởng, dẫn đến kéo dài thời gian sống của nút đó. Tuy nhiên, trong trƣờng hợp khi số lƣợng các nút có mức năng lƣợng còn lạ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 là ít thì có thể dẫn đến tình trạng không có nút nào trở thành cụm trƣởng (số cụm bằng 0). Khi đó một số nút phải trực tiếp gửi dữ liệu đến BS, các nút đó phải tiêu hao năng lƣợng nhiều, dẫn đến làm giảm thời gian sống của các nút đó.

Từ việc nghiên cứu hoạt động của giao thức LEACH cùng với các ƣu, nhƣợc điểm của nó cũng nhƣ các giao thức cải tiến từ LEACH và các lí do trên, tác giả luận văn xin đề xuất một giao thức cải tiến của giao thức LEACH dựa trên giao thức LEACH-DE, gọi là giao thức LEACH-DE1. Giao thức LEACH- DE1 gồm hai cải tiến:

- Thứ nhất là để giảm khả năng không bầu đƣợc cụm trƣởng trong một vòng thì một nút có mức năng lƣợng còn lại nhỏ hơn hoặc bằng trung bình mức năng lƣợng còn lại của các nút còn sống vẫn có thể trở thành một cụm trƣởng nếu mức năng lƣợng còn lại của nó lớn hơn một ngƣỡng nhất định. - Thứ hai là chọn lại giá trị c trong công thức (2) để giao thức LEACH-DE1 hoạt động hiệu quả.

3.4.2. Cơ sở chọn c

Vì Pi(t) trong công thức (2) đƣợc so sánh với Thresthold là một số lớn hơn 0 và nhỏ hơn 1, nên Pi(t) phải có giá trị lớn hơn 0 và nhỏ hơn 1. Mặt khác do

1 ) , (  BS i D DMax nên để 0< Pi(t)<1 thì () 1,  average i residual E E

c do đó c phải có giá trị lớn hơn 0

và nhỏ hơn 1 vì nếu c1 thì tất cả các nút có Eresidual(i) Eaverage sẽ trở thành cụm trƣởng, dẫn tới số cụm trƣởng quá nhiều. Vậy chỉ có thể chọn giá trị c trong khoảng từ 0 đến 1.

CHƢƠNG 4. CÁC CÔNG CỤ MÔ PHỎNG MẠNG WSN 4.1. Giới thiệu

Đối với các nhà nghiên cứu về mạng máy tính nói chung và mạng WSN nói riêng thì việc xây dựng và triển khai một hệ thống mạng trong thực tế để đáp ứng các nghiên cứu họ là rất khó khăn do các chi phí về thời gian, tài chính... Tuy nhiên với công cụ mô phỏng mạng thì các nhà nghiên cứu có thể dễ dàng thử nghiệm các kịch bản mô phỏng của họ. Với việc sử dụng công cụ mô phỏng mạng sẽ cho phép so sánh hiệu năng các giao thức, thử nghiệm các giao thức mới, cải tiến giao thức và so sánh với các giao thức đã có, dễ dàng tạo ra các loại nút mạng khác nhau nhƣ máy chủ, máy khách, các bộ định tuyến, các kênh truyền thông, các loại truyền thông có dây, không dây, sự di động của các nút mạng…

Để đáp ứng nhu cầu học tập và nghiên cứu trong lĩnh vực mạng, đã có nhiều công cụ mô phỏng mạng ra đời với những ƣu điểm và hạn chế riêng. Trong số các công cụ mô phỏng mạng hiện nay, có thể kể ra các công cụ là NS2, Omnet++, Tossim, Opnet,… và hầu hết các công cụ mô phỏng mạng này đều đã tích hợp hay hỗ trợ các module cho mô phỏng mạng WSN.

4.2. Các công cụ mô phỏng mạng WSN [15]

Sau đây sẽ trình bày một vài công cụ mô phỏng hỗ trợ cho việc mô phỏng mạng WSN hay đƣợc sử dụng. Tùy vào mục đích, khả năng, sự quen thuộc mà các nhà nghiên cứu chọn cho mình một công cụ mô phỏng phù hợp. Bảng 4.1 cho một cái nhìn tổng quan về một số công cụ mô phỏng mạng WSN, từng công cụ sẽ đƣợc trình bày khái quát dƣới đây.

4.2.1. NS2 (Network Simulatior version 2)

NS2 là công cụ mô phỏng mạng đƣợc nhiều ngƣời sử dụng để mô phỏng các sự kiện rời rạc của mạng WSN. NS2 sử dụng một mô hình lập trình phân tách làm hai phần dựa trên sự kết hợp của ngôn ngữ C++ và OTCL (Object Tool Command Language)- ngôn ngữ kịch bản hƣớng đối tƣợng. C++ đƣợc sử dụng để triển khai thực hiện hạt nhân của bộ mô phỏng, gồm các chức năng căn bản nhất cần chạy ở tốc độ cao. OTCL là ngôn ngữ sử dụng các mở rộng hƣớng đối tƣợng của ngôn ngữ Tcl đƣợc sử dụng để định nghĩa, định cấu hình và điều khiển mô phỏng. Trong bộ mô phỏng NS2, ngoài chƣơng trình mô phỏng NS 2 là thành phần chính cho phép ngƣời nghiên cứu lập trình cho nó để định ra tô pô mạng tĩnh hoặc động, tạo ra các luồng lƣu lƣợng theo một số phân bố đã đƣợc định nghĩa trƣớc…, còn có các công cụ hiển thị trực quan là NAM và XGRAPH. NAM là công cụ hiển thị, cho phép ngƣời nghiên cứu nhìn thấy bằng

đồ họa tô pô mạng, gồm các nút mạng, các đƣờng truyền nối các nút ở dạng tĩnh và động. NAM cũng có thể hiển thị hành vi động của hàng đợi tại các nút, cũng nhƣ sự chuyển động của các gói số liệu trên mạng. Đối với mạng di động không dây, các phiên bản mới của NAM có thể hiển thị tô pô động của mạng, tức là sự chuyển động của các nút mạng trong không gian hai chiều. Còn XGRAPH có chức năng vẽ đồ thị trong không gian hai chiều, dựa trên dữ liệu nhận vào từ các tệp dạng text, là các tệp do chƣơng trình mô phỏng sinh ra.

4.2.2. OMNET ++

OMNET++ (Objective Modular Network Testbed in C++) là công cụ mô phỏng cung cấp môi trƣờng mô phỏng sự kiện rời rạc. Omnet++ cung cấp sẵn các module tƣơng ứng với các mô hình thực tế, các module này đƣợc lập trình theo ngôn ngữ C++, sau đó đƣợc tập hợp lại thành những thành phần hay những mô hình lớn hơn bằng một ngôn ngữ bậc cao là NED (Network Description). Với việc lập trình bằng ngôn ngữ C++ dễ dàng cho phép ngƣời nghiên cứu can thiệp vào các module xây dựng sẵn hoặc xây dựng module mới theo mục đích sử dụng của mình, chính do đặc điểm này khiến cho Omnet++ rất thích hợp để mô phỏng các mạng hoặc giao thức mới ra đời nhƣ trong mạng WSN. Hơn nữa, Omnet++ còn hỗ trợ rất nhiều cho việc phân tích và hiển thị kết quả mô phỏng, cung cấp cho các nhà nghiên cứu khả năng đánh giá chi tiết cũng nhƣ trực quan về hệ thống đƣợc mô phỏng. Omnet++ cũng cung cấp nhiều các tiện ích mở rộng, các Framework và các mô phỏng cho mạng dựa trên OMNET++, có thể kể ra nhƣ MiXiM, Castalia, Mobility FrameWork,…

Một phần của tài liệu Nghiên cứu, cải tiến giao thức định tuyến LEACH hiệu quả về mặt năng lượng trong mạng cảm biến không dây (WSN) (Trang 46)

Tải bản đầy đủ (PDF)

(80 trang)