2.4.1.6 GridMedia
GridMedia thông qua một cơ chế truyền tải đẩy - kéo để lấy dữ liệu từ các nút đối
tác. Chế độ kéo trong lớp phủ khơng có cấu trúc có thể làm việc tốt với tốc độ cao trong môi trường P2P trong khi chế độ đẩy có thể làm giảm độ trễ tích lũy ở phía người dùng. Một máy chủ theo dõi được triển khai để hỗ trợ việc xây dựng các lớp phủ. Khi khởi động, một nút tham gia liên lạc đầu tiên tới RP để có được một danh sách các phần của các nút đã có trong lớp phủ, được gọi là quá trình đăng nhập. Sau đó các nút tham gia ngẫu nhiên sẽ lựa chọn một số nút trong danh sách này như các peer hàng xóm. GridMedia chủ yếu bao gồm nhiều người gửi dựa trên giao thức multicast lớp phủ (MSOMP) và nhiều người gửi dự phịng dựa trên thuật tốn phát lại (MSRRA). MSOMP bắt nguồn từ máy chủ streaming đó là một nút ở gốc. Các MSOMP triển khai lưới dựa trên cấu trúc hai lớp và nhóm tất cả các peer vào cụm với nhiều con đường đi khác nhau từ gốc đế mỗi peer. Sau đó, với một hoặc một số các nhà chỉ huy trong mỗi nhóm, tất cả các nút chỉ huy xây dựng xương sống của lớp phủ. MSOMP sử dụng các dịch vụ multicast IP hiện có sẵn trong mạng LAN. IP Multicast miền (IMD) là một mạng lưới địa phương của bất kỳ kích thước mạng nào hỗ trợ IP multicast. IMD có thể là một máy chủ duy nhất, một mạng LAN. Trong mỗi IMD, một peer tiêu đề có trách nhiệm phổ biến các nội dung streaming với các peer đồng nghiệp khác trong cùng IMD. Ngay sau khi nút phần đầu rời khỏi, một nút tiêu đề mới sẽ được bầu để thay thế vai trò. MSOMP kết nối với các IMD bằng đường hầm unicast. MSOMP dựa trên GridMedia kiến trúc được thể hiện ở hình 2.19.
Lê Ngọc Anh – D09VT2 44
Đề giải quyết vấn đề mất gói tin, MSRRA được đề xuất tại các peer gửi để vá gói tin bị mất bằng cách sử dụng peer nhận để dự đoán mẫu mất. Trong MSRRA, mỗi peer nhận được gói tin truyền tải đồng thời từ nhiều người gửi. Ngay sau khi có tắc nghẽn xảy ra trên một liên kết, peer nhận sẽ có thơng báo về tình trạng tắc nghẽn này và sau đó nó sẽ thơng báo cho người gửi khác, những người sẽ tiếp tục vá các gói tin bị mất. Các thuật tốn MSRRA hiệu quả làm giảm tác động của các nút thất bại, tắc nghẽn mạng và các hoạt động chuyển đổi liên kết.
2.4.1.7 PRIME
PRIME là một khả năng mở rộng kỹ thuật P2P streaming của nội dung trực tuyến dựa trên hệ thống lưới đẩy - kéo lưới. Mục tiêu thiết kế quan trọng nhất của PRIME là để giảm tắc nghẽn băng thông và tránh bị hiện tượng thắt nút cổ chai. PRIME sử dụng tràn ngập nội dung kết hợp việc đẩy nội dung bởi nút cha với kéo nội dung yêu cầu của nút con. Mỗi peer đồng thời nhận được nội dung từ tất cả các nút cha của mình và cung cấp nội dụng cho tất cả các nút con của nó. Cho các gói dữ liệu có sẵn tại nút cha, một chương trình lập lịch trình gói tin tại mỗi peer định kỳ xác định một danh sách lệnh của các gói dữ liệu cần được yêu cầu từ cha.Nút cha chỉ đơn giản là cung cấp các gói tin yêu cầu của mỗi con trong trình tự quy định và theo tỷ giá được xác định bởi các cơ chế kiểm soát tắc nghẽn. Mỗi phân đoạn của các nội dung được gửi đến các peer cá nhân tham gia trong hai giai đoạn: giai đoạn khuếch tán và tràn ngập giai đoạn. Trong giai đoạn khuếch tán, mỗi peer nhận được bất kỳ của một phân đoạn mới từ nút cha của nó ở mức cao hơn. Vì vậy, các mảnh của một phân đoạn mới được tạo ra đang dần dần kéo theo các đồng nghiệp ở các cấp độ khác nhau. Trong giai đoạn lụt, mỗi peer nhận được thấp hơn. Các cha được gọi là tràn ngập các nút cha. Mỗi phần của bất kỳ phân đoạn mới được lan tỏa thông qua một khuếch tán đặc biệt cây con trong giai đoạn khuếch tán của phân khúc đó. Sau đó, các phần có sẵn được trao đổi giữa các đồng nghiệp trong cây tổng, khuếch tán khác nhau thông qua các lưới tràn ngập trong giai đoạn tràn ngập của phân khúc này. Các ứng dụng của hai giai đoạn khác nhau cho phân phối nội dung dẫn đến hiệu quả sử dụng nguồn lực sẵn có để chứa khả năng mở rộng và cũng giảm thiểu nội dung nút cổ chai. Những bất lợi của PRIME là nếu nội dung nút cổ chai xảy ra, các nút phải chờ đợi lâu để tìm ra đơn vị dữ liệu cần thiết của họ sau khi một vài giai đoạn lụt, khi dữ liệu có sẵn trong khu vực của mình. Do đó, khơng có sự đảm bảo cho một mức độ hợp l của luồng trực tuyến chất lượng. Hơn nữa, các thuật tốn khơng xem xét hành vi của các hệ thống P2P trong sự hiện diện của một thùng đựng.
Lê Ngọc Anh – D09VT2 45
Hình 2.20 Hai lớp lƣới/ cây che phủ trong mạng lai 2.4.1.8 HyPO
HyPo là một lớp phủ lai P2P cho truyền thông đa phương tiện trực truyến. Tối ưu
hóa các lớp phủ bằng cách tổ chức peer với các phạm vi có băng thơng tương tự trong bất kì khu vực địa lý nào trong một lớp phủ lưới và tạo thành một lớp phủ cây bằng cách chọn các peer được ổn định. Hình 2.20 minh họa một lưới / cây che phủ hai lớp trong HyPO. Tùy thuộc vào cơ chế tối ưu hóa cây, trong đó các peer có một băng thông lớn sẽ được ở gần với nút nguồn trong các lớp phủ cây, và phân bố đều trong các cây với các nhánh với một chiều sâu tương tự. Do đó, việc tối ưu hóa cây làm giảm độ sâu trung bình của cây, do đó nâng cao khả năng mở rộng. Lưới trong HyPO không phải là một kết nối bổ trợ từ các peer trong lưới, thành viên luôn luôn cung cấp dữ liệu cho lưới cho đến khi nó trở thành một thành viên cây. Tuy nhiên, tất cả các thủ tục của HyPO rất ít dựa trên một máy chủ theo dõi, một khoảng thời gian liên tục có thể xảy ra nếu máy chủ bị lỗi. Hơn nữa, HyPO không đề cập đến cách làm sao dữ liệu được phân bố trong lớp phủ lưới của nó.
2.4.1.9 mTreebone
mTreebone là một thiết kế cây lưới phối hợp thúc đẩy cả lưới và cấu trúc cây. Ý
tưởng chính của mTreebone là xác định một nhóm các nút ổn định để xây dựng một cây dựa trên xương sống, các nút này được gọi là treebone với hầu hết các dữ liệu bị đẩy trên xương sống này. Các nút bền vững cùng với những nút khác, được tổ chức thành một lớp phủ lưới bổ trợ, tạo điều kiện cho treebone để phù hợp động lực của một nút và khai thác hoàn tồn băng thơng giữa các nút lớp phủ. Các nút không ổn định khác được gắn vào xương sống như vùng bên ngồi. Hình 2.21 cho thấy một mơ hình mTreebone. Trong sơ đồ này, kết nối lưới được gọi chỉ khi có một nút riêng biệt bị ảnh hưởng bởi sự ra đi của nút cha hay nút cha thất bại. Việc duy trì treebone và tối ưu hóa chỉ xảy ra tại các nút treebone và khơng có thêm chi phí cho các peer vùng ngồi xương sống. Thơng thường, chất lượng truyền là tốt nhất cho các nút treebone do sự ổn định tốt của các con đường cung cấp dữ liệu của nó từ nguồn. Thách thức chính là chúng ta cần phải xác định tập hợp các nút lớp phủ ổn định và vị trí của nút tại các địa điểm thích hợp trong cây. Một yêu cầu như vậy có thể gây xung đột với băng thông và chậm trễ trong xây dựng cây. Một phát sinh khác khi xem xét về sự ổn
Lê Ngọc Anh – D09VT2 46
định của mTreebone là phụ thuộc vào các nút treebone, đó là các nút sẽ ở lại trong treebone trong khoảng thời gian bao lâu. Mặt khác, CliqueStream là một lớp phủ lai tương tự như mTreebone khai thác các thuốc tính của một nhóm lớp phủ P2P (hình 2.22). ClipueStream tìm ra một hay nhiều nút bền vững có băng thơng cao nhất trong mỗi nhóm và giao cho các nút đó vai trị chuyển tiếp nội dung đặc biệt. Để duy trì hiệu quả truyền tải, một cây phân phối nội dung được xây dựng trên các nút bền vững sử dụng cấu trúc trong nền định tuyến cơ bản và nội dung sẽ được đẩy qua chúng. Các nút ít ổn định trong một nhóm sau đó tham gia vào việc phổ biến nội dung và kéo nội dung tạo ra một lưới xung quanh các nút bền vững.
Hình 2.21 Khung mTreebone (a) một lớp phủ lai (b) xử lý trạng thái nút
Hình 2.22 Cấu trúc trực tuyến trong CiqueStream
Lai kéo – đẩy P2P treaming lớp phủ nổi lên như một giải pháp thay thế cho các phương pháp truyền thống như là cây và lưới. Kể từ khi thiết kế hệ thống lai làm đơn giản hóa việc xây dựng lớp phủ và các quy trình bảo dưỡng và đồng thời vẫn giữ được hiệu quả của mạng và đạt được kiểm soát tốt các nút quá tải.
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