Hình 5.1 – Mô tả các thành viên trong nhóm đa phát PC
Hình 5.1 mô tả một mạng tự hợp di động gồm 15 nút mạng, trong đó các nút C, E, G là các nút gửi, còn nút N là nút truy vấn. Các nút C, E và G cùng chứa một đối tượng mà nút N muốn tải về và chúng cùng chia nhỏ đối tượng dữ liệu này thành 6 mảnh nhỏ mỗi khi nhận được yêu cầu gửi đối tượng. Giá trị bước nhảy N = 2 Trong hình 6.2 mô tả các tập hợp A, W, M tại các nút C, E, G lúc các nút khởi động.
Hình 5.2 – Quá trình tìm kiếm
Để tìm kiếm dữ liệu nút N gửi gói tin truy vấn vào mạng, và lần lượt nhận được gói phản hồi từ các nút G, C và E. Tại thời điểm nút nhận được gói tin phẩn hồi đầu tiên từ G, nút dựa vào thông tin về đối tượng dữ liệu trong thông điệp phản hồi để xây dựng các tập A, W, M. Ban đầu tập các mảnh dữ liệu còn thiếu sẽ là tất cả các mảnh của đối tượng. Và tập các mảnh dữ liệu đã được phân công W sẽ bằng rỗng như trong hình 6.3 dưới đây
Hình 5.3 – Trạng thái các nút tại thời điểm đầu tiên nhận được gói phản hồi
Sau khi nhận được gói phản hồi từ G, nút N kiểm tra trong M và thấy gói dữ liệu có vị trí nhỏ nhất mà nó chưa nhận được là gói P0, và gói kế tiếp là P1. Do vậy, N chọn G làm nút gửi cho hai gói dữ liệu P0, P1. Nút N loại P0, P1 ra khỏi M và thêm hai mảnh đó vào tập W. N tham gia vào nhóm đa phát đã được G chọn và gửi thông điệp đăng ký để bắt đầu việc nhận các mảnh P0, P1. Tiếp sau đó N nhận được thông điệp phản hồi từ nút C, N kiểm tra tập M và thấy hai phần từ có vị trí bé nhất mà nó chưa nhận được là P2 và P3 nên nó chọn C là nút gửi cho các mảnh P2, P3. Tương tự N chọn E là nút gửi các mảnh P4, P5. Quá trình này thể hiện ở các hình 6.4 a – b – c .
Hình 5.4 b – N nhận gói phản hồi từ C
Hình 5.4 c – N nhận gói phản hồi từ E
Sau khi gửi gói tin đăng ký tới nhóm PC, N sẽ khởi động Timer cho các gói tin P0, P1. Giả sử N nhận được mảnh P0 trước khi xảy ra timeout, N sẽ loại P0 ra khỏi tập W. và thiết lập Timer để tiếp tục đợi gói tin P0. Trong lúc đợi gói tin P0, nếu các mảnh P2, P3, P4, P5 đến trước thì nút N sẽ nhận các mảnh đó và loại các phần từ P2, P3, P4, P5 ra khỏi tập W. Sau thời gian timeout nếu nút N vẫn chưa nhận được mảnh P0, N sẽ loại P0 khỏi tập W và thêm P0 vào tập M. Đồng thời gửi gói tin truy vấn vào mạng để thực hiện quá trình sửa lỗi.