Kỹ thuật chia lớp (layered) trong truyền P2P multicast

Một phần của tài liệu Đánh giá chất lượng truyền tin multicast trên tầng ứng dụng (Trang 29)

Giới thiệu

Như ta đã trình bày trong các phần trước, truyền tin multicast đa luồng trên tầng ứng dụng được đưa ra nhằm khắc phục các hạn chế về triển khai của IP multicast. Các giải pháp truyền multicast đã được đưa ra thực hiện nhằm phân bổ dữ liệu media tới hàng loạt các điểm nhận, và làm giảm tối đa chi phí về máy chủ và mạng. Tuy nhiên, bản thân multicast thực chất lại bị xung đột với một số đặc trưng của phân bổ media, mà ta gọi đó là sự không đồng bộ của các yêu cầu từ người dùng (asynchrony) và các tính chất đặc trưng về khả năng tài nguyên của các client (heterogeneity). Việc không đồng bộ thể hiện ở chỗ một người dùng có thể yêu cầu dữ liệu media liên tục mọi lúc, như vậy nó lại tương phản với sự đồng bộ trong kiểu truyền multicash .Về các đặc trưng riêng, các client có thể yêu cầu các dòng stream với chất lượng khác nhau bởi vì các rằng buộc đặc trưng tài nguyên của chúng, đặc biệt là về băng thông. Do đó, sẽ không có một dòng truyền multicash nào đáp ứng được mọi yêu cầu khác nhau đó. Hình vẽ sau đây chỉ ra sự không đồng bộ và thiếu đồng nhất về yêu cầu dữ liệu trong một hệ thống mạng khi truyền multicast:

Hình 2.7: Vấn đề không đồng bộ và thiếu đồng nhất trong yêu cầu về phân bổ Media

Hình vẽ trên chỉ ra trong có nhũng node đầu cuối kết nối với Internet thông qua DSL, Ethenet, Dial-up hoạc Cable modem nên băng thông kết nối của chúng là khác nhau cũng như khả năng về bộ đệm của chúng cũng khác nhau.

Các nghiên cứu gần đây về việc lấy bộ đệm và phát lại (cache-and-relay) đã đưa ra nhiều hứa hẹn về các giải pháp giải quyết bài toán xung đột giữa các yêu cầu không đồng bộ cũng như việc truyền Multicast không đồng bộ trong dòng truyền peer – to – peer streaming. Bằng việc làm trễ các dòng truyền nhận được thông qua việc catching (lấy bộ đệm), một host đầu cuối có thể chuyển tiếp nó tới một host đầu cuối khác, nơi mà cũng có một cái yêu cầu giống hệt như vậy nhưng ở thời gian sau đó. Tuy nhiên các nghiên cứu đã chỉ ra rằng giải pháp này sẽ tốn ít chi phí về server/network hơn so với các giải pháp dựa trên IP – Multicash.

Giải pháp truyền dữ liệu được mã hóa chia tầng (layered) được đưa ra nhằm giải quyết vấn đề không đồng nhất. Ví dụ trong việc truyền multicast phân tầng, một stream được mã hoá với hàng loạt layer, sau đó mới chuyển vào các IP khác nhau của các phiên multicast. Một node nhận với điều kiện về băng thông cụ thể chỉ cần nhận một tập con của toàn bộ các layer để giải mã dòng stream với chất lượng hạ tầng hiện thời.

Giải pháp streaming chia lớp không thể áp dụng trực tiếp cho hệ thống peer- to-peer. Nguyên nhân cơ bản chính là vai trò đúp của Host đầu cuối: vừa đảm nhận vai trò như một điểm phát và như một điểm nhận. Trước tiên, như một điểm nhận, Host đầu cuối có thể chỉ nhận một tập con trong toàn bộ các layer, do sự giới hạn về băng thông và khả năng xử ý của nó. Trong mạng peer-to-peer, điều đó có nghĩa khẳ năng chứa dữ liệu của nó với vai trò là một điểm cung cấp cũng bị giới hạn, như vậy thì lượng data mà nó tiếp tục phân phát xuống các điểm ở

bị giới hạn và không đồng nhất. Điều đó có nghĩa, một điểm cung cấp có sự giới hạn về băng thông mà nó cung cấp cho các điểm ở mức sau. Các vấn đề đó không xảy ra đối với truyền multicast phân tầng, nơi mà các Host đầu cuối luôn là nằm trong đường dẫn dữ liệu.

Để làm rõ hơn về các vấn đề kỹ thuật cũng như ưu nhược điểm của việc chia lớp trong truyền P2P multicast tầng ứng dụng, luận văn sẽ đưa ra một ví dụ của tác giả Yi Cai [6], đại học University of Illinois at UrbanaChampaign

Ý tưởng

Tác giả quan tâm đến việc streaming đã được mã hoá trong một tầng qua tập các điểm cùng với lượng băng thông vào/ra không đồng nhất. Trong hình 1.9, một peer có thể tìm lại mọi stream bất kỳ lúc nào bằng việc yêu cầu một chất lượng tuỳ ý, ví dụ số lượng layer ngẫu nhiên..

Hình 2.8: Ví dụ về Layered Peer-to-Peer Streaming

Mỗi điểm cache (lưu trữ) dòng nhận được trong một buffer (bộ đệm) vòng tròn địa phương trong một khoảng thời gian nào đó. Nói cách khác, một cửa sổ bộ đệm được giữ lại cùng với sự phát lại của các stream, ví dụ 5 phút. Như thế, khi mọi peer sau (trong khoảng 5 phút) yêu cầu stream tương tự có thể nhận được dữ liệu đã được lưu trữ từ Host hiện tại.

Ví dụ trong hình 1.9, H3 chậm hơn H1 2 phút và chậm hơn H2 là 2 phút. Do đó H3 có thể stream từ H1 và H2. Ở một khía cạnh khác, H4 chỉ có thể stream được từ H3 khi nó sẵn sàng ở bên ngoài cửa sổ bộ đệm của H1 và H2. Tác giả xem xét Media Server (HO) như một peer đặc biệt, luôn luôn trực tuyến và có mọi layer của dòng truyền.

Một giải pháp streaming peer-to-peer sẽ quan tâm tới hai nhân tố:

 Nhân tố đầu tiên là chất lượng streaming nói chung của tất cả các peer, được xem như khả năng thực hiện (benefit=performance) của hệ thống -system benefit.

 Nhân tố thứ hai là sự tiêu thụ băng thông của server, được xem như trị giá của hệ - system cost. Do đó, mục đích của tác giả là làm tăng khẳ năng thực hiện của mạng- net benefit (system benefit bao gồm cả system cost), dưới sự giới hạn về băng thông của mỗi node mạng.

Tác giả xây dựng các định nghĩa:

Layer-encoded Stream {l0, l1, l2,…,lL }, với l0 như là layer chính cơ bản và các layer làm nổi bật khác. Các layer đó có khả năng nhận riêng, ví dụ li chỉ có thể được giải mã nếu layer l0 khả thi xuyên suốt đến li-1. Ta thừa nhận với nhau là tất cả các layer có tốc độ treaming riêng biệt- sẽ nói rõ hơn ở phần sau.

Peers {H0,H1,H2,…,HN}, với H0 dược coi là server. H1 tới HN được xắp xếp dựa trên các thời gian yêu cầu của chúng. Hơn nữa, tác giả sử dụng Ik và Ok để thể hiện băng thông vào/ra của Hk. Để đơn giản,ta coi Ik và Ok được định lượng như là số lượng layer mà Hk có thể nhận và gửi.

Streaming Quality Qk, chất lượng streaming nhận được tại Hk, định lượng như sô lượng layer nhận. Trong trường hợp đặc biệt Qmk được sử dụng để thể hiện số các layer nhận được từ peer cung Hm. Do đó, Q0k là số layer nhận được từ server H0.

Layer Availability Ak, số các layer khả thi tại bộ đệm của Hk. Theo yêu cầu

lưu lại khaongr trống bộ đệm, Hk được cho phép loại bỏ một số layer nhận được (luôn là cái layer cao nhất, ví dụ layer có quyền cao nhất) sau khi phát lại. Do đó, Ak ≤ Qk.

Buffer Length Bk, là khoảng thời gian bộ đệm của Hk. Lưu ý rằng nếu với

khoảng cách bộ đệm như nhau, Bk có thể biến đổi phụ thuộc vào việc có bao nhiêu layer mà Hk lấy đệm.

Request Time tk, là thời gian mà Hk bắt đầu phát lại stream. Với hai peer

Hk và Hm, nếu tk < tm và tm- tk< Bk, thì Hk được hạn định là điểm cung cấp của Hm. Nói cách khác, Hm hướng xuống cửa sổ bộ đệm Hk, được định

các peer trong mọi khoảng thời gian, do đó ta có H0Hk (k = 1,…,N).

Supplying Peer Constraint Ck, tập hợp số lượng lớn nhất các peer cung

cấp mà Hk có thể stream một cách song song. Tác giả làm vậy để hạ thấp độ phức tạp của sự không đồng bộ streaming song song. Nếu chất lượng

streaming của Qk vẫn không thể ngang bằng tất cả các peer cung cấp do giwois hạn về băng thông ra hay sự khả thi của layer, tác giả sẽ cho phép H0 gửi các layer mất mát tới Hk.

Từ các đinh nghĩa trên, mục đích của tác giả là:

Bảng 2: Mục đích của giải thuật chia lớp [6]

 Ràng buộc đầu tiên chính là chất lượng streaming (Số các layer nhận được) của mỗi peer Hk không vượt quá băng thông vào của nó.

 Ràng buộc thứ hai là, như một peer cung cấp Hk không thể cho phép gửi đi nhiều layer hơn lượng băng thông ra của nó

Kỹ thuật

Phân tích các đối tượng thiết kế trong thuật toán như sau.

- Đầu tiên, mỗi peer Hk sẽ tự cấu hình phiên streaming riêng của nó (Các layer sẽ được stream từ peer đó)

- Thứ hai là đối với các yêu cầu của client trong các khoảng thời gian khác nhau, giải pháp của chúng ta sẽ là sự lớn mạnh - incremental, ví dụ: chất lượng streaming của các peer hiện thời phải được đặt trước khi trộm thêm các peer mới. Chẳng hạn một client mới Hk chỉ có thể tận dụng phần còn lại của băng thông đi ra của peer cung cấp cho nó

Thuật toán sau sẽ chứng minh rằng Hk được phép nhận dữ liệu từ một số không hạn chế các nguồn. Đây là thuật toán THAM LAM, nó luôn tận dụng tối đa nguồn băng thông đi ra của peer với số lượng các layer là nhỏ

Bảng 3: Giải thuật cơ bản trong chia lớp [6] Thực hiện với Hk, thuật toán sẽ bao gồm

+ Inputs:

(1) Ik, Băng thông đi vào của Hk;

(2) S = {H1,…, HM}, tập các Host có khả năng làm peer cung cấp cho Hk.

 Điều đó có nghĩa là Hk hướng xuống tất cả trong giới hạn cửa sổ bộ đệm từ H1 đến HM. Các peer đó được xắp xếp sao cho A1≤· A2≤…≤ AM. Thuật toán trở về với chất lượng streaming Qk, và chọn lọc các peer nguồn cung cấp đã được chọn vào tập P.

Hình 1.10 là các biểu đồ miêu tả hoạt động của thuật toán. Băng thông vào của Hk được phép nhận 11 layers, được thể hiện bằng các ô trắng - white bar. Nó yêu cầu các layer riêng lẻ từ các peer H1 đến H4. H1 có 3 layes trong bộ đệm, được thể hiện bởi 3 ô của nó. Tương tự H2 có 4 layers và thể hiện bới 4 ô. Vùng tô mờ của H1 tới H4 thể hiện số các layers của các băng thông đi ra được phép gử rằng các vùng tô mờ đó chỉ cho ta biết có bao nhiêu layers có thể được gửi. Ví dụ, H3 có 6 layers khả thi trong bộ đệm của nó, và nó có thể gửi đi 5 trong số đó. Vùng đen thể hiện các layers đã được phân phát.

Hình 2.9: Các biểu đồ miêu tả hoạt động của thuật toán chia lớp cơ bản

Khởi tạo, Qk tại Hk là 0 (Hình 1.10 (a)). Hk đầu tiên dùng băng thông ra của H1 và tăng Qk lên 2 (Hình 1.10 (b)). Sau đó, dù H2 có khả năng đáp ứng 4 layers, nhưng Hk chỉ cần 2 layers của nó, do đó 2 layers được phân phát tới Hk (Hình 1.10 (c)). Cũng bởi như vậy như vậy, H3 chỉ cần đưa ra 2 layers. Lưu ý rằng các layers mà đã được phân phát được di chuyển lên, khi mà là trống để đưa ra các layers khả thi trong bộ đệm của (Hình 1.10 (d)). Sau khi H4 thực hiện xong, S sẽ trở thành rỗng và khi đó Qk vẫn ít hơn 2 layers so với chất lượng mong muốn của Hk (Hình 1.10 (e)). Cuối cùng chúng ta yêu cầu server gửi lại nhứng layer bị mất tới Hk (Hình 1.10 (f)).

Dễ thấy: Giải thuật cơ bản có thể phân phối số layer lớn nhất có thể cho Hk

Giải thuật nâng cao với các ràng buộc của các peer cung cấp

Bây giờ chúng ta sẽ trở lại với bài toán nhiều ràng buộc hơn (giải thuật nâng cao), khi đó Hk chỉ có thể nhận được dòng stream từ một số hạn chế các peer nguồn cung cấp. Dưới các ràng buộc Ck, thuật toán mở rộng có thể phân phát một lượng tối đa các layer cho Hk.

Sự rời mạng của node

Sự rời mạng của các node có thể xảy ra một cách thường xuyên do sự thoát của người dùng (user logout), hỏng máy (machine crash) hoạc các lỗi của mạng (network failure). Dựa theo việc mất mát ở một peer cung cấp Hm, peer nhận Hk sẽ nhận ra cái phiên của nó bằng việc thực hiện lại thuật toán phân phối

layer. Tuy nhiên, trong khoàng thời gian ngắn ngủi (transient period) đó, chất lượng streaming của nó có thể bị giảm sút..

. Do đó, việc lấy bộ đệm có thể thực sự hiệu quả trong việc cảm nhận sự giảm sút về chất lượng.

Tốc độ không đồng nhất của các lớp (layer)

Chúng ta đã ghi nhận rằng tất cả các layers đều có một tốc độ streaming riêng biệt. Tuy nhiên, khi thực hiện trường hợp đó không thường xảy ra, tác giả cũng đánh giá và mô phỏng với việc tốc độ không đồng nhất của các layer

Đánh giá hiệu quả

Kết quả mô phỏng chỉ ra hiệu quả về băng thông cũng như hiệu quả về tiêu hao băng thông server của layered tốt hơn hẳn so với các version trước mà không chia layer.

Kết quả thự nghiệm cũng cho thấy với ràng buộc giữa chất lượng thỏa mãn trung bình vào số các peer cung cấp, số các peer thảo mãn lượng layer nhân được nếu không có rằng buộc số lượng các peer cung cấp là lớn nhất.

Sự đánh giá giữa chất lượng thỏa mãn trung bình vào khả năng (thời gian) lưu trong bộ đệm của mỗi peer cung cấp: đối với các peer cung cấp có khoảng thời gian lưu trong bộ đệm lâu hơn thì chất lượng băng thông nhận được ở peer đích là tốt hơn.

Đánh giá theo tỉ lệ băng thông ra/ vào (outbound/inbound bandwith) của các peer cung cấp. Khi tỉ lệ băng thông vào/ra của các peer cung cấp là 0.5, chỉ có 50% các peer thu được chất lượng dòng multimedia yêu cầu.

Với Modem SDN có mọi peer (100%) thỏa mãn chất lượng dòng multimedia.

Kết luận

Layered P2P streaming là một cách tiếp cận triển vọng để truyền tải nội dung hình trực tiếp từ một nguồn đơn lẻ cho một số lượng lớn các đích nhận (peer) qua mạng Internet mà không cần sự hỗ trợ đặc biệt nào từ hệ thống mạng. Cách tiếp cận này lấy tối đa chất lượng streaming trong các peer không đồng nhất, tiết kiệm được băng thông server và hiệu quả trong việc tận dụng tài nguyên băng thông của các peer cung cấp đặc biệt trong một mạng ngang hàng không đồng bộ và đồng nhất giữa các node ứng dụng. Mặc dù việc chứng minh bằng mô phỏng thông qua việc xây dựng các hệ thống mạng chưa tính đến các yếu tố thực tiễn, các giá trị đưa vào đều là giả định nhưng kết quả thu được cũng chứng minh

to get” - hay việc tổ chức hệ thông mạng peer-to-peer theo mô hình mesh based thay vì tổ chức theo một cây phân cấp sẽ làm cho bài toán trở nên hoàn thiện hơn. Phương pháp chia lớp có hạn chế là chất lượng phụ thuộc vào tỉ lệ băng thông vào/ra cũng như dung lượng bộ đệm của các Peer. Ngoài ra, việc phát lại layer bị thiếu sau mỗi phiên streaming thường phải yêu cầu lại từ server có thể làm cho chất lượng “live” của Media không đạt yêu cầu, trong ví dụ đưa ra tác giả cũng không được đề cập cũng như chưa đưa ra các chiến lược cụ thể. Việc streaming trong mạng chưa tính đến các khả năng thực tiễn đối với truyền Multicast trong mạng ngang hàng như khoảng cách vị trí đị ý …

Việc chia layer dữ liệu và truyền với tốc độ khác nhau ngay tại Server khó có thể đánh giá được vì trong một mạng không đồng nhất, việc các định lượng yếu tố băng thông và bộ đệm của các peer dẫn đến tác giả cũng chưa đưa ra phương pháp hay giải thuật về việc chia layer, tốc độ truyền của các layer. Tuy nhiên cần nghi nhận layered P2P đem lại sự công bằng trong các peer, chất lượng streaming cao hơn và tiết kiệm băng thông tốt hơn, khả năng chống lại những sự mất/lỗi peer cao hơn đối với việc không chia layer.

2.3 Tổng kết

Trong chương này chúng ta đã đưa ra các khái niệm cơ bản về chất lượng dịch vụ QoS cũng như các thành phần và yếu tố của dịch vụ đảm bảo chất lượng.

Một phần của tài liệu Đánh giá chất lượng truyền tin multicast trên tầng ứng dụng (Trang 29)

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

(56 trang)