Cấu trúc mạng P2PTV của ForceTech

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 35)

3.2. P2P network và các dịch vụ luồng (streaming services)

Với sự phát triển của công nghệ truy nhập Internet băng rộng và kỹ thuật mã hóa, dịch vụ video streaming trở nên thơng dụng. Vắ dụ như dịch vụ YouTube, một dịch vụ chia sẻ video theo yêu cầu tới người sử dụng, có tới 100 triệu video clip ựược xem hàng ngày trên trang chủ YouTube, cộng thêm 65.000 video mới ựược tải lên mỗi ngày. Trang web có trung bình 20 triệu lượt truy cập mỗi tháng, theo như Nielsen/NetRating, và YouTube làm chủ tới 64% thị phần video online ở Anh. Lưu lượng video ựược mong ựợi sẽ chiếm ưu thế trên mạng Internet trong tương lai gần.

Thơng thường có nhiều phương pháp có thể dược sử dụng ựể phân bổ video streaming tới người sử dụng. Chúng ta có thể xếp các phương pháp tuyền thống vào 2 dạng: dựa trên unicast (thông tin ựược gửi từ một ựiểm này ựến một ựiểm khác) và dựa trên multicast (thông tin ựược gửi từ một ựiểm tới một tập các ựiểm khác).

Trong phương pháp dựa trên unicast, mỗi một phiên unicast ựược thiết lập cho mỗi người dùng. Có 3 phương pháp unicast ựể phân phối video streaming qua Internet: tập trung, proxy và mạng phân phối nội dung CDN (Content Delivery Network).

Trong phương pháp tập trung, một server với băng thông lớn ựược sử dụng ựể phân bổ các video streaming tới người dùng. Phương pháp này ựơn giản trong triển khai và quản lý. Tuy nhiên, phương pháp này cũng có những hạn chế nhất ựịnh. đầu tiên, sẽ có

những lỗi nguy hiểm xuất hiện trên server khi ựồng thời có nhiều người dùng gửi yêu cầu tới server. Thứ hai là khơng có khả năng mở rộng. Server phân bổ băng thông cố ựịnh cho từng người sử dụng, do ựó khi số lượng người sử dụng tăng lên mức nào ựó, server sẽ khơng có khả năng cung cấp. Vắ dụ, nếu như một video ựược mã hóa với ựịnh dạng MPEG-4 (tốc ựộ gần 1,5 Mbps), streaming server kết nối Internet nhờ ựường truyền T3 (tốc ựộ gần 45 Mbps) thì chỉ có thể cung cấp ựược cho 30 người sử dụng ựồng thời.

Trong phương pháp proxy, proxy server ựược ựặt gần với miền client ựể lưu trữ một phần nhỏ của mỗi video. Người sử dụng có thể ựược nhận một phần video từ proxy server gần họ. Do ựó, phương pháp này làm giảm gánh nặng của streaming server và tải lưu lượng qua mạng WAN (Wide Area Network). Tuy nhiên, phương pháp này yêu cầu triển khai và quản lý proxy tại rất nhiều ựịa ựiểm do ựó làm tăng giá thành.

Trong phương pháp CDN, video streaming ựược phân phối bởi một ựối tác thứ ba, ựược gọi là CDN. Các mạng phân bổ nội dung, như Akamai, triển khai rất nhiều các server tại biên của mạng Internet. Người dùng có thể yêu cầu video từ server thắch hợp nhất. CDN làm giảm lưu lượng qua mạng WAN và làm giảm trễ. Tuy nhiên, giá của phương pháp CDN này khá cao do giá thành ựược tắnh theo lưu lượng.

