Video theo yêu cầu trên P2P

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

CHƢƠNG 2 : HỆ THỐNG LUỒNG VIDEO QUA MẠNG NGANG HÀNG

2.5 Video theo yêu cầu trên P2P

VoD (Video on Demand) hiện có đặt ra một số vấn đề như tính khả thi của giao thức multicast, máy chủ hỏng và chi phí triển khai bảo đưỡng các thiết bị định tuyến

Lê Ngọc Anh – D09VT2 47

lớp phủ cao. Tuy nhiên, video streaming dựa trên P2P cung cấp một kiến trúc thay thế cho các dịch vụ video theo yêu cầu. Trong một hệ thống VoD P2P, tất cả các peer là host có kết nối Internet, trong đó peer lưu trữ và các luồng video do khách hàng đề nghị. Chi phí của các peer truy cập Internet sẽ được chịu bởi khách hàng chứ không phải bởi các nhà cung cấp dịch vụ VoD. Bởi vì có một nguồn cung cấp phong phú của các peer cung cấp nguồn tài nguyên chưa được sử dụng như băng thông và lưu trữ, dựa trên kiến trúc P2P nên có chi phí ít hơn so với các giải pháp truyền thống client- server và giải pháp CDN.

Áp dụng kỹ thuật luồng trực tuyến P2P vào luồng VoD không phải là một cơng việc dễ vì nhiều l do. Như hệ thống luồng trực truyến P2P, hệ thống P2P - VoD cũng cung cấp nội dung bằng luồng. Tuy nhiên, các peer có thể xem các gói khác nhau của một đoạn video cùng một lúc, do đó làm yếu đi khả năng giúp đỡ lẫn nhau. Hệ thống VoD có khả năng cho phép người dùng bắt đầu xem một đoạn video sau khi chờ đợi một thời gian, trong khi vẫn tiếp tục tải video về. Mặc dù, trễ end-to-end của luồng trực truyến ngắn nhưng vẫn gây khó khăn cho người sử dụng. Do đó, một cây ngắn bắt nguồn tại máy chủ video và kéo dài trên peer không phải là điều mong muốn trong truyền tải VoD. Người sử dụng sẽ có thể xem video tại một thời gian tùy , không giống như trong truyền hình trực tiếp họ cần phải đồng bộ hóa thời gian xem. Người sử dụng cũng sẽ có thể thực hiện các hoạt động kiểm sốt như tua lại, lùi về phía trước ..vv trên video. Ví dụ, một peer có thể chặn xem một luồng VoD khi đó QoS của hệ thống giảm, nhưng các peer khác có thể khơng làm điều tương tự cho một luồng vì nó khơng có tùy chọn xem lại. Nếu QoS của các luồng video giảm, sẽ có nhiều các peer rời hệ. Điều này cho thấy tầm quan trọng của một giao thức phục hồi trong một hệ thống luồng VoD. Các giao thức kết nối lại các peer bị bỏ rơi, do đó khơng có mất mát nội dung và không trễ lâu.

Một yêu cầu quan trọng của một dịch vụ VoD là khả năng mở rộng. Một hệ thống VoD cho phép một peer mới tham gia hệ thống nhanh. Thời gian tham gia ngắn, yêu cầu tham gia của các peer đến hệ thống ở các thời điểm khác nhau. Dự kiến hệ thống phải truyền tải các video cho tất cả các peer mà không làm cho máy chủ trở thành một nút cổ chai. Hệ thống VOD P2P thường yêu cầu người dùng đóng góp dung lượng lưu trữ vì các hệ thống này cần kích thước bộ đệm rất lớn để đáp ứng các yêu cầu đa dạng từ các peer khác nhau. Không gian lưu trữ này thường là 1 GB trong PPLive. Có hiệu lực sau khi người dùng cài đặt PPLive và chạy hệ thống lần đầu tiên, người dùng có thể nhìn thấy một loại file chưa biết 1 GB tồn tại trong bộ nhớ máy.

Như hệ thống video streaming, hệ thống VoD P2P thường được phân loại dựa trên cây và hệ thống dựa trên lưới.

2.5.1 Hệ thống VoD dựa trên dạng cây

Nhiều người dùng sử dụng mạng che phủ dạng cây được đồng bộ và nhận nội dung theo thứ tự các máy chủ sẽ gửi đi. Vấn đề chính trong hệ thống VoD dựa trên

Lê Ngọc Anh – D09VT2 48

cây là việc thiết kế cây và các thủ tục cho người dùng tham gia vào hệ thống. P2Cast và P2VoD là những ví dụ của hệ thống VoD dựa trên cây.

