Tính toán khoảng thời gian truyền RTCP:

Một phần của tài liệu TRUYỀN DÒNG DỮ LIỆU THỜI GIAN THỰC (Trang 42 - 44)

Phần trên chúng ta đã đề cập đến cơ sở lý thuyết cũng như ý nghĩa của thời gian này:T - Nếu số người gởi ≤25% số thành viên, chu kỳ gởi T phụ thuộc là thành viên đó có

đang gởi dữ liệu hay không (dựa trên giá trị we_sent). Nếu thành viên này đang gởi, giá trị (we_sent=true):

bw 0,25.rtcp_ ize avg_rtcp_s = Cs

Hằng số ns được tính bằng số thành viên đang gởi. Với những thành viên không gởi:

bw 0,75.rtcp_ ize avg_rtcp_s = Cr

nr được tính bằng số người không gởi dữ liệu.

Khi số người gởi >25% số thành viên, tất cả người gởi và người nhận được đối xử như nhau. rtcp_bw ize avg_rtcp_s = C

n được tính bằng tổng số thành viên tham gia.

Như đã nói ở phần trước, ta có thể phân dải thông của RTCP thành 2 phần, tham số R, S để phân biệt giữa nhóm người đang truyền và không. Trong trường hợp này ta chỉ cần thay 25% bằng tỉ số S/(S+R), còn 75% bằng tỷ số R/(R+S).

Trong trường hợp đặc biệt, khi không có người gởi, hặc không có người nhận (S=0, hoặc R=0) sẽ xảy ra tình huống chia cho 0, do vậy khi cài đặt ta phải chú ý các trường hợp này.

- Nếu một thành viên không tham gia gởi gói RTCP (initial=true), hằng số Tmin=2.5s, ngược lại nó được đặt bằng 5s.

- Giá trị của khoảng thời gian Td sẽ được ước tính là giá trị lớn nhất của (Tmin, n*C). - Giá trị T sẽ được phân bố trong dải từ 0,5 đến 1,5 lần giá trị tính toán Td.

- Giá trị T trên sẽ được chia cho (e-1,5) để bù lại việc băng thông RTCP trên thực tế thấp hơn so với mức tính toán.

Theo cách tính này, khoảng thời gian T sẽ lấy giá trị ngẫu nhiên tại một thời điểm, tuy nhiên nếu tính lâu dài thì giá trị trung bình sẽ ≥25% RTCP sẽ được giành cho những người gởi dữ liệu, phần còn lại dành cho người nhận dữ liệu.

b. Các giá trị khởi tạo:

Khi một thành viên bắt đầu tham gia, giá trị khởi tạo của các biến sẽ là: - tp=0.

- tc=0. - senders=0.

- pmembers=1. - members =1. - we_sent = false.

- rtcp_bw=5% băng thông của phiên. - initial=true.

- avg_rtcp_size bằng giá trị của gói RTCP mà ứng dụng sắp tạo ra.

- Dựa vào các thông số trên ta ước lượng T. sau đó đặt thời gian cho gói đầu tiên: tn=T.

Chú ý: một ứng dụng bất kỳ có thể đặt lại giá trị thời gian này cho phù hợp. Thành viên sẽ thêm giá trị SSRC của mình vào đầu bảng thành viên.

Một phần của tài liệu TRUYỀN DÒNG DỮ LIỆU THỜI GIAN THỰC (Trang 42 - 44)