video multicast
Hình 20.Triển khai giao thức khắc phục lỗi ba pha
Để triển khai giao thức khắc phục lỗi ba pha, chúng ta thực hiện lần lượt từng pha theo thứ tự. Tất cả các công đoạn triển khai được minh họa trên hình 20.
Pha thứ nhất, pha thông báo thông tin cây multicast, được triển khai ở lớp Node của giao thức Chord. Lớp Node sẽđược bổ sung hai thuộc tính là Father lưu thông tin node cha và Grandfather lưu thông tin node ông. Chức năng thông báo thông tin node ông
hàm WebcamClient.Receive() mỗi khi node nhận được một luồng video từ một node cha mới. Mỗi khi node con nhận được thông điệp thông báo thông tin node ông, nó tiến hành cập nhật thuộc tính Grandfather.
Pha thứ hai là pha phát hiện lỗi và thông báo lỗi. Chức năng phát hiện lỗi được cài
đặt trong hàm WebcamClient.Receive(). Chức năng phát hiện lỗi được thực hiện nhờ một đồng hồ. Nếu đồng hồ nhận thấy sau một khoảng thời gian delta mà vẫn không có gói tin multicast truyền đến, nó sẽ gọi phương thức thông báo lỗi
requestUpdateEntry(). Phương thức này được cài đặt trong lớp node. Khi phương
thức này được gọi, node sẽ gửi một gói tin tới node ông yêu cầu cập nhật lại finger trỏ tới node cha.
Pha thứ ba là pha xử lý lỗi, được cài đặt trong lớp Node. Mỗi khi nhận được gói tin thông báo lỗi, phương thức OnRequestUpdateEntry() sẽ được gọi để cập nhật lại entry tương ứng với node được thông báo (nếu có).
Giá trị delta phụ thuộc vào độ liên tục của dữ liệu truyền đi (số gói tin trong mỗi giây), sẽđược lựa chọn sau khi có đo đạc cụ thể.