P2Cast là một mơ hình vá lỗi (patching) ban đầu cho hệ thống VoD. chương trình đề xuất để hỗ trợ sử dụng dịch vụ VoD có nguồn gốc IP multicast. P2Cast giải quyết hai vấn đề kỹ thuật quan trọng như xây dựng một lớp phủ thích hợp cho các tuyến và cung cấp một luồng tin liên tục phát lại khi một khách hàng ra khỏi hệ thống. Số lượng khách hàng đến một ngưỡng nhất định tạo thành một phiên. Đối với mỗi phiên máy chủ cùng với các khách hàng P2Cast tạo thành một cây đa luồng ở lớp ứng dụng trên mạng unicast. Các khách hàng trong P2Cast có thể chuyển tiếp các luồng video cho các khách hàng. Mỗi khách hàng tích cực góp phần băng thơng và khơng gian lưu trữ cho hệ thống đồng thời tận dụng các nguồn tài nguyên tại các khách hàng khác. Toàn bộ video được truyền trực tiếp trên cây đa luồng ở lớp ứng dụng, để nó có thể được chia s giữa các khách hàng. Đối với khách hàng tham gia muộn hơn các khách hàng đầu tiên trong phiên giao dịch và do đó bỏ lỡ một đoạn ban đầu của video, đoạn thiếu này có thể được lấy từ máy chủ hoặc máy khách hàng khác có lưu trữ đoạn ban đầu. P2Cast có thể phục vụ nhiều khách hàng so với dịch vụ unicast client-server truyền thống. Các chương trình phục hồi trong P2Cast cho phép các đồng nghiệp nhận dữ liệu từ máy chủ trực tiếp khi các nút cha tách ra. Tuy nhiên, điều này làm tăng khối lượng công việc của máy chủ.

P2VoD là một mơ hình video theo u cầu dạng cây mà nó cố gắng để giải quyết các vấn đề của việc kết nối nhanh, cung cấp nhanh chóng và phục hồi thất bại cục bộ, xử l hiệu quả các yêu cầu không đồng bộ của khách hàng và cung cấp chi phí quản l nhỏ so với P2Cast. Mỗi khách hàng trong P2VoD có một bộ đệm FIFO kích thước thay đổi để lưu trữ các nội dung gần đây nhất của luồng video nhận được. Tồn tại những khách hàng trong P2VoD có thể chuyển tiếp các luồng video tới một khách hàng mới miễn là họ đủ băng thông đầu ra và vẫn giữ khối đầu tiên của tập tin video trong bộ đệm. Mơ hình bộ nhớ đệm cho phép một nhóm các khách hàng, đến với hệ thống tại thời điểm khác nhau, để lưu trữ các nội dung video giống nhau trong tiền tố của các bộ đệm của nó. Nhóm như vậy hình thành một phiên. Khi một thành viên của một phiên rời hệ thống, bất kỳ thành viên cịn lại của phiên có thể cung cấp video mà khơng có biến động tới các peer con bị bỏ rơi của các thành viên rời đi với điều kiện băng thông đầu ra quy định là đủ. Trong P2VoD, một kết nối luồng được giả định là tốc độ bit không đổi, bằng với tốc độ phát lại của video. Quá trình phục hồi trong VoD là phức tạp hơn. Ngồi ra, P2VoD khơng xem xét các băng thông không đồng nhất của các peer.

Bộ nhớ đệm và chuyển tiếp là một cách tiếp cận dựa trên cây, là nơi mà một khách hàng VoD thường dựa trên nội dung được lưu trong bộ đệm của các peer cha của nó. Trong mơ hình này, các bộ định tuyến khơng thực hiện chức năng multicast. Do đó, các host cuối chịu trách nhiệm cho việc lưu trữ và phân bố của luồng tin đa phương tiện. Các host cuối có thể là các máy khách hàng hoặc các proxy của nó và các hệ

Lê Ngọc Anh – D09VT2 49

thống này duy trì các đối tượng truyền thông trong bộ nhớ cục bộ tạm thời của họ. Nếu một khách hàng yêu cầu các đối tượng truyền thồng về sau, máy chủ gốc có thể chuyển tiếp các yêu cầu tới các host cuối.

Ostream tận dụng khả năng đệm của host cuối bằng cách sử dụng bộ nhớ cache và phương pháp lưu trữ và chuyển tiếp. Mơ hình sử dụng một thuật tốn cây mở rộng cho các peer để xây dựng một lớp phủ cho truyền thông trực tuyến. ostream làm giảm sự thiểu sự thiếu hiệu quả của topo như trễ liên kết và kéo dài được giới thiệu bằng cách sử dụng multicast lớp ứng dụng.

