Giải pháp cải thiện sự công bằng cho mỗi luồng trong tầng liên kết

Một phần của tài liệu bảo đảm công bằng luồng trong các mạng ad hoc không dây (Trang 69 - 71)

Khi phân tích về sự đảm bảo công bằng trong các mạng không dây, tầng liên kết có một tác động quan trọng trong các vấn đề công bằng cho mỗi luồng. Để giải quyết vấn đề không công bằng cho mỗi luồng xảy ra tại tầng liên kết, một giải pháp là sử dụng bộ lập lịch RR (Round Robin) để thay thế cho bộ lập lịch FIFO truyền thống. So sánh với bộ lập lịch FIFO truyền thống, bộ lập lịch RR cung cấp sự công bằng cho mỗi luồng tốt hơn. Trong bộ lập lịch FIFO, tất cả các gói tin được lưu trữ trong một bộ đệm riêng và truyền ra ngoài theo trình tự mà chúng được lưu trữ. Bởi vậy, nếu các gói tin không được lưu giữ công bằng, chúng sẽ không truyền tới tầng MAC theo một cách công bằng. Trái với điều này, trong bộ lập lịch RR, nó duy trì bộ đệm riêng biệt đối với mỗi luồng và gửi một gói tin từ mỗi bộ đệm một cách lần lượt. Điều này cho phép bộ lập lịch RR gửi nhiều gói tin tới tầng MAC một cách công bằng cho mỗi luồng.

Như vậy, khi một gói tin mới đến tại tầng liên kết, gói tin được chèn vào một vùng đệm thích hợp bằng cách kiểm tra thông tin về socket của nó trong phần đầu của gói tin (với địa chỉ IP và số cổng của máy chủ đầu cuối). Sau đó những gói tin tại đầu của mỗi vùng đệm được truyền lần lượt tới tầng MAC. Tầng MAC sẽ cung cấp một cơ chế cho phép một nút gửi vài gói tin thuộc về các luồng khác nhau trong một truy nhập kênh đơn khi nó giành được kênh. Số lượng gói tin gửi trong một truy nhập kênh đơn là không thay đổi tại tầng liên kết.

Quá trình này có thể được mô tả thông qua một giải thuật để xác định số lượng những luồng như sau:

Đầu tiên, một yêu cầu được gửi đi để xác nhận số lượng các luồng dữ liệu đang tới vùng đệm. Bằng sự kiểm tra từng bộ đệm xem có gói tin nào đã được lưu giữ trong đó, mục đích để xác định số vùng đệm không trống. Sau

đó, số lượng gói tin gửi trong một truy cập kênh đơn là không thay đổi với giá trị nhỏ nhất giữa số lượng vùng đệm không trống và số gói tin cực đại được gửi đi trong một truy nhập kênh đơn.

Hình 3.1. Giải thuật xác định số lượng những luồng

Đặt Max_flow làm đại diện cho số gói tin cực đại được gửi đi trong một truy nhập kênh đơn. Max_flow được gửi đi trong một truy cập kênh đơn phụ thuộc vào điều kiện của vùng mạng thuộc về cùng một nút. Max_flow cần phải đặt đủ thấp trong điều kiện vùng mạng đang tập trung nhiều nút. Mặt khác, Max_flow cần phải được đặt đủ cao trong điều kiện ngược lại. Việc thiết lập này cần phải được xác định chính xác bởi vì nếu Max_flow tại một nút được đặt quá cao khi mạng đang tập trung đông, nó có thể cản trở các nút khác

thu nhận kênh với những chu kỳ thời gian dài hơn, dần dần làm giảm sút hiệu suất mạng.

Bởi vậy, nếu số luồng cực đại tại một nút lớn hơn Max_flow, nút đó gửi Max_flow gói tin trong một truy nhập kênh đơn. Trong trường hợp này, mặc dù công bằng cho mỗi luồng có thể đã suy giảm, nhưng bằng việc sử dụng bộ lập lịch RR có thể vẫn cải thiện công bằng cho mỗi luồng. Max_flow phụ thuộc nhiều nhân tố như độ rộng dải thông truyền, điều kiện kết nối không dây, hình trạng mạng và số lượng luồng chia sẻ băng thông. Cho rằng sự ảnh hưởng của những nhân tố là như nhau với tất cả các nút nằm trong các dải truyền dẫn khác nhau, và sau đó giả thiết rằng mỗi nút giữ Max_flow như nhau.

Một phần của tài liệu bảo đảm công bằng luồng trong các mạng ad hoc không dây (Trang 69 - 71)