Hàng đợi công bằng fluid bắt buộc rằng khi một tập hợp những luồng F
chia sẻ một kênh, một luồng i với trọng số ri nhận một sự phân phối kênh của
C jB(t) j i r r t
qua bất cứ cửa sổ thời gian nhỏt, ở đó C là dung lượng kênh và
B(t) là tập hợp của các luồng chưa thực hiện tại thời gian t. Một vài thuật toán lập lịch đóng gói khác nhau tồn tại gần giống với mô hình hàng đợi công bằng fluid.
Một biến thể lai của Start time Fair Queueing (STFQ) và Worst-case Fair Weighted Fair Queueing (WF2Q), sử dụng khi điểm xuất phát quy tắc lập lịch trong khung lập lịch lý tưởng hoá. Mỗi luồng có một hàng đợi với các gói tin của nó. Các gói tin trong một luồng thoả mãn theo thứ tự FIFO. Mỗi gói tin có hai thẻ, một thẻ bắt đầu và một thẻ kết thúc. Thẻ bắt đầu của nth gói tin của luồng i được chỉ rõ như sau:
si,n=max{v(ti,n),fi,n-1}
và thẻ kết thúc của n th gói tin của luồng i được chỉ rõ như sau:
fi,n=si,n + L/ri
ở đó si,n và fi,n biểu thị thẻ bắt đầu và thẻ kết thúc, v(t) là thời gian ảo tại thời điểm t, ti,n biểu thị thời gian đến của gói tin, và L là kích thước gói tin cố định. Thời gian ảo v(t) tại thời điểm t là tập hợp thẻ bắt đầu của gói tin hiện tại đang được truyền trên kênh.
Sau khi truyền một gói tin, gói tin tiếp theo truyền được lựa chọn theo thuật toán sau đây.
Trong số tất cả các gói tin mà có thẻ bắt đầu không lớn hơn v(t) + L,
Nếu như không có gói tin như vậy, thì gói tin với thẻ bắt đầu nhỏ nhất được lựa chọn.
Sự ràng buộc là không được thực hiện tuỳ tiện.
Bây giờ trình bày các thuật toán lập lịch gói tin lý tưởng để đạt được các mô hình công bằng toàn bộ và cục bộ tương ứng.
Nhắc lại trong mô hình công bằng toàn bộ, một luồng chưa thực hiện i nhận một sự phân phối kênh ít nhất C
jB(t) j
i r r
t
trong thời gian (t, t + t), ở đó B(t) là tập hợp của tất cả các luồng được dự trữ trong mạng. Thuộc tính công bằng này đồng nhất với một xấp xỉ bằng thuật toán hàng đợi công bằng đóng gói ở trên. Như vậy, sử dụng thuật toán này để cung cấp một sự phân phối “cơ sở”, và tuỳ thuộc vào sự phân phối này, tìm kiếm để tăng tối đa sử dụng lại toàn bộ kênh theo thuật toán sau đây:
1. Lựa chọn phần đầu dòng gói tin của luồng i* theo thuật toán hàng đợi công bằng đóng gói được mô tả ở trên.
2. Lựa chọn tập hợp độc lập cực đại Si* trong G – N[i*], ở đó N[i] biểu thị miền lân cận đóng của nút i trong đồ thị tranh chấp luồng.
3. Lập lịch các gói tin để truyền trong {i* } U Si*. Gia tăng thẻ bắt đầu và thẻ kết thúc của luồng i*, nhưng không thay cho bất cứ luồng nào trong Si.
Thực tế rằng các thẻ không được gia tăng đối với các luồng trong Si* cho phép bộ lập lịch đạt được sử dụng lại kênh bổ sung tối đa có thể dành để phân phối cho i*“độc lập”, ví dụ các luồng mà nhận phân phối kênh bổ sung không chịu tải cho nó bằng việc tăng dần các thẻ của chúng.
Nhắc lại rằng trong mô hình công bằng cục bộ, một luồng được dự trữ i nhận một sự phân phối kênh ít nhất C
jB(t) j
i r r
t
trong thời gian (t, t + t), ở đó B(t) là tập hợp của tất cả các luồng được dự trữ trong miền lân cận đóng của nó. Ngược lại trong mô hình công bằng toàn bộ, đạt được công bằng cục bộ sử dụng thuật toán hàng đợi công bằng đóng gói là ít thay đổi hơn, và yêu
cầu sự thay đổi sau đây:
Giả sử D là một tập hợp “cơ sở” của các luồng được định nghĩa ở dưới; thời gian ảo v(t) là tập hợp tối đa các thẻ bắt đầu của phần đầu các gói tin thuộc các luồng trong D. Với thay đổi thuật toán hàng đợi công bằng đóng gói này, bây giờ định nghĩa thuật toán để đạt được mô hình công bằng cục bộ như sau. Sau khi truyền một gói tin
1. Thiết lập D tiến tới NULL. Đối với mỗi luồng, nếu như thẻ bắt đầu của phần đầu gói tin trong một luồng không lớn hơn v(t)+L, thì thiết lập trạng thái của luồng là tranh chấp, nếu không thiết lập trạng thái của luồng là không tranh chấp.
2. Nếu không có luồng nào trong trạng thái tranh chấp, thì thêm vào một luồng với thẻ bắt đầu cực tiểu tiến tới D và bỏ qua bước tiếp theo. Mặt khác, khi có các luồng trong trạng thái tranh chấp, lựa chọn một luồng f với thẻ kết thúc cực tiểu của phần đầu dòng gói tin và thêm vào f
để thiết lập D. Thiết lập tất cả các luồng trong miền lân cận đóng của f, N[f], tiến tới không tranh chấp.
3. Cập nhật thời gian ảo v(t) để thẻ bắt đầu tăng tối đa của phần đầu dòng các gói tin giữa các luồng trong D. Cập nhật thẻ bắt đầu và thẻ kết thúc của các luồng trong D.
4. Lựa chọn tập hợp độc lập cực đại S trong đồ thị G - N[D].
5. Lập lịch các luồng trong S D để truyền. Không làm gia tăng các thẻ bắt đầu và thẻ kết thúc của các luồng trong S.
Tập hợp D bao gồm các luồng mà nhận sự phân bố kênh như một kết quả của thuộc tính công bằng cục bộ, khi tập hợp S bao gồm các luồng mà nhận sự phân bố kênh bổ sung để tăng tối đa sử dụng toàn bộ kênh.