Hình 2.23 Cấu trúc DirectStream

Một khung làm việc được gọi là DirectStream cho phép khách hàng tận dụng những lợi ích của khoảng thời gian bộ nhớ đệm và dịch vụ video theo yêu cầu với sự hỗ trợ hoạt động VCR . DirectStream bao gồm một máy chủ chỉ dẫn, máy chủ nội dung và khách hàng. Máy chủ chỉ dẫn hoạt động như một điểm trung tâm hành chính. Nó duy trì một cơ sở dữ liệu theo dõi của tất cả các máy chủ và khách hàng tham gia trong DirectStream và giúp khách hàng mới xác định các dịch vụ cần thiết. Các máy chủ nội dung cung cấp các chức năng tương tự như trong mơ hình client – server truyền thống lưu trữ nội dung trong kho lưu trữ của nó và phục vụ yêu cầu của khách hàng, miễn là đủ băng thơng có sẵn. Do đó khách hàng trong DirectStream có chức năng như nút P2P. Một peer lưu trữ một cửa sổ chuyển động của một nội dung được nhận được mới nhất và phục vụ những peer đến muộn bằng cách liên tục chuyển tiếp các nội dung được lưu trữ. Một tập hợp các khách hàng hoạt động trong một lớp phủ P2P streaming được thành lập được gọi là một nhóm. Các nhóm trong DirectStream phát triển theo thời gian và mỗi khách hàng trong một nhóm chia s luồng giống nhau. Quá trình tìm kiếm dịch vụ cho một yêu cầu mới bao gồm bốn bước như được chỉ ra trong hình 2.23. Đầu tiên các khách hàng mới sẽ gửi một yêu cầu đến máy chủ chỉ dẫn để yêu cầu video bắt đầu từ vị trí. Các máy chủ chỉ dẫn sau đó nhìn vào cơ sở dữ liệu của mình và trả về một danh sách các nút ứng cử viên, bao gồm cả máy chủ dữ liệu và khách hàng có nội dung để phục vụ yêu cầu này. Khách hàng mới xác định từ các nút để lấy các luồng sử dụng cho thuật toán lựa chọn cha QoS. Sử dụng thuật toán

Lê Ngọc Anh – D09VT2 50

này, một khách hàng lựa chọn một nút cha có đủ băng thơng. Các khách hàng mới liên hệ với nút ứng viên được chọn và yêu cầu chuyển tiếp luồng. Sau khi kết nối được thiết lập, khách hàng mới gửi tín hiệu trở lại máy chủ chỉ dẫn và đăng ký chính nó vào cơ sở dữ liệu. DirectStream giảm đáng kể khối lượng công việc đặt ra trên máy chủ. Một lợi thế là quy mơ của nó cũng như sự phổ biến của video tăng ngay cả khi khách hàng tham gia không hợp tác chia sẽ. DirectStream có hai nhược điểm, quản l tập trung đưa ra một điểm đơn của sự thất bại. Khi nhiều nhóm cao cấp khác nhau thất bại, một peer có thể nhanh thiếu bộ đệm của nó.

Trong hệ thống VoD dựa trên cây, các peer trên lớp trên ln ln đóng một vai trị quan trọng trong mạng che phủ tồn bộ. Sự ra đi của nó sẽ dẫn đến sự biến động lớp mạng thấp hơn. Hơn nữa, mỗi peer chỉ có một nhà cung cấp dữ liệu, điều đó sẽ gây ra khơng hiệu quả sử dụng băng thơng có sẵn trong một mạng khơng đồng nhất và mạng cómơi trường năng động. Đồng thời, trong bộ nhớ cache và dựa trên hệ thống chuyển tiếp, nếu cha nhảy đến một điểm nào đó trong đoạn video, nó bắt đầu nhận dữ liệu và khơng quan tâm tới nút con và những nút cần phải tìm kiếm cha mới.

2.5.2 Hệ thống VoD dựa trên lƣới

Trong hệ thống VoD dựa trên lưới, khơng có cấu trúc liên kết cụ thể được tạo ra. Các peer trong mạng kết nối với một số peer cha để nhận các gói tin video. Hệ thống VoD dựa trên lưới có giao thức ở trên lớp phủ, dễ dàng để thiết kế và linh hoạt hơn cho tốc độ các khối nội dung và do đó nó được phổ biến hơn. Hiện P2P dựa trên hệ thống lưới đã được chứng minh là rất tốt cho phân phối nội dung video quy mơ lớn với ít tài ngun máy chủ. Tuy nhiên, trong hệ thống VoD khó khăn trong thực tế là người dùng muốn nhận được các khối tuần tự để xem video trong khi tải về. Ngồi ra, trong dịch vụ VoD người sử dụng có thể quan tâm tới các phần khác nhau của đoạn video và có thể cạnh tranh tài nguyên của người dùng khác. Qua đó, thách thức chính của hệ thống là đảm bảo rằng người dùng có thể bắt đầu xem video tại bất kỳ thời điểm nào, với thời gian chờ nhỏ và tốc độ phát lại cao.

BitTorrent (BT) là một trong những kỹ thuật dựa trên lưới để phân phối khối lượng lớn các nội dung trên Internet. Nó là một giao thức chia s tập tin mở rộng mà còn kết hợp với cơ chế truyền dữ liệu tràn lụt. Có một số hạn chế của kỹ thuật BT ban đầu trong việc cung cấp video streaming. Trong BT, các tập tin được phân đoạn trên khoảng trống (space). Mặc dù cơ chế lựa chọn đoạn mặc định của BitTorrent là rất hiệu quả trong việc giảm thiểu xác suất cho các đoạn miếng hiếm và cung cấp các đoạn hiếm cho các peer, nó khơng thất vọng trong thời gian lưu lượng tắc nghẽn. L do là với thời gian dữ liệu nhạy cảm thì mỗi đoạn sẽ phải nhận trong một khoảng thời gian nhất định. Yếu tố này không được xem xét trong cơ chế lựa chọn đoạn ban đầu của BT và do vậy nó khơng thể cung cấp dịch vụ phân phối nhạy cảm thời gian, bởi vì các đoạn được u cầu dựa trên sự hiếm có và khơng theo thời hạn của nó. Do đó, cơ

Lê Ngọc Anh – D09VT2 51

chế lựa chọn đoạn hiện tại cần sửa đổi để hỗ trợ dịch vụ thời gian nhạy cảm như VoD. BASS và BiToS là các ví dụ của BitTorrent dựa trên hệ thống P2P VoD dạng lưới.

Hình 2.24 BASS: (a) Tổng quan hệ thống, (b)Mẫu khách hàng

BitTorrent hỗ trợ hệ thống streaming (BASS) mở rộng hệ thống BitTorrent hiện tại để cung cấp một dịch vụ gần Video-on-Demand. Bởi vì BASS sử dụng sự hỗ trợ của BT cho các luồng, nó sử dụng các dịch vụ của một máy chủ bên ngồi mà có thể lưu được tồn bộ video của các nhà sản xuấ và đảm bảo rằng người sử dụng có thể phát lại video mà khơng gặp sự thay đổi chất lượng. Sự thay đổi duy nhất của BitTorrent cho thấy là nó khơng nên tải về bất cứ dữ liệu nào trước thời điểm playback. Nó được phép sử dụng đoạn hiếm nhất đầu tiên và chính sách ăn miếng trả miếng (tit – for - tat). Trong chính đoạn hiếm đầu tiên, khách hàng yêu cầu một phần dựa trên số lượng bản sao nó thấy có sẵn và chọn một cái là phổ biến nhất. Từ máy chủ truyền thông, BASS tải các phần trong trật tự, bỏ qua các phần mà đã được tải bởi BitTorrent, hoặc đang trong quá trình được tải về và dự kiến sẽ hồn thành trước thời hạn phát. Tổng quan về hệ thống của BASS được đưa ra trong hình 2.24. Dù BASS làm giảm tải tại các máy chủ, thiết kế của hệ thống vẫn là máy chủ theo định hướng và do đó các yêu cầu băng thơng tại các máy chủ tăng tuyến tính với số lượng người dụng.

Lê Ngọc Anh – D09VT2 52

Hệ thống BiToS cũng dựa trên BitTorrent. Ý tưởng chính là để phân chia các khối đang thiếu thành hai tập hợp: “tập hợp ưu tiên cao” và “tập hợp còn lại” và yêu cầu với các khối xác suất cao hơn từ tập hợp ưu tiên cao hơn (hình 2.25). Tập hợp ưu tiên cao hơn, có chứa tất cả các phần khá gần để được tái tạo. Vì vậy, peer mong muốn tải về những phần sớm hơn. Trái ngược với tập hợp còn lại, trong đó có chứa các phần mà sẽ khơng cần đến trong tương lai gần. Sau khi người dùng bắt đầu, bộ đệm của người dùng yêu cầu những phần cần thiết từ các phần đệm các peer nhận. Trong BiToS, trọng tâm chính được đưa ra cho việc lập lịch cẩn thận của các khối video.

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

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

(66 trang)