Định tuyến với vùng cấm là bao lồi (hình trích dẫn từ [57])

Một phần của tài liệu Thuật toán và phần mềm mô phỏng cho định tuyến không dây trong địa hình phức tạp (Trang 113 - 117)

5 Kết luận

3.27Định tuyến với vùng cấm là bao lồi (hình trích dẫn từ [57])

Mặc dù đảm bảo được hệ số đường định tuyến là hằng số nhưng thuật toán này lại không giải quyết được bài toán mất cân bằng tải do bao lồi là một đa giác cố định và với phương thức định tuyến này thì các nút ven biên bao lồi sẽ trở thành vùng phải chịu tải nhiều nhất.

Như vậy, có thể nói, tất cả các giao thức định tuyến vượt hố hiện nay gặp phải 2 vấn đề sau:

Chưa có thuật toán nào giải quyết triệt để bài toán tắc nghẽn quanh biên hố nói riêng và bài toán mất cân bằng tải trong mạng nói chung.

Chưa có thuật toán nào giải quyết được đồng thời cả hai vấn đề: tắc nghẽn biên hố và đường định tuyến bị kéo dài.

Các giải thuật xấp xỉ hố và giải thuật định tuyến của chúng tôi trong hai chương 2 và 3 đã đưa ra một giải pháp tổng thể cho cả hai vấn đề này.

3.5 Tổng kết chương

Trong phần này chúng tôi đã đề xuất hai thuật toán định tuyến tránh hố: ELBAR và COL- BAR. Cả hai thuật toán này đều hướng tới giải quyết hai vấn đề cơ bản của các thuật toán định tuyến tránh hố trong mạng cảm biến không dây là: vấn đề mở rộng biên hố và vấn đề đường định tuyến kéo dài. Tư tưởng chính của hai thuật toán này là cho phép các nút biết trước về sự có mặt của hố và định tuyến gói tin theo đường vòng tránh hố. Để tiết kiệm tài nguyên của mạng, hố được xấp xỉ bằng một hình đơn giản hơn và thông tin cùa hình xấp xỉ chỉ phát tán cho các nút ở vùng lân cận hố.

Tư tưởng chủ yếu của thuật toán ELBAR là sử dụng định tuyến theo xác xuất để đảm bảo cân bằng tải trong mạng và chọn đường định tuyến hợp lý để đảm bảo đường định tuyến

không bị kéo dài. Kết quả phân tích lý thuyết đã chứng minh rằng, đối với các gói tin được truyền đi theo chế độ truyền tin tránh hố, hệ số đường đi Ơclit của đường định tuyến không vượt quá hằng số. Kết quả thực nghiệm bằng mô phỏng đã chỉ ra rằng thuật toán ELBAR có hiệu năng tốt hơn hẳn so với các thuật toán được đề xuất trước đó, xét trên các tiêu chí: năng lượng tiêu thụ trung bình, độ dài đường đi trung bình, thời gian sống của mạng và đặc biệt là cân bằng tải. Cụ thể, thuật toán ELBAR có thể tiết kiệm năng lượng tới20%so với thuật toán EHDS và15%so với thuật toán GPSR đối với kiểu truyền tin tập trung; có thể tiết kiệm tới 16% so với EHDS và 8% so với GPSR đối với kiểu truyền tin peer-to-peer. Độ dài đường đi trung bình của gói tin khi sử dụng thuật toán ELBAR nhỏ hơn60%so với EHDS và65%so với GPSR đối với kiểu truyền tin tập trung và65%so với EHDS và83% so với GPSR đối với kiểu truyền tin peer-to-peer. Thời gian sống của mạng khi sử dụng thuật toán ELBAR được tăng thêm it nhất5%so tất cả các thuật toán khác được đem ra so sánh đối với trường hợp truyền tin tập trung; đối với truyền tin peer-to-peer, trong trường hợp xấu nhất, thời gian sống khi sử dụng thuậ toán ELBAR là xấp xỉ với thời gian sống khi sử dụng thuật toán ellipse, nhưng so với tất cả các thuật toán còn lại, thời gian sống khi sử dụng ELBAR luôn lớn hơn3%.

