.12 Streaming Media sử dụng nội dung CoopNet

Một phần của tài liệu xây dựng ứng dụng luồng video streaming qua mạng ngang hàng (Trang 37)

2.4 Phƣơng thức tiếp cận dựa trên lƣới

Để chống lại các động thái từ các peer, nhiều hệ thống P2P streaming sử dụng phương pháp tiếp cận dựa trên lưới. Trong phương pháp tiếp cận dựa trên lưới, peer tham gia tạo thành một lớp phủ kết nối ngẫu nhiên. Trong lớp phủ các nội dung gốc từ nguồn ban đầu được phân phối giữa các peer khác nhau. Mỗi nút có thơng tin về tất cả các nút khác nhau trong hệ thống. Kết quả là, mỗi nút duy trì kết nối với một vài nút khác trong mạng. Mỗi peer trao đổi dữ liệu với một tập các peer hàng xóm. Nếu một peer hàng xóm rời đi, các peer vẫn có thể tải về các video từ những peer hàng xóm cịn lại. Trong khi đó, các peer sẽ bổ sung thêm các máy khác vào tập hợp peer hàng xóm của nó. Khơng giống như các hệ thống cây đơn luồng trong hệ thống lưới trên, mỗi peer có thể nhận được dữ liệu từ nhiều peer hàng xóm cung cấp. Vì vậy, các hệ thống truyền dựa trên lưới khỏe mạnh chống lại các trạng thái từ các peer hàng xóm. Những thách thức lớn trong hệ thống luồng trực truyến P2P dựa trên lưới là hình thành thơng tin láng giềng và lập danh mục dữ liệu.

Khi một peer tham gia vào mạng. Một peer trong các địa chỉ mạng (một nút bootstrapping) theo dõi peer mới và cung cấp một danh sách có chứa các thơng tin của một nhóm ngẫu nhiên các peer đang hoạt động. Sử dụng danh sách này, các peer cố gắng để bắt đầu kết nối và nếu thành công nó bắt đầu trao đổi nội dung video với các peer (hàng xóm). Để xử l những peer rời khỏi mạng không báo trước, các peer trong mạng thường xuyên trao đổi với nhau. Đồng thời, tùy thuộc vào cấu trúc hệ thống của các peer, một peer không kết nối duy nhất tới một peer láng giềng, để đáp ứng việc các peer tách ra.

Lê Ngọc Anh – D09VT2 38

Trong hệ thống dựa trên lưới, các khái niệm về luồng video trở nên khơng có tác dụng do cấu trúc liên kết lưới. Các khối đơn vị dữ liệu trong hệ thống lưới là một đoạn video. Các máy chủ đa phương tiện phân chia nội dung truyền vào các khối truyền thơng nhỏ, mỗi khối có một số thứ tự nhất địn. Sau đó, mỗi khối được truyền đến tất cả các peer qua lưới (hình 2.14). Mỗi khối dữ liệu có các con đường khác nhau để tới các peer, chúng có thể đến đích theo một thứ tự khơng liên tục. Để đối phó với vấn đề này khối dữ liệu thường được thêm các bộ đệm (buffered) vào bộ nhớ và tự sắp xếp lại trước khi cung cấp cho máy thu, đảm báo phát liên tục.

Chủ yếu có ba vấn đề chính của thiết kế trao đổi dữ liệu trong hệ thống lưới: đẩy (push), kéo (pull) và lai đẩy-kéo (Hybrid Push - Pull) hình 2.15. Trong một hệ thống lưới đẩy, một peer tích cực đẩy các khối nội dung nhận được cho các peer hàng xóm của nó (peer mà chưa nhận được các khối nội dung đó). Khơng có quy định rõ ràng mối quan hệ cha-con trong hệ thống lưới. Một peer có thể đẩy mò mẫm một khối nội dung tới peer vừa có khối đó. Nó cũng có thể xảy ra hai peer cùng đẩy các khối như nhau, sẽ làm lãng phí băng thơng. Để giải quyết vấn đề đó, lịch trình đẩy khối nội dung cần phải được lên kế hoạch một cách cẩn thận giữa các peer. Và lịch trình cần phải được tái tạo khi các peer đến và đi trong hệ thống.

Hình 2.15 Trao đổi dữ liệu thiết kế trong hệ thống dựa trên lƣới