Phương pháp dựa trên multicast phục vụ nhiều người dùng ựồng thời với hiệu quả băng thông cao. Network-layer multicast dùng router thiết lập một cây mà người sử dụng như là các lá của cây. Mặc dù sử dụng network layer multicast hiệu quả, nhưng phương pháp này khơng được triển khai rộng do các lý do sau. Network layer multicast yêu cầu các router ựể quản lý và duy trì trạng thái của các nhóm peer, điều này làm tăng ựộ phức tạp tại lớp IP. Thứ hai, khó khăn trong lớp truyền tải ựể ựiều khiển luồng và ựiều khiển tắc nghẽn trong network layer multicast. Do ựó network layer multicast khơng phải là giải pháp phù hợp ựể phân phối video streaming tới các người dùng.

Công nghệ Peer to peer (P2P) gần ựây ựã trở thành một phương pháp hứa hẹn ựể xây dựng các ứng dụng mạng phân bổ và phạm vi rộng. P2P cho phép người dùng hoạt ựộng ở cả hai chế ựộ client và server. Trong mạng P2P, một peer khơng chỉ có thể download dữ liệu từ các peer khác ựang lưu trữ dữ liệu mà cịn có thể upload các dữ liệu ựược yêu cầu bởi các peer khác. Băng thông upload của người dùng cuối ựược sử dụng hiệu quả ựể chia sẻ gánh nặng băna thông với server.

Công nghệ P2P ựã ựược phát triển ựể cung cấp các dịch vụ video streaming. Một vài hệ thống P2P streaming ựã ựược triển khai ựể cung cấp Video on Demand (VoD) hoặc các dịch vụ live video streaming trên Internet. Ngày 28/1/2006 đã có hơn 200.000 người dùng cùng lúc xem trực tiếp Lễ hội mùa xuân Trung Quốc trên PPLive với tốc ựộ từ 400- 800 kb/s. Băng thông yêu cầu ựạt tới 100 Gb/s.

Hệ thống mạng P2P có thể ựược phân loại thành hệ thống chia sẻ file P2P và hệ thống P2P streaming. Trong hệ thống chia sẻ file P2P, người sử dụng phải download toàn bộ file trước khi có thể sử dụng. Một file ựược chia ra thành nhiều phần (ựược gọi là chunk hoặc block) và ựược lưu trữ tại các peer. Mỗi người dùng download các block ựược phép từ các peer này. Khơng có ràng buộc về thời gian download các block của file. Trong hệ thống P2P streaming, người dùng có thể bật video cùng lúc với quá trình download. Giới hạn thời gian là vấn ựề quyết ựịnh ựối với các dịch vụ streaming, khi mà các gói đến sau giới hạn thời gian playback của mình sẽ khơng có giá trị sử dụng.

Hệ thống P2P streaming có thể phân loại thành hệ thống P2P live streaming và P2P VoD. Trong hệ thống P2P live streaming, video trực tiếp ựược phân bổ tới các người dùng trong thời gian thực. Video ựược phát ựồng bộ tới mọi người dùng, tức là mọi người dùng ựều xem tại cùng một vị trắ của cùng một video. Một vắ dụ ựiển hình cho hệ thống P2P live streaming ựó là P2P IPTV, ựược sử dụng ựể quảng bá các chương trình TV tới mọi người dùng tham gia. Trong hệ thống P2P VoD, người dùng có thể lựa chọn bất kì video nào họ thắch và xem bất cứ thời gian nào, mỗi người dùng có thể xem bất cứ ựoạn nào của video.

Một file video ựược tạo nên từ nhiều các block. Sự trao ựổi các block trong các hệ thống mạng P2P khác nhau ựược so sánh trong hình 3.5.