Thuật toán COLBAR đề xuất một giải pháp hoàn toàn mới để giải quyết bài toán định tuyến tránh hố đó là sử dụng vùng cấm động. Vùng cấm này là ảnh của một đa giác lõi (hình xấp xỉ của hố) qua một phép vị tự với tâm ngẫu nhiên và bán kính thay đổi theo khoảng cách của nguồn-đích. Có thể nói rằng, thuật toán COLBAR đã giải quyết triệt để hai vấn đề của các thuật toán định tuyến tránh hố trong mạng cảm biến không dây. Phân tích lý thuyết đã chứng minh rằng, thuật toán COLBAR đảm bảo hệ số đường đi Ơclit của tất cả các gói tin là không vượt quá hằng số. Kết quả thực nghiệm bằng mô phỏng cho thấy hiệu năng của thuật toán COLBAR tốt hơn hẳn các thuật toán khác dựa trên các tiêu chí: hệ số đường đi theo hop-count và phân bố năng lượng của các nút. Ngoài ra, kết quả thực nghiệm cũng cho thấy, năng lượng phụ trội của pha cài đặt ban đầu của thuật toán COLBAR là không đáng kể, chỉ chiếm chưa đến0.095%năng lượng ban đầu của các nút mạng.

Chương 4

Xây dựng bộ công cụ hỗ trợ mô phỏng mạng cảm biến không dây trên nền NS2 4.1 Giới thiệu

một trong những khó khăn của các nghiên cứu trong lĩnh vực này là việc đánh giá hiệu năng. Đối với mạng cảm biến không dây, việc đánh giá hiệu năng bằng phương pháp thử nghiệm thực tế gần như là không thể do nguyên nhân sau: 1) Thứ nhất, mạng cảm biến không dây thường có quy mô rất lớn từ hàng trăm đến hàng nghìn nút mạng nên chi phí để triển khai mạng cảm biến không dây là không nhỏ. 2) Thứ hai, do đặc thù của ứng dụng, mạng cảm biến không dây thường được triển khai ở những vùng địa hình phức tạp. Ví dụ, các mạng cảm biến không dây theo dõi cháy rừng, dự báo núi lửa thường được triển khai ở những vùng mà con người tránh thâm nhập. Vì vậy, việc triển khai thực nghiệm mạng cảm biến không dây rất phức tạp. 3) Các nút mạng cảm biến không dây có năng lượng và khả năng tính toán rất hạn chế. Điều này làm cho việc thu thập các dữ liệu thực nghiệm trở nên khó khăn. Do vậy, giới nghiên cứu chủ yếu sử dụng phương pháp mô phỏng để đánh giá các giải pháp đề xuất.

Một trong những phần mềm mô phỏng mạng được lựa chọn nhiều nhất là NS2. Đây là một mã nguồn mở trên nền Linux, với phần lõi được viết bằng ngôn ngữ C++. Đầu vào của NS2 là một tệp kịch bản được viết bằng ngôn ngữ Tcl/oTcl [10] và đầu ra kết quả là một tệp lưu vết (trace file), lưu trữ nhật ký thực hiện mô phỏng chi tiết và cung cấp thông tin cho từng bước thay đổi nhỏ nhất của mạng. Việc thiết lập kịch bản cho phép người dùng khai báo các đối tượng mạng (thiết bị xử lý và truyền tin) cùng các thông số kỹ thuật, đồng thời mô tả các phương thức (giao thức, thuật toán) lựa chọn để kết nối, cũng như các bước thực hiện tác vụ mô phỏng (các bước “chạy” và tình huống mô phỏng cụ thể). Mặc dù được sử dụng rất rộng rãi nhưng NS2 lại không phải dễ sử dụng bởi vì toàn bộ công đoạn viết kịch bản và xử lý kết quả mô phỏng hoàn toàn phải thực hiện “bằng tay”, tức là thông qua

