Tƣ tƣởng của giải pháp

Một phần của tài liệu Định tuyến đa phát dựa trên bảo trì tối ưu cây khung trong các mạng tự hợp di động (Trang 72)

Để thống nhất cách biểu thị cây khung trong mạng đa phát, ta đƣa ra định nghĩa cây khung đa phát nhƣ sau:

Định nghĩa 5.1: Xét đồ thị vô hƣớng G=(V,E), gọi V' là tập con của V

trong G. Gọi cây khung con bao trùm tất cả các nút của V' trong G là cây khung không đầy đủ hoặc cây khung đa phát (Spanning Tree for Multicast - STM). Lúc đó tập hợp các nút trong V' gọi là nhóm đa phát, nút v thuộc V’ gọi là nút đa phát.

Tƣ tƣởng của giải pháp cây khung đa phát là sẽ không cố gắng xây dựng cây khung bao trùm tất cả các nút mà chỉ cố gắng xây dựng cây khung bao trùm tất cả các nút thuộc nhóm đa phát V’. Trong cây khung này, đƣờng nối giữa các nút thuộc nhóm đa phát là đƣờng nối ngắn nhất có thể đƣợc. Nói cách khác, giải pháp cây khung đa phát là giải pháp kết hợp giữa giải thuật cây khung nhỏ nhất và giải thuật cây đƣờng đi ngắn nhất Dijkstra (Dijkstra Shortest Path). Trong hệ thống tính toán phân tán, tƣ tƣởng của giải thuật GHS-83 và thuật toán phân tán

có tính đáp ứng cây đƣờng đi ngắn nhất Dijkstra (Adaptive Distributed Shortest Path - ADSP[17]) đƣợc kế thừa. Trong các mạng động nói chung và mạng MANET nói riêng, giải pháp cây khung đa phát áp dụng tƣ tƣởng của giải thuật OMST, kết hợp với cải tiến đƣợc trình bày ở chƣơng 4. Sự kết hợp này giải quyết hiệu quả hơn bài toán cây khung đa phát so với các thuật toán đã có.

Để trình bày chi tiết hơn về giải thuật STM, ta định nghĩa lại một số thuật ngữ đã dùng trong các chƣơng trƣớc để phù hợp với ngữ cảnh đa phát:

- Mảnh STM: Là một cây con thuộc cây khung STM. Ban đầu mỗi mảnh

STM là một nút thuộc nhóm đa phát V’, các mảnh này sẽ kết hợp lại với nhau để tạo thành cây khung STM.

- Liên kết ngoài đơn: Là liên kết ngoài từ 1 nút đến nút hàng xóm của nó.

- Liên kết ngoài đƣờng dẫn: Nếu đƣờng dẫn nối từ một nút trong cây mảnh

STM hiện tại đến một nút ngoài không thuộc mảnh STM qua một liên kết ngoài đơn bất kì (các liên kết còn lại của đuờng dẫn này đều thuộc mảnh STM).

- Liên kết ngoài đƣờng dẫn nhỏ nhất: là liên kết ngoài đƣờng dẫn có tổng

chi phí nối 2 nút của liên kết là nhỏ nhất (liên kết này có thể bao gồm nhiều liên kết đơn khác)

- Liên kết đa phát: Là liên kết ngoài đơn hoặc liên kết ngoài đƣờng dẫn mà

ít nhất một trong 2 đầu của liên kết là một nút thuộc nhóm đa phát

- Gốc của mảnh: là nút trong mảnh đƣợc lấy làm gốc, định danh nút này

đƣợc lấy làm định danh của mảnh.

- Đƣờng dẫn nhỏ nhất: là đƣờng nối có tổng chi phí nhỏ nhất nối 2 nút

thuộc V’ (có thể đƣờng dẫn này đi qua 1 hoặc nhiều nút khác không thuộc V’)

Ví dụ minh họa ở hình 26 dƣới đây mô tả các khái niệm đƣợc trình bày ở trên 4 5 3 7 1 2 2 1 2 4 3 0 6

Hình 24: Mô tả các khái niệm trong cây khung đa phát

Các nút vòng tròn kép là nút thuộc nhóm đa phát, với nút 0 là gốc, liên kết 0-6, 0-7 và 0-4 là liên kết của cây khung (nét liền), liên kết từ nút 0 đến nút 3 là một liên kết ngoài đơn (nét đứt), liên kết từ 0 đến nút ngoài 5 là liên kết đƣờng dẫn, với liên kết 0-4 là liên kết cây khung còn liên kết 4-5 là liên kết ngoài đơn. Trong số các liên kết đƣờng dẫn thì liên kết từ 0 đến 1 là liên kết đƣờng dẫn nhỏ nhất. Các liên kết đƣờng dẫn từ 0 đến 5, từ 0 đến 3 và từ 0 đến 1 là liên kết đa phát, còn liên kết 7-1 và 4-5 không phải là liên kết đa phát.