Trong hệ thống chia sẻ file P2P, file không thể ựược sử dụng cho ựến khi tất cả các block của file ựược download xong, do ựó các peer nhận có thể download bất cứ các block ựược phép từ các peer cung cấp có lưu giữ các block, như trong hình 3.5 (a). Các block ựược download sẽ ựược lưu trữ lại trên ựĩa và sẽ ựược sử dụng ựể phục vụ các peer khác. Trong hệ thống P2P streaming, mỗi peer duy trì một bộ ựệm ựể lưu trữ các block ựược download trước và sau vị trắ playback. Trong hệ thống P2P streaming, người dùng có thể trao ựổi các block trong bộ ựệm với các người dùng khác, ựược thể hiện ở hình 3.5 (b). Sự thay ựổi nhỏ của thời gian playback là do sự khác biệt về trễ phân bổ. Trong hệ thống P2P VoD, mỗi người dùng khác nhau có vị trắ playback khác nhau cho cùng một video. Peer với vị trắ playback sớm hơn có thể chuyển các block vừa ựược sử dụng vào bộ ựệm cho các peer khác có vị trắ playback muộn hơn, như hình 3.5 (c).

Hình 3.5: Trao đổi các block giữa hai peer trong các hệ thống P2P khác nhau

(a) Hệ thống chia sẻ file P2P (b) Hệ thống P2P live streaming (c) Hệ thống P2P VoD

3.2.1. Hệ thống P2P live streaming

Dựa trên cấu trúc chồng phủ, hệ thống P2P live streaming có thể ựựa phân loại thành hệ thống P2P live streaming dạng cây và dạng mesh.

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

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ệ thống 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 tố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ệ thống P2P live streaming dạng ự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

3.2.1.2. Hệ thống P2P live streaming dạng mesh

Trong hệ thống P2P live streaming dạng ựơn cây, mỗi peer nhận các stream từ một peer cha. Nếu như peer cha rời ựi, peer sẽ khơng được nhận gì cho ựến khi ựược kết nối tới peer cha mới. Trong hệ thống P2P live streaming ựa cây, peer nhận sub-stream từ peer cha tương ứng trong cây. Nếu peer cha rời khỏi cây, chất lượng video nhận ựược tại peer sẽ bị giảm. Do đó, các peer ựộng tạo nên thách thức trong duy trì cây và giá thành trong hệ thống P2P live streaming dạng cây.

để tránh các peer ựộng, nhiều hệ thống P2P streaming gần ựây sử dụng phương pháp dựa trên mạng lưới. Trong hệ thống này, mỗi peer trao ựổi dữ liệu với một tập hàng xóm. Nếu như một hàng xóm rời ựi, peer vẫn có thể download video từ các hàng xóm cịn lại. trong khi ựó, peer sẽ add các peer khác vào tập hàng xóm. Mỗi peer có thể nhận dữ liệu từ nhiều peer cung cấp trong hệ thống streaming dạng mesh, thay thế cho một peer cha trong hệ thống dạng ựơn cây. Thách thức lớn nhất của hệ thống P2P live streaming dạng mesh là thiết lập hàng xóm và lập lịch dữ liệu.

3.2.2. Hệ thống P2P VoD

Dịch vụ Video on demand VoD cho phép người dùng xem tại bất cứ ựiểm nào của video tại bất cứ thời gian nào. So sánh với live streaming, VoD ựưa ra tắnh năng linh ựộng và tiện lợi ựối với người dùng và thực sự thực hiện mục ựắch Ộxem bất cứ gì bạn muốn bất cứ khi nào bạn cầnỢ. VoD ựược xác ựịnh như là chìa khóa tương lai ựể thu hút khách hàng tới dịch vụ IPTV.

Khác với các hệ thống live streaming trong ựó mỗi người dùng xem cùng tại một vị trắ của video, dịch vụ VoD cho phép mỗi người dùng xem tại bất cứ vị trắ nào của video tại bất cứ thời gian nào. VoD cung cấp linh ựộng và tương tác tới người dùng, do đó ngày càng thu hút ựược sự quan tâm. Trong dịch vụ VoD, mỗi người dùng xem video tại thời gian khác nhau, và người dùng có thể thay ựổi vị trắ xem video bất cứ thời gian nào. Do khơng có sự ựồng bộ giữa người dùng, cấu trúc chồng phủ trong hệ thống P2P VoD khác biệt với hệ thống P2P live streaming. Trong hệ thống P2P live streaming, mỗi peer có thể

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 35)