.23 Cấu trúc DirectStream

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

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 nguyên 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ề. Ngoà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. Các phần mà bỏ lỡ thời hạn phát lại của nó được giảm xuống đơn giản. Do vậy, điều này có thể dẫn đến suy giảm chất lượng phát lại video. Ngồi ra do tính chất bất đối xứng của các kết nối Internet và không đồng nhất của các peer, hệ thống không thể đảm bảo rằng các đoạn video được yêu cầu ln ln có sẵn để phát lại đúng thời gian yêu cầu.

2.6 Kết luận chƣơng II

Chương 2 đã trình bày khái quát về khái niệm mạng ngang hàng P2P, ưu nhược điểm của mạng ngang hàng. Bên cạnh đó cịn đề cập đến việc phân loại mạng ngang hàng. Qua đó thấy mạng ngang hàng rất ổn định và dễ mở rộng; tận dụng tối đa tài nguyên đóng góp của các nút tham gia mạng; mạng ngang hàng dễ cài đặt; chi phí thiết bị thấp, triển khai một hệ thống mạng khá dễ dàng.

Nội dung chính chương 2 trình bày các hệ thống P2P streaming, có thể phân chia thành hệ thống P2P live Streaming và P2P VoD. Tùy theo cách tiếp cận, hệ thống P2P live streaming có thể được chia thành dạng cây hoặc dạng lưới. Hệ thống P2P VoD cũng có thể chia thành dạng cây và dạng lưới.

Tuy nhiên, hệ thống P2P streaming cũng bộc lộ nhiều nhược điểm cần phải xem xét, trong đó quan trọng nhất là trễ luồng video.

Lê Ngọc Anh – D09VT2 53

CHƢƠNG III: ỨNG DỤNG LUỒNG VIDEO STREAMING QUA MẠNG PASTRY

3.1 Giới thiệu về Pastry

Gần đây các ứng dụng Internet trong mạng ngang hàng đã được phổ biến một cách rộng rãi thông qua các ứng dụng chia sẽ file như Napster, Gnutella và FreeNet. Trong khi khá nhiều sự chú đều tập trung vào các vấn đề bản quyền được đưa ra bởi các ứng dụng cụ thể thì các hệ thống P2P lại đưa nhiều khía cạnh về vấn đề kỹ thuật như kiểm soát phân cấp, tự tổ chức và khả năng mở rộng. Các hệ thống P2P được mô tả như một hệ thống phân phối, trong đó tất cả các nút đều có nhiệm vụ và năng lực giống nhau, đồng thời tất cả các thông tin truyền thông là đối xứng.

Hiện nay có khá nhiều dự án nhằm xây dựng các ứng dụng P2P. Một trog những vấn đề quan trọng trong việc xây dựng này là nhằm cung cấp các thuật toán hiệu quả cho vị trí đối tượng và quá trình định tuyến trong mạng. Pastry là một trong những giải pháp được đưa ra. Pastry có khả năng chống chịu lỗi, khả năng mở rộng và đáng tin cậy. Hơn nữa, Pastry cịn có đặc tính định tuyến cục bộ khá tốt.

Pastry được thiết kế như một chất nền chung cho việc xây dựng một loạt các ứng dụng mạng ngang hàng trên Internet như chia s file toàn cầu, lưu trữ file, truyền thơng nhóm và các hệ thống đặt tên. Một số ứng dụng được xây dựng trên đinh của Pastry cho đến nay bao gồm một tiện ích lưu trữ liên tục chung, được gọi là PAST và một hệ thống có khả năng mở rộng, đó là Scribe. Còn lại các ứng dụng khác đang được phát triển.

Pastry cung cấp các khả năng sau đây: đầu tiên mỗi nút trong mạng pastry sẽ có một định danh duy nhất (NodeId) trong một khơng gian định danh 128 bit vịng trịn. Khi có một thơng điệp và một khóa 128 bit dạng số, một nút pastry sẽ hiệu quả trong việc định tuyến thơng điệp đó tới một nút với nodeid có số gần nhất với khóa, trong số tất cả các nút pastry hiện đang sống. Số lượng chuyển tiếp các bước trong mạng bao phủ pastry là O(logN), trong khi kích thước của bảng định tuyến được duy trì trong mỗi nút Pastry chỉ là O(logN) (trong đó N là số nút Pastry sống trong mạng bao phủ). Tại mỗi nút Pastry dọc theo đường định tuyến mà một tin nhấn có, ứng dụng sẽ được thơng báo và có thể thực hiện các tính tốn ứng dụng cụ thể có liên quan đến tin nhắn.

Thứ hai, môi nút Pastry sẽ tiến hành theo dõi L hàng xóm trực tiếp của nó trong khơng gian nodeid (được gọi là tập lá) và thông báo cho các ứng dụng của các nút mới đến, nút ra và nút phục hồi trong tập lá. Thứ ba, pastry đưa vào tài khoản cục bộ trong Internet cơ bản, nó tìm cách giảm thiểu khoảng cách truyền đi thơng điệp, theo một hệ mét xấp xỉ vô hướng giống như độ trễ lệnh ping. Pastry hồn tồn là phi tập trung, có khả năng mở rộng và tự tổ chức. Bởi vậy nó sẽ tự động thích nghi với sự ra đi, đến và sự thất bại của các nút. ứng dụng P2P xây dựng trên pastry có thể sử dụng khả năng của mình bằng nhiều cách, bao gồm:

Lê Ngọc Anh – D09VT2 54  Ánh xạ đối tượng ứng dụng tới các nút Pastry: Các đối tượng ứng dụng cụ thể được phân công thành các định danh ngẫu nhiên đồng đều, duy nhất ( các ObjId) và được ánh xạ tới k (k ≥ 1), các nút với nodeId có số gần nhất với objId. Đại lượng k phản ánh mức độ mong muốn nhân rộng các ứng dụng cho các đối tượng.

 Cách chèn them các đối tượng: Các đối tượng ứng dụng cụ thể có thể được them vào bằng cách đinh tuyến một thong điệp Pastry sử dụng ObjId như là khóa (key).

 Q trình truy cập các đối tượng: Các đối tượng ứng dụng cụ thể có thể được tra cứu, liên lạc hoặc thu hồi bằng cách định tuyến một thông điệp Pastry có sử dụng ObjId như là khóa. Theo định nghĩa, thong điệp này được đảm bảo đến một nút có khả năng duy trì một bản sao của đối tượng được yêu cầu, trừ khi tất cả k nút với các nodeId gần nhất với ObjId đều thất bại

 Tính đa dạng: Việc phân cơng các nodeId là ngẫu nhiên và không thể bị hỏng bởi một sự tấn cơng nào đó. Như vậy, với xác suất cao, các nút với các nodeId liền kề có tính đa dạng cả về vị trí địa l , thẩm quyền, quyền sở hữu và việc đính kèm các tập tin trong mạng…Điều này giảm thiểu xác suất thất bại đồng thời của tất cả k nút trong việc duy trì một bản sao đối tượng.

 Khả năng cân bằng tải: Cả nodeId và ObjId đều được phân bố ngẫu nhiên và đồng đều trong không gian định danh Pastry 128bit. Kết quả này tạo nên một sự cân bằng tốt đầu tiên nhằm lưu trữ các yêu cầu và truy vấn tải trọng giữa các nút Pastry cũng như trong mạng Internet cơ bản.

 Hiệu quả và khả năng mở rộng việc phổ biến thơng tin: Các ứng dụng có thể thực hiện multicast một cách hiệu quả bằng cách sử dụng chuyển tiếp đường dẫn ngược dọc theo cây được hình thành bởi các định tuyến từ các client tới nút có nodeId gần với ObjId nhất. Tính chất cục bộ của mạng Pastry đảm bảo rằng các kết quả multicast trên cây là khá hiệu quả, tức là dữ liệu có hiệu quả trong việc cung cấp và sử dụng nguồn tài nguyên Internet cơ bản.

Pastry là một giao thức phân phối dữ liệu và định tuyến ở lớp ứng dụng trong các ứng dụng mạng ngang hang có cấu trúc. Đúng như định nghĩa của nó, Pastry có 2 nhiệm vụ chính là phân phối dữ liệu trong một mạng ngang hang và tìm kiếm dữ liệu trong mạng dựa vào khóa tìm kiếm. Hệ thống Pastry là một hệ thống phân tán có khả năng tự cấu hình và có tính ổn định cao, khả năng chống chịu lỗi tốt, đồng thời nó cũng có khả năng mở rộng và ứng dụng cho những dịch vụ lớn.

Pastry sử dụng giao thức DHT để lấy định danh các nút tham gia vào hệ thống mạng. Với dải địa chỉ lớn thì giao thức DHT quả thực rất phù hợp với hệ thống mạng ngang hang, không ngoại trừ đối với Pastry. Tuy nhiên điều thú vị của Pastry nằm ở bảng định tuyến sẽ được mô tả dưới đây.

Lê Ngọc Anh – D09VT2 55

Hình 3.1 Bảng định tuyến của nút 10233102 trong Pastry

Nút và dữ liệu trong mạng Pastry được định danh bởi một giá trị 128bit (nodeId và ObjId). Mỗi dữ liệu lưu trữ trong mạng được băm bởi một hàm băm, từ đó thu được một giá trị gọi là khóa và dữ liệu này được lưu trữ tại nút quả lý dãy các khóa có chứa

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

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

(66 trang)