Với khái niệm liên kết có sự khác biệt so với giải thuật OMST gốc, do đó khác với giải thuật OMST, giải thuật STM không chỉ bao gồm quá trình kết hợp (giữa 2 mảnh với nhau) thông qua liên kết đa phát mà có cả quá trình mở rộng (là quá trình kết hợp giữa một mảnh MST mà một nút không thuộc V’). Tƣ tƣởng chính của STM là sẽ mở rộng mảnh theo đƣờng dẫn nhỏ nhất (thuật toán ADSP[17]) cho đến khi nào gặp một mảnh khác thì kết hợp với mảnh đấy. Sau khi kết hợp, quá trình lại tiếp tục đƣợc lặp lại. Tại mỗi lần lặp, mảnh STM sẽ chọn ra 1 nút ngoài tối thiểu để kết hợp. Nút ngoài tối thiểu đƣợc định nghĩa là

nút có liên kết ngoài đơn hoặc nút có liên kết ngoài đƣờng dẫn nhỏ nhất đến nút đang thực hiện tìm kiếm.

Mỗi nút v trong mạng sẽ lƣu trữ danh sách các nút hàng xóm (NB_List) cùng với loại liên kết đến các nút đó. Có 3 loại liên kết:

- Mesh_Link: là liên kết ngoài, nếu liên kết từ v đến i là Mesh_Link thì i

không thuộc cùng cây STM với v.

- Tree_Link: là liên kết đƣợc tạo thành do quá trình mở rộng mảnh.

- Data_Link: là liên kết đƣợc tạo thành do quá trình kết hợp mảnh (thông

qua liên kết đa phát).

Hình 27 dƣới đây mô tả chi tiết hơn về các loại liên kết của các nút hàng xóm: 4 5 3 7 1 2 2 1 2 4 3 0 6 (adsbygoogle = window.adsbygoogle || []).push({});

Hình 25: Các loại liên kết với nút hàng xóm

Trong đó liên kết từ 0-3, 7-1 và 4-5 là liên kết Mesh_Link (nét liền nhạt), cũng là liên kết ngoài đơn. Liên kết 0-7, 0-4 là các liên kết Tree_Link (nét đứt), còn liên kết 0-6 là liên kết Data_Link (nét liền đậm). Các gói tin điều khiển của

giải thuật phát từ nút 0 sẽ đi qua cả các nút 4,7,6, tuy nhiên gói tin dữ liệu chỉ đi qua nút 6.

Có thể thấy điểm khác nhau cơ bản giữa Tree_Link và Data_Link là: từ bất kì một nút nào thuộc V’ đi theo liên kết Data_Link sẽ đến một nút khác cũng thuộc V’, còn Tree_Link thì không. Các liên kết thuộc đƣờng dẫn nhỏ nhất nối 2 nút thuộc nhóm đa phát luôn là Data_Link. Nói cách khác, Data_Link là liên kết giữa các nút thuộc nhóm đa phát, dữ liệu sẽ đƣợc truyền qua các nút này. Còn liên kết Tree_Link là liên kết với các router trung gian, dữ liệu sẽ không truyền qua nút đó, mà chỉ có các gói tin điều khiển để mở rộng hoặc kết hợp mảnh đƣợc gửi qua. Liên kết Tree_Link sẽ trở thành liên kết Data_Link nếu nhƣ quá trình mở rộng mảnh chạm đến một mảnh STM khác.

Ngoài danh sách các nút hàng xóm, mỗi nút còn lƣu trữ danh sách các nút thuộc cây khung hiện tại của mình (Tree_List), theo kết quả của chƣơng 4. Các nút thuộc danh sách này sẽ không là ứng viên tìm kiếm nút ngoài tối thiểu. Ban đầu, danh sách các nút hàng xóm NB_List và danh sách Tree_List chỉ bao gồm chính nút hiện tại.

Kế thừa từ OMST cải tiến, giải thuật STM cũng dựa trên 2 thủ tục quan trọng nhất là UPDATE và FIND:

- Thủ tục UPDATE có nhiệm vụ duyệt qua tất cả các nút trong cây khung

hiện tại để bổ sung vào danh sách Tree_List. Sau khi thủ tục UPDATE kết thúc, “cây ảo” sẽ giống hệt cây STM thật về danh sách định danh nút trong cây.

- Thủ tục FIND có nhiệm vụ tìm kiếm liên kết ngoài tốt nhất với danh sách

loại trừ là danh sách Tree_List kết quả từ thủ tục UPDATE.

Khác với giải thuật OMST cải tiến, tiêu chuẩn “tốt nhất” của liên kết ngoài có điểm khác biệt, theo tiêu chí cố gắng kết nối các nút trong nhóm đa phát V’ bằng đƣờng dẫn ngắn nhất, chứ không cố gắng kết nối tất cả mọi nút bằng liên kết đơn ngắn nhất. Tuy nhiên, do thủ tục UPDATE và FIND kế thừa từ giải thuật OMST cải tiến, nên giải thuật STM vẫn chứng minh đƣợc là đảm bảo tính bất biến không vòng lặp, tức là không làm cây khung xuất hiện chu trình. Ngoài ra giải STM sẽ kết thúc sau một số hữu hạn bƣớc thực hiện và có độ phức tạp thông báo của giải thuật STM cũng là O(V).

Một phần của tài liệu Định tuyến đa phát dựa trên bảo trì tối ưu cây khung trong các mạng tự hợp di động (Trang 72)