việc lập mã script phức tạp và xử lý tệp lưu vết (thông tin thô) rất tốn kém thời gian, và đòi hỏi lao động kỹ thuật thành thạo. Nói cách khác, bên cạnh tính miễn phí, NS2 được ưu ái lựa chọn là do có mục đích và công năng phổ quát, có phổ ứng dụng rất rộng, từ đó có rất nhiều thư viện mở rộng cung cấp sẵn. Tuy nhiên chính tính phổ quát của nó đã gây nên sự phức tạp, cồng kềnh, khó hiểu trên toàn hệ thống và ngăn cản việc tạo ra các công cụ hỗ trợ trực quan thông qua đồ họa. Ở đây, chúng tôi muốn nói tới sự thiếu vắng các công cụ hỗ

trợtrực quan hóa, cho phép xử lý tự động hóa (hay bán tự động hóa) các thao tác thiết lập,

khai báo đối tượng mạng thông qua việc sử dụng các thành phần giao diện đồ họa, tạo tính

năng trực quan và “sẵn dùng” tiện lợi. Đặc biệt là với các mạng có kích thước lớn, thường

yêu cầu một số lượng lớn các thao tác thiết lập đối tượng mạng có hình thức tương tự, lặp đi lặp lại. Đó là những yêu cần phổ biến của người sử dụng hiện đại mà về lý tưởng thì nhà cung cấp sản phẩm nào cũng mong muốn và hướng tới.

Để minh họa, hãy xét một ví dụ cụ thể gần gũi thực tế. Giả sử ta cần tạo một kịch bản mô phỏng cho hoạt động của một mạng cảm biến phục vụ cảnh báo lũ lụt ở quanh một con sông với các đặc điểm như sau: con sông có bề rộng bằng 1/4 bề rộng của vùng triển khai mạng và nằm trải dài ở vùng giữa của mạng. Các nút mạng được bố trí thành các vành đai ở hai bên sông sao cho càng về xa bờ sông thì mật độ nút mạng càng thưa. Tất cả các nút mạng liên tục gửi các gói tin chứa thông tin thu thập được về một nút chủ nằm ở góc trên bên phải của mạng với tần xuất tùy thuộc vào vị trí của các nút mạng: nút mạng càng gần bờ sông thì tần suất gửi tin càng lớn. Nếu dùng NS2 thuần túy, người dùng sẽ phải mô tả kịch bản mô phỏng trên bởi một tệp mã Tcl. Trong tệp này, người dùng sẽ phải chỉ định vị trí của từng nút mạng, tính toán sao cho không có nút mạng nào được bố trí vào vị trí của con sông và sao cho mật độ của các nút mạng thỏa mãn đúng yêu cầu đặt ra. Hơn thế, người dùng còn phải tạo kịch bản truyền tin cho từng nút mạng đảm bảo các nút càng ở gần sông thì tần suất gửi gói tin càng lớn.

Hình 4.1(a) mô tả một đoạn mã trong tệp mã Tcl; đoạn mã này chỉ là một phần rất nhỏ có nhiệm vụ chỉ định vị trí của 5 nút đầu tiên.Trên thực tế, tệp mã Tcl đầy đủ là phức tạp hơn rất nhiều. Để tạo được tệp mã script như vậy (có thể dài hàng nghìn dòng lệnh) là một việc phức tạp, tốn nhiều thời gian và nếu không phải là người hiểu rõ về ngôn ngữ Tcl/oTcl thì không thể làm được. Toàn bộ những khó khăn trên đây có thể được giải quyết ổn thỏa nếu chúng ta có một công cụ cho phép người dùng tạo kịch bản mô phỏng chỉ bằng các thao tác kéo thả và khai báo thông qua công cụ giao diện trực quan. Chẳng hạn, trong ví dụ trên, trước hết người dùng chỉ cần khoanh vùng định vị con sông như là một vùng cấm, không có nút mạng nào tồn tại. Sau đó người dùng khoanh vùng các vành đai bao quanh sông, chỉ định mật độ nút ở các vùng đó, hệ thống sẽ tự động sinh các nút ngẫu nhiên đảm bảo mật độ như đã được chỉ định. Người dùng cũng có thể chỉ định tần suất gửi tin theo từng vùng

(a) Một đoạn mã trong file tcl (b) Minh họa công cụ tạo kịch bản bằng đồ họa

Một phần của tài liệu Thuật toán và phần mềm mô phỏng cho định tuyến không dây trong địa hình phức tạp (Trang 113 - 117)