Minh họa giao thức kéo ñẩy xen kẽ

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Phân bổ luồng truyền thông đa phương tiện ngang hàng theo phương thức kéo đẩy (Trang 30 - 34)

ðể hiểu rõ hơn về giao thức, chúng ta cùng xem xét một mạng ngang hàng bất ñối xứng. Trong đó máy tính S đóng vai trị là nguồn phát dữ liệu, các máy tính cịn lại sẽ tiếp nhận và chuyển tiếp dữ liệu. Máy tính nguồn S ln ở trạng thái ñẩy dữ liệu và dữ liệu ñược ñẩy tại mỗi chu kỳ luôn là mảnh dữ liệu cuối cùng mà nó sinh ra. Các máy tính khác chỉ ñược kích hoạt giao thức sau khi nhận ñược mảnh dữ liệu được chuyển tới đầu tiên; sau đó sẽ chuyển lần lượt giữa các trạng thái ñẩy và kéo.

Hình 11. Minh họa giao thức kéo đẩy xen kẽ

ðể đơn giản hóa, chúng ta sẽ giả thiết các máy tính của mạng hoạt động trong các chu kỳ chẵn/lẻ xen kẽ; trong chu kỳ chẵn, các máy tính ở trạng thái đẩy và trong chu kỳ lẻ, các máy tính ở trạng thái kéo. Các gói tin ñược phát ra từ nguồn một cách

tuần tự, theo đúng số định danh tuần tự của nó. Giả sử tại thời ñiểm t, trạng thái sở hữu dữ liệu của các máy tính trong mạng như sau:

Máy tính Danh sách hàng xóm Danh sách dữ liệu sở hữu Mảnh dữ liệu sẽ ñẩy ñi Mảnh dữ liệu cần kéo về S 1; 2; 3 1|2|3|4 4 1 3; 4; 6 1|3 3 2 2 1; 4; 5 1|2 2 3 3 1; 6; 7 1|2|3 3 4 4 2; 5; 7 2 2 1 5 2; 4; 7 1|2 2 3 6 1; 3; 7 1 1 2 7 3; 5; 6 1 1 2

Hình 12. Trạng thái sở hữu dữ liệu của các máy tính tại thời điểm t

Chúng ta sẽ xem xét cách thức thực hiện giao thức tại máy tính 1. Khi đó, nếu t tương ứng với chu kỳ chẵn, theo giả thiết, máy tính đang ở trạng thái đẩy.

- Danh sách hàng xóm của 1 là {3,4,6}

- Danh sách các mảnh dữ liệu ñang sở hữu của máy tính 1 là {1|3} do đó mảnh dữ liệu 1 sẽ ñẩy ñi là 3.

- Giả sử 1 lựa chọn 3 một cách ngẫu nhiên ñể ñẩy dữ liệu. Lúc này trạng thái của 3 là Pushed.

Hình 13. Việc đẩy dữ liệu sẽ không thành công nếu mảnh dữ liệu được đẩy đi đã có sẵn tại máy hàng xóm

Kết quả việc đẩy sẽ khơng thành cơng do 3 đã có chứa mảnh dữ liệu số 3. - Nếu 1 lựa chọn 4 ñể ñẩy dữ liệu, 4 sẽ chuyển trạng thái bị ñộng sang

Pushed:

Hình 14. Đẩy dữ liệu thành công trong chu kỳ Push

- Cho dù 1 đẩy dữ liệu thành cơng hay khơng thì kết thúc chu kỳ Push, 1 luôn chuyển sang trạng thái Pull

Trong chu kỳ Pull, trái lại, 1 sẽ tìm cách kéo từ các hàng xóm mảnh dữ liệu có số tuần tự nhỏ nhất nó đang thiếu trong danh sách các mảnh dữ liệu nó đang sở hữu. Ở ñây là mảnh dữ liệu số 2. Giả sử 1 lựa chọn ngẫu nhiên 3 trong danh sách các hàng xóm của nó để gửi yêu cầu kéo dữ liệu:

Trường hợp xấu sẽ xảy ra nếu hàng xóm được chọn ngẫu nhiên trong chu kỳ kéo là 6. Khi đó việc kéo sẽ bị từ chối do mảnh dữ liệu số 2 khơng có ở máy tính hàng xóm số 6.

Hình 16. Kéo dữ liệu khơng thành công trong chu kỳ Pull

- Kết thúc chu kỳ kéo, cho dù việc kéo thành cơng hay khơng thành cơng thì 1 ln trở về trạng thái PUSH.

- Ta có sơ đồ chuyển đổi trạng thái của các nút:

CHƯƠNG 3 – GIẢI PHÁP CẢI TIẾN GIAO THỨC KÉO ðẨY XEN KẼ

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Phân bổ luồng truyền thông đa phương tiện ngang hàng theo phương thức kéo đẩy (Trang 30 - 34)

Tải bản đầy đủ (PDF)

(75 trang)