Mạng 1 câ y( Single-tree streaming)

Một phần của tài liệu Dịch vụ luồng trên mạng xếp chồng (Trang 53 - 56)

Người sử dụng sẽ kết nối nhau tạo thành cây tại lớp ứng dụng, có nút gốc là nguồn phát ( server ) như hình vẽ 2.9. Mỗi nút sẽ nhận dữ liệu từ nút cha của nó, và truyền dữ

Hình 2.4: Mạng P2P cấu trúc một cây

liệu nhận được tới các nút con của nó. Mỗi nút cho chỉ có thể nhận dữ liệu từ duy nhất một nút cha. Trong hình vẽ minh họa 10 máy, trong đó có 2 máy ở mức 1 ( peer 0 và peer 1), nhận trực tiếp dữ liệu từ nguồn phát. 4 nút ở mức 2 ( peer2, peer3, peer4, peer5 ) nhận dữ liệu từ 2 nút lớp 1, và 3 trong số chúng gửi dữ liệu tiếp tới 4 nút ở lớp cuối cùng.

Tiêu chí để xây dựng nên một cây như trên là giảm số lớp của cây và tăng số nút con tại mỗi lớp.Các nút con ở lớp dưới sẽ nhận dữ liệu từ lớp trên, do đó để giảm thiểu độ trễ, người ta mong muốn cây có số lớp ít nhất có thể. Tuy nhiên do băng thông tải dữ liệu lên mạng (upload bandwidth ) của mỗi nút cha hạn chế, nên số lượng các nút con chỉ nằm trong giới hạn phục vụ của nó.

Một vấn đề quan trọng hơn việc thiết lập cây là việc duy trì hoạt động của cây khi người sử dụng ngắt kết nối khỏi mạng. Sự vào ra của người sử dụng là hoàn toàn ngẫu nhiên và thường xuyên diễn ra. Mỗi khi người sử dụng ngừng sử dụng dịch vụ, tương ứng với 1 peer trên cây bị mất. Khi đó tất cả các nút trên cây có gốc là peer đó sẽ bị ngắt khỏi mạng, không còn nhận được dữ liệu từ nguồn phát nữa. Để hạn chế ảnh hưởng xấu tới chất lượng dịch vụ, việc khôi phục lại cây diễn ra càng nhanh càng tốt.

Hình 2.5: Minh họa ảnh hưởng của nút khi ngắt kết nối

Khi peer 0 rời khỏi mạng, các nút con của nó ( peer 2,3,6,7,8 )đều bị ngắt theo. Rõ ràng nếu nút rời khỏi mạng càng ở gần nguồn thì ảnh hưởng của nó tới mạng càng lớn. Đặc biệt đối với mạng lớn, có đông người sử dụng, thì hậu quả rất nặng nề.

Hình vẽ 2.5 mô tả việc phục hồi lại cây sau khi peer 0 rời khỏi mạng

Hình 2.6: Quá trình khôi phục lại cây

Việc hình thành cây và duy trì cấu trúc cây được thực hiện tập trung hoặc phân tán. Trong trường hợp tập trung, một server trung tâm sẽ điều khiển việc cậu tạo và duy trì cây. Khi một máy kết nối vào mạng, nó giao tiếp với server trung tâm. Dựa vào đặc điểm của máy đó, như vị trí đặt máy, băng thông hiện có của máy, server sẽ quyết định vị trí của máy đó trên cây. Sau đó, server thông báo cho máy nút cha mà

máy đó kết nối tới. Server phát hiện ra việc ngắt bỏ kết nối của một máy dựa vào bản tin thông báo hoặc dựa trên thời gian time-out của máy đó. Trong cả 2 trường hợp, server sẽ tính toán lại kiến trúc cây, và chỉ dẫn cho các máy thiết lập lại kết nối. Trong trường hợp mạng có nhiều người sử dụng, hoạt động của server dễ rơi vào hiện tượng thắt nút cổ chai ( bottle-neck) . Và cũng giống như mô hình client- server truyền thống, nếu server trung tâm bị hỏng, cả mạng sẽ ngừng hoạt động theo. Việc hỏng hóc chỉ xảy ra với server là đánh sập toàn mạng.

Để giải quyết những vấn đề trên, rất nhiều thuật toán xây dựng và duy trì cây thực hiện phân tán trên từng peer đã được đưa ra. Tuy nhiên người ta thấy rằng không thể phục hồi cây đủ nhanh trong trường hợp có sự liên tục ngắt kết nối.

Một nhược điểm lớn khác của mạng một cây là các nút ở lớp cuối cùng không tham gia vào việc chia sẻ tài nguyên băng thông của nó cho các nút khác, mặc dù số lượng các nút này trong mạng là rất lớn. Điều này làm sụt giảm rất lớn việc sử dụng tài nguyên mạng.

Để cải tiến mạng 1 cây, người ta nghĩ tới cấu trúc mạng nhiều cây, là sự kết hợp của nhiều mạng 1 cây.

Một phần của tài liệu Dịch vụ luồng trên mạng xếp chồng (Trang 53 - 56)

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

(117 trang)