Hệ thống P2P live streaming dạng cây

Một phần của tài liệu Nghiên cứu các giải pháp truyền hình qua mạng ngang hàng (Trang 38)

Mặc dù network layer multicast hiệu quả trong việc broadcast video tới tất cả người dùng, nhưng không ựược chấp nhận rộng rãi do cần các router quản lý các nhóm multicast và ựộ phức tạp trong ựiều khiển truyền tải cho các phiên multicast. Do ựó chức năng multicast bị loại khỏi lớp mạng và ựưa lên lớp ứng dụng. Hệ thống P2P live streaming dạng cây có thể ựược chia thành cây ựơn lớp ứng dụng hoặc ựa cây lớp ứng dụng.

* H thng P2P live streaming cây ựơn

Trong hệ thống P2P live streaming cây ựơn, người dùng tham gia vào phiên live video streaming có thể tạo thành cây tại lớp ứng dụng. Gốc của cây là server, mỗi người dùng tham gia vào cây tại mức nhất ựịnh. Các mức nhận video từ các peer cha ở mức cao hơn và chuyển tiếp các video nhận ựược tới các peer con ở mức thấp hơn. ESM (End System Multicast) là một vắ dụựiển hình cho hệ thống P2P live streaming dạng cây ựơn.

Hệ thống P2P live streaming dạng cây ựơn với 10 peer ựược thể hiện ở hình 3.6. Ở mức 1, có 2 peer (peer 1 và peer 2) nhận video trực tiếp từ server. Tại mức 2, có 4 peers (peer 3-6) nhận video từ peer cha mức 1 và chuyển tiếp các video ựã ựược nhận tới các peer con tại mức 3. Tại mức 3, có 4 peer (peer 7-10). Các peer không có bất cứ peer con nào ựược gọi là các node lá. Trong hình 3.6, các node lá bao gồm có peer 4 và peer 7-10. Các node có ắt nhất một node con ựược gọi là các internal node.

Hình 3.6: hệ thống P2P live streaming dạng cây ựơn

Trong xây dựng cây lớp ứng dụng cho live streaming, có hai ựiều cần xem xét ựó là ựộ sâu của cây và sự phân nhánh của internal node. Trong cây ựơn, các peer nhận video streams từ các peer cha tại mức cao hơn. để giảm trễ cho các peer ở mức thấp nhất ựòi hỏi cây phải có ựộ sâu nhỏ. Với ựộ sâu nhỏ, phân nhánh của internal node tăng lên. Hay cách khác, internal node cần upload video stream cho nhiều peer con ựể giảm ựộ sâu của

cây. Tuy nhiên, ựộ mở rộng tối ựa của peer bị ràng buộc bởi băng thông upload của mỗi peer.

Các peer có thể tham gia hoặc rời khỏi phiên live streaming bất cứ lúc nào. Do ựó duy trì (maitainance) cây là một vấn ựề quan trọng. Việc xây dựng và duy trì có thểựược quản lý bằng cách tập trung hoặc phân tán. Trong giải pháp tập trung, server trung tâm ựiều kiển xây dựng và khôi phục cây. Khi có một peer tham gia vào hệ thống, peer này cần phải liên lạc với server. Dựa trên cấu trúc hiện tại và tắnh năng của peer vừa mới gia nhập (vị trắ và khả năng truy nhập mạng), server quyết ựịnh vị trắ cho peer mới trong cây và thông báo peer cha ựể peer này kết nối tới. Một peer có thể rời khỏi phiên bất cứ thời gian nào. Sau khi peer rời khỏi, tất cả các peer con của peer trong cây ựều bị tách biệt ra khỏi server và không thể nhận video. Trong trường hợp này, peer bị tách biệt có thể liên lạc với server trung tâm, ựể ựược gán ựịnh peer cha mới trong cây. Hạn chế của quản lý tập trung ựó là hiện tượng nghẽn cổ chai và các ựiểm lỗi ựơn tại server trung tâm. để tránh ựiều này, một vài thuật toán phân phối cho xây dựng và duy trì cây ựã ựược phát triển. Trong ZIGZAG, một peer tham gia không cần phải hỏi nhiều hơn O(logN) peer tồn tại (N là số peer), lỗi có thểựược khôi phục nhanh chóng và phân vùng với một số lượng kết nối cốựịnh và không ảnh hưởng tới server.

Có hai hạn chế chắnh của hệ thống P2P live streaming dạng cây ựơn. đó là khi một peer rời ựi gây ra sự tách biệt của tất cả các peer con khỏi nguồn video. Thứ hai, tất cả các node lá không thể phân bổ băng thông upload của mình, ựiều này làm giảm hiệu năng sử dụng băng thông peer. Giải pháp ựể bù lại các hạn chế này ựó là hệ thống P2P streaming ựa cây.

*H thng P2P live streaming dng a cây

để tăng cường ựộ phục hồi của cây và hiệu năng băng thông của peer, phương pháp dựa trên ựa cây ựã ựược ựưa ra. Trong hệ thống P2P live streaming dựa trên ựa cây, video ựược mữa hóa thành nhiều sub-streams, và mỗi sub-stream này ựược phân tới mỗi cây. Chất lượng mỗi peer thu ựược phụ thuộc vào số lượng sub-stream mà peer nhận ựược. Giải pháp này tạo ra hai ưu ựiểm. Thứ nhất, nếu như có một peer bị lỗi hoặc rời ựi, tất cả các peer con của nó bị mất các sub-stream ựược phân bổ từ các peer ựó, nhưng chúng vẫn có thể nhận ựược các sub-stream ựược phân bổ nhờ các cây khác. Do ựó, các peer con có thể nhận ựược một phần video trong trường hợp mất sub-stream. Thứ hai, mỗi peer có vai trò khác nhau trong mỗi cây, có thể là internal node của cây này, nhưng lại cũng có thể là node lá của cây khác. Khi một peer là internal node của một cây, băng thông upload của nó có thể ựược dùng ựể upload sub-stream ựược phân bổ qua cây ựó. để ựạt ựược hiệu năng sử dụng băng thông cao, peer với băng thông upload lớn có thể cung cấp sub-stream trong nhiều cây.

Hình 3.7 thể hiện một hệ thống P2P live streaming dạng ựa cây với 7 peers. Server mã hóa video thành 2 sub-streams và sau ựó phân bổ chúng tới cây 1 và cây 2. Mỗi sub- stream có tốc ựộ bit s/2, với s là tốc ựộ nguồn. Peer 1, 2 và 3 là các internal node trong cây bên trái và là node lá trong cây bên phải. Các peer 5, 6 và 7 là các internal trong cây bên phải và là node lá trong cây bên trái. Mỗi peer 1, 2, 3, 4, 5, 6 và 7 upload sub-stream có tốc ựộ s/2 tới các peer con. Peer 4 là node lá trong cả hai cây. Do ựó không ựóng góp băng thông upload tới hệ thống. Nếu có một peer rời khỏi hệ thống, các peer con vẫn có thể nhận ựược sub-stream từ cây khác. Vắ dụ, nếu Peer 1 rời ựi, cây bên trái bị mất kết nối tới server. Tuy nhiên các peer con của peer 1 (peer 2-7) có thể nhận sub-stream ựược phân phối bởi cây bên phải. Các peer có thể xem video mà không bị ngắt trong trường hợp peer rời ựi.

Hình 3.7: Hệ thống P2P live streaming dạng ựa cây

Một phần của tài liệu Nghiên cứu các giải pháp truyền hình qua mạng ngang hàng (Trang 38)