Một phương pháp cho việc truyền dữ liệu là phương pháp kéo. Ý tưởng chính của phương pháp kéo là mỗi peer yêu cầu các đoạn thiếu từ các peer khác. Mỗi peer có một nhóm hàng xóm và định kỳ trao đổi thơng tin dữ liệu sẵn có (buffer maps) với các peer hàng xóm. Một bộ nhớ đệm chứa số thứ tự của các khối hiện có trong bộ đệm của peer. Bất cứ khi nào một peer nhận được thơng tin từ các peer khác, nó học về các khối nó đã khơng được biết. Sau đó nó u cầu các khối cịn thiếu từ các peer trong nhóm. Hơn nữa, bất kì khối đều có sẵn tại nhiều đối tác, do đó mạng lưới mạnh để tránh thất bại khi một nút tách ra. Tức là các peer sẽ sử dụng các peer hàng xóm khác để nhận được khối dữ liệu. Một bất lợi của kỹ thuật kéo là thường xuyên trao đổi bản đồ đệm và kéo các sản phẩm yêu cầu nhiều hơn tín hiệu phía trên và tăng trễ khi lấy một khối nội dung.

Phương pháp kéo (pull) trong lớp phủ khơng có cấu trúc mạnh mẽ có thể làm việc tốt với tốc độ cao nhất trong môi trường P2P trong khi chế độ đẩy (Push) có thể làm giảm hiệu quả độ trễ được thấy ở các nút người sử dụng. Phương pháp kéo thuần túy không thể đáp ứng nhu cầu của các ứng dụng vì trễ vì độ trễ tích lũy lớn . Lai push-pull

Lê Ngọc Anh – D09VT2 39

streaming có thể làm giảm độ trễ và kế thừa các tính năng tốt nhất như đơn giản và mạnh mẽ của phương pháp kéo thuần túy. Mỗi nút sẽ sử dụng phương pháp kéo và sau đó khi nhận được khối dữ liệu mỗi nút sẽ chuyển tiếp khối đó đến peer hàng xóm mà khơng có u cầu rõ ràng từ những hàng xóm. Các luồng dữ liệu được phân loại như các gói đươc kéo và đẩy như các gói tin. Một gói của nút bị kéo chỉ khi các gói dữ liệu được yêu cầu, trong khi một gói bị đẩy ngay sau khi nút nhận được gói đó. Mỗi nút hoạt động theo chế độ kéo thuần túy trong khoảng thời gian đầu tham gia. Trong khi đó, các gói tin bị mất gây ra bởi sự không đáng tin cậy của liên kết mạng hay những peer thất bại sẽ được kéo cũng từ những peer khác. Vì vậy, hầu hết các gói tin nhận được sẽ được đẩy đi.

2.4.1 C c hệ thống luồng trực truyến phổ biến dựa trên lƣới

Nhiều ứng dụng được phát triển bởi các nhà nghiên cứu cho các mục đích khác nhau của P2P streaming dựa trên lưới. Anysee là một ứng dụng dựa trên phương pháp đẩy nhưng trái lại CoolStreaming, Chainsaw, PPLive, PPStream, and SopCast là một ví dụ về ứng dụng dựa trên phương pháp kéo. GridMedia and PRIME là những ứng dụng được phát triển dựa trên cách tiếp cận sơ đồ lai push-pull.

2.4.1.1 Hệ thống AnySee

AnySee là một ứng dụng dựa trên phương pháp đẩy trong hệ thống lưới trong đó các nguồn được phân chia dựa trên trễ của nó. Các cơng việc cơ bản của anysee là như sau. Ban đầu, một lớp phủ được xây dựng dựa trên lưới. Tất cả các peer, với một định danh duy nhất, đầu tiên kết nối với các nút bootstrapping và lựa chọn một hoặc một số peer để xây dựng liên kết. Mỗi peer do đó duy trì một nhóm các peer hàng xóm. Phát hiện một vị trí dựa trên thuật toán được sử dụng để phù hợp với lớp phủ và mơ hình vật l phía dưới lớp phủ. Ban đầu, tất cả các đường streaming được quản l bởi các lớp phủ hợp đơn duy nhất để dễ quản l việc tham gia, rời khỏi của các peer. Người quản l tối ưu hóa giữa các lớp phủ và khám phá con đường thích hợp, xây dựng các liên kết sao lưu và cắt đứt con đường có Q0S thấp. Người quản l duy trì hai đường truyền hoạt động, gồm đường dẫn streaming hiện tại và các đường dẫn sao lưu được tính tốn trước của tất cả các peer trong mạng. Vì vậy, khi các peer chết hoặc rời khỏi mạng, một con đường mới được chọn từ bộ dự phòng để thay thế các liên kết bị hỏng do đó khơi phục lại kết nối của mạng. Sơ đồ hệ thống của một nút AnySee được thể hiện trong hình 2.16. Cơ chế AnySee thuận lợi bởi vì các peer hàng xóm khơng tụ họp địi u cầu khi có một peer ra đi, thay vào đó người quản l lớp phủ thay thế một liên kết bị mất bằng cách đề cập đến các thiết lập sao lưu thay thế một peer hiệu quả. Do đó, Anysee khơi phục các kết nối của mạng rất nhanh. Mục tiêu của quản l nút quan trọng là xác định số lượng yêu cầu mà một peer cần phải có. Video được phân chia thành nhiều khối, mỗi khối có thời gian cố định 1s. Các peer lấy các khối từ các nguồn hoặc peer hàng xóm khác và bộ nhớ cache của chúng trong bộ nhớ địa phương. Điểm yếu của Anysee là chất lượng truyền nội dung không được đảm bảo, việc lựa chọn một

Lê Ngọc Anh – D09VT2 40

nhóm các peer ngẫu nhiên có thể khơng có đủ nguồn lực để cung cấp chất lượng truyền thơng mong muốn.

Hình 2.16 Sơ đồ hệ thống của một nút Anysee 2.4.1.2 Hệ thống Chainsaw 2.4.1.2 Hệ thống Chainsaw

Chainsaw là một hệ thống lưới dựa trên phương pháp đẩy mà không dựa trên một

cấu trúc mạng cứng nhắc. Trong sơ đồ này, các peer được thơng báo về các gói dữ liệu mới của các peer hàng xóm. Bằng cách này, dữ liệu trùng lặp có thể được loại bỏ và một peer có thể đảm bảo nhận được tất cả các gói dữ liệu. Đối với mỗi peer hàng xóm, một peer tạo ra một danh sách các gói mong muốn, tức là một danh sách các gói tin dữ liệu peer muốn mà trong peer hàng xóm có sẵn. Sau đó nó sẽ được áp dụng một số chiến lược để chọn một hoặc nhiều gói dữ liệu từ danh sách và yêu cầu tới peer hàng xóm thơng qua một bản tin u cầu. Một peer theo dõi các gói dữ liệu đã yêu cầu từ mỗi peer hàng xóm và đảm bảo rằng nó khơng u cầu gói tin đó từ nhiều peer. Nó cũng hạn chế số lượng yêu cầu tới một peer nào đó, để đảm bảo rằng yêu cầu được trải rộng trên tất cả các peer hàng xóm. Các nút theo dõi các yêu cầu từ các peer hàng xóm của họ và gửi các gói tin tương ứng trong điều kiện băng thông cho phép. Hệ thống không cung cấp một cơ chế nào để thực thi việc đóng góp nguồn tài nguyên công bằng của các nút nhưng Chainsaw cho phép peer tự xác định rõ băng thông tải lên tối đa của. Chainsaw có khả năng đem lại hiệu năng mạng cao và các chi phí CPU do mỗi thơng báo gói.

2.4.1.3 Hệ thống PPLive

PPLive là một ứng dụng P2P TV thương mại, nó sử dụng mạng lưới như một giao

diện mạng phủ dựa trên phương thức kéo, phân phối luồng nội dung trực tuyến và nội dung đã ghi sẵn. Sự khác biệt lớn PPLive với BitTorrent là trong gói PPLive phải đáp ứng các thời hạn phát lại. Vào tháng Giêng năm 2008, ứng dụng PPLive cung cấp gần 500 kênh với 1.000.000 người sử dụng trung bình. Số lượng các kênh truyền hình

Lê Ngọc Anh – D09VT2 41

trong tháng 12 năm 2008 được báo cáo là tương đương năm 1775. Nền tảng PPLive bao gồm nhiều lớp phủ. Một lớp phủ tương ứng với một kênh PPLive. Mỗi peer trong một lớp phủ được xác định bằng cặp (địa chỉ, số port). Hình 2.17 cho thấy các hoạt động cơ bản của một peer PPLive. Lúc đầu, peer PPlive tải danh sách các kênh từ danh sách các kênh của máy chủ thông qua giao thức http. Sau đó các kênh được lựa chọn, peer thu thập một tập hợp nhỏ của các peer hàng xóm tham gia trong cùng một lớp phủ bằng cách truy vấn tới các máy chủ thành viên thông qua giao thức UDP. Một peer giao tiếp với các peer hàng xóm trong danh sách để có được danh sách bổ sung, tập hợp với danh sách bạn bè hiện tại của mình thơng qua UDP. Theo cách này, peer giữ một danh sách của các peer khác xem cùng một kênh. Để có đủ thời gian để phản ứng với các nút rời đi và để giải quyết những khó khăn, gói tin cho phép có hai bộ đệm: một được quản l bởi PPLive và thứ hai của máy thu của người dùng. Một nhược điểm của kiến trúc P2PLive là khởi động chậm có trễ lớn. Các hoạt động của PPStream là rất giống như PPLive.

Hình 2.17 Kiến trúc cơ bản PPLive 2.4.1.4 Hệ thống DONet 2.4.1.4 Hệ thống DONet

DONet (hoặc CoolStreaing) là hệ thống P2P streaming lưới dựa trên phương thức

kéo được đưa ra bởi trường đại học Hong Kong và Vancouver. Trong DONet tất cả các nút định kỳ trao đổi dữ liệu thơng tin sẵn có với một nhóm đối tác, và lấy dữ liệu có sẵn từ một hoặc nhiều đối tác, hoặc cung cấp dữ liệu có sẵn cho các đối tác. Một nút bao gồm ba phần chính (hình 2.18). Một người quản l thành viên (Membership manager) giúp quản l các nút, một người quản l quan hệ đối tác (Partnership manager) trong đó thiết lập và duy trì quan hệ đối tác với các nút khác, một lịch trình (A Scheduler) lên lịch trình việc truyền tải dữ liệu video và xác định khối cần được lấy từ đối tác và tải khối đó của các đối tác. CoolStreaming yêu cầu nút mới tham gia liên lạc với máy chủ gốc để có được một kết nối ban đầu. Mỗi nút cũng duy trì một nhóm con của các peer khác trong nhóm. CoolStreaming sử dụng khả năng mở rộng peer, qua giao thức (SGAM) để phát tán thông báo tới các peer. Một nút

Lê Ngọc Anh – D09VT2 42

CoolSreaming có thể ra đi. Sự ra đi của peer có thể dễ dàng phát hiện sau một thời gian nó khơng làm gì và một nút bị ảnh hưởng có thể nhanh chóng phản ứng thơng qua tái lập lịch trình bằng cách sử dụng thơng tin bản đồ bộ đệm của các đối tác còn lại. CoolStreaming cũng cho phép mỗi nút định kỳ thiết lập quan hệ đối tác mới với các nút lựa chọn ngẫu nhiên từ danh sách nhóm của mình. Hoạt động này sẽ giúp mỗi nút duy trì một sự ổn định với các đối tác trong điều kiện có nút tách ra và khám phá các đối tác có chất lượng tốt hơn, ví dụ như những người liên tục có băng thơng tải lên cao hơn và nhiều phân đoạn có sẵn. CoolStreaming hỗ trợ các loại phần mềm khác nhau của các máy thu đa phương tiện, chẳng hạn như Windows Media Player, Real Player... Sử dụng các thuật toán lập lịch và một hệ thống đệm (buffering) mạnh mẽ, CoolStreaming đạt được việc phát video mượt mà và khả năng mở rộng hệ thống rất tốt cũng như hiệu suất. Tổng thể tốc độ streaming và phát lại liên tục của hệ thống CoolStreaming là tỷ lệ thuận với số lượng các peer trực tuyến tại bất kỳ thời điểm nào. Một trong những nhược điểm của DONet đó là thơng báo cho các peer và sau đó có thể yêu cầu chia khối dữ liệu trước trao đổi dẫn đến kết quả trễ lớn. Tương tự như vậy, do các thuật toán lựa chọn ngẫu nhiên, chất lượng dịch vụ có thể khơng được đảm bảo. Hơn nữa, DONet giả định rằng tất cả các peer có thể hợp tác trong sự lặp lại của các luồng, nó có thể có các peer ích kỷ trong các hệ thống khơng muốn chia s băng thơng tải lên của peer đó.

Hình 2.18 Một sơ đồ hệ thống chung cho một nút DONet 2.4.1.5 SopCast 2.4.1.5 SopCast

SopCast là một ứng dụng miễn phí BitTorrent- like P2PTV, sinh ra từ một dự án

sinh viên tại Đại học Fundan ở Trung Quốc. SOP là viết tắt cho Streaming trên P2P. Trong Sopcast các kênh có thể được mã hóa trong Windows Media Video (WMV), Video tập tin cho Realplayer (RMVB), Real Media (RM), Advanced Streaming Format (ASF), và MPEG Audio Stream Layer III (MP3). Một khách hàng có nhiều sự

Lê Ngọc Anh – D09VT2 43

lựa chọn kênh truyền hình, mỗi kênh thành lập lớp phủ riêng của mình. Mỗi luồng kênh bao gồm nguồn cấp dữ liệu âm thanh và video trực tuyến hoặc vòng lặp hiển thị theo một lịch trình định sẵn. Người xem điều chỉnh vào một kênh lựa chọn của họ và Sopcast bắt đầu hoạt động của mình để lấy luồng. Nó cũng cho phép người sử dụng phát sóng kênh riêng của mình. Sopcast cung cấp tỷ lệ tổn thất khung thấp. Tuy nhiên, Sopcast bị trễ peer, tức là các peer xem cùng một kênh có thể khơng được đồng bộ.

Một phần của tài liệu xây dựng ứng dụng luồng video streaming qua mạng ngang hàng (Trang 37)

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

(66 trang)