DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT WSN : Wireless Sensor Netwoks - Mạng cảm biến không dây GPS : Global Positioning System - Hệ thống định vị toàn cầu GPRP: Geographic routing protocol
Trang 1ĐAI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
VŨ VĂN DIỆN
ĐỊNH TUYẾN KHÔI PHỤC TRÊN ĐỒ THỊ PHĂNG DỰA TRÊN THÔNG TIN VỊ TRÍ CHO
MẠNG CẢM BIẾN KHÔNG DÂY
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
HÀ NỘI - 2016
Trang 2ĐAI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC: TS Trần Trúc Mai
TS Lê Đình Thanh
HÀ NỘI - 2016
Trang 3LỜI CAM ĐOAN
Em xin cam đoan nội dung của luận văn “Định tuyến khôi phục trên đồ thị phẳng dựa trên thông tin vị trí cho mạng cảm biến không dây” là sản phẩm
do em thực hiện dưới sự đồng hướng dẫn của TS Trần Trúc Mai và TS Lê Đình Thanh Trong toàn bộ nội dung của luận văn, những điều được trình bày
là do em nghiên cứu được từ các tài liệu tham khảo Tất cả các tài liệu tham khảo đều có xuất xứ rõ ràng và được trích dẫn hợp pháp
Em xin hoàn toàn chịu trách nhiệm và chịu mọi hình thức kỷ luật theo quy định cho lời cam đoan của mình
Trang 4LỜI CẢM ƠN
Trong quá trình học tập và hoàn thành luận văn tốt nghiệp, em đã nhận được rất nhiều sự giúp đỡ, động viên từ thầy cô, gia đình và bạn bè em muốn bày tỏ sự tri ân sâu sắc của mình tới tất cả trong quyển luận văn này
Em xin bày tỏ sự cảm ơn đặc biệt tới TS Trần Trúc Mai và TS Lê Đình Thanh, những người đã định hướng cho em trong lựa chọn đề tài, đưa ra những nhận xét quý giá và trực tiếp hướng dẫn em trong suốt quá trình nghiên cứu và hoàn thành luận văn tốt nghiệp
Em xin cảm ơn các thầy cô trong Trường Đại học Công nghệ - ĐHQG
Hà Nội đã truyền thụ kiến thức cho em trong suốt khoảng thời gian học tập tại trường, đem đến cho em cảm hứng để theo đuổi con đường nghiên cứu khoa học và công việc của em sau này
Hà Nội, ngày 26 tháng 01 năm 2016
Vũ Văn Diện
Trang 5MỤC LỤC
LỜI CAM ĐOAN 1
MỤC LỤC 5
DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT 5
DANH MỤC CÁC HÌNH VẼ ĐỒ THỊ 6
MỞ ĐẦU 9
CHƯƠNG 1: TỔNG QUAN VỀ ĐỊNH TUYẾN DỰA TRÊN THÔNG TIN VỊ TRÍ CHO MẠNG CẢM BIẾN KHÔNG DÂY 9
1.1.Mạng cảm biến không dây 10
1.2.Những vấn đề gặp phải trong định tuyến cho mạng cảm biến không dây11 1 3 Định tuyến dựa trên thông tin vị trí 5
CHƯƠNG 2: CÁC KỸ THUẬT XÂY DỰNG ĐỒ THỊ PHẲNG 14
2.1 Các kỹ thuật khôi phục 7
2.1.1.Tổng quan 7
2.1.2 Định tuyến gói tin theo biên của vùng trống 14
2.1.3.Định tuyến khôi phục sử dụng đồ thị phẳng 29
2.2 Đồ thị Gabriel 23
2.2.1.Định nghĩa 23
2.2.2.Các xây dựng 24
2.3.Đồ thi RNG (Relative Neighborhood Graph) 37
2.3.1.Định nghĩa 37
2.3.2.Cách xây dựng 38
2.4.Đồ thị Hypocomb (Hypocomb Graph) 39
2.4.1 Một số ký hiệu trong đồ thị 39
2.4.2 Đồ thị Besh 29
2.4.3.Đồ thị Reduced Hypocomb 31
2.4.4 Local Hypocomb 31
Trang 6CHƯƠNG 3: ĐÁNH GIÁ HIỆU NĂNG CỦA ĐỊNH TUYẾN KHÔI PHỤC
TRÊN CÁC ĐỒ THỊ PHẲNG 33
3.1.Công cụ mô phỏng và phân tích kết quả 33
3.1.1 Giới thiệu ngôn ngữ lập trình mô phỏng NS2 33
3.1.2 Công cụ hỗ trợ phân tích kết quả mô phỏng 35
3.2.Thực nghiệm mô phỏng 48
3.2.1.Giới thiệu 48
3.2.2.Một số độ đo đánh giá hiệu năng 48
3.2.3.Các thông số mô phỏng 49
3.3 Kết quả đánh giá 38
3.3.1.Đánh giá theo tỉ lệ phân phối gói tin thành công 38
3.3.2.Đánh giá theo tổng phát gói tin 39
3.3.3.Độ dài đường đi 40
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 42
TÀI LIỆU THAM KHẢO 43
Trang 7DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT
WSN : Wireless Sensor Netwoks - Mạng cảm biến không dây
GPS : Global Positioning System - Hệ thống định vị toàn cầu
GPRP: Geographic routing protocol - giao thức định tuyến dựa trên thông tin vị trí
GAR: Greedy Anti-void Routing
CS : Curved Stick
GF : Geographic forwarding – Chuyển tiếp dựa trên thông tin vị trí
RR : Recovery routing – Định tuyến khôi phục
Trang 8DANH MỤC CÁC HÌNH VẼ ĐỒ THỊ
Hình 1.1.Vòng tròn nét liền cho biết phạm vi truyền thông của nút p là 1. 8
Hình 1.2.Ví dụ về nút bị kẹt mạnh 9
Hình 1.3.(i) uvxy là một hình vuông, uv có độ dài lớn hơn 1 nên xóa cạnh này.(ii) uvw lớn hơn 1200 v là nút bị kẹt mạnh theo quy tắc TENT. 10
Hình 1.4 Greedy Sweeping ở t1 10
Hình 1.5.Cạnh giao nhau thuộc loại đầu tiên, trước và sau. 12
Hình 1.6.Cạnh giao nhau thuộc loại thứ 2, trước và sau. 12
Hình 1.7 Ý tưởng quả bóng lăn trong kỹ thuật GAR [6] 13
Hình 1.8 Kỹ thuật GAR và BoundHole [6] 14
Hình 1.9.Nút Nc là nút PEG 22
Hình 1.10 Nút PEG Nc [6] 16
Hình 1.11 Pseudo code của thuật toán CS [6]. 18
Hình 1.12 Kỹ thuật Curved Stick [6] 18
Hình 1.13 Quy tắc bàn tay phải, x nhận gói tin từ y, và chuyển tiếp nó đến láng giềng đầu tiên ngược chiều kim đồng hồ. 20
Hình 1.14 Ví dụ định tuyến trên mặt 21
Hình 2.1.Một ví dụ đơn giản về đồ thị Gabriel [23] 23
Hình 2.2.Cách xây dựng đồ thị Gabriel 25
Hình 2.3 Đồ thi Gabriel[23] 26
Hình 2.4 Một trường hợp đơn giản về đồ thị RNG với 2 điểm i, j 27
Hình 2.5.Cách xây dựng đồ thị RNG 27
Hình 2.6 Đồ thị RNG hoàn chỉnh. 28
Hình 2.7 Quan hệ chặn 30
Hình 2.8 Đồ thị Besh 31
Hình 2.9 Đồ thị UDG và một số đồ thị phẳng Hypocomb [3] 32
Hình 3.1 Kiếm trúc NS-2 33
Trang 9Hình 3.2.Các tham số mô phỏng 37
Hình 3.3 Tỉ lệ phân phối gói tin thành công 38
Hình 3.4 Tổng phát gói tin khi sử dụng topo mạng với 50, 100 và 200 nút. 39
Hình 3.5 Tỉ lệ phần trăm độ dài đường đi thực tế so với đường đi ngắn nhất, với 100 nút. 40
Trang 10MỞ ĐẦU
Ngày nay, với sự phát triển không ngừng của công nghệ thông tin đã
mang lại nhiều hiệu quả đối với khoa học cũng như trong các hoạt động thực
tế, trong đó mạng máy tính là một lĩnh vực đem lại hiệu quả thiết thực cho con người Thông qua mạng máy tính chúng ta có thể chia sẻ thông tin ở bất
kì nơi nào trên mạng, tìm kiếm thông tin một cách nhanh chóng, chính xác và hiệu quả
Mặc dù mạng máy tính đã xuất hiện từ lâu nhưng cho đến những năm gần đây, cùng với sự ra đời các thiết bị di động thì nhu cầu nghiên cứu và phát triển các hệ thống mạng không dây ngày càng trở nên cấp thiết Nhiều công nghệ, phần cứng, các giao thức, chuẩn giao tiếp mạng lần lượt ra đời và đang được tiếp tục nghiên cứu để nâng cao hiệu năng làm việc Mạng cảm biến không dây ra đời là một trong những thành tựu cao của công nghệ chế tạo và công nghệ thông tin Một lĩnh vực nổi bật của mạng cảm biến không dây (Wireless Sensor Network - WSN) là sự kết hợp việc cảm nhận, tính toàn và truyền thông vào một thiết bị nhỏ và những thiết bị này tạo ra một kết nối rộng lớn thông qua mạng hình lưới (Mesh networking protocols) Trong khi khả năng của từng thiết bị là không mạnh thì việc kết hợp hàng trăm, hàng nghìn thiết bị lại như vậy yêu cầu phải có công nghệ mới
Những ứng dụng của mạng cảm biến không dây cũng ngày càng rộng lớn trong hầu hết các lĩnh vực trong cuộc sống như: lĩnh vực quân sự, y tế sức khỏe, bảo vệ môi trường, trong các ngành công nghiệp, nông nghiệp Mặc
dù còn đối mặt với nhiều thách thức trong việc phát triển và mở rộng, nhất là vấn đề năng lượng và quản lí năng lượng Nhưng trong một tương lai không
xa, mạng cảm biến không dây và các ứng dụng của nó sẽ không ngừng lớn mạnh và sẽ trở thành một phần không thể thiếu trong cuộc sống con người nếu như chúng ta có thể phát huy hết các điểm mạnh mà không phải mạng nào cũng có được như mạng cảm biến không dây
Trang 11Trong luận văn này, bên cạnh việc đưa ra cái nhìn tổng quan về mạng cảm biến không dây, vấn đề định tuyến, định tuyến dựa trên thông tin vị trí và các kỹ thuật khôi phục đi theo biên sau cực tiểu địa phương đã có, em còn tiến hành cài đặt và đánh giá định tuyến khôi phục trên các đồ thị phẳng Từ đó, đưa ra nhận định định tuyến khôi phục trên đồ thị phẳng nào thì cho kết quả tốt hơn
Tổ chức luận văn
Luận văn được bố cục theo các chương như sau:
- Chương 1: Giới thiệu về mạng cảm biến không dây và ứng dụng,
những vấn đề gặp phải trong mạng cảm biến không dây, định tuyến dựa trên thông tin vị trí, các kỹ thuật khôi phục
- Chương 2: Trình bày các kỹ thuật xây dựng đồ thị phẳng
- Chương 3: Đánh giá hiệu năng của định tuyến khôi phục trên các đồ
thị phẳng
Trang 12CHƯƠNG 1: TỔNG QUAN VỀ ĐỊNH TUYẾN DỰA TRÊN THÔNG TIN VỊ TRÍ CHO MẠNG CẢM BIẾN KHÔNG DÂY 1.1.Mạng cảm biến không dây
Mạng cảm biến không dây (WSN: Wireless Sensor Networks) bao gồm nhiều nút cảm biến Mỗi nút bao gồm có các thành phần sau:
- Vi điều khiển bao gồm: CPU, ROM, RAM, ADC, DAC
- Sensor: cảm nhận thế giới bên ngoài, sau đó chuyển dữ liệu qua bộ phận chuyển đổi để xử lý
-Bộ phát radio
- Nguồn năng lượng (pin) và có thể có cả bộ phận định vị
Node cảm biến là thành phần quan trọng nhất trong WSN Do vậy, việc thiết kế các node cảm biến sao cho có thể tiết kiệm được tối đa nguồn năng lượng là vấn đề quan trọng hàng đầu
Nút cảm biến có nhiệm vụ thu nhận các tín hiệu vật lý từ môi trường xung quanh Tín hiệu vật lý thu nhận được được lượng hóa bằng bộ chuyển đổi tương tự - số (ADC) rồi được chuyển vào bộ vi xử lý Thông thường, mỗi thiết bị cảm biến chỉ đo được một tín hiệu vật lý như nhiệt độ, độ ẩm, áp suất,
độ sáng, độ rung chuyển hay nồng độ khí CO2, v.v Để đo nhiều tín hiệu vật
lý đồng thời, người ta tích hợp nhiều thiết bị cảm biến thành một bảng các thiết bị cảm biến Bộ phận thu/phát tín hiệu không dây có nhiệm vụ điều chế
và phát tín hiệu dưới dạng sóng không dây, đồng thời thu và giải điều chế tín hiệu Các chuẩn công nghệ được sử dụng phổ biến cho WSN bao gồm IEEE 802.15.4, ZigBee Bộ phận định vị, ví dụ thiết bị GPS, cho biết vị trí (tọa độ) của nút cảm biến Bộ vi xử lý có năng lực tính toán hạn chế Tương tự, bộ nhớ
có dung lượng cũng hạn chế Pin có nhiệm vụ cung cấp điện cho nút hoạt động, có kích thước nhỏ và thường không nạp điện bổ sung Tất cả các thành phần kể trên cấu thành một máy tính siêu nhỏ với khả năng tính toán và
Trang 13truyền dữ liệu Nhiều nút cảm biến được triển khai trên một khu vực tạo thành một mạng tự hợp của các nút cảm biến
Do vậy, một mạng cảm biến cho phép truy nhập thông tin mọi lúc mọi nơi bằng cách thu thập, xử lý, phân tích và phát tán dữ liệu Dẫn tới cảm biến tham gia một cách tích cực trong việc tạo ra một môi trường thông minh
Mạng cảm biến hứa hẹn sẽ là một cuộc cách mạng trong một loạt các ứng dụng Điều này là có thể bởi tính linh hoạt, chính xác, hiệu quả về giá thành và dễ dàng về triển khai của mạng, theo Tilaketal Những bộ cảm biến thông minh cho phép giám sát, thăm dò và thu thập dữ liệu liên quan đến bất
kỳ hỏng hóc nào của máy móc, động đất, lũ lụt, thậm chí là một vụ tấn công khủng bố
1.2.Những vấn đề gặp phải trong định tuyến cho mạng cảm biến không dây
Mạng cảm biến không dây có những đặc tính riêng sau dẫn đến những thách thức cho việc thiết kế các thuật toán định tuyến cho mạng cảm biến không dây:
- Tài nguyên (năng lực tính toán, bộ nhớ, pin) của mỗi nút hết sức hạn chế: Đây là thách thức lớn khi thiết kế các thuật toán định tuyến cho mạng cảm biến không dây Những thuật toán áp dụng được cho mạng cảm biến không dây phải yêu cầu tính toán cũng như lưu trữ rất ít tại mỗi nút Đồng thời, những thuật toán này phải giải quyết tốt vấn đề cân bằng tải để ít nút phải hoạt động nhiều hơn và sớm ngừng hoạt động do pin hết điện
- Số lượng nút được triển khai có thể rất lớn: Có thể hàng nghìn nút được triển khai trên vùng rộng lớn Đặc điểm này càng làm tăng yêu cầu tính toán cũng như lưu trữ rất ít tại mỗi nút
- Nút thay đổi chế độ thức và ngủ: Để tiết kiệm điện của pin và kéo dài tuổi thọ các nút, một số nhà sản xuất cung cấp các nút có khả năng đi vào chế độ ngủ khi rỗi hay theo chu kỳ Đây là một thách thức cho các thuật toán định tuyến vì các liên kết giữa các nút hay bị thay đổi
Trang 14- Nút ngừng hoạt động: Do các nút cảm biến có thể được đặt ở một số nơi có điều bên ngoài khắc nghiệt, hoặc các node có nguồn nuôi bị hết pin Nên các nút cảm biên có thể bị ngừng hoạt động
- Nút được bổ sung: Các nút mới có thể được bổ sung để lấp các vùng trống do các nút
đã ngừng hoạt động để lại hoặc để mở rộng khu vực triển khai
Trên đây là các thách thức gặp phải trong quá trình nghiên cứu mạng cảm biến không dây Để mạng cảm biến được triển khai trên thực tế cẩn có những nghiên cứu để giải quyết được các thách thức trên
1 3 Định tuyến dựa trên thông tin vị trí
Trước đây, trong định tuyến trên mạng hay sử dụng phương pháp định tuyến dựa trên thông tin về topo mạng Các phương pháp định tuyến dựa trên thông tin topo như DSDV [10] , WRP [11], STAR [12], sử dụng tác tử di động [14], AIR [15], OLSR [16] và TBRPF [17], DSR [10], AODV [18], LBAR [19], preemptive routing [20], DLAR [21], và NCP-based [22] yêu cầu các nút phải lưu trữ nhiều thông tin về các đường định tuyến Yêu cầu này vượt ngoài khả năng đáp ứng của các nút cảm biến Ngoài ra, định tuyến topo
sử dụng nhiều gói tin điều khiển để tìm và duy trì các đường đường định tuyến Ngoài tác động làm giảm băng thông sẵn có cho dữ liệu, nhiều gói tin điều khiển tiêu hao điện năng của các nút và hệ quả là làm giảm tuổi thọ của các nút Với đặc điểm như vậy, định tuyến dựa trên topo hầu như không áp dụng được cho mạng cảm biến Và điều này đòi hỏi cần có một phương pháp mới phù hợp cho mạng cảm biến
Những năm gần đây, phương pháp định tuyến dựa trên thông tin vị trí
đã ra đời [1] [2] và đã trở thành phương pháp định tuyến được sử dụng rộng rãi trong mạng cảm biến không dây Định tuyến dựa trên thông tin vị trí giả thiết rằng: mỗi nút biết về vị trí của nó bằng việc sử dụng hệ thống định vị như GPS hoặc bằng kỹ thuật định vị nào đó Ngoài ra, định tuyến cần sử dụng một thuật toán khác, được gọi là dịch vụ thông tin vị trí (location service) [1]
Trang 15[2], để xác định vị trí của nút đích Trước khi thực hiện thuật toán định tuyến, nút nguồn xác định vị trí của nút đích thông qua triệu gọi dịch vụ thông tin vị trí, chẳng hạn sử dụng hệ thống định vị toàn cầu GPS Thông tin về vị trí nút đích, sau đó, được gắn vào tiêu đề mỗi gói tin cần chuyển đi và được sử dụng làm thông tin dẫn đường Các nút không phải duy trì các đường đi cũng như các trạng thái định tuyến
Định tuyến dựa trên thông tin vị trí sử dụng kết hợp chuyển tiếp dựa trên thông tin vị trí (geographic forwarding - GF) và định tuyến khôi phục (recovery routing - RR) để định tuyến gói tin
Chuyển tiếp dựa trên thông tin vị trí là kỹ thuật chuyển gói tin từ nút này đến nút khác gần đích hơn Độ gần đích của một nút có thể đo bằng khoảng cách từ nút đó đến nút đích Nút không có láng giềng gần đích hơn được gọi là cực tiểu địa phương (local minimum) Cực tiểu địa phương xuất hiện ở biên của những vùng trống (hole), hay vùng không có nút cảm biến, và biên của mạng Để mỗi nút nhận được gói tin biết nên sử dụng chuyển tiếp dựa trên thông tin vị trí hay định tuyến khôi phục cho gói tin nhận được, một thông tin chỉ dẫn được gọi là chế độ (mode) định tuyến được ghi trong tiêu đề của gói tin Chế độ định tuyến có thể là tham lam (greedy) hoặc khôi phục (recovery) Nút nguồn thiết lập chế độ tham lam, hay chế độ sử dụng chuyển tiếp dựa trên thông tin vị trí, cho gói tin Khi nhận được gói tin ở chế độ tham lam, cực tiểu địa phương sẽ thay đổi gói tin sang chế độ khôi phục, hay chế
độ sử dụng định tuyến khôi phục, đồng thời ghi thông tin về vị trí của nó vào tiêu đề gói tin ở trường cực tiểu địa phương gặp cuối cùng Khi nhận được gói tin ở chế độ khôi phục, nút gần đích hơn cực tiểu địa phương gặp cuối cùng khôi phục gói tin về chế độ tham lam Ở những tình huống còn lại, nút nhận được gói tin không thay đổi chế độ định tuyến của gói tin mà chỉ chuyển tiếp gói tin bằng việc áp dụng chuyển tiếp dựa trên thông tin vị trí hay định tuyến khôi phục tùy theo chế độ định tuyến hiện tại của gói tin
Trang 16CHƯƠNG 2: CÁC KỸ THUẬT XÂY DỰNG ĐỒ THỊ PHẲNG
2.1 Các kỹ thuật khôi phục
2.1.1.Tổng quan
Khi chuyển tiếp tham lam gặp thất bại, thì quá trình chuyển tiếp gói tin
từ nguồn đến đích sẽ chuyển sang định tuyến khôi phục
Có hai kỹ thuật chinh được sử dụng trong kỹ thuật khôi phục:
- Định tuyến gói tin đi theo biên của vùng trống
- Định tuyến gói trên đồ thị phẳng
2.1.2 Định tuyến gói tin theo biên của vùng trống
Ta sẽ tìm hiểu một số thuật toán định tuyến chính đi theo biên của vùng trống Đó là các thuật toán:
-Thuật toán BOUNDHOLE
-Thuật toán GAR
-Thuật toán Curved Stick
1).Thuật toán BOUNDHOLE
1.1).Ý tưởng
BoundHole [2] [6] [7] là một kỹ thuật khôi phục đi theo biên hiệu quả Trong đó, BoundHole sử dụng kỹ thuật quay (sweeping) để chuyển tiếp gói tin theo biên vùng trống
1.2).Mô tả
Trong [2] nhóm tác giả định nghĩa các nút bị kẹt mà ở đó gói tin bị kẹt khi chuyển tiếp tham lam và phát triển một quy tắc cục bộ, gọi là quy tắc TENT cho mỗi nút trong mạng để kiểm tra một gói tin có bị kẹt hay không
Để đưa gói tin ra khỏi các nút bị kẹt, họ đã đưa ra thuật toán BOUNDHOLE,
để xây dựng các đường đi xung quanh các vùng trống
Có hai loại nút bị kẹt: nút bị kẹt yếu và nút bị kẹt mạnh
Trang 17(1).Nút bị kẹt yếu: một nút p thuộc S được gọi là nút bị kẹt yếu nếu tồn tại một nút b thuộc S nằm ngoài phạm vi truyền của p mà không có làng giềng nào của p gần với b hơn p Đích b được gọi là một nút đen của p
Hình 1.1.Vòng tròn nét liền cho biết phạm vi truyền thông của nút p là 1
Định nghĩa này của nút bị kẹt phù hợp cho các ứng dụng mà ở đó các đích định tuyến là các nút trong mạng Trong chuyển tiếp tham lam, các gói tin chỉ bị kẹt ở các nút bị kẹt Các vùng trống theo định nghĩa này là các mặt
có tối thiểu 4 đỉnh trong lưới tam giác Delaunay với tất cả các cạnh có độ dài lớn hơn 1 bị loại bỏ
(2).Tìm các vùng trống: Cho một tập các nút S trong mặt phẳng, sơ đồ voronoi phân chia mặt phẳng thành các vùng nồi được gọi là tế bào Voronoi, trong đó các điểm trong một cell chỉ gần nhất với 1 nút Lưới tam giác Delaunay là đồ thị kép của sơ đồ Voronoi, bằng việc kết nối các nút mà tế bào tương ứng của nó là tiếp giáp trong sơ đồ Voronoi
) Bổ đề 1: Trong lưới tam giác Delaunay DT(S), nếu tất cả các cạnh tiếp giáp với p không dài hơn 1 thì p không phải là một nút bị kẹt
) Định lý 1: Tất cả các nút bị kẹt yếu phải ở trên biên của vùng trống
Tuy nhiên, định nghĩa về nút bị kẹt yếu không đủ cho các ứng dụng mà
ở đó đích đến không phải là một nút trong mạng Điều này dẫn đến sự ra đời của nút bị kẹt mạnh, quy tắc TENT, và thuật toán BOUNDHOLE
Trang 18) Nút bị kẹt mạnh: Nút p thuộc S là một nút bị kẹt mạnh nếu tồn tại một vị trí q nằm ngoài phạm vi truyền của p mà ở đó không có láng giềng nào của p gần q hơn p Tập hợp các điểm q như vậy được gọi là vùng đen Tất cả các nút bị kẹt yếu có thể trở thành một nút bị kẹt mạnh
Hình 1.2.Ví dụ về nút bị kẹt mạnh
) Quy tắc TENT: Chúng ta sử dụng một quy tắc đơn giản đẻ phát hiện ra một nút bị kẹt Đối với mỗi nút p, chúng ta xét các nút láng giềng của p theo chiều ngược chiều kim đồng hồ Với mỗi cặp nút láng giềng u và v, chúng ta
vẽ đường trung trực của up và vp Hai đường trung trực này cắt nhau tại O Nếu O nằm trong phạm vi truyền thông của p, vùng đen phải nằm trong phạm
vi truyền thông của p Do u và v là tiếp giáp theo chiều ngược chiều kim đồng
hồ, nên không có nút ở trong vùng trống Do vậy, p không bị kẹt ở một nút bất kỳ trong vùng được xác định bởi pu và pv Chúng ta nói rằng p không bị kẹt theo hướng upv Ngược lại nếu tâm O nằm ngoài phạm vi truyền thông của p thì có thể có một đích trong mặt phẳng mà ở đó gói tin có thể bị kẹt ở p
Do vậy, quy tắc TENT là đủ và cần thiết đề phát hiện nút bị kẹt Ở đây, chúng
ta gọi một góc kẹt ở một nút p là góc tạo bởi p và cặp láng giềng của nó mà tại đó p gặp cực tiểu địa phương Một nút là một nút kẹt mạnh nếu nó có tối thiểu một góc kẹt
Trang 19Để xác định một nút có bị kẹt hay không, ta có thể dựa vào góc của nó với một cặp láng giềng Nút p là nút không bị kẹt nếu góc upv nhỏ hơn 120o Nên một nút có nhiều nhất 3 hướng kẹt
Hình 1.3.(i) uvxy là một hình vuông, uv có độ dài lớn hơn 1 nên xóa cạnh này.(ii)
Như trong hình 1.3, góc uvw lớn hơn 120o
nên v là nút bị kẹt mạnh theo quy tắc TENT
) BOUNDHOLE – thuật toán tìm vùng trống
Không giống như trường hợp của các nút bị kẹt yếu, mà ở đó các vùng trống có thể được định nghĩa như là một mặt trong trong đồ thị Delaunay giới hạn Ở đây chúng ta cần xác định chúng và làm thế nào để đi qua chúng
Trang 20chiều kim đồng hồ Rồi gói tin từ t1 đưa đến nút láng giềng trên biên của vùng trống, trong trường hợp này là t2 Việc xác định t2 thế nào làm nhiệm vụ của BOUNDHOLE Lặp lại tiến trình này cho mỗi nút mà gói tin đó tới Gói tin
sẽ đánh dấu biên của vùng trống và trả lại nó cho p khi đi hết vùng trống Do vậy, vùng trống được định nghĩa như là một vùng đóng được bao quanh bởi chu trình xác định bởi BOUNDHOLE
) Thuật toán tham lam – BOUNDHOLE
Giả sử p là một nút bị kẹt và góc spt1 là hướng kẹt, chúng ta sử dụng thuật toán sau để tìm ra vùng trống chứa p trên biên Chúng ta sẽ cố gắng tìm ra chu trình đóng quay lại p Chu trình được tìm thấy bởi quy tắc cục bộ ở mỗi nút Chu trình pt1t2…tkp được định hướng Thuật toán làm việc như sau:
1) Chúng ta sử “quy tắc bàn tay phải” bắt đầu từ t1, quay t1p với t1 làm gốc quay theo chiều ngược chiều kim đồng hồ, điểm đầu tiên nó gặp là t2 Rồi lại tiếp tục lấy t2 làm gốc quay t2t1 theo chiều ngược chiều kim đồng hồ
2) Thủ tục này tiếp tục đến khi đường đi pt1t2…tk quay trở lại p và tạo thành một vùng đóng
(3).Cạnh giao nhau: Trong trường hợp cạnh tjtj+1 giao với cạnh titi+1, j > i, có thể có hai trường hợp Loại đầu tiên, nút tj không nhìn thấy nút ti và ti+1 Loại thứ 2 là nút ti không nhìn thấy nút tj và tj+1. Với loại đầu tiên, chúng ta xóa các đoạn ti+1ti+2…tjtj+1, và tiếp tục trên t0t1…titj+1tj, p = t0
Trang 21Hình 1.5.Cạnh giao nhau thuộc loại đầu tiên, trước và sau
Với loại thứ 2, chúng ta có ti+1 như là chặng kế tiêp cho tj và tiếp tục trên
t0…tjti+1ti, p = t0
Hình 1.6.Cạnh giao nhau thuộc loại thứ 2, trước và sau
Thuật toàn BOUNDHOLE tìm ra một vùng trống cho mỗi nút kẹt mạnh
và một hướng kẹt đơn giản và mang tính cục bộ Việc tính toán ở mỗi nút chỉ phụ thuộc vào láng giềng của nó
) Kết thúc thuật toán: thuật toán BOUNDHOLE kết thúc và phát hiện ra một vùng trống BOUNDHOLE tạo ra một chuỗi các nút t0t1…tk trong đó t0 =
p
Như vậy, BOUNHOLE là kỹ thuật đi theo biên [1] được sử dụng để phát hiện các vùng trống Cụ thể, một gói tin Hole Boundary Detection (HBD) được sinh ra bởi một nút biên và được chuyển tiếp dọc theo biên của vùng trống cho đến khi quay về nút đã sinh ra nó Thông tin vị trí các nút biên lần lượt được ghi trong thân của gói tin HBD Khi nhận lại gói tin HBD, nút
đã sinh ra nó có thông tin đầy đủ về vùng trống
Trang 222) Thuật toán GAR
2.1).Ý tưởng
Greedy Anti-void Routing [6] [7] (GAR) là kỹ thuật khôi phục đi theo biên nhằm mục đích đưa các gói tin ra khỏi vùng trống khi gặp cực tiểu địa phương bằng cách truyền gói tin đó qua các nút biên Ý tưởng chính của cách tiếp cận này đó là sử dụng một quả bóng lăn (GAR Rolling Ball) để lăn và
qua đó chọn nút chuyển gói tin kế tiếp
Hình 1.7 Ý tưởng quả bóng lăn trong kỹ thuật GAR [7]
2.2) Mô tả
Kỹ thuật GAR sử dụng một quả bóng lăn (GAR Rolling Ball) có kích thước bằng một nửa vòng tròn phạm vi của nút hiện tại Kế tiếp đó, quả bóng lăn sẽ lăn tròn xung quanh tâm của nút hiện tại, khi đó nút nào có quả bóng lăn chạm đến đầu tiên thì nút đó sẽ là nút kế tiếp được gói tin chuyển tới
Trang 23Hình 1.8 Kỹ thuật GAR và BoundHole [7]
Trong hình 1.8, nút N_local là nút hiện tại, khi đó phạm vi giao tiếp của N_local là vòng tròn có tâm là chính nó, trong đó các nút N4, N5, N6, N7, N8 là các láng giềng mà nó có thể truyền thông tới Khi lăn quả bóng GAR thì nút đầu tiên quả bóng này gặp chính là nút N6 Và quá trình này lại tiếp tục với
N6 Với kỹ thuật BoundHole ta sẽ không thể tìm ra và chuyển gói tin tới nút
Ne (nút cần thiết để chuyển gói tin ra ngoài vùng trống) và khi đó BoundHole
sẽ tạo vòng lặp định tuyến khiến gói tin bị mắc kẹt
Trong khi đó, với quả bóng lăn (Gar Rolling Ball) của GAR lại có thể chọn được Ne Khi đó đường định tuyến mà kỹ thuật GAR tạo ra sẽ là N_local
N6, N7, N8, Ne, N10… Mặc dù hạn chế được nhược điểm rất lớn của BOUNDHOLE Tuy nhiên có thể thấy, trường hợp này GAR lại tìm ra và chuyển gói tin qua các nút không thực sự cần thiết cho định tuyến, do đó
Trang 24đường đi không tối ưu Bên cạnh đó, chọn thừa nút cũng có thể làm tăng chi phí mạng
3) Thuật toán CS
3.1) Ý tưởng thuật toán
Curved Stick[7] (CS) là cách tiếp cận có ý tưởng từ việc làm sao để phát hiện ra đúng các nút biên vùng trống và đồng thời tạo được đường tuyền gói tin hiệu quả tối ưu? Từ đây, ý tưởng chính của thuật toán là xác định các nút PEG (potential-exit-gate) là các nút có tiềm năng chuyển tiếp được gói tin
ra ngoài vùng trống để rồi sau đó sử dụng thanh cong quét chọn chúng làm nút kế tiếp
Hình 1.9.Nút N c là nút PEG
Trang 25Vấn đề ở đây là giả sử Na là nút hiện tại thì làm sao để Na chọn đúng nút Nc– nút PEG là nút kế tiếp chứ không phải chọn Nb (ở đây Na và Nb
không giao tiếp được với Nd, ngược lại Nc thì có thể)
* 3.2) Mô tả
Định nghĩa 1.(Vùng trống): Chúng ta định nghĩa một vùng trống như
là một chuỗi tuần hoàn của các nút: H = {Ni, Ni +1, , Ni + j, Ni} trong đó
nó không tồn tại một liên kết Ek,l mà Nk là bên trong các lỗ và N1 là bên ngoài
lỗ hoặc Nl ∈ H
Định nghĩa 2.(Nút biên):Chúng ta định nghĩa một nút như một nút biên
nếu nó nằm trên ranh giới của mạng hoặc của một vùng trống bên trong mạng
Định nghĩa 3.(Nút potential-exit-gate): Chúng ta nói một nút Nc là một nút tiềm năng potential-exit-gate (PEG) theo hướng ∠Na Nc Nb nếu có một vị trí X ∈R2
vào phạm vi truyền thông N’c s và nằm ngoài phạm vi truyền thông của Na và Nb, là các nút ranh giới
Hình 1.10 Nút PEG N c [7]
Trang 26Định nghĩa 4 (Điểm bắt đầu): Nhóm tác giả xác định điểm bắt đầu của
nút Ni+1, nút SPi+1 là giao điểm giữa hai vòng tròn bán kính R, tâm tại Ni và
Ni+1 và có hướng ∠N(i-1) Ni N(i+1) trong đó N(i-1) là hop CS trước của nút Ni và
N(i+1) là hop CS tiếp theo của Ni
Hình 1.11 Pseudo code của thuật toán CS [7]
Trang 27Thuật toán định tuyến CS được trình bày như hình dưới đây
Hình 1.12 Kỹ thuật Curved Stick [7]
Hình 1.10 mô tả quy tắc thanh cong quét chọn nút kế tiếp để chuyển tiếp gói tin Ở đây, thanh cong dùng để quét khu vực PEG region thực ra là một cung tròn Na, Nb Nếu khu vực này trống (tức không có nút PEG thì nút hiện tại Na bỏ qua và chọn luôn nút kế tiếp là Nb) Nếu có ít nhất một nút nằm trong PEG region thì Na sẽ chọn nút đó làm nút kế tiếp Nếu có nhiều nút thì khi quét thanh cong gặp phải nút nào đầu tiên thì nút đó sẽ được chọn Quá trình này lặp lại với các nút kế tiếp được chọn
Thuật toán định tuyến CS gồm 3 giai đoạn đặc trưng:
1.Giai đoạn bắt đầu
Tương tự như các cách tiếp cận khác, thuật toán CS cũng có tính chất tham lam, tức là các gói tin giữa hai nút được chuyển tiếp theo chặng cho tới khi gói tin tới đích hoặc rơi vào trạng thái gặp cực tiểu địa phương Khi gói tin rơi vào trạng thái mắc kẹt có nghĩa là nó có thể không được cung cấp, các nút hiện tại gọi là nút khởi tạo (Ninit) sẽ bắt đầu sử dụng quy tắc thanh cong