Khóa luận Đảm bảo chất lượng phục vụ cho truyền video streaming trong mạng không dây 802.11

Tài liệu Khóa luận Đảm bảo chất lượng phục vụ cho truyền video streaming trong mạng không dây 802.11: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CễNG NGHỆ Nguyễn Đỡnh Hũa ĐẢM BẢO CHẤT LƯỢNG DỊCH VỤ CHO VIỆC TRUYỀN VIDEO STREAMING TRONG MẠNG KHễNG DÂY 802.11 KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Cụng nghệ thụng tin HÀ NỘI - 2010 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CễNG NGHỆ Nguyễn Đỡnh Hũa ĐẢM BẢO CHẤT LƯỢNG DỊCH VỤ CHO VIỆC TRUYỀN VIDEO STREAMING TRONG MẠNG KHễNG DÂY 802.11 KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Cụng nghệ thụng tin Cỏn bộ hướng dẫn: TS. Nguyễn Hoài Sơn HÀ NỘI - 2010 Lời cảm ơn Em xin chõn thành cảm ơn cỏc thầy cụ trong trường Đại học Cụng Nghệ - ĐHQG Hà Nội ủó tận tỡnh giỳp ủỡ truyền ủạt kiến thức cho em trong suốt 4 năm học qua ủể em cú ủủ kiến thức hoàn thành khúa luận này Đặc biệt, em xin gửi lời cảm ơn sõu sắc tới thầy Nguyễn Hoài Sơn. Người ủó nhiện tỡnh ủộng viờn hướng dẫn và giỳp ủỡ em trong suốt quỏ trỡnh thực hiện khúa luận này. Em xin cảm ơn sự nhiệt tỡnh chia sẻ kinh nghiệm, ủúng gúp ý ...

pdf63 trang | Chia sẻ: haohao | Lượt xem: 1099 | Lượt tải: 0download
Bạn đang xem trước 20 trang mẫu tài liệu Khóa luận Đảm bảo chất lượng phục vụ cho truyền video streaming trong mạng không dây 802.11, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CƠNG NGHỆ Nguyễn Đình Hịa ĐẢM BẢO CHẤT LƯỢNG DỊCH VỤ CHO VIỆC TRUYỀN VIDEO STREAMING TRONG MẠNG KHƠNG DÂY 802.11 KHỐ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Cơng nghệ thơng tin HÀ NỘI - 2010 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CƠNG NGHỆ Nguyễn Đình Hịa ĐẢM BẢO CHẤT LƯỢNG DỊCH VỤ CHO VIỆC TRUYỀN VIDEO STREAMING TRONG MẠNG KHƠNG DÂY 802.11 KHỐ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Cơng nghệ thơng tin Cán bộ hướng dẫn: TS. Nguyễn Hồi Sơn HÀ NỘI - 2010 Lời cảm ơn Em xin chân thành cảm ơn các thầy cơ trong trường Đại học Cơng Nghệ - ĐHQG Hà Nội đã tận tình giúp đỡ truyền đạt kiến thức cho em trong suốt 4 năm học qua để em cĩ đủ kiến thức hồn thành khĩa luận này Đặc biệt, em xin gửi lời cảm ơn sâu sắc tới thầy Nguyễn Hồi Sơn. Người đã nhiện tình động viên hướng dẫn và giúp đỡ em trong suốt quá trình thực hiện khĩa luận này. Em xin cảm ơn sự nhiệt tình chia sẻ kinh nghiệm, đĩng gĩp ý kiến của nhĩm nghiên cứu do thầy Nguyễn Hồi Sơn hướng dẫn. Xin gửi lời cảm ơn tha thiết nhất tới bố mẹ và những người thân khác trong gia đình đã động viên giúp đỡ con/cháu rất nhiều trong suốt quá trình học tập cũng như hồn thành khĩa luận này. Mặc dù đã rất cố gắng hồn thành khĩa luận này với tất cả nỗ lực của bản thân, xong khĩa luận sẽ khĩ tránh khỏi những thiếu sĩt, kính mong quý thầy cơ tận tình chỉ bảo cho em những sai lầm cần khắc phục của mình. Một lần nữa em xin gửi tới tất cả mọi người lời cảm ơn chân thành nhất. Hà nội, tháng 05 năm 2010 Sinh viên : Nguyễn Đình Hịa Tĩm tắt Ngày nay, với sự phát triển của Internet các dịch vụ truyền thơng đa phương tiện ngày càng phát triển và đĩng vai trị quan trọng trong nhiều mặt của đời sống. Video streaming là một trong số những dịch vụ như thế. Trong video streaming, dữ liệu được truyền trực tiếp từ nguồn phát và hiển thị trực tiếp tại bên nhận trong khi truyền mà khơng cần phải đợi cho việc truyền dữ liệu kết thúc. Với đặc điểm như vậy dịch vụ video streaming cĩ những ràng buộc khá cao về băng thơng cao, độ trễ thấp, tỷ lệ mất gĩi tin thấp... Video streaming ngày càng được sử dung nhiều trong mạng khơng dây như mạng LAN khơng dây theo quy chuẩn IEEE 802.11. Bằng chứng là sự ra đời và phát triển của các ứng dụng như mobile tv, video call… Những ứng dụng này đã và đang được nghiên cứu cải tiến với mục tiêu cứu chủ yếu là làm sao để khắc phục các nhược điểm cố hữu của mạng khơng dây cũng như đáp ứng tốt các ràng buộc của video streaming. Tuy nhiên, vấn đề đảm bảo chất lượng dịch vụ của các dịch vụ video streaming vẫn cần cĩ sự hỗ trợ của mạng khơng dây. IEEE 802.11e nhằm đáp ứng yêu cầu đĩ. IEEE 802.11e là một biến thể của chuẩn IEEE 802.11. Nĩ định nghĩa tập các cải tiến về đảm bảo chất lượng dịch vụ dành cho mạng WLAN thơng qua các sửa đổi ở tầng MAC. Trong việc truyền video streaming chuẩn IEEE 802.11e đã cĩ nhiều cải tiến mang tính tích cực. IEEE 802.11e cho phép phân cấp các dịch vụ bằng cách gán cho luồng dữ liệu của chúng tương ứng với các độ ưu tiên khác nhau. Các gĩi tin của dịch vụ cĩ độ ưu tiên cao hơn cĩ thể dành được cơ hội truyền tốt hơn các gĩi tin của dịch vụ cĩ độ ưu tiên thấp hơn. Tuy nhiên việc đảm bảo chất lượng truyền video streaming trong mạng khơng dây sử dụng chuẩn IEEE 802.11e vẫn tồn tại những điểm bất cập. Ví dụ, việc phân tầng trong video streaming sẽ cho kết quả là một video sẽ được truyền dưới dạng các luồng khác nhau để đáp ứng những nhu cầu và tình trạng mạng khác nhau. Nhưng với IEEE 802.11e các luồng này sẽ được xếp vào cùng một độ ưu tiên việc này sẽ làm cho chất lượng dịch vụ kém đi khi tình trạng mạng tắc nghẽn. Khĩa luận sẽ trình bày giải pháp để hỗ trợ tốt hợn việc đảm bảo chất lượng của việc truyền video streaming trong mạng khơng dây. Đĩ là giải pháp gán độ ưu tiên động cho các luồng dữ liệu tương ứng với các tầng của video streaming. Việc truyền video streaming cĩ thể đạt được sự linh động hơn vì các luồng dữ liệu sẽ cĩ khả năng thay đổi được độ ưu tiên trong quá trình truyền. Giải pháp này sẽ đảm bảo duy trì dịch vụ cũng như đảm bảo chất lượng dịch vụ của video streaming một cách tốt hơn. Mục lục Chương 1. Tổng quan về video streaming .................................................................... 1 1.1. Giới thiệu về video streaming ............................................................................... 1 1.1.1. Nén dữ liệu ......................................................................................................... 2 1.1.2. Điều khiển chất lượng dịch vụ tầng ứng dụng ................................................... 3 1.1.2.1. Điều khiển tắc nghẽn ...................................................................................... 4 1.1.2.2. Điều khiển lỗi .................................................................................................. 7 1.1.2.3. Che dấu lỗi ...................................................................................................... 9 1.1.3. Dịch vụ phân phối phương tiện truyền thơng liên tục ....................................... 9 1.1.4. Máy chủ (streaming server) ............................................................................. 12 1.1.5. Các giao thức video streaming ......................................................................... 12 1.1.6. Cơ chế đồng bộ video streaming...................................................................... 13 1.2. Kỹ thuật phân tầng trong video streaming .......................................................... 13 1.3. Đảm bảo chất lượng dịch vụ truyền video streaming. ........................................ 15 Chương 2. Chuẩn IEEE 802.11e về đảm bảo chất lượng dịch vụ trong mạng khơng dây ................................................................................................................... 17 2.1. Tổng quan về IEEE 802.11 MAC ....................................................................... 17 2.1.1. Các khoảng liên khung (Inter-frame space) ..................................................... 17 2.1.2. Chức năng phối hợp phân tán (Distributed Coordination Function - DCF) .... 19 2.1.2.1. Thủ tục quay lui ngẫu nhiên (random backoff) ............................................ 19 2.1.2.2. Thủ tục xác nhận ACK .................................................................................. 20 2.1.3. Chức năng phối hợp điểm (Point Coordination Function - PCF) .................... 21 2.1.3.1. Chu kỳ khơng tranh chấp .............................................................................. 21 2.1.3.2. Thủ tục truy cập PCF ................................................................................... 22 2.2. Chuẩn IEEE 802.11e ........................................................................................... 23 2.2.1. Chức năng phối hợp lai (Hybrid Coordination Function - HCF) .................... 23 2.2.1.1. EDCF (Enhanced Distributed Coordinated Function) ................................ 24 2.2.1.2. HCCA(HCF controlled channel access) ...................................................... 27 2.3. Truyền video streaming trong mạng khơng dây IEEE 802.11e .......................... 28 Chương 3. Giải pháp gán độ ưu tiên động cho các luồng video streaming trong mạng IEEE 802.11e ................................................................................................................. 30 3.1. Vấn đề nghiên cứu ............................................................................................... 30 3.2. Giải pháp gán độ ưu tiên động cho các luồng video streaming .......................... 37 3.2.1. Các tham số đánh giá mơi trường truyền. ........................................................ 38 3.2.2. Mơ tả giải pháp. ............................................................................................... 39 3.3. Phân tích đánh giá ............................................................................................... 41 Chương 4. Đánh giá giải pháp độ ưu tiên động cho các luồng video streaming trong mạng IEEE 802.11e ....................................................................................................... 43 4.1. Mơi trường mơ phỏng ......................................................................................... 43 4.1.1. Xây dựng chương trình mơ phỏng. .................................................................. 43 4.1.2. Kịch bản mơ phỏng .......................................................................................... 45 4.1.2.1. Các tham số mơi trường ............................................................................... 45 4.1.2.2. Thơng số tại các trạm ................................................................................... 46 4.2. Kết quả mơ phỏng ............................................................................................... 47 4.2.1. Đánh giá về thơng lượng .................................................................................. 47 4.2.2. Đánh giá về độ trễ ............................................................................................ 49 Chương 5. Kết luận ..................................................................................................... 52 5.1. Kết luận ............................................................................................................... 52 5.2. Hướng phát triển tiếp theo ................................................................................... 52 Tài liệu tham khảo ......................................................................................................... 53 Mở đầu Trong những năm gần đây với sự phát triển mạnh của cơng nghệ mạng nĩi chung và cơng nghệ mạng khơng dây nĩi riêng. Ngày càng cĩ nhiều ứng dụng ra đời, một trong số đĩ là các ứng dụng video streaming với điển hình như là video call, mobile tv… Những ứng dụng này, đang ngày càng được phát triển và hồn thiện dần. Tuy nhiên, để duy trì và đảm bảo chất lượng cho các ứng dụng này khơng phải là việc đơn giản. Các ứng dụng video streaming luơn luơn gắn liền với những ràng buộc về độ trễ, thơng lượng cũng như tỷ lệ mất gĩi tin nhất định. Mạng khơng dây lại là mơi trường khơng được ổn định như mạng cĩ dây. Trong mạng khơng dây việc kiểm sốt băng thơng và độ trễ cũng như tỷ lệ mất gĩi tin là rất khĩ. Mặc dù, việc hỗ trợ đảm bảo chất lượng dịch vụ đã được hỗ trợ trong mạng khơng dây với việc áp dụng chuẩn IEEE 802.11e, tuy nhiên chuẩn này chỉ dừng lại ở mức cung cấp việc cho phép các ứng dụng được gán độ ưu tiên khác nhau từ đĩ cơ hội truyền dữ liệu của các luồng dữ liệu tương ứng với dịch vụ sẽ khác nhau. Tuy nhiên, bản thân dịch vụ video streaming lại là việc truyền một tập hợp các luồng dữ liệu tương ứng với các tầng trong cơ chế phân tầng của nĩ. Theo chuẩn 802.11e thì các luồng này vẫn sẽ cĩ cùng độ ưu tiên và sẽ cĩ cơ hội truyền ngang nhau. Mặt khác, các tầng của video streaming là khơng tương đương nhau, mỗi tầng lại cĩ mức độ quan trọng khác nhau. Nếu để đảm bảo chất lượng dịch vụ cho video streaming một cách hiệu quả thì các luồng này phải được phân biệt với nhau ở tầng MAC để cĩ cơ chế phân phối cơ hội truyền phù hợp. Chuẩn 802.11e khơng làm được việc này. Vậy phải cĩ một giải pháp nào đĩ để cĩ thể hỗ trợ việc đảm bảo chất lượng dịch vụ phù hợp với cơ chế phân tầng của video streaming sao cho hiệu suất việc truyền video streaming đạt hiệu quả cao hơn. Khĩa luận sẽ đề xuất giải pháp gán độ ưu tiên động cho các luồng dữ liệu tương ứng với các tầng của video streaming. Trong video streaming các tầng video được phân cấp độ quan trọng theo thứ tự giảm dần như sau : tầng cơ bản, tầng mở rộng 1, tầng mở rộng 2… Với trường hợp mạng rảnh rỗi, việc các luồng dữ liệu của các tầng này đều nhận giá trị độ ưu tiên cao như trong chuẩn IEEE 802.11e mơ tả là hợp lý, để tận dụng băng thơng của mơi trường truyền cũng như giảm thiểu độ trễ của gĩi tin. Nhưng, với trường hợp mạng bận việc phân bổ độ ưu tiên như vậy là khơng hợp lý bởi vì nĩ sẽ làm hiệu quả truyền của tất cả các luồng cùng giảm xuống. Do đĩ tùy theo mức độ bận của mơi trường truyền, các luồng dữ liệu sẽ được gán lại độ ưu tiên một cách hợp lý, sao cho đảm bảo rằng việc truyền của luồng dữ liệu quan trọng phải cĩ hiệu quả cao, và cố gắng truyền dữ liệu của luồng cĩ độ quan trọng nhỏ hơn một mức cĩ thể. Khĩa luận chia thành năm chương. Chương 1. Giới thiệu tổng quan về dịch vụ video streaming, cơ chế phân tầng trong video streaming và đảm bảo chất lượng dịch vụ truyền video streaming. Chương 2. Mơ tả tổng quan về 802.11 MAC và chuẩn 802.11e đồng thời giới thiệu và nhận xét về việc truyền video streaming trong 802.11e Chương 3. Đi sâu phân tích và chứng minh sự cần thiết của việc gán độ ưu tiên động cho các luồng video streaming. Sau đĩ sẽ trình bày giải pháp đưa ra và nhận xét về giải pháp Chương 4. Tiến hành đánh giá giải pháp gán độ ưu tiên động cho các luồng video streaming với chuẩn ieee 802.11e bằng cách xây dựng thí nghiệm mơ phỏng trên bộ cơng cụ mơ phỏng ns2. Chương 5. Kế luận và nêu hướng nghiên cứu tiếp theo. 1 Chương 1. Tổng quan về video streaming 1.1. Giới thiệu về video streaming Video streaming là phương thức chuyển giao dữ liệu video ở dạng nén trên Internet một cách đều đặn và liên tục, sao cho người dùng khơng cần đợi tới khi cĩ tồn bộ tập tin mới cĩ thể xem được nội dung của nĩ mà cĩ thể bắt đầu hiển thị các dữ liệu đa phương tiện khi mà một phần dữ liệu đã được nhận. Người dùng phải dùng một chương trình đặt biệt nĩ cĩ thể giải nén dữ liệu và phân phối dữ liệu hình ảnh cho mành hình cũng như âm thanh tới loa. Video streaming được phát triển dựa trên hai cơng nghệ chủ chốt đĩ là các cơng nghệ mã hĩa video và các cơng nghê tăng khả năng mở rộng việc phân phối video. Hình 1.1. Kiến trúc hệ thống video streaming Ban đầu dữ liệu thơ được nén lại thơng qua bộ nén dữ liệu, và được lưu trữ tại thiết bị lưu trữ bên trong server. Sau đĩ khi cĩ yêu cầu từ client thì server sẽ lấy các dữ liệu tương ứng đã được nén lại trong thiết bị lưu trữ, và chuyển giao tới cho bộ phận điều khiển chất lượng chất lượng dịch vụ tầng ứng dụng. Bộ phận này sẽ tùy vào yêu cầu ứng dụng, tình trạng mạng để tạo các dịng lưu lượng hợp lý, sau đĩ sẽ đẩy các luồng dữ liệu xuống cho tầng giao vận (transport layer). Các giao thức tầng giao vận sẽ cĩ trách nhiệm gửi dữ liệu thơng qua Internet tới client. Khi các gĩi tin được lưu Raw Video Raw Audio Internet (Continuous media distribution services) Streaming Server Client/Receiver Storage Device Compressed Video Compressed Audio Application-layer QoS Control Video Compression Audio Compression Transport Protocol Video Decoder Audio Decoder Application-layer QoS Control Transport Protocol Media Syschronization 2 chuyển trên mạng, nĩ cĩ thể bị mất mát hoặc là cĩ độ trễ lớn khi mạng bị tắc nghẽn. Để hỗ trợ chất lượng video/audio truyền tải, các dịch vụ hỗ trợ truyền thơng đa phương tiện liên tục được triển khai (ví dụ như caching …). Khi các gĩi tin đến được client thành cơng, nĩ được truyền lên tầng giao vận, rồi tiếp đĩ là bộ phận điều khiển chất lượng dịch vụ tầng ứng dụng. Sau đĩ chúng được giải mã để cho ra các dữ liệu thơ ban đầu, tiếp theo để cĩ thể sử dụng được những dữ liệu này, cần phải sử dụng đến bộ đồng bộ hĩa đa phương tiện để đồng bộ video và audio một cách chuẩn xác. Vậy tức là mỗi một hệ thống video streaming cần thiết phải cĩ sáu thành phần tương ứng với sáu bước thao tác như trên, bây giờ ta sẽ đi cụ thể từng thành phần đĩ. 1.1.1. Nén dữ liệu Các dữ liệu trong streaming server luơn luơn phải được nén trước khi truyền để giảm thiểu dung lượng truyền trên mạng. Đồng thời, khi dữ liệu được nhận ở client cũng phải thực hiện thao tác giải nén để thu được dữ liệu gốc. Cĩ hai kiểu nén dữ liệu cơ bản là phương pháp nén khơng mở rộng (non-scalable compress), và phương pháp nén mở rộng (scalable compress). Phương pháp nén khơng mở rộng : Trong phương pháp nén khơng mở rộng, dữ liệu thu được sau khi nén là một chuỗi bit. Chuỗi bit này được gửi tới bên nhận, sau đĩ quá trình giải nén được thực thi trên chuỗi bit và kết quả thu được là dữ liệu tương ứng với dữ liệu gốc ở bên gửi. Raw video DCT Q VLC Compressed Bit-stream Compressed Bit-stream DCT Q VLC Decoded video DCT: Discrete Cosine Transform Q: Quantization VLC: Variable Length Coding VLD: Variable Length Decoding IQ: Inverse Quantization IDCT: Inverse DCT Hình 1.2. (a) nén khơng mở rộng ; (b) giải nén khơng mở rộng 3 Phương pháp nén mở rộng : Trong phương pháp nén mở rộng gốc được chia thành các luồng con, trong đĩ cĩ một luồng được gọi là luồng cơ bản, khi thực hiện quá trình giải nén nĩ khơng phụ thuộc vào bất kỳ một luồng con nào khác, và cung cấp chất lượng video ở dạng thơ. Các luồng con khác gọi là luồng mở rộng, việc giải nén chúng phải phụ thuộc vào luồng cơ bản, và chúng cung cấp chất lượng video tốt hơn. Luồng tồn phần (kết hợp của tất cả các luồng ) sẽ cung cấp chất lượng video tốt nhất. 1.1.2. Điều khiển chất lượng dịch vụ tầng ứng dụng Phần này mơ tả các kỹ thuật điều khiển tắc nghẽn và điều khiển lỗi (chỉ áp dụng ở các hệ thống đầu cuối và khơng cĩ bất kỳ yêu cầu nào với mạng) Raw Video DCT Q VLC Base Layer Compressed Bit-stream IQ Q VLC Enhancement Layer Compressed Bit-stream - (a) Base Layer Compressed Bit-stream Enhancement Layer Compressed Bit-stream VLD VLD IQ IQ IDCT IDCT Base Layer Decode Video Enhancement Layer Decode Video (b) Hình 1.3. (a) nén mở rộng ; (b) giải nén khơng mở 4 1.1.2.1. Điều khiển tắc nghẽn Nội dung chính của điều khiển tắc nghẽn là làm giảm độ trễ và mất gĩi tin. Cơ chế của nĩ dựa trên điều khiển tốc độ truyền (rate control) và định hình tỷ lệ (rate shaping). Điều khiển tốc độ truyền là kỹ thuật để giảm thiểu một cách nhỏ nhất cĩ thể sự tắc nghẽn, bằng cách điều chỉnh tốc độ truyền video dựa vào tình trạng hiện thời của mạng. Cĩ ba loại điều khiển tốc độ truyền là : căn cứ vào bên gửi, căn cứ vào bên nhận, và phương pháp kết hợp. a. Phương pháp căn cứ vào bên gửi : Trong phương pháp này, bên gửi chịu trách nhiệm điều chỉnh tốc độ truyền dữ liệu. Dựa vào thơng tin từ các gĩi tin phản hồi, bên gửi cĩ thể xác định được tình trạng hiện thời của mạng, từ đĩ cĩ thể điều chỉnh tốc độ truyền một cách hợp lý. Kỹ thuật này cĩ thể sử dụng trong cả truyền unicast cũng như multicast. Hình 1.5. (a) Truyền video unicast ; (b) Truyền video multicast Quality of service Congestion control Error control Hình 1.4. mơ hình điều khiển chất lượng dịch vụ 5 Với truyền video unicast cĩ hai phương thức thực thi việc điều chỉnh tốc độ truyền bên gửi, đĩ là dựa trên cơ sở thăm dị và dựa trên mẫu. • Phương thức dựa trên cơ sở thăm dị (probe-base) : Tư tưởng chính của phương thức này chính là việc duy trì tỷ lệ mất gĩi ở dưới một ngưỡng nhất định. Cĩ hai cách để thiết lập tốc độ truyền một là tăng theo cấp số cộng và giảm theo cấp số nhân, hai là tăng theo cấp số nhân và giảm theo cấp số nhân. • Phương thức dựa trên mẫu (model-base) : Dựa vào mơ hình của giao thức TCP, thơng lượng của bên gửi sẽ được xác định theo cơng thức : pRTT MTU × × = 22.1λ Trong đĩ : λ: thơng lượng. MTU: kích thước gĩi tin được dùng trong kết nối. RTT: round-trip time của một kết nối. p: tỷ lệ mất gĩi tin của kết nối. Vì lý do dựa trên mơ hình của giao thức TCP mà phương thức này cịn được gọi là phương thức điều chỉnh tốc độ truyền “TCP-frendly”. Với truyền video multicast, bên gửi sẽ sử dụng một kênh truyền đơn để gửi dữ liệu cho các bên nhận, trong trường hợp multicast thì chỉ cĩ phương thức dựa trên cơ sở thăm dị được sử dụng (điều chỉnh tỉ lệ truyền sao cho luơn nằm dưới một ngưỡng nhất định). Phương thức sử dụng kênh chung này rất hiệu quả cho các bên nhận sử dụng chung 1 kênh. Tuy nhiên, phương pháp này thiếu tính mềm dẻo bởi vì các yêu cầu từ các bên nhận là khác nhau, băng thơng truy cập kênh chung của các bên cũng khác nhau. b. Phương pháp căn cứ vào bên nhận : Bên nhận kiểm sốt tốc độ nhận dữ liệu bằng cách thêm hoặc bớt các kênh. Thơng thường, phương pháp này sử dụng trong việc truyền multicast. Tương tự như trong phương pháp căn cứ vào bên gửi, phương pháp căn cứ vào bên nhận cũng sử dụng 2 phương thức : phương thức dựa trên cơ sở thăm dị và phương thức dựa trên mẫu. 6 • Phương thức dựa trên cơ sở thăm dị bao gồm hai phần : Khi khơng phát hiện ra tắc nghẽn, bên nhận sẽ điều tra mơi trường bằng cách thêm một kênh truyền, nếu như vẫn khơng phát hiện ra tắc nghẽn thì xem như việc thêm kênh truyền là thành cơng. Ngược lại nếu sau khi thêm mà phát hiện tắc nghẽn, thì bên nhận phải hủy ngay kênh truyền vừa thêm vào. Khi phát hiện ra mơi trường đang tắc nghẽn, bên gửi tự động xĩa một hoặc vài kênh truyền để giảm tốc độ truyền tải. • Phương thức dựa trên mẫu vẫn sử dụng cơng thức tính thơng lượng như ở phương pháp căn cứ vào bên gửi, khơng cĩ gì khác biệt c. Phương pháp kết hợp : Phương pháp này là sự tổng hợp của cả hai phương pháp căn cứ vào bên gửi và căn cứ vào bên nhận. Tức là bên nhận vẫn điều chỉnh tốc độ nhận bằng cách thêm bớt các kênh truyền, đồng thời bên gửi cũng thiết lập tốc độ gửi hợp lý dựa vào các gĩi tin phản hồi. Định hình tỷ lệ (rate shaping) : Mục tiêu của định hình tỷ lệ là cân đối tỷ lệ giữa tốc độ truyền luồng dữ liệu trước khi nén và tốc độ hiện thời của mạng. Bởi vì, tốc độ video đã lưu ở máy chủ cĩ thể khơng phù hợp với băng thơng hiện thời của mạng. Bộ đình hình tỷ lệ chỉ được sử dụng trong trường hợp, phương pháp điều khiển tắc nghẽn là phương pháp căn cứ vào bên gửi. Cĩ một số phương pháp định hình tỷ lệ như sau : Lọc mã (Codec filter) : Sử dụng để giải nén và nén video. Thơng thường phương thức này dùng để chuyển mã giữa các phương thức nén khác nhau. Việc giải nén và nén lại là khơng hồn tồn (khơng giản nén, nén lại tồn bộ video) mà chỉ thao tác dựa vào phương thức nén. Lọc bỏ khung (Frame-dropping filter) : Phân biệt các loại khung và hủy các khung dựa vào việc phân chia độ quan trọng của chúng (ví dụ thứ tự hạ dần là B- frame, P-frame, I-frame). Bộ lọc bỏ frame dùng để làm giảm tốc độ truyền video bằng cách từ chối một số khung và truyền các khung cịn lại ở tốc độ thấp. Lọc bỏ tầng (Layer-dropping filter) : Phân biệt các tầng và loại bỏ các tầng tùy theo độ quan trọng của chúng. Việc loại bỏ các tầng theo thứ tự từ các tầng mở rộng cao nhất tới tầng cơ sở. Lọc theo tần số (Frequency filter) : thực hiện các thao tác ở tầng nén dữ liệu. Cơ chế của lọc theo tần số gồm ba thành phần : 7 - Lọc thấp : loại bỏ hệ số DCT ở những tần số cao - Lọc giảm màu : thực hiện cơng việc giống như ở phần lọc thấp, tuy nhiên nĩ chỉ thao tác trên thơng tin về độ màu sắc của video. - Lọc màu thành khối trống : loại bỏ tất cả các thơng tin về màu sắc của video. Trong MPEG nĩ chỉ đơn giản là thay thế mỗi khối chứa thơng tin màu sắc bởi khối trống. Khơng giống với lọc bỏ khối, lọc theo tầng sẽ làm giảm bớt băng thơng mà khơng tác động tới tốc độ truyền khối. Nhưng cái giá phải trả là chất lượng của khối sẽ bị giảm đi. Lọc lượng tử hĩa lại (Re-quantization filter) : Thực thi các thao tác ở tầng nén dữ liệu. Đầu tiên, bộ lọc trích các hệ số DCT từ các dịng video đã được nén thơng qua các kỹ thuật tương tự như bỏ lượng tử hĩa. Sau đĩ, bộ lọc lượng tửng hĩa lại các hệ số DCT với các bước lượng tử hĩa lớn hơn, điều đĩ tạo nên hiệu quả là giảm bớt tốc độ. 1.1.2.2. Điều khiển lỗi Bao gồm bốn cơ chế chính FEC (forward error correction), truyền lại (retransmission), mã hĩa lỗi đàn hồi (Error-resilient encoding) và che dấu lỗi (Error concealment. a. FEC : Nguyên lý của FEC là thêm thơng tin vào thơng điệp gốc để cĩ thể xây dựng lại thơng điệp trong trường hợp cĩ mất mát xảy ra. Các loại cơ bản của thơng tin thêm vào gồm : Mã hĩa kênh (channel coding), Mã hĩa nguồn (source coding-based FEC) và Mã hĩa kết hợp nguồn/kênh (joint source/channel coding). Ta sẽ tìm hiểu từng loại thơng tin thêm này. • Mã hĩa kênh (channel coding) : Trong các ứng dụng Internet, mã hĩa kênh thơng thường sử dụng với thuật ngữ mã khĩa khối (block codes). Mỗi một video ban đầu chia ra làm các đoạn (segment). Mỗi một đoạn tương ứng với k gĩi tin. Sau đĩ ứng với mỗi đoạn, phương pháp mã hĩa khối được áp dụng cho k gĩi tin để tạo ra một khối n gĩi tin (n>k). Để chuyển đổi tuyệt đối một đoạn, một người dùng chỉ cần bất kỳ k gĩi tin trong số n gĩi tin kể trên. • Mã hĩa nguồn (source coding-based FEC - SFEC) : Là phát kiến gần đây nhất trong số các phương pháp FEC dành cho việc truyền video trên Internet. Giống mã hĩa kênh, mã hĩa nguồn cũng thêm thơng tin dư thừa để phục hồi. Ví dụ, gĩi tin thứ n sẽ 8 chứa nhĩm khối thứ n (group of blocks) và thơng tin dư thừa của nhĩm khối thứ n-1. Đĩ là một phiên bản nén của nhĩm khối thứ n-1 với lượng tử lớn hơn. • Mã hĩa kết hợp nguồn/kênh : là một cách tiếp cận để tối ưu phân bổ tỷ lệ giữa mã hố nguồn và mã hố kênh. b. Truyền lại với ràng buộc độ trễ : Khi bên nhận phát hiện mất gĩi N, nếu (Tc + RTT + Ds < Td(N)) bên nhận sẽ gửi yêu cầu cho bên gửi để gửi lại gĩi N. Ở đây Tc là thời gian hiện tại, RTT là round trip time, Ds là một thuật ngữ yếu, Ds cĩ thể bao gồm dung sai của sự ước lượng RTT, thời gian trả lời của bên gửi, thời gian giải mã, T(N) là thời gian mà N phải hiển thị. c. Mã hĩa lỗi đàn hồi : Mục đích là để giảm thiểu lỗi của video đã nén do việc mất gĩi tin. Chuẩn chung của phương pháp mã hĩa lỗi đàn hồi bao gồm đồng bộ lại nhãn, chia dữ liệu, khơi phục dữ liệu. Nhưng, những cách thức này lại khơng phù hợp với mơi trường wireless cũng áp dụng được cho mơi trường internet. Do vậy, chúng ta sẽ khơng xét các cơng cụ đàn hồi lỗi. Thay vào đĩ chúng ta sẽ trình bày phương thức mã hĩa đa mơ tả (MDC), phương thức này phù hợp hơn với việc truyền video trên Internet. Với MDC, một video gốc sẽ được mã hĩa thành nhiều luồng theo cách sau : Mỗi một sự mơ tả cung cấp chất lượng cĩ thể chấp nhận được, kết hợp nhiều mơ tả lại với nhau thì thu được chất lượng tốt hơn. Ưu điểm của MCD là : - Cĩ tính kháng cự tốt với việc mất mát : Nếu một bên nhận nào đĩ chỉ nhận được một mơ tả, thì nĩ vẫn cĩ thể thu được video với chất lượng chấp nhận được. - Cĩ tính tăng cường chất lượng : Nếu một bên nhận nào đĩ nhận được nhiều mơ tả khác nhau của video, thì nĩ cĩ thể xây dựng được video cĩ chất lượng tốt bằng cách kết hợp các mơ tả lại với nhau (càng nhiều mơ tả thì chất lượng càng tốt). Tuy nhiên, những ưu điểm đĩ cĩ cái giá của nĩ. Để tạo một mơ tả cung cấp các chất lượng chấp nhận được, mỗi mơ tả cần phải đưa ra các thơng tin cần thiết về truyền hình ban đầu. Thêm vào đĩ, mặc dù kết hợp các mơ tả để cung cấp chât lượng tốt hơn, sự đúng đắn của việc kết hợp các mơ tả cĩ thể làm cho chất lượng nén sau này giảm đi. 9 1.1.2.3. Che dấu lỗi Mã hĩa lỗi đàn hồi được thực thi bên gửi bằng cách tăng cường khả năng cự với việc mất mát cho video nén ngay cả khi cĩ thể khơng cĩ sự mất mát gĩi tin. Người ta cịn gọi đây là phương pháp phịng bị, một cách tiếp cận khác gọi là phương pháp chống mất mát, được thực thi ở phía nhận khi mà việc mất gĩi tin là thực sự xảy ra phương pháp này gọi là che dấu lỗi. Về cơ bản, phương pháp này che dấu sự mất mát dữ liệu bằng cách trình diễn video sao cho khơng làm cho người xem nhận ra. Cĩ hai phương thức thực thi việc che dấu lỗi, đĩ là nội suy theo khơng gian và nội suy theo thời gian. Trong phương thức nội suy khơng gian, các dữ liệu tại những điểm ảnh bị mất cĩ thể được nội suy thơng qua những hàng xĩm của nĩ. Cịn nội suy thời gian thì sử dụng các dữ liệu của các frame nhận được ngay trước nĩ để xây dựng lại dữ liệu của frame bị mất. 1.1.3. Dịch vụ phân phối phương tiện truyền thơng liên tục Sự hỗ trợ từ tầng mạng cĩ thể cải thiện được độ trễ cũng như sự mất mát gĩi tin. Việc streaming video cũng như audio được xếp vào truyền thơng liên tục bởi vì chúng bao gồm một hàng đợi phân ngạch truyền thơng. Chúng truyền các thơng tin sao cho đủ để trình bày theo thời gian. Xây dựng trên cơ sở Internet (giao thức IP), dịch vụ phân phối phương tiện truyền thơng liên tục hướng tới mục đích là cung cấp chất lượng dịch vụ, và đạt được hiệu quả trong việc truyền video /audio trên cơ chế cố gắng tối đa của Internet. Dịch vụ phân phối phương tiện truyền thơng liên tục bao gồm 3 cơ chế chính là lọc dữ liệu ở tầng mạng, multicast trên tầng ứng dụng và nhân bản nội dung. a. Lọc dữ liệu ở tầng mạng Như kỹ thuật điều khiển tắc nghẽn, lọc dữ liêu ở tầng mạng cố gắng đạt được chất lượng truyền thơng tối đa trong điều kiện mạng tắc nghẽn. Bộ lọc ở máy chủ truyền thơng cĩ thể điều chỉnh tỷ lệ truyền video streaming theo tình trạng của mạng. Tuy nhiên, máy chủ quá bận nên khơng điều khiển được. Do đĩ, các nhà cung cấp dịch vụ cĩ thể cung cấp các bộ lọc ở mức mạng. 10 Hình 1.6. Bộ lọc được cài đặt ở tầng mạng Hình 1.6 trên mơ tả một ví dụ về việc đặt bộ lọc ở tầng mạng. Các node được đánh nhãn “R” thơng báo cho bộ định tuyến rằng khơng cĩ thơng tin về định dạng video streaming và cĩ thể ngẫu nhiên vứt bỏ gĩi tin. Các Node cĩ nhãn “Fillter” nhận yêu cầu từ máy khách và điều chỉnh luồng gửi bởi máy chủ tương ứng. Giải pháp này cho phép các nhà cung cấp dịch vụ cĩ thể thay thế bộ lọc trên mỗi node bằng bộ lọc ở mạng. Hơn nữa, cĩ thể cung cấp nhiều bộ lọc trên đường từ một máy chủ đến máy khách. Hình 1.7. Mơ hình hệ thống của bộ lọc ở tầng mạng. Để mơ phỏng vận hành của bộ lọc, mơ hình hệ thống được chỉ ra trong Hình 1.7. Mơ hình bao gồm máy chủ, máy khách và ít nhất một bộ lọc và hai kênh ảo giữa chúng. Một kênh ảo dùng để điều khiển, kênh khác dùng cho dữ liệu. Các kênh tương ứng tồn tại thành cặp với các bộ lọc. Kênh điều khiển cĩ hai hướng và cĩ thể là các kết nối TCP. Mơ hình trên chỉ cho phép máy khách cĩ thể kết nối với chỉ một máy (bộ lọc cuối cùng), và sẽ hoặc chuyển yêu cầu hoặc thực hiện luơn yêu cầu trên chúng. Sự vận hành của bộ lọc trên dữ liệu phẳng bao gồm: Nhận video streaming từ máy chủ hoặc bộ lọc trước, thực hiện các yêu cầu, truyền tiếp các yếu cầu tới bộ lọc trước của nĩ. Thơng thường, các bộ lọc loại frame được sử dụng trong lọc tầng mạng. Bên nhận cĩ thể thay đổi băng thơng của video streaming bằng cách gửi yêu cầu tới bộ lọc để tăng/giảm tỷ lệ loại bỏ frame. Để quyết định xem bộ lọc nên tăng hay giảm băng 11 thơng, bên nhận liên tục đo đạc tỷ lệ mất gĩi tin p. Dựa vào tỷ lệ mất gĩi tin, cơ chế điều khiển tỷ lệ cĩ thể được thực hiện. Nếu tỷ lệ mất gĩi tin lớn hơn ngưỡng α, máy khách sẽ yêu cầu bộ lọc tăng tỷ lệ loại frame. Nếu tỷ lệ đĩ thấp hơn ngưỡng khác β (β < α) thì bên nhận sẽ yêu cầu bộ lọc giảm tỷ lệ loại frame. Ưu điểm của bộ lọc loại gĩi tin sử dụng trên tầng mạng là: - Nâng cao chất lượng truyền thơng: Ví dụ, khi một video streaming từ kết nối luồng trên với băng thơng cịn lại nhiều hơn tới kết nối luồng dưới với băng thơng cịn lại ít hơn, sử dụng bộ lọc loại frame tại điểm kết nối (giữa kết nối luồng dưới và kết nối luồng trên) cĩ thể nâng cao chất lượng truyền thơng. Bời vì bộ lọc hiểu rằng định dạng của video streaming và cĩ thể loại bỏ các gĩi tin theo cách tốt nhất đảm bảo chất lượng luồng thay vào ngắt luồng. - Hiệu quả băng thơng: bộ lọc cĩ thể giúp lưu trữ tài nguyên của mạng bằng việc loại bỏ các frame tới trễ. b. Multicast tầng ứng dụng Các thiết kế trước đĩ cho video streaming trên Internet thích hợp với cách truyền thơng unicast (điểm-điểm) như email, trao đổi file và trình duyệt Web, nhưng khĩ cĩ thể hỗ trợ hiệu quả với việc truyền nội dung lớn. Chính vì vậy mà cơ chế truyền multicast đã dần thay thế với những ưu điểm vượt trội. Nĩ giảm tải cho máy chủ do mỗi node mạng cĩ thể đĩng vai trị nhận dữ liệu và nguồn để tiếp tục truyền dữ liệu sang các node khác. c. Nhân bản nội dung Một kỹ thuật quan trọng cho nâng cao độ mở rộng của các hệ thống truyền thơng là việc nhân bản nội dung. Nhân bản nội dung cĩ hai loại: lưu trữ và phản chiếu. Cả hai loại đều tìm một nội dung ở các máy khác gần đĩ và cĩ ưu điểm: - Giảm sử dụng băng thơng trong kết nối mạng. - Giảm tải trên các máy chủ truyền thơng. - Giảm độ trễ của máy khách. - Tăng độ sẵn cĩ. 12 1.1.4. Máy chủ (streaming server) Máy chủ luồng đĩng một vai trị quan trọng trong việc cung cấp dịch vụ video streaming. Để đưa ra những dịch vụ chất lượng cao, máy chủ luồng cần phải xử lý dữ liệu đa phương tiện với sự ràng buộc về thời gian. Ngồi ra, máy chủ luồng cũng cần hỗ trợ các hoạt động điều khiển VCR. Hơn nữa, nĩ cũng cần cung cấp chức năng truyền thơng kiểu đồng bộ. Để làm được điều đĩ, thơng thường, máy chủ luồng gồm các thành phần sau: - Cơ cấu truyền: Một cơ cấu truyền tham gia vào tầng ứng dụng và các giao thức giao vận được thực hiện trong máy chủ. Thơng qua cơ cấu truyền, các máy khách cĩ thể giao tiếp với một máy chủ và nhận nội dung đa phương tiện một cách liên tục và đồng bộ. - Hệ điều hành: Khác với hệ điều hành thơng thường, hệ điều hành cho máy chủ luồng cần phải cĩ thời gian thực an tồn cho các ứng dụng luồng. - Hệ lưu trữ: phải hỗ trợ lưu trữ truyền thơng liên tục và cĩ thể truy cập được. 1.1.5. Các giao thức video streaming Nhiều giao thức đã được thiết kế và chuẩn hố cho giao tiếp giữa máy chủ luồng và máy khách. Theo tính năng, các giao thức này liên quan trực tiếp đến video streaming Internet và cĩ thể chia thành ba loại sau: - Giao thức tầng mạng: Cung cấp dịch vụ mạng cơ bản như đánh địa chỉ mạng. Giao thức Internet (IP) phục vụ như giao thức tầng mạng cho việc video streaming trên Internet. - Giao thức tầng giao vận: Cung cấp các chức năng truyền tải giữa các điểm đầu cuối trong ứng dụng video streaming. Các giao thức bao giồm UDP, TCP, giao thức giao vận thời gian thực (RTP), giao thức điều khiển thời gian thực (RTCP). UDP và TCP là hai giao thức tầng giao vận thấp nhất trong khi RTP và RTCP là các giao thức tầng giao vận cao hơn. - Giao thức điều khiển phiên: Định nghĩa thơng điệp và cơ chế để điều hiển dữ liệu truyền thơng trong một phiên. RTSP và giao thức thiết lập phiên (SIP – session initiation protocol) là các giao thức tầng giao vận. 13 1.1.6. Cơ chế đồng bộ video streaming Đồng bộ video streaming chính là việc bảo trì mối quan hệ tạm thời giữa một luồng dữ liệu với một số luồng truyền thơng khác. Cĩ ba mức của đồng bộ gọi là đồng bộ trong luồng, đồng bộ luồng và đồng bộ đối tượng. - Đồng bộ luồng trong luồng: Tầng thấp nhất của truyền thơng liên tục hoặc dữ liệu thời gian thực là tầng dữ liệu truyền thơng. Đơn vị của tầng truyền thơng là các khối dữ liệu logic như frame truyền hình/truyền thanh. Đồng bộ ở mức này được gọi là đồng bộ luồng dư; bảo trì sự liên tục của các đơn vị dữ liệu. Khơng cĩ đồng bộ luồng dư, trình diễn của luồng cĩ thể bị ngắt bởi việc dừng và sự sai khác. - Đồng bộ luồng: tầng hai của dữ liệu thời gian thực là tầng luồng. Đơn vị của tầng luồng chính là một luồng. Đồng bộ ở tầng này chính là đồng bộ luồng, cĩ nhiệm vụ bảo trì mối quan hệ giữa các truyền thơng liên tục. Khơng cĩ đồng bộ luồng, sự khơng khớp giữa các luồng cĩ thể gây ra lỗi. Ví dụ, người dùng sẽ thấy khĩ chịu khi việc di chuyển mơi người nĩi khơng tương ứng với âm thanh. - Đồng bộ đối tượng: Tầng cao nhất của tài liệu đa phương tiện là tầng đối tượng, đĩ là sự kết hợp luồng và dữ liệu thời gian thực như chữ và hình ảnh. Đồng bộ ở tầng này gọi là đồng bộ đối tượng. Mục đích của nĩ là bắt đầu và kết thúc của trình diễn thời gian thực trong một khoảng thời gian vừa phải, nếu tại các điểm định nghĩa trước của đối tượng truyền thơng độc lập thời gian cĩ thể đạt được. Khơng cĩ sự đồng bộ này, người xem của việc trình diễn slide cĩ thể khĩ chịu vì tiếng bình cho một slide thì slide khác đã hiển thị. 1.2. Kỹ thuật phân tầng trong video streaming Việc mã hĩa video theo cách thơng thường phải xác định các tham số kích cỡ khung, tốc độ khung, tốc độ dữ liệu và chất lượng video. Một vấn đề nảy sinh là các tham số này cố định khi mã hĩa và rất khĩ thay đổi. Giả sử như mã hĩa chuẩn với tốc độ 6Mb/s sau đĩ lưu trữ video đã nén ở server, khi nĩ được yêu cầu streaming bên nhận mong muống tốc độ nhận dữ liệu sẽ là 6Mb/s nhưng vì một lý do nào đĩ tốc độ mà đường truyền cung cấp chỉ tối đa là 4Mb/s. Khi đĩ, server phải thực hiện chuyển mã để phù hợp với các tham số hiện tại, điều này địi hỏi sự tính tốn rất lớn. Cĩ một phương pháp cĩ thể giải quyết vấn đề này là tạo ra nhiều bản sao của video trên server để phục vụ cho yêu cầu khác nhau từ người dùng. Tương tự như vậy, khi người xem yêu cầu chất lượng video khác nhau. Điều này là rất quan trọng khi thương mại hĩa bởi vì mỗi lớp người dùng, mỗi lớp khách hàng lại cĩ một độ ưu tiên khác nhau. Từ 14 đĩ, dẫn đến việc cung cấp chất lượng cho các lớp khách hàng là khác nhau. Để giải quyết những vấn đề này mã hĩa video mở rộng sinh ra, nĩ được sử dụng đầu tiên trong MPEG-2 và phát triển hồn thiện dần. Mã hĩa video mở rộng là một kỹ thuật cho phép nén video một lần và cung cấp việc giải nén video với các thơng số như tốc độ dữ liệu, tốc độ khung, độ phân giải và chất lượng video khác nhau. Người ta cịn gọi đây là phương pháp mở rộng động bởi vì các tham số trên cĩ thể thay đổi bất kỳ thời gian nào trong quá trình truyền. Ví dụ, khi mạng tắc nghẽn thì cĩ thể truyền với tốc độ thấp hơn, và khi mạng rảnh rỗi thì cĩ thể chuyển sang truyền với tốc độ cao hơn. Dưới đây là mơ hình cấu trúc mã hĩa video mở rộng. Hình 1.8. Cấu trúc mã hĩa video mở rộng Mơ hình mã hĩa video mở rộng dữ liệu video được mã hĩa vào một tầng cơ sở (base layer) và một hoặc một vài tầng mở rộng (enhancement layer). Tầng cơ sở được mã hĩa với tốc độ thấp đủ để giải mã dịng video, do vậy, chất lượng video được giải nén ra ứng với nĩ cĩ chất lượng thấp nhất. Việc giải mã tầng cơ sở là độc lập khơng phụ thuộc vào bất kỳ một dữ liệu nào khác. Trong khi đĩ tầng mở rộng được mã hĩa với tốc độ cao hơn, mục đích của nĩ là làm cải thiện chất lượng video ở tầng cơ sở, tuy nhiên, việc giải mã các tầng mở rộng là phụ thuộc vào tầng cơ bản. Ví dụ, video gốc mã hĩa sử dụng ba tầng : tầng cơ sở với tốc độ là 64kb/s, tầng mở rộng thứ nhất với tốc độ là 128kb/s và tầng mở rộng thứ hai với tốc độ là 128kb/s. Ở bên nhận cĩ thể giải mã ở tốc độ 64kb/s (tức là chỉ sử dụng tầng cơ sở) thì kết quả giải mã cho ra video cĩ chất lượng thấp nhất. Nếu bên nhận giải mã ở tốc độ 192kb/s (sử dụng tầng cơ sở và tầng mở rộng thứ nhất) thì kết quả cho ra là video cĩ chất lượng trung bình. Và để nhận được video cĩ chất lượng cao nhất thì bên nhận phải giải mã ở tốc độ 320kb/s (sử dụng tầng cơ sở và hai tầng mở rộng). 15 Với phương pháp phân tầng này, việc truyền video streaming khơng cần tới các phương thức mã hĩa lại để tương thích với điều kiện mơi trường. Một mặt nữa, việc phân tầng làm cho vấn để cung cấp dịch vụ hướng người dùng trở nên dễ dàng. Với lớp người dùng mà cĩ nhu cầu cũng như độ ưu tiên cao hơn, server sẽ gửi cho họ nhiều hơn các tầng mở rộng từ đĩ tăng chất lượng video ở đầu cuối. Với lớp người dùng cĩ nhu cầu và độ ưu tiên thấp hơn, server vẫn cĩ thể cung cấp cho họ một dịch vụ video bình thường nhưng với chất lượng thấp hơn bằng cách giảm bớt gửi các luồng dữ liệu ở các mở rộng. 1.3. Đảm bảo chất lượng dịch vụ truyền video streaming. Dịch vụ video streaming yêu cầu một số điều kiện kiên quyết sau : • Bandwidth : Mỗi một ứng dụng video streaming đều cĩ một yêu cầu về băng thơng nhỏ nhất để duy trì ứng dụng. Tuy nhiên hệ với cơ sở hạ tầng Internet hiện tại, khơng cĩ bất kỳ cơ chế nào để đáp ứng điều kiện này. • Delay : Là khái niệm độ trễ của các gĩi tin ở hai đầu cuối, hoặc cũng cĩ thể bao gồm cả thời gian giải mã và hiển thị video. Nếu gĩi tin khơng đến được đúng thời điểm thì video cĩ thể bị dừng gây cảm giác khĩ chịu cho người dùng • Loss : Mất gĩi tin là việc khơng thể tránh khỏi trên mơi trường Internet. Việc mất gĩi tin cĩ thể gây ra hiện tượng méo mĩ hay mất đi sự liên kết trong việc hiển thị video. Trong mơ hình hệ thống video streaming như đã trình bày ở phần trước, hầu như tất cả các thành phần của hệ thống đều thực thi những thao tác kỹ thuật để thu được hiệu quả cao trong việc duy trì băng thơng, giảm độ trễ và khắc phục mất gĩi tin. Đây cũng chính là tư tưởng của việc đảm bảo chất lượng dịch vụ trong video streaming. Dịch vụ video streaming cĩ tồn tại và hoạt động một cách chất lượng hay khơng tất cả phụ thuộc vào việc đảm bảo chất lượng dịch vụ. Tuy nhiên, với những mơi trường mạng khác nhau trong những điều kiện khác nhau thì cần cĩ thêm những cơ chế bổ sung cho việc này. Ví dụ, trong mạng LAN thì việc đảm bảo chất lượng dịch vụ cho video streaming cĩ thể đơn giản hơn là trong mạng WLAN bởi vì bản chất mơi trường truyền của chúng là khác nhau. Do đĩ, các mơi trường khác nhau cũng sẽ cĩ những phương thức khác nhau để làm sao đảm bảo chất lượng dịch vụ tốt nhất ở hạ tầng, nhằm mục đích hỗ trợ tốt nhất cho các dịch vụ sử dụng hạ tầng đĩ. 16 Chương tiếp theo ta sẽ đi nghiên cứu chuẩn IEEE 802.11e là chuẩn về đảm bảo chất lượng dịch vụ trong mạng WLAN, để tìm hiểu xem phương pháp xây dựng ở hạ tầng mạng khơng dây ra sao cĩ thể hỗ trợ cho dịch vụ video streaming trong điều kiện mơi trường cĩ nhiều tác nhân gây ảnh hưởng xấu tới dịch vụ này. 17 Chương 2. Chuẩn IEEE 802.11e về đảm bảo chất lượng dịch vụ trong mạng khơng dây 2.1. Tổng quan về IEEE 802.11 MAC Cũng giống như những chuẩn 802.x khác, IEEE 802.11 chỉ mơ tả chuẩn giao thức ở tầng vật lý (PHY) và tầng điều khiển truy cập mơi trường truyền (medium access control - MAC). Tầng MAC thực thi khá nhiều nhiệm vụ nhưng nhiệm vụ chính và quan trọng nhất là truy cập mơi trường truyền. Chuẩn IEEE 802.11 MAC bao gồm hai cơ chế truy cập mơi trường truyền : thứ nhất là chức năng phối hợp phân tán DCF và thứ hai là chức năng phối hợp điểm PCF. DCF sử dụng giao thức đa truy cập cảm nhận sĩng mang tránh tắc nghẽn CSMA/CA (Carrier sense multiple access with conllision avoidance). PCF sử dụng phương thức thăm dị với sự hỗ trợ của bộ phối hợp điểm PC. Cả hai phương thức cĩ thể cùng được sử dụng trong một mạng BSS và sẽ được sử dụng lần lượt xen kẽ nhau. Cơ chế DCF là bắt buộc trong khi PCF là tùy chọn. Vì việc triển khai PCF phức tạp nên nhiều nhà sản xuất khơng hỗ trợ PCF. 2.1.1. Các khoảng liên khung (Inter-frame space) Khoảng liên khung là khoảng thời gian giữa hai frame liên tiếp xuất phát từ một trạm trong mạng khơng dây. Cĩ bốn loại khoảng liên khung tương ứng với bốn mức độ ưu tiên truy cập kênh truyền khác nhau. Dưới đây là danh sách bốn loại IFS nĩi trên sắp xếp theo thứ tự từ ngắn đến dài. - SIFS (short inter-frame space) - PIFS (PCF inter-frame space) - DIFS (DCF inter-frame space) - EIFS (extended inter-frame space) 18 Hình 2.1. Các khoảng liên khung IFS trong 802.11 a. Short Interframe Space (SIFS) : Là khoảng thời gian nhỏ giữa các frame dữ liệu và ACK của nĩ. Chúng được sử dụng cho các trạm cĩ độ ưu tiên cao nhất yêu cầu truy cập kênh truyền đầu tiên. Giá trị này là cố định dựa vào tầng vật lý phía dưới. Thơng thường các dữ liệu được truyền sau khoảng liên khung này là ACK (acknowledgement), RTS (Request to send) và CTS (Clear to send) messages. b. PCF inter-frame space (PCFS) : PIFS được sử dụng bởi AP hoạt động trong PCF, khi bắt đầu chu kỳ khơng tranh chấp CFP. Giá trị của PIFS nhỏ hơn DIFS và lớn hơn SIFS (DIFS > PIFS > SIFS), do đĩ AP cĩ độ ưu tiên cao hơn các trạm khác do nĩ chỉ phải chờ khoảng PIFS ngắn hơn DIFS. Giá trị PIFS được tính thơng qua cơng thức : PIFS = SIFS + Slot time [4] c. DCF inter-frame space (DIFS) : Là khoảng liên khung sử dụng trong phương pháp truy cập kênh truyền DCF. Các khung dữ liệu phải đợi một khoảng thời gian là DIFS mới được phép truyền đi. Giá trị DIFS được tính theo cơng thức : DIFS = SIFS + 2 * Slot time [4] d. Extended Interframe space (EIFS) : Nếu frame đến kế trước cĩ lỗi thì trạm phải đợi một khoảng thời gian là EIFS thay vì DIFS trước khi truyền frame. EIFS được tính theo cơng thức : EIFS = SIFS + DIFS + ACKTxTime [4] ACKTxTime là thời gian cần thiết để truyền một frame ACK 19 2.1.2. Chức năng phối hợp phân tán (Distributed Coordination Function - DCF) Là phương pháp cơ bản sử dụng trong IEEE 802.11 MAC. DCF cịn được biết đến như là cơ chế cảm nhận sĩng mang đa truy cập mơi trường truyền tránh tắc nghẽn (CSMA/CA), sử dụng thủ tục quay lui ngẫu nhiên (backoff). Đồng thời, tất cả các gĩi gửi đi đều được xác nhận bởi frame ACK và bên gửi sẽ gửi lại gĩi tin nếu khơng nhận được frame ACK xác nhận từ bên nhận. Khi một trạm muốn truyền dữ liệu, nĩ phải xác định là kênh truyền cĩ rỗi hay khơng. Nếu rỗi thì nĩ được phép truyền ngay, cịn nếu mơi trường truyền được xác định là bận thì trạm phải chờ cho đến khi phiên truyền đang tồn tại kết thúc, sau đĩ trạm phải đợi một khoảng thời gian backoff ngẫu nhiên mới được phép truy cập kênh truyền. 2.1.2.1. Thủ tục quay lui ngẫu nhiên (random backoff) Hình 2.2. Thủ tục quay lui ngẫu nhiên trong DFC Khi một trạm muốn truyền dữ liệu, nĩ sẽ kiểm tra xem trạng thái kênh truyền là bận hay rỗi bằng các sử dụng các cơ chế cảm nhận sĩng mang (CS mechanism). Nếu mơi kênh truyền là bận, trạm phải đợi cho tới khi mơi trường rỗi, sau đĩ trạm sẽ đợi một khoảng thời gian chính bằng giá trị của DIFS trong trường hợp khung dữ liệu đã truyền trước đĩ được xác định là khơng cĩ lỗi, hoặc nĩ phải đợi một khoảng thời gian là EIFS nếu như phát hiện ra cĩ lỗi xảy ra khi nhận khung dữ liệu đã truyền trước đĩ. Sau khoảng liên khung này , các trạm sẽ sinh ra một khoảng thời gian ngẫu nhiên và sẽ giảm dần biến đếm backoff. Khi biến đếm backoff giảm đến 0, trạm sẽ được phép truyền. Nếu kênh truyền được xác định là bận trong khoảng thời gian backoff thì thủ tục backoff sẽ tạm dừng, biến đếm backoff được giữ nguyên giá trị. Khi kênh truyền rỗi thì thủ tục backoff sẽ được phép bắt đầu lại với giá trị đang tạm dừng lần trước. 20 Việc các trạm chọn các khoảng thời gian ngẫu nhiên khác nhau làm giảm thiểu khả năng xung đột giữa các trạm mà đã chờ kênh truyền ở cùng một thời điểm. Giá trị backoff được xác định theo cơng thức : Backoff Time = Random() x aSlotTime Trong đĩ : - aSlotTime : là giá trị tương ứng với đặc điểm của tầng vật lý (PHY). - Random() : là một giá trị ngẫu nghiên nằm trong khoảng [0,CW], ở đây CW là cửa sổ tranh chấp, một giá trị số thực nằm trong khoảng giá trị CWMin và CWMax (hai giá trị này là đặc điểm của tầng vật lý). CW khởi tạo từ giá trị CWMin và sau mỗi lần khung truyền khơng thành cơng thì giá trị này lại được tăng gấp đơi, và thủ tục backoff mới lại được bắt đầu, giá trị CW cứ tăng với cấp số nhân như thế sau mỗi lần truyền dữ liệu khơng thành cơng cho tới khi nĩ đạt tới ngưỡng CWMax, thì CW sẽ giữ nguyên giá trị đĩ (khơng tăng nữa cho dù cĩ truyền khơng thành cơng). CW sẽ được thiết lập lại sau khi dữ liệu được truyền thành cơng. 2.1.2.2. Thủ tục xác nhận ACK Hình 2.3. Thủ tục xác nhận ACK Khi một trạm nhận được một khung và xác định rằng nĩ khơng bị lỗi. Trạm sẽ gửi lại cho bên gửi một khung ACK nhằm mục đích xác nhận rằng nĩ đã nhận được khung dữ liệu. Khung ACK chỉ sử dụng trong trường hợp nhận được gĩi tin unicast 21 cịn nếu gĩi tin nhận là gĩi tin multicast hoặc broadcast thì khung ACK khơng được sử dụng. Khung ACK chỉ cần phải đợi một khoảng liên khung là SIFS và khơng phải thực hiện thao tác backoff trước khi truyền đi, điều này làm cho nĩ cĩ điều kiện được truyền đi trước nếu như mơi trường cĩ nhiều trạm cĩ yêu cầu truyền. Trạm gửi sẽ chờ một khoảng thời gian là ACKTimeout, sau khoảng thời gian này nếu nĩ khơng nhận được khung ACK ứng với khung dữ liệu mà nĩ gửi đi thì nĩ sẽ gửi lại khung dữ liệu đĩ. 2.1.3. Chức năng phối hợp điểm (Point Coordination Function - PCF) Một phương pháp truy cập khác trong IEEE 802.11 MAC nữa là phương pháp chức năng phối hợp điểm (PCF). Điểm khác biệt đầu tiên của phương pháp này với phương pháp DCF là DCF cĩ thể sử dụng trong cả mạng ad-hoc cũng như hệ thống mạng khơng dây cĩ cấu trúc BSS. Nhưng phương pháp PCF thì chỉ sử dụng được trong các hệ thống BSS, bởi vì trong phương pháp này yêu cầu sử dụng bộ phối hợp điểm (PC) nằm trong AP để xác định trạm nào cĩ yêu cầu truyền. Bộ phối hợp điểm PC nằm trong AP sẽ điều khiển việc truyền dữ liệu. Bộ phối hợp điểm cài đặt danh sách thăm dị và tiến hành việc thăm dị các trạm trong mạng. 2.1.3.1. Chu kỳ khơng tranh chấp Hình 2.4. Chu kỳ tranh chấp và chu kỳ khơng tranh chấp Trong PCF ta đưa ra khái niệm chu kỳ khơng tranh chấp và chu kỳ tranh chấp. Chu kỳ tranh chấp (Contention period) sử dụng DCF và chu kỳ khơng tranh chấp (Contention free period) sử dụng PCF. Hai chu kỳ này là luân phiên thay thế nhau. Mỗi chu kỳ tranh chấp được bắt đầu bằng việc AP sẽ gửi một khung beacon là một khung quản lý đặc biệt, trong khung này cĩ chứa giá trị CFP-MaxDuration là khoảng thời gian tối đa của chu kỳ khơng tranh chấp. Bởi vì việc truyền khung beacon cĩ thể 22 bị trễ do kênh truyền bận (frame trong chu kỳ DCF đang được gửi), cho nên chu kỳ khơng tranh chấp cĩ thể bị thu ngắn lại. 2.1.3.2. Thủ tục truy cập PCF Hình 2.5. Thủ tục DCF Các trạm và PC khơng sử dụng RTS/CTS trong chu kỳ khơng tranh chấp. Ở thời điểm bắt đầu mỗi CFP, PC sẽ cảm nhận kênh truyền, khi kênh truyền được xác định là rỗi AP sẽ đợi một khoảng PIFS, sau đĩ PC sẽ truyền khung quản lý Beacon chứa thơng tin CFPMaxDuration. Các trạm khi nhận được khung Beacon sẽ điều chỉnh giá trị NAV (network allocation vector) của chúng theo giá trị CFPMaxDuration. Điều này ngăn cản các trạm chiếm quyền điều khiển kênh truyền trong CFP. Việc thiết lập NAV cũng làm giảm nguy cơ trạm ẩn. Sau khi gửi khung beacon, PC sẽ chờ ít nhất một khoảng thời gian SIFS trước khi nĩ truyền khung thăm dị hoặc dữ liệu đến các trạm. PC sẽ duy trì một danh sách thăm dị và sẽ thăm dị lần lượt các trạm trong danh sách đĩ. PC sẽ nhìn vào danh sách thăm dị của nĩ, và nếu nĩ kiểm tra thấy trong bộ đệm cĩ dữ liệu cần truyền cho trạm mà nĩ định thăm dị, PC sẽ gửi cho trạm đĩ khung: Data + CF-Poll (khung thăm dị), trong trường hợp PC cĩ dữ liệu cần gửi cho trạm, ngược lại nếu khơng cĩ dữ liệu thì PC chỉ gửi khung thăm dị CF-Poll. Trạm được thăm dị sẽ trả lời với khung Data/ACK sau khoảng SIFS đến PC hoặc đến các trạm khác ở trong mạng. Nếu sau khoảng PIFS mà khơng thấy trả lời, PC sẽ giành quyền điều khiển và tiến hành thăm dị trạm tiếp theo trong danh sách thăm dị. Đối với trạm khơng trả lời thì ở lần thăm dị tiếp theo, PC sẽ gửi lại dữ liệu. 23 Đối với các trạm được thăm dị kể trên, nếu cĩ dữ liệu trạm sẽ trả lời với khung Data + CF-ACK cịn nếu khơng cĩ dữ liệu để gửi thì nĩ sẽ trả lời với khung CF-ACK. Quá trình thăm dị, gửi dữ liệu và trả lời này sẽ tiếp tục cho đến khi PC khơng cĩ khung dữ liệu nào để gửi và khơng cĩ trạm nào để thăm dị. Khi đĩ PC sẽ gửi một khung kết thúc CF-End hoặc CF-End +CF-ACK (nếu cần xác nhận dữ liệu) để thơng báo kết thúc chu kỳ khơng tranh chấp CFP. Lúc đĩ, tất cả các trạm sẽ xác lập lại giá trị NAV của chúng và chu kỳ tranh chấp CP sẽ bắt đầu. 2.2. Chuẩn IEEE 802.11e Chuẩn IEEE 802.11e là một biến thể của chuẩn 802.11. Nĩ định nghĩa một tập hợp các cải tiến đảm bảo chất lượng chất lượng dịch vụ cho mạng khơng dây WLAN thơng qua các sửa đổi trong tầng MAC. Chuẩn này cĩ tầm quan trọng và cần thiết cho các ứng dụng yêu cầu thời gian thực cũng như độ chậm trễ thấp như voice over IP, streaming multimedia. IEEE 802.11e đảm bảo chất lượng dịch vụ cơ bản dựa trên phân biệt lưu lượng, bằng việc bổ sung thêm trường QoS trong cấu trúc khung dữ liệu MAC. Hình 2.6. Frame IEEE 802.11e Việc bổ sung thêm trường “QoS Control” trong khung dữ liệu đã giúp cho IEEE 802.11e cĩ thể cung cấp việc đảm bảo chất lượng dịch vụ . IEEE 802.11e cung cấp sự ưu tiên thơng qua phân biệt định danh của các luồng và chỉ rõ ưu tiên. 2.2.1. Chức năng phối hợp lai (Hybrid Coordination Function - HCF) Trong IEEE 802.11e cơ chế truy cập kênh truyền được sử dụng là HCF (Hybrid coordination function). Cơ chế này được gọi là cơ chế lai bởi vì nĩ cĩ cả hai phương thức truy cập kênh truyền cĩ tranh chấp và khơng tranh chấp. HCF sử dụng phương thức truy cập kênh truyền dựa trên tranh chấp là EDCF (Enhance distributed channel access), nĩ là một sự mở rộng của phương thức DCF được áp dụng trong IEEE 802.11 MAC. Hoạt động đồng thời với EDCF là cơ chế truy cập kênh truyền cĩ điều khiển 24 dựa trên kỹ thuật thăm dị HCCA(HCF controlled channel access), cơ chế này cĩ thể sử dụng trong cả chu kỳ tranh chấp lẫn chu kỳ khơng tranh chấp. 2.2.1.1. EDCF (Enhanced Distributed Coordinated Function) Trong chuẩn IEEE 802.11e mỗi station sẽ phân loại các dịch vụ thành 4 nhĩm sự phân chia này dựa trên quyền truy cập đường truyền. Tức là mỗi frame được các tầng trên gửi xuống tầng MAC sẽ được phân vào một AC (Access categories) tương ứng với độ ưu tiên của frame đĩ theo bảng dưới đây. Bảng 2.1. Độ ưu tiên các dịch vụ Ở đây độ ưu tiên 0 (thấp nhất) nằm giữa độ ưu tiên 2 và 3 là do tuân thủ theo chuẩn IEEE 802.11d. Về đơn giản sự khác biệt của các AC này dựa trên các tham số : AIFSD[AC], CWMin[AC], CWMax[AC] tương ứng với các tham số DIFS, CWMin, Cwmax trong DCF. Các tham số trên là khác nhau với mỗi AC, từ đĩ mức độ ưu tiên để truy cập đường truyền của các AC cũng sẽ thay đổi theo giá trị của chúng. Giá trị của AIFSD[AC] được xác định thơng qua cơng thức : AIFSD[AC] = SIFS + AIFS[AC] * SlotTime AIFS[AC] là một số nguyên cĩ giá trị lớn hơn 0. Tức là độ ưu tiên của một AC sẽ được quy định bởi 3 tham số đĩ là : AIFS[AC], CWMin[AC], CWMax[AC]. Đây cũng là ba tham số chính trong chuẩn EDCF, chúng được cung cấp cho các trạm từ AP 25 thơng qua khung beacon. AP cĩ thể tự động tính tốn các giá trị này thơng qua việc xem xét điều kiện của mạng. Hình 2.7. Bốn Access Categories trong EDCF Hình trên mơ tả bốn hàng đợi trong tầng MAC thể hiện cho bốn AC, các khung dữ liệu từ tầng trên gửi đến tùy thuộc vào độ ưu tiên của nĩ sẽ được sắp xếp vào một hàng đợi tương ứng. Mỗi hàng đợi này được coi như là một trạm ảo, tức là nĩ sẽ cĩ giá trị AIFS[AC], CWMin[AC], CWMin[AC] riêng và khi muốn truyền dữ liệu chúng cũng sẽ thực thi các thủ tục backoff dựa vào các tham số này, và nếu như cĩ nhiều hơn một AC chọn cùng giá trị backoff thì sẽ xảy ra hiện tượng xung đột và người ta gọi hiện tượng này là hiện tượng xung đột ảo. Trong chuẩn IEEE 802.11e người ta đưa ra một khái niệm mới đĩ là cơ hội truyền (XTOP - Transmission Opportunity). XTOP là khoảng thời gian một trạm cĩ quyền được truyền, nĩ được xác định bởi thời gian bắt đầu và thời gian kết thúc truyền của trạm đĩ, chính dựa vào điều này mà các trạm khác trong mạng cĩ thể xác định được một cách chính xác thời gian mà trạm này sử dụng kênh truyền. Nếu trạm đang được cấp phát XTOP đã thực hiện xong việc truyền, trạm cĩ thể truyền tiếp các khung tiếp theo, nhưng phải đảm bảo rằng việc truyền các khung cũng như nhận ACK tương ứng của các khung này là khơng vượt quá thời gian cịn lại. 26 Quá trình thực thi EDCF được mơ tả như sau : Hình 2.8. Thực thi EDCF Cách thực thi EDCF cũng giống như thực thi DCF, chỉ cĩ một số khác biệt đĩ là mỗi trạm bây giờ sẽ tương ứng với 4 trạm ảo, và mỗi trạm này sẽ tự thực thi các cơ chế backoff, tranh chấp đường truyền một cách độc lập, tuy nhiên khi chọn giá trị random để tính giá trị backoff thì giá trị random này sẽ là một số nguyên nằm trong khoảng [1, 1+ CW[AC]] (ở DCF là khoảng [0,CWMin]). Thêm vào đĩ, mỗi khi một khung nào đĩ khơng thành cơng thì thay vì tăng giá trị của cửa sổ tranh chấp lên gấp đơi thì trong EDCF cĩ thay đổi chút ít. Nếu như giá trị CW[AC] hiện tại là nhỏ hơn CWMax[AC] thì giá trị CW[AC] sẽ được thay đổi theo cơng thức : CW[AC](new) = (CW[AC](old) + PF[AC]) * 2 – 1 Trong đĩ PE[AC] là một nhân tố cố định, trong chuẩn IEEE 802.11 thì PE là cố định và nhận giá trị là 2, tuy nhiên trong 802.11e giá trị này thơng thường là khác nhau ở mỗi AC, điều này làm tăng sự khác nhau giữa các giá trị CW của các AC. Nhưng, nếu giá trị CW[AC] đã đạt ngưỡng CWMax[AC] thì nĩ vẫn giữ nguyên giá trị đĩ khơng thay đổi cho tới khi khung được truyền đi thành cơng thì mới gán lại giá trị CW[AC]. Trong trường hợp xảy ra va chạm ảo (các AC truyền khung tại cùng một thời điểm) thì cơ hội truyền (XTOP) sẽ được cấp phát cho AC cĩ độ ưu tiên cao hơn, và các AC cịn lại được xem như gặp trường hợp truyền khung khơng thành cơng và phải chọn lại giá trị CW cũng như lặp lại thủ tục backoff. 27 2.2.1.2. HCCA(HCF controlled channel access) HCCA làm việc hầu như giống với chức năng điều phối điểm (Point Coordination Function). Tuy nhiên, trái ngược với PCF, ở đây khoảng cách giữa hai khung cảnh báo được chia thành hai giai đoạn của CFP và CP, HCCA cho phép CFPs được khởi động tại gần như bất cứ lúc nào trong một CP. Đây là một loại CFP được gọi là giai đoạn kiểm sốt truy cập (Coltrolled Access Phase - CAP) trong IEEE 802.11e. Một CAP được khởi tạo bởi các AP, bất cứ khi nào nĩ muốn gửi một frame đến một trạm, hay nhận được một frame từ một trạm, trong một kiểu cạnh tranh tự do. Trong thực tế, CFP cũng là một CAP. Trong một CAP, các điều phối Hybrid (HC) - cũng là AP - kiểm sốt truy cập điểm giữa. Trong CP, tất cả các trạm chức năng bên trong EDCA. Sự khác biệt với PCF là lớp lưu lượng (TC) và luồng lưu lượng (TS) được định nghĩa. Điều này cĩ nghĩa là HC khơng giới hạn hàng đợi trên từng trạm và cĩ thể cung cấp một loại dịch vụ cho mỗi phiên. Ngồi ra, HC cĩ thể phối hợp các luồng hoặc các phiên với kiểu bất kỳ mà nĩ chọn (khơng chỉ round-robin). Hơn nữa, các trạm cung cấp thơng tin về độ dài của hàng đợi cho từng lớp lưu lượng (TC). HC cĩ thể sử dụng thơng tin này ưu tiên cho một trong những trạm phát qua các trạm khác, hoặc tốt hơn cơ chế điều chỉnh lịch trình của nĩ. Sự khác biệt khác là các trạm đưa ra một TXOP: chúng cĩ thể gửi nhiều gĩi tin trong một hàng, trong một thời gian nhất định được lựa chọn bởi các HC. Trong CP, HC cho phép các trạm gửi dữ liệu bởi việc gửi các khung tin CF-Poll. HCCA thường được coi là chức năng phối hợp tiên tiến và phức tạp nhất . Với HCCA, QoS cĩ thể được cấu hình với độ chính xác tuyệt vời. QoS cho phép các trạm cĩ khả năng truyền tải các thơng số yêu cầu cụ thể (tỷ lệ jitter dữ liệu, vv) mà cĩ thể cho phép các ứng dụng nâng cao như VoIP và video để làm việc hiệu quả hơn trên một mạng khơng dây. Hỗ trợ HCCA khơng bắt buộc cho các điểm truy cập theo chuẩn 802.11e. Thực tế, cĩ rất ít( thậm chí khơng cĩ) các AP hỗ trợ HCCA. Tuy nhiên, thực hiện HCCA khơng địi hỏi nhiều các yêu cầu trên, vì về cơ bản sử dụng cơ chế DCF hiện tại cho truy cập kênh (khơng cĩ thay đổi để DCF hoặc hoạt động EDCA là cần thiết). Đặc biệt, việc thực hiện phía điểm phát sĩng là rất đơn giản như trạm chỉ cần để cĩ thể trả lời tin nhắn thăm dị. Về phía AP, lẽ dĩ nhiên, việc lập lịch và sử dụng hàng đợi là cần thiết. Cĩ ý kiến cho rằng, AP đã được trang bị tốt hơn là một trạm thu phát, điều này nên là một vấn đề khác. 28 2.3. Truyền video streaming trong mạng khơng dây IEEE 802.11e Việc truyền video streaming trong mạng khơng dây trước đây gặp nhiều vấn đề do phải tranh chấp với các luồng dữ liệu khác. Do đĩ việc truyền video rất bị hạn chế và cho kết quả thấp. Với việc áp dụng chuẩn IEEE 802.11e việc truyền video streaming trong mạng khơng dây đã cĩ nhiều cải thiện và đạt được hiệu quả cao hơn. Việc IEEE 802.11e phân biệt các dịch vụ khác nhau ở tầng MAC từ đo phân chia chúng vào các AC khác nhau cĩ độ ưu tiên khác nhau dẫn tới việc các dịch vụ truyền video cũng như audio khơng bị tranh chấp bởi các dịch vụ khác như các ứng dụng web hay là các ứng dụng truyền file… Chuẩn IEEE 802.11e định nghĩa bốn loại truy cập tương ứng với bốn độ ưu tiên khác nhau dành cho các nhĩm dịch vụ. Dịch vụ truyền video streaming được xếp vào nhĩm dịch vụ cĩ độ ưu tiên cao. Tức là các khung dữ liệu của nĩ từ tầng trên đẩy xuống sẽ được xếp vào hàng đợi tương ứng với AC cĩ độ ưu tiên cao. Từ đĩ dẫn đến việc xác xuất được truyền đi của các khung này là được tăng lên. Và kết quả là chất lượng dịch vụ được tăng lên. Bên cạnh đĩ do cĩ tính chất cơ hội truyền (TXOP) nếu như AC được cấp phát TXOP mà sau khi gửi khung thành cơng AC vẫn cĩ thể truyền tiếp những khung dữ liệu tiếp theo trong hàng đợi. Điều này giúp cho dịch vụ video streaming cĩ thể gửi một loạt các gĩi tin liên tiếp nhau. Điều này sẽ làm cho sự duy trì dịch vụ là được tăng cường. Tuy nhiên chuẩn IEEE 802.11e lại chỉ hướng vào việc đảm bảo chất lượng dịch vụ cho nhĩm dịch vụ. Tức là một khung dữ liệu bất kỳ khi cĩ dữ liệu đẩy xuống tầng MAC thì ứng với dịch vụ của khung đĩ MAC sẽ cấp phát cho nĩ độ ưu tiên cố định và đẩy nĩ vào hàng đợi tương ứng với độ ưu tiên đĩ. Nhưng với video streaming cơ chế phân tầng của nĩ sẽ tạo ra nhiều luồng dữ liệu cĩ tốc độ khác nhau cũng như độ quan trọng khác nhau. Việc giải mã dữ liệu của các tầng mở rộng trong video streaming phải luơn phụ thuộc và dữ liệu của tầng cơ bản và tầng cơ bản là nhân tố đầu tiên để dịch vụ video streaming cĩ thể được duy trì vì thế tầng cơ bản luơn luơn phải được ưu tiên cao nhất sau đĩ thứ tự ưu tiên giảm dần theo thứ tự luồng mở rộng 1, luồng mở rộng 2… Vì thế đĩ nếu như việc phân phối độ ưu tiên của các luồng này luơn luơn duy trì bằng nhau như trong chuẩn MAC thì việc phân biệt mức độ quan trọng của các luồng dữ liệu xem như là khơng được hỗ trợ. 29 Do vậy phải cĩ một cơ chế nào đĩ để giải quyết vấn đề này nhằm hỗ trợ tốt hơn cho việc đảm bảo chất lượng dịch vụ video streaming. Và đĩ cũng sẽ là nội dung của chương tiếp theo. 30 Chương 3. Giải pháp gán độ ưu tiên động cho các luồng video streaming trong mạng IEEE 802.11e 3.1. Vấn đề nghiên cứu Việc truyền video streaming trong mạng khơng dây gặp nhiều khĩ khăn, bởi vì những ràng buộc của video streaming rất khĩ đáp ứng trong điều kiện mạng khơng dây. Tuy chuẩn IEEE 802.11e đã phần nào khắc phục được một số vấn đề đĩ bằng cách cho phép các dịch vụ gán độ ưu tiên khác nhau. Tuy nhiên, như thế là chưa đủ để đảm bảo được chất lượng truyền video, bởi vì với việc phân tầng trong video streaming, các tầng khác nhau sẽ cĩ độ ưu tiên khác nhau khi truyền. Trong video streaming tầng cơ sở luơn luơn phải được ưu tiên đầu tiên sau đĩ là các tầng mở rộng theo thứ tự tăng dần của chúng. Chuẩn IEEE 802.11e chỉ dừng lại ở mức hỗ trợ chất lượng dịch vụ hướng nhĩm dịch vụ. Tức là, mỗi một dịch vụ nhất định như video streaming chẳng hạn thì chỉ tương ứng với một mức ưu tiên. Dẫn tới việc, các tầng khác nhau trong video streaming vẫn sẽ cùng độ ưu tiên, và dĩ nhiên là các gĩi tin của chúng từ tầng trên gửi xuống sẽ cùng nằm trong một hàng đợi trong số bốn hàng đợi ở tầng MAC (tương ứng với 4 AC). Điều này sẽ đồng nhất các khung dữ liệu của tất cả các tầng trong việc phân tầng của video streaming là như nhau khi truyền. Vấn đề nảy sinh khi tình trạng mạng là bận, khi mạng bận các tầng video với các luồng dữ liệu tương ứng lại cùng được truyền với độ ưu tiên giống nhau, hậu quả là độ trễ của dữ liệu từ tác tầng gửi đi sẽ tương đương nhau và dĩ nhiên là độ trễ này sẽ lớn, đồng thời thơng lượng của tất cả các luồng dữ liệu cũng đều giảm xuống. Điều này đi ngược với tinh thần của việc phân tầng trong video streaming, việc phân tầng là giúp cho việc truyền video cĩ thể tương thích với sự thay đổi tình trạng mạng, nhằm cĩ một hiệu quả truyền tốt nhất trong điều kiện cĩ thể. Tức là nếu tình trạng mạng bận thì việc truyền dữ liệu của tầng cơ sở phải được đặt lên hàng đầu. Và nhất thiết là phải truyền dữ liệu này với độ trễ đủ nhỏ và thơng lượng đảm bảo sao cho vẫn duy trì được dịch vụ. Cịn với các tầng khác thì cĩ thể truyền một cách cố gắng tối đa. Sau đây ta sẽ đi xét một vài thí nghiệm để kiểm chứng xem sự bất nảy sinh khi truyền video streaming trong IEEE 802.11e như đã nĩi ở trên. Mơi trường thực nghiệm ở đây là dựa trên bộ mơ phỏng ns2-2.28 (đã cài thêm bộ hỗ trợ để cĩ thể sử dụng được chuẩn IEEE 802.11e). Mơ hình mơ phỏng sẽ gồm 3 máy trạm và một AP. Trong 3 trạm này ta sẽ xét 1 trạm để đánh giá cịn hai trạm kia 31 chỉ là hai trạm để làm mơi trường. Trạm được xét là trạm 1, nĩ sẽ bao gồm ba luồng dữ liệu tương ứng với 3 tầng của dịch vụ video streaming (tầng cơ bản, tầng mở rộng 1 và tầng mở rộng 2). Các luồng này sẽ cĩ tốc độ truyền tương ứng là 128kb/s, 256kb/s và 512kb/s. Hai trạm cịn lại là trạm 2 và trạm 3 mỗi trạm sẽ bao gồm ba luồng dữ liệu tương ứng với ba độ ưu tiên nhận giá trị từ 1 tới 3. Sơ đồ thí nghiệm như sau : Hình 3.1. Mơ hình thí nghiệm a. Trường hợp mạng bận Đầu tiên, ta sẽ đi xét trường hợp mạng bận. Để mạng bận thì tổng số tốc độ truyền phải lớn hơn băng thơng cực đại cĩ thể của kênh truyền (2mb/s), nên ta sẽ cho các luồng dữ liệu cĩ độ ưu tiên 1, 2, 3 trong trạm 2 và 3 nhận tốc độ truyền bằng nhau và bằng 400kb/s. Trong trường hợp mạng bận, ta sẽ đi xem xét hai trường hợp con, là trường hợp ở trạm 1 các luồng video streaming nhận cùng giá trị độ ưu tiên là 1 (tuân thủ chuẩn IEEE 802.11e), và trường hợp khác là ta sẽ gán các luồng tương ứng với các độ ưu tiên khác nhau. Luồng cơ bản sẽ nhận độ ưu tiên là 1 luồng mở rộng 1 sẽ là 2 và luồng mở rộng 2 sẽ là 3. Sau khi chạy chương trình mơ phỏng ta cĩ một số nhận xét sau. Thứ nhất về độ trễ. Khi gán độ ưu tiên của các luồng như nhau. Độ trễ trung bình của các gĩi tin trong các luồng này sẽ nhận được sẽ xấp xỉ nhau và xấp xỉ giá trị 0.778s. Trong khi đĩ, với trường hợp gán độ ưu tiên khác nhau, thì độ trễ trung bình 32 của hai luồng tuy khá cao, nhưng độ trễ trung bình của luồng cơ bản chỉ là 0.04s. Và ta cũng cĩ đồ thị so sánh độ trễ luồng cơ bản của hai thí nghiệm như sau: Hình 3.2. Biểu đồ so sánh độ trễ luồng cơ bản khi mạng bận trong hai trường hợp gán độ ưu tiên bằng nhau và gán độ ưu tiên khác nhau Ta cĩ thể thấy được rằng trong trường hợp mạng bận nếu giữ nguyên độ ưu tiên các luồng bằng nhau và ở mức ưu tiên cao thì các luồng sẽ cùng cĩ giá trị độ trễ và giá trị này là khá lớn. Trong khi đĩ nếu phân phối các luồng ở mức ưu tiên khác nhau thì độ trễ của luồng cơ bản sẽ được đảm bảo ở mức thấp và giá phải trả là độ trễ ở các luồng kia phải tăng lên. Tiếp theo, ta xét đến thơng lượng của các luồng. Với trường hợp độ ưu tiên của các luồng như nhau số gĩi tin nhận được trên các luồng theo thứ tự luồng cơ bản, luồng mở rộng 1 và luồng mở rộng 2 là 1110 (packet), 1718(packet), 2876(packet). Và trong trường hợp độ ưu tiên khác nhau thì kết quả là 1440(packet), 2228(packet), 601(packet). Mà tổng số gĩi tin gửi đi từ trạm 1 tương ứng với các luồng cơ bản, luồng mở rộng 1, luồng mở rộng 2 lần lượt là 1440(packet), 2880(packet) và 5760(packet). Nhìn vào số liệu này ta cĩ: với trường hợp độ ưu tiên của các luồng như nhau, số lượng gĩi tin của từng luồng nhận được tính theo phần trăm thứ tự là 77,1%, 59,65% và 49,93% tương ứng với luồng cơ bản, luồng mở rộng 1 và luồng mở rộng 2. Với dịch vụ video streaming độ mất mát này là khĩ cĩ thể chấp nhận được. Cịn trường hợp độ ưu tiên của các luồng khác nhau, tuy luồng mở rộng 2 chỉ gửi tới đích được một số ít gĩi tin so với số lượng gĩi tin mà bên nhận gửi. Nhưng bù lại luồng cơ bản 33 nhận được 100% số gĩi tin và luồng mở rộng hai cũng nhận được nhiều gĩi tin hơn (77,36%). Điều này đủ để đảm bảo duy trì dịch vụ video streaming. Mặt khác, ta cũng cĩ thơng lượng của các luồng được biểu thị như sau. (a) (b) Hình 3.3. Thơng lượng trong trường hợp mạng bận (a) Trường hợp độ ưu tiên như nhau ; (b) Trường hợp độ ưu tiên khác nhau 34 Dễ dàng thấy rằng, thơng lượng của luồng cơ bản trong trường hợp độ ưu tiên của các luồng bằng nhau là khơng ổn định và chủ yếu là nằm dưới 100kb/s. Cịn với trường hợp độ ưu tiên khác nhau thì thơng lượng luơn duy trì ở mức 128kb/s mặt khác luồng mở rộng 1 trong trường hợp độ ưu tiên khác nhau cũng cĩ thơng lượng khá cao (nằm từ khoảng một nửa thời gian duy trì mức lớn hơn 200kb/s và ít khi thơng lượng tụt xuống dưới ngưỡng 150kb/s). Thơng qua việc xem xét hai thí nghiệm trên ta cĩ thể thấy được rằng, với trường hợp mạng bận thì việc gán độ ưu tiên của các luồng khác nhau tùy theo mức độ quan trọng của nĩ là tốt hơn so với việc gán chung độ ưu tiên cho tất cả các luồng. Điều này thể hiện rõ trên cả hai phương diện độ trễ cũng như thơng lượng. Vậy trong trường hợp mạng rỗi thì sao? Ta sẽ đi xem xét thơng qua thí nghiệm các sau. b. Trường hợp mạng rỗi : Để mạng rỗi thì ngược lại với trường hợp mạng bận tổng số tốc độ truyền phải nhỏ hơn băng thơng cực đại cĩ thể của kênh truyền (2mb/s) nên ta sẽ cho các luồng dữ liệu cĩ độ ưu tiên 1, 2, 3 trong trạm 2 và 3 nhận tốc độ truyền bằng nhau và bằng 100kb/s. Ta cũng sẽ đi xem xét hai trường hợp con như đã xét trong trường hợp mạng bận Thứ nhất về độ trễ. Khi gán độ ưu tiên của các luồng như nhau. Độ trễ trung bình của các gĩi tin trong các luồng này sẽ lần lượt nhận giá trị là 0.00855(s), 0.01233(s) và 0.01554(s). Trong khi đĩ với trường hợp gán độ ưu tiên khác nhau thì độ trễ trung bình của các luồng là 0.00894(s), 0.01383(s) và 0.02191(s). Độ trễ trung bình của các gĩi tin của luồng cơ bản ở cả hai trường hợp là tương đương nhau. Nhưng độ trễ các gĩi tin ở hai luồng mở rộng là cĩ sự khác biệt. Ta cĩ thể nhận thấy rõ hơn thơng qua độ thị so sánh độ trễ luồng mở rộng 2 trong hai trường hợp như hình dưới đây. 35 Hình 3.4. Biểu đồ so sánh độ trễ luồng mở rộng hai khi mạng bận trong hai trường hợp gán độ ưu tiên bằng nhau và gán độ ưu tiên khác nhau Từ biểu đồ trong hình 3.3 ta cĩ thể thấy rằng, độ trễ của các gĩi tin luồng mở rộng 2 trong trường hợp gán độ ưu tiên các luồng như nhau (màu đỏ) hầu như luơn nằm dưới ngưỡng 0.02s, và chủ yếu là nhỏ hơn 0.01s. Trong khi đĩ, độ trễ của các gĩi tin cũng ở luồng mở rộng 2 nhưng với trường hợp gán độ ưu tiên các luồng khác nhau (màu xanh), phân nửa cĩ giá trị lớn hơn 0.02s và cĩ những lúc vọt lên tới giá trị 0.08s. Điều này chứng tỏ rằng khi mạng rảnh rỗi nếu xếp độ ưu tiên của các luồng video streaming là khác nhau, thì độ trễ ở các luồng phía dưới (các luồng mở rộng ở bậc cao) sẽ bị tăng lên và điều này là hồn tồn khơng hợp lý. 36 (a) (b) Hình 3.5. Thơng lượng trong trường hợp mạng rỗi (a) Trường hợp độ ưu tiên như nhau ; (b) Trường hợp độ ưu tiên khác nhau Dễ dàng thấy rằng với cả hai trường hợp luồng cơ bản đều cĩ thơng lượng như nhau. Tuy nhiên với trường hợp độ ưu tiên khác nhau hai luồng mở rộng đều cĩ thơng lượng là khơng ổn định bằng thơng lượng của chúng ở trong trường hợp độ ưu tiên giống nhau. Với luồng mở rộng 1 trường hợp độ ưu tiên của các luồng bằng nhau 37 thơng lượng luơn duy trì ở mức 256kb/s, cịn trường hợp độ ưu tiên các luồng khác nhau, một số thời điểm thơng lượng của luồng này bị thay đổi một ít. Cịn với luồng mở rộng hai, độ sai lệch lên xuống của thơng lượng trong trường hợp độ ưu tiên các luồng giống nhau là ít hơn, so với trường hợp độ ưu tiên các luồng khác nhau. Từ việc xét hai thí nghiệm trong trường hợp mạng rỗi này ta cĩ thể nhận ra được rằng trong trường hợp mạng rỗi các luồng dữ liệu streaming việc gán cùng độ ưu tiên ở mức cao để cho kết quả tốt hơn là gán chúng ở các độ ưu tiên khác nhau. Vậy ta cĩ thể kết luận rằng trong trường hợp mạng bận ta nên gán độ ưu tiên của các luồng dữ liệu tương ứng với các tầng trong cơ chế phân tầng của video streaming là khác nhau. Để đảm bảo duy trì được luồng dữ liệu quan trọng hơn từ đĩ đảm bảo cho việc duy trì dịch vụ. Cịn với trường hợp mạng rỗi nên gán độ ưu tiên của các luồng này là bằng nhau và ở mức cao để cĩ thể đảm bảo cung cấp được dịch vụ video streaming với chất lượng tốt hơn. 3.2. Giải pháp gán độ ưu tiên động cho các luồng video streaming Dịch vụ truyền video streaming luơn luơn bị ảnh hưởng bởi tác động của mơi trường bên ngồi. Cĩ lúc thì các luồng video tương ứng với các tầng nên cĩ cĩ cùng độ ưu tiên ở mức cao, cĩ lúc lại nên cĩ độ ưu tiên khác nhau. Mà trong chuẩn IEEE 802.11e khơng hỗ trợ việc thay đổi độ ưu tiên cho các luồng dữ liệu. Nhu cầu đảm bảo dịch vụ cũng như chất lượng video streaming là rất cần thiết, do đĩ phải cĩ một giải pháp nào đĩ hỗ trợ sâu hơn cho việc truyền video streaming trong mạng khơng dây. Trong khĩa luận này tơi muốn tập trung cho việc duy trì sự tồn tại của dịch vụ, cũng như tăng cường chất lượng dịch vụ cho việc truyền video streaming trong mạng khơng dây. Và giải pháp tơi đưa ra ở đây là gán độ ưu tiên động cho các luồng video streaming. Giải pháp này của tơi được hình thành trong quá trình nghiên cứu, đo đạt và thí nghiệm trên các luồng video streaming trong IEEE 802.11e mà rút ra. Trong chuẩn IEEE 802.11e, mỗi luồng dữ liệu luơn duy trì một độ ưu tiên cố định từ khi bắt đầu khởi tạo cho đến khi kết thúc việc truyền. Giá trị độ ưu tiên này phụ thuộc vào dịch vụ sử dụng ở tầng ứng dụng. Việc làm này tạo ra được sự phân biệt giữa các nhĩm dịch vụ với nhau. Với việc áp dụng chuẩn IEEE 802.11e, dịch vụ video streaming sẽ gán độ ưu tiên của các luồng dữ liệu ở mức cao, từ đĩ cơ hội truyền của các khung dữ liệu tương ứng với dịch vụ này là cao hơn một số dịch vụ khác như web,fpt… 38 Tuy nhiên với sự phân tầng trong video streaming, mỗi một video gốc sẽ được mã hĩa thành nhiều tầng video với tốc độ nén và mức độ quan trọng khác nhau. Với việc mỗi dịch vụ chỉ cĩ thể tương ứng với một độ ưu tiên, hậu quả là tất cả các luồng dữ liệu của dịch vụ video streaming ở tất cả các tầng đều cùng cĩ một độ ưu tiên. Việc này làm giảm đi tính năng mềm dẻo của sự đảm bảo chất lượng dịch vụ, vì mức độ quan trọng của mỗi tầng trong video streaming là khác nhau. Cùng với đĩ mơi trường truyền khơng dây luơn ở trạng thái cĩ thể thay đổi bất cứ lúc nào. Phương pháp gán độ ưu tiên động cho các luồng video streaming đơn giản là kiểm tra giám sát mơi trường mạng, từ đĩ tính tốn một cách hợp lý để thay đổi giá trị độ ưu tiên của các luồng dữ liệu tương ứng với các tầng trong video streaming một cách phù hợp với sự thay đổi của mơi trường truyền. Như ta đã xét, tác nhân gây ra sự mất ổn định trong việc truyền video streaming là sự thay đổi của mơi trường truyền. Vậy muốn khắc phục điều này trước hết ta phải cĩ một cơ chế để kiểm tra mơi trường truyền, từ đĩ cĩ cơ chế thay đổi độ ưu tiên phù hợp. Vậy việc đầu tiên là làm sao để biết được mơi trường rỗi hay bận, mức độ rỗi, bận như thế nào. Sau đĩ dựa vào các tham số đĩ tùy chỉnh độ ưu tiên cho các luồng dữ liệu một cách phù hợp. 3.2.1. Các tham số đánh giá mơi trường truyền. Trong mơi trường khơng dây các trạm hay nĩi đúng hơn là các AC (chuẩn IEEE 802.11e) đều tranh chấp với nhau để giành được cơ hội truyền. Việc tranh chấp này dựa vào cách chọn thời gian backoff. AC nào cĩ giá trị backoff giảm tới 0 nhanh nhất thì được quyền chiếm kênh truyền. Khi mạng rảnh rỗi các AC cĩ thể chỉ backoff một hay một số nhỏ lần để giành được cơ hội truyền, ngược lại khi mạng bận, một khung dữ liệu trên một AC cĩ thể phải backoff nhiều lần để cĩ thể truyền đi. Điều này thể hiện rõ nhất trên các AC cĩ độ ưu tiên thấp. Vậy tham số tổng thời gian backoff trung bình của một khung dữ liệu ở một AC là một giá trị gián tiếp thể hiện độ nhàn rỗi của mơi trường. Một mặt nữa, trong những thí nghiệm ở mục 3.1 ta cĩ thể nhận thấy rằng, trong khi mơi trường truyền rỗi, thì hầu như tất cả các gĩi tin gửi từ bên gửi đều đến được bên nhận. Trong khi đĩ với mạng bận thì các gĩi tin gửi đi cĩ thể bị hủy và khơng bao giờ đến được bên nhận. Điều này là do băng thơng tối đa của mạng khơng đáp ứng đủ yêu cầu của các trạm nên một số gĩi tin phải bị hủy. Do đĩ, tiêu chí tiếp theo để đánh giá mơi trường truyền là tỉ lệ gĩi tin bị hủy trong khi truyền. 39 Các thơng số khác như độ trễ gĩi tin và thơng lượng cũng phản ảnh tình trạng mơi trường truyền nhưng chúng khơng xác định được ở bên gửi cho nên các tham số này sẽ khơng được đề cập trong phương pháp. Vậy ta cĩ thể đánh giá mơi trường truyền thơng qua hai tham số là tổng thời gian backoff của một khung dữ liệu và tỉ lệ mất gĩi tin. Dựa vào chúng ta sẽ nhận ra được những thay đổi của mơi trường truyền, từ đĩ điều chỉnh việc truyền dữ hợp lý. 3.2.2. Mơ tả giải pháp. Định nghĩa một số tham số : - ∆t : khoảng thời gian sử dụng để xem xét đường truyền. Ta sẽ tính các thơng số về thời gian backoff trung bình, cũng như tỉ lệ gĩi tin bị hủy trong khoảng thời gian này để đánh giá mơi trường. - ][ACebackoffTim : Là giá trị trung bình backoff time của mỗi khung tính trong khoảng thời gian ∆t trên mỗi AC. - dropRatio[AC] : Là tỷ lệ khung bị hủy trên mỗi AC trong khoảng thời gian ∆t. - backoffThresholdDown[AC] : là ngưỡng backoff time trên mỗi AC. Nếu giá trị ][ACebackoffTim tăng vượt quá ngưỡng này thì ta phải thực hiện cơ chế chuyển các luồng dữ liệu video streaming xuống AC cĩ độ ưu tiên thấp hơn AC hiện thời. - backoffThresholdUp[AC] : Cũng là ngưỡng backoff time trên mỗi AC. Nếu giá trị ][ACebackoffTim giảm xuống quá ngưỡng này, thì ta sẽ thực hiện cơ chế chuyển các luồng dữ liệu video streaming từ AC cĩ độ ưu tiên nhỏ hơn lên AC hiện thời. - dropThresholdDown[AC] : Là ngưỡng của tỷ lệ hủy gĩi tin trên mỗi AC. Nếu giá trị ratioDrop tăng vượt ngưỡng này, ta phải thực hiện cơ chế chuyển các luồng dữ liệu video streaming xuống AC cĩ độ ưu tiên thấp hơn AC hiện thời. - dropThresholdUp[AC] : Cũng là ngưỡng của tỷ lệ hủy gĩi tin trên mỗi AC. Nếu giá trị ratioDrop giảm xuống quá ngưỡng này, thì ta sẽ thực hiện cơ chế chuyển các luồng dữ liệu video streaming từ AC cĩ độ ưu tiên nhỏ hơn lên AC hiện thời. - numberFlow[AC] : là số lượng luồng dữ liệu video streaming đang cĩ độ ưu tiên tương ứng với AC. Trong phương pháp này. Ban đầu vẫn giữ nguyên như trong chuẩn IEEE 802.11e, ứng dụng video streaming sẽ gán độ ưu tiên của tất cả các luồng ứng với các 40 tầng của nĩ cùng một giá trị (vì là video streaming nên độ ưu tiên là là ở mức cao prio=1). Mỗi một AC ở các trạm, sẽ luơn luơn theo dõi giá trị backoff time trung bình của các khung dữ liệu và tỷ lệ gĩi tin bị hủy trong một khoảng ∆t và xem xét xem nếu như giá trị backoff time trung bình vượt quá ngưỡng backoff time cho phép, hoặc tỷ lệ hủy gĩi tin vượt quá ngưỡng cho phép của AC đĩ, thì sẽ thực hiện cơ chế chuyển độ ưu tiên của các luồng dữ liệu. Cơ chế đĩ được mơ tả trong giải thuật sau for (int i = 1; i < 3; i++){ if( ][iebackoffTim > backoffThresholdDown[i] || dropRatio[i] < dropThresholdDown[i]) { if( numberFlow[i] >1 || (numberFlow[i] == 1 && i != 1)){ Chuyển luồng ứng với tầng cĩ mức độ quan trọng nhỏ nhất đang cịn tồn tại trong AC[i] xuống AC[i+1] } } } Tức là sau mỗi thời gian ∆t, kiểm tra tất cả các AC xem nếu ở AC đĩ cĩ một hoặc nhiều hơn một luồng dữ liệu của dịch vụ video streaming chạy, và giá trị backoff time trung bình của AC vượt ngưỡng backoffThresholdDown[AC] của nĩ, hoặc tỷ lệ hủy khung dữ liệu vượt quá giá trị dropThresholdDown[AC], thì một luồng trong đĩ sẽ được chọn để đẩy xuống AC cĩ độ ưu tiên thấp hơn. Tiêu chí để chọn là luồng cĩ độ quan trọng thấp nhất với dịch vụ video streaming. Độ quan trọng này sắp theo thứ tự giảm dần theo thứ tự: luồng cơ bản, luồng mở rộng 1, luồng mở rộng 2… Nhưng nếu AC là AC cĩ độ ưu tiên nhận giá trị là 1 (prio = 1) và nĩ chỉ cĩ một luồng dữ liệu cịn lại thì khơng được đẩy luồng này xuống vì đĩ là luồng cơ bản(tình trạng này chỉ gặp khi mạng quá bận, và dịch vụ video streaming khơng thể duy trì được với bất cứ cách thức nào). Nhưng nếu chỉ cĩ cơ chế chuyển các luồng xuống các AC cĩ độ ưu tiên thấp hơn khi mạng được xác định là bận thì chưa đủ. Bởi vì như kết luận ở phần 3.1 ta cĩ: với trường hợp mạng rỗi nên gán độ ưu tiên của các luồng là bằng nhau và ở mức cao để cĩ thể đảm bảo cung cấp được dịch vụ video streaming với chất lượng tốt hơn. Như vậy song song với cơ chế đẩy các luồng xuống các AC cĩ độ ưu tiên thấp khi mạng 41 bận thì phải cĩ cơ chế kéo các luồng lên các AC cĩ độ ưu tiên cao hơn khi tình trạng mạng là rảnh rỗi hơn. Do đĩ giải thuật trên cần viết lại như sau : for (int i = 1 ; i < 3; i++){ if( ][iebackoffTim > backoffThresholdDown[i] || dropRatio[i] < dropThresholdDown[i]) { if( numberFlow[i] >1 || (numberFlow[i] == 1 && i != 1)){ Chuyển luồng ứng với tầng cĩ mức độ quan trọng nhỏ nhất đang cịn tồn tại trong AC[i] xuống AC[i+1] } } if( ][iebackoffTim < backoffThresholdUp[i] || dropRatio[i] < dropThresholdUp[i] ){ Chuyển luồng ứng với tầng cĩ mức độ quan trọng cao nhất đang cịn tồn tại trong AC[i+1] lên AC[i] } } Việc chọn các ngưỡng để chuyển các luồng lên hay xuống các AC cĩ độ ưu tiên cao hay thấp hơn AC hiện tại là khác nhau thay vì gán chung một ngưỡng để quy định luồng dữ liệu tụt xuống hay kéo lên giữa các AC. Bởi vì điều này làm giảm thiểu khả năng một luồng nào đĩ cứ bị chuyển đi chuyển lại liên tục giữa các AC do các thơng các thơng số đánh giá tăng giảm quanh ngưỡng chung. Mặt khác khi cĩ thay đổi thể hiện thơng qua tham số đánh giá ta khơng chuyển một cách đột ngột và ồ ạt các luồng dữ liệu xuống các tầng thấp mà chuyển một cách từ từ từng luồng một để hợp lý dần sự phân bố các luồng ở các AC sao cho phù hợp nhất với độ thay đổi của mơi trường truyền. 3.3. Phân tích đánh giá Giải pháp gán độ ưu tiên động cho các luồng video thực sự cĩ tác dụng trong mơi trường mạng khơng ổn định như trong mạng khơng dây. Sự biến đổi của của mơi trường truyền là thường xuyên diễn ra. Do đĩ việc thay đổi linh động độ ưu tiên các luồng với mục đích đảm bảo duy trì dịch vụ cũng như chất lượng dịch vụ là cần thiết và cĩ hữu ích. 42 Nếu như mơi trường mạng ban đầu đang rỗi. các luồng dữ liệu của video đều được truyền ở AC cĩ độ ưu tiên cao, điều này làm cho dịch vụ video streaming cĩ thể đạt được chất lượng tốt do cĩ sự kết hợp của các luồng mở rộng và luồng cơ bản. Tuy nhiên nếu như tình trạng mạng chuyển sang bận, lúc này nếu các luồng vẫn giữ nguyên độ ưu tiên của nĩ. Thì tình trạng tranh chấp sẽ xảy ra thường xuyên đồng thời là việc tranh chấp giữa các trạm với nhau. Điều đĩ làm cho tất cả các luồng kể cả luồng cơ bản cũng như các luồng mở rộng đều bị giảm tốc độ truyền cũng như tăng độ trễ một cách mạnh mẽ. Điều này gây ra việc dịch vụ video streaming sẽ khơng duy trì được ngay cả với chất lượng thấp. Việc áp dụng giải pháp gán độ ưu tiên động sẽ giải quyết được trường hợp này bởi vì khi tình trạng mạng là bận, các luồng mở rộng sẽ bị chuyển dần xuống các AC cĩ độ ưu tiên thấp hơn. Do đĩ luồng cơ bản và cĩ thể thêm một số luồng mở rộng thấp (các luồng mở rộng ứng với các tầng ở gần tầng cơ bản nhất) sẽ khơng phải chịu tranh chấp với các luồng mở rộng cao (các luồng mở rộng ứng với các tầng ở xa so với tầng cơ bản). Do đĩ chúng cĩ điều kiện truyền tốt hơn. Từ đĩ dịch vụ sẽ được đảm bảo hơn. 43 Chương 4. Đánh giá giải pháp độ ưu tiên động cho các luồng video streaming trong mạng IEEE 802.11e 4.1. Mơi trường mơ phỏng 4.1.1. Xây dựng chương trình mơ phỏng. Mơ phỏng thực hiện trên bộ mơ phỏng NS-2. NS-2 là phần mềm mơ phỏng mạng điều khiển sự kiện riêng rẽ hướng đối tượng, được phát triển tại UC Berkely, viết bằng ngơn ngữ C++ và OTcl. NS rất hữu ích cho việc mơ phỏng mạng diện rộng (WAN) và mạng local (LAN). Bốn lợi ích lớn nhất của NS-2 phải kể đến đầu tiên là: • Khả năng kiểm tra tính ổn định của các giao thức mạng đang tồn tại • Khả năng đánh giá các giao thức mạng mới trước khi đưa vào sử dụng • Khả năng thực thi những mơ hình mạng lớn mà gần như ta khơng thể thực thi được trong thực tế • Khả năng mơ phỏng nhiều loại mạng khác nhau NS-2 (Network Simulator version 2.xx) là một trong các bộ mơ phỏng mạng mã nguồn mở, tự do, được sử dụng rộng rãi nhất trong các trường đại học (cĩ giảng dạy về mạng) trên thế giới. NS-2 đặc biệt mạnh trong việc mơ phỏng để nghiên cứu về các giao thức mạng, từ tầng MAC cho đến tầng Transport. Sử dụng NS-2 cĩ thể mơ phỏng các mạng cĩ dây (Wired Networks), khơng dây (Wireless Networks), mạng di động khơng dây đặc biệt - MANET (Mobile Adhoc Networks), hỗn hợp, v.v. Các sự kiện xảy ra trong mạng mơ phỏng và một số tham số cần nghiên cứu thường được kết xuất ra “tệp vết” (Trace file) hoặc một số tệp dạng văn bản. Để nhận được các kết quả mong muốn cần phải xử lý các tệp kết quả này và biểu diễn kết quả thu được, thường là dưới dạng đồ thị. NS thực thi các giao thức mạng như Giao thức điều khiển truyền tải (TCP) và Giao thức gĩi người dùng (UDP); các dịch vụ nguồn lưu lượng như Giao thức truyền tập tin (FTP), Telnet, Web, Tốc độ bit cố định (CBR) và Tốc độ bit thay đổi (VBR) ; các kỹ thuật quản lý hàng đợi như Vào trước Ra trước (Drop Tail), Dị sớm ngẫu nhiễn (RED) và CBQ; các thuật tốn định tuyến như Dijkstra… NS cũng thực thi multicasting và vài giao thức lớp Điều khiển truy cập đường truyền (MAC) đối với mơ phỏng LAN. 44 Hình 4.1. Tổng quan về NS dưới gĩc độ người dùng OTcl Script Kịch bản OTcl Simulation Program Chương trình Mơ phịng OTcl Bộ biên dịch Tcl mở rộng hướng đối tượng NS Simulation Library Thư viện Mơ phỏng NS Event Scheduler Objects Các đối tượng Bộ lập lịch Sự kiện Network Component Objects Các đối tượng Thành phần Mạng Network Setup Helping Modules Các mơ đun Trợ giúp Thiết lập Mạng Plumbling Modules Các mơ đun Plumbling Simulation Results Các kết quả Mơ phỏng Analysis Phân tích NAM Network Animator Minh họa Mạng NAM Trong hình trên, NS là Bộ biên dịch Tcl mở rộng hướng đối tượng; bao gồm các đối tượng Bộ lập lịch Sự kiện, các đối tượng Thành phần Mạng và các mơ đun Trợ giúp Thiết lập Mạng (hay các mơ đun Plumbing). Để sử dụng NS-2, người dùng lập trình bằng ngơn ngữ kịch bản OTcl. User cĩ thể thêm các mã nguồn Otcl vào NS-2 bằng cách viết các lớp đối tượng mới trong OTcl. Những lớp này khi đĩ sẽ được biên dịch cùng với mã nguồn gốc. Bộ mơ phỏng NS-2 sử dụng trong khĩa luận là phiên bản ns2-2.28 và được cài thêm bộ hỗ trợ chuẩn ieee 802.11e. Dựa trên bộ mơ phỏng ns2 này ta sẽ đánh giá độ 45 hiệu quả của giải pháp gán độ ưu tiên động cho các luồng video streaming so với chuẩn 802.11e. Để làm việc này ta cần phải xây dựng một kịch bản rõ ràng và phù hợp sao cho việc đánh giá là cơng bằng và cho ra kết quả là chuẩn xác. 4.1.2. Kịch bản mơ phỏng Mơ hình mơ phỏng sẽ bao gồm 3 máy trạm và một access point sử dụng mạng khơng dây theo chuẩn ieee 802.11e như hình dưới. Hình 4.2. Mơ hình thí nghiệm Với mơ hình mơ phỏng này ta sẽ đi xét những thí nghiệm để so sánh độ hiệu quả của giải pháp độ ưu tiên động cho các luồng so với chuẩn cũ trong 802.11e. Đầu tiên ta sẽ quy định một số tham số chung để thực hiện mơ phỏng. 4.1.2.1. Các tham số mơi trường Dựa trên mơ hình 802.11 MAC, các tham số PHY trong mơ hình mơ phỏng EDCF được thiết lập như sau: - SlotTime: 16µs - SIFS: 8µs - PIFS: 12µs - DIFS: 16µs Băng thơng chung của mạng là 2Mb/s. kích cỡ của mỗi gĩi tin của tầng ứng dụng là 1kB. Tham số về CW, PF, AIFS của IEEE 802.11e chuẩn dùng để mơ phỏng tuân theo các giá trị ở bảng sau 46 Bảng 4.1. Các tham số mơ phỏng AC PF AIFS CW_MIN CW_MAX TXOPLimit 0 2 2 7 15 0.003264s 1 2 2 15 31 0.006016s 2 2 3 31 1023 0 3 2 7 31 1023 0 4.1.2.2. Thơng số tại các trạm Trạm thứ nhất (station 1) sẽ là trạm sử dụng để thực hiện việc streaming video và cũng là trạm để ta quan sát và đánh giá. Ở trạm này, tầng ứng dụng sẽ sử dụng 3 luồng dữ liệu cbr để gửi dữ liệu cho AP các luồng này tương ứng là luồng cơ bản, luồng mở rộng 1 và luồng mở rộng 2 được tạo ra do cơ chế phân tầng của dịch vụ video streaming. Các luồng dữ liệu này tương ứng sẽ cĩ tốc độ là 128kbps, 256kbps và 512kbps. Trạm thứ hai (station 2) và trạm thứ 3 (station 3) sẽ là hai trạm sử dụng để làm mơi trường. Hai trạm này sẽ gây ra cho mạng tình trạng nghẽn hay rảnh rỗi bằng cách thay đổi tốc độ truyền dữ liệu của các luồng cbr của nĩ. Mỗi trạm sẽ cĩ 3 luồng dữ liệu cbr gửi cho AP các luồng này ban đầu sẽ cĩ tốc độ truyền bằng nhau và nhận giá trị là 100kbps, các luồng dữ liệu này sẽ được xếp vào 3 AC cĩ độ ưu tiên khác nhau với giá trị là 1,2 và 3. Trạm 2 và trạm 3 sẽ truyền dữ liệu trong suốt thời gian chạy mơ phỏng sau đĩ 10 giây (giây thứ 10 trong khoảng thời gian mơ phỏng) trạm 1 sẽ bắt đầu truyền dữ liệu. Đến giây thứ 250 thì trạm 1 dừng việc truyền dữ liệu và mơ phỏng sẽ kết thúc ở giây thứ 300 Để gây sự mất ổn đinh cho mạng, trong quá trình truyền tốc độ của các luồng dữ liệu ở trạm 2 và trạm 3 sẽ được thay đổi đồng loạt tại một số thời điểm. Cụ thể là : - giây thứ 40 : Tăng tốc độ truyền từ 100kbps lên 200kbps - Giây thứ 70 : Tăng tốc độ truyền từ 200kbps lên 400kbps - Giây thứ 100 : Tăng tốc độ truyền từ 400kbps lên 600kbps - Giây thứ 130 : Tăng tốc độ truyền từ 600kbps lên 700kbps 47 - Giây thứ 160 : Giảm tốc độ truyền từ 700kbps xuống 150kbps - Giây thứ 190 : Giảm tốc độ truyền từ 150kbps xuống 50kbps - Giây thứ 210 : Tăng tốc độ truyền từ 50kbps lên 650kbps Bây giờ, dựa trên mơ hình trên ta sẽ thực hiện hai thí nghiệm. Tương ứng với hai trường hợp : sử dụng cơ chế IEEE 802.11e chuẩn và cơ chế áp dụng giải pháp gán độ ưu tiên động cho các luồng dữ liệu. Kết quả sẽ được so sánh và phân tích ở trên hai phương diện chính là băng thơng và độ trễ. 4.2. Kết quả mơ phỏng 4.2.1. Đánh giá về thơng lượng Sau khi thực hiện hai thí nghiệm với mơ hình như mơ tả ở phần 4.1.2 tương ứng với hai trường hợp sử dụng cơ chế chuẩn 802.11e và cơ chế áp dụng giải thuật gán độ ưu tiên động cho các luồng dữ liệu. Ta cĩ đồ thị mơ tả thơng lượng của các luồng dữ liệu ở station 1 như sau : (a) 48 (b) Hình 4.3. Thơng lượng của các luồng dữ liệu video streaming (a) Sử dụng cơ chế 802.11e chuẩn ; (b) Sử dụng cơ chế gán độ ưu tiên động Dựa vào hai đồ thị trên ta cĩ dễ dàng thấy rằng. Với phương pháp gán độ ưu tiên động luồng dữ liệu ứng với tầng cơ bản (luồng cơ bản) luơn luơn duy trì mức thơng lượng cố định là 128kbps để đảm bảo rằng bên nhận luơn luơn duy trì được dịch vụ với bất kỳ thay đổi nào của mơi trường truyền. Trong khi đĩ với trường hợp sử dụng cơ chế 802.11e chuẩn thì thơng lượng của tất cả các luồng trong đĩ cả luồng cơ bản là khơng ổn định và tăng, giảm phụ thuộc vào độ rỗi, bận của bận của mơi trường. Việc này gây ra tình trạng dịch vụ video streaming sẽ khơng ổn định. Do gán cùng độ ưu tiên và cố định chúng trong suốt thời gian truyền do đĩ kể cả những lúc mạng bận lưu lượng của các luồng mở rộng vẫn lớn hơn luồng cơ bản (trường hợp cơ chế 802.11e chuẩn) điều này là một lãng phí bởi vì trong khi luồng cơ bản cĩ thơng lượng nhỏ, việc giải mã các luồng mở rộng lại phụ thuộc vào luồng cơ bản. Do đĩ thơng lượng của các luồng mở rộng trở nên hoang phí và khơng cĩ ích gì. Trong hai đồ thì trên ta cũng cĩ thể nhận thấy rằng trong điều kiện mạng rảnh rỗi (từ giây thứ 10 đến giây thứ 40 và từ giây thứ 190 đến giây thứ 210) cả hai phương pháp đều cho kết quả là 3 luồng dữ liệu video đều cĩ thơng lượng đạt mức cao do đĩ chất lượng video ở bên nhận cĩ được cĩ chất lượng tốt. Song khi mạng bắt đầu trở nên 49 bận ví dụ như khoảng thời gian từ giây thứ 40 đến giây thứ 70 thì ở trường hợp sử dụng cơ chế 802.11e chuẩn cả ba luồng dữ liệu sẽ đồng loạt giảm thơng lượng, trong khi đĩ ở trường hợp sử dụng cơ chế độ ưu tiên động. luồng mở rộng 2 sẽ giảm nhanh thơng lượng trong khi đĩ luồng mở rộng 1 và luồng cơ bản vẫn duy trì được thơng lượng ở mức cao. Tức là chất lượng video ở bên nhận sẽ vẫn nhận được tín hiệu tốt do sự kết hợp giữa luồng cơ bản và luồng mở rộng 1. Ta cũng cĩ biểu đồ cột so sánh tổng số gĩi tin nhận được của mỗi luồng dữ liệu như sau. Hình 4.4. Biểu đồ so sánh tổng số gĩi tin Biểu đồ so sánh tổng số gĩi tin cho ta thấy rằng. với phương thức gán độ ưu tiên động luồng mở rộng 2 ở bên nhận thu được số lượng gĩi tin ít hơn so với trường hợp sử dụng cơ chế 802.11e chuẩn. Tuy nhiên bù vào đĩ hai luồng cịn lại (luồng cơ bản và luồng mở rộng 1) của thí nghiệm trong trường hợp sử dụng độ ưu tiên động lại cĩ kết quả là số lượng gĩi tin truyền tới đích lớn hơn so với trường hợp sử dụng cơ chế 802.11e chuẩn. Mà trong video streming thì hai luồng này là quan trọng hơn luồng mở rộng 2 do đĩ cĩ thể nhận thấy việc phương pháp độ ưu tiên động hướng tới việc duy trì dịch vụ hơn là phương pháp 802.11e chuẩn (tỷ lệ gĩi tin truyền được chỉ tỷ lệ với tốc độ truyền của luồng dữ liệu mà khơng quan tâm tới việc đảm bảo chất lượng cho các luồng quan trọng). 4.2.2. Đánh giá về độ trễ Ta sẽ đi so sánh độ trễ của các gĩi tin trong cả hai trường hợp; sử dụng cơ chế 802.11e chuẩn và cơ chế độ ưu tiên động cho các luồng. Để đánh giá xem phương pháp độ ưu tiên động cĩ đem lại hiệu quả về độ trễ hay khơng. 50 Độ trễ của các luồng dữ liệu video tương ứng với cả hai trường hợp được thể hiện bởi hai đồ thị dưới đây. (a) (b) Hình 4.5. Độ trễ của các luồng dữ liệu video streaming (a) Sử dụng cơ chế 802.11e chuẩn ; (b) Sử dụng cơ chế gán độ ưu tiên động 51 Dựa vào hai biểu đồ độ trễ của các luồng dữ liệu trên ta cĩ thể nhận thấy, với phương pháp sử dụng độ ưu tiên chuẩn, độ trễ của các gĩi tin tương ứng với 3 luồng dữ liệu video streaming là đồng đều trong mọi trường hợp khác nhau của mơi trường mạng. Phần lớn trong số các gĩi tin nhận được ở bên nhận cĩ độ trễ lớn hơn 0.6s và hơn một nửa cĩ độ trễ lớn hơn 0.8s. Một số dịch vụ video streaming cĩ yêu cầu độ trễ rất thấp, thì với độ trễ tầm 0.6s hoặc 0.8s trở lên khơng thể đáp ứng được yêu cầu này do đĩ cĩ thể dịch vụ sẽ bị gián đoạn và khĩ duy trì được trong tình trạng sử dụng cơ chế này. Trong khi đĩ ở trường hợp sử dụng cơ chế gán độ ưu tiên động. Giá trị độ trễ của các gĩi tin ở luồng cơ bản luơn duy trì ở mức 0.015s cho dù cĩ bất kỳ sự thay đổi nào của mơi trường. Luồng mở rộng 1 cĩ độ trễ khá cao thường thì các gĩi tin của nĩ cĩ độ trễ vào khoảng 2s đến 3s. Luồng mở rộng 2 cĩ độ trễ thay đổi nhiều và cĩ thể ở mức rất cao. Tuy là hai luồng mở rộng cĩ độ trễ cao nhưng bù vào đĩ độ trễ luồng cơ bản luơn luơn ở mức thấp, cho nên bất kỳ dịch vụ video nào cho dù là dịch vụ yêu cầu độ trễ video ở mức thấp đi nữa. Cơ chế này vẫn đảm bảo duy trì được dịch vụ. Trong những trường hợp mạng rảnh rỗi, tức là khoảng từ gĩi tin thứ 1 đến gĩi tin thứ 6000 và khoảng từ gĩi tin thứ 69000 tới gĩi tin thứ 73000 thì cả hai trường hợp đều duy trì độ trễ của 3 luồng ở mức thấp tức là lúc này dịch vụ video streaming sẽ cho chất lượng tốt nhất với độ trễ ba luồng hầu như khơng đáng kể. Do đĩ ở khoảng này dịch vụ video cung cấp sẽ cĩ chất lượng tốt vì video cuối sẽ là sự kết hợp của cả ba luồng dữ liệu. Nhưng ngồi khoảng thời gian mạng rảnh rỗi này ở hình (b) ta cĩ thể thấy rằng trong khoảng từ gĩi tin thứ 6000 đến gĩi tin thứ 13000 và khoảng từ gĩi tin thứ 62500 tới gĩi tin thứ 69000 luồng mở rộng 1 cĩ độ trễ nhỏ do đĩ khoảng thời gian này dịch vụ video streaming cĩ thể cĩ kết quả là video ở đầu cuối là sự kết hợp của luồng cơ bản và luồng mở rộng 1. Qua kết quả của hai thí nghiệm trên ta cĩ thể thấy được rằng. Phương pháp phân phối độ ưu tiên động cho các luồng là khá linh động và thích hợp hơn với tình trạng mạng khơng ổn định một thuộc tính cố hữu và cơ bản của mạng khơng dây. 52 Chương 5. Kết luận 5.1. Kết luận Khĩa luận đưa ra giải pháp gán độ ưu tiên động cho các luồng video streaming nhằm tăng cường việc đảm bảo chất lượng dịch vụ video streaming trong mạng khơng dây 802.11. Với việc gán độ ưu tiên cho các luồng tương ứng với các tầng của video streaming một cách linh động dựa theo tình trạng của mơi trường. Dựa vào chuẩn 802.11e giải pháp cĩ những sửa đổi để tăng thêm khả năng chống chịu với sự thay đổi mơi trường truyền. Giải pháp cĩ khá nhiều ưu điểm như là Tận dụng được băng thơng lúc mạng rảnh rỗi để truyền dữ liệu bằng việc gán độ ưu tiên của các luồng là bằng nhau và ở mức cao. Nhưng cũng cĩ sự điều chỉnh phù hợp độ ưu tiên của các luồng khi tình trạng tắc nghẽn xảy ra sao cho trung hịa giữa việc đảm bảo rằng các luồng dữ liệu quan trong của video streaming được đảm bảo tốt về băng thơng, độ trễ và tỷ lệ mất gĩi tin ngay cả khi mạng cĩ tình trạng tắc nghẽn cũng như cố gắng cung cấp chất lượng tốt nhất cĩ thể của video đầu cuối. 5.2. Hướng phát triển tiếp theo Kết quả mơ phỏng đã làm rõ được những đặc điểm tốt của giải pháp tuy nhiên việc chọn các giá trị ngưỡng của backoff time cũng như tỷ lệ hủy gĩi tin vẫn chỉ dựa trên các thí nghiệm mơ phỏng đơn thuần đưa ra. Vậy hướng tiếp theo để phát triển giải pháp là tìm cách để chọn những giá trị ngưỡng một cách phù hợp nhất để cĩ thể cĩ những bước chuyển độ ưu tiên cho các luồng một cách hợp lý Một mặt nữa đĩ là giải pháp mới chỉ được đánh giá bằng cách mơ phỏng trên bộ mơ phỏng ns-2 chứ chưa cĩ một kết quả thí nghiệm thực tế nào. Nên việc tiếp theo là nên xây dựng được những thí nghiệm thực tế để đánh giá một cách trực quan từ đĩ cĩ thể thu được những kết luận chính xác mà bộ mơ phỏng khơng cĩ được. 53 Tài liệu tham khảo [1] Allen Miu, John G.Apostolopouslos, Wai-tian Tan and Mitchell Trott : “Low- latency wireless video over 802.11 networks using path diversity” [2] D. J. Leith, P. Clifford, D. Malone, and A. Ng “TCP fairness in 802.11e WLANs” [3] Gilles Berger-Sabbatel, Andrzej Duda, Olivier Gaudoin, Martin Heusse, Franck Rousseau “Fairness and its impact on delay in 802.11 network” [4] IEEE Std 802.11e (2007), Part 11: “Wireless LAN medium access control (MAC) and physical layer (PHY) specifications” [5] Pierre Ansel, Qiang Ni and Thierry Turletti “FHCF : A simple and eficient scheduling scheme for IEEE 802.11e wireless LAN” [6] Stefan Mangold, Sunghyun Choi, Peter May, Ole Klein, Guido Hiertz, Lothar Stibor : “IEEE 802.11e wireless LAN for quality of service” [7] Sunghyun Choi, Javier del Prado, Sai Shankar, Stefan Mangold : “IEEE 802.11e contention-base channel access (EDCF) performance evaluation” [8] Wu Dapeng, Hou Yiwei Thomas, Zhu Wenwu, Zhang Ya-Qin, Peha Jon M. (2001); “Streaming Video over the Internet: Approaches and Directions”. [9] Yang Xiao, Haizhon Li, Sunghyun Choi “Protection and guarantee for voice and video traffic in IEEE 802.11e wireless LANs” Website:

Các file đính kèm theo tài liệu này:

  • pdfLUẬN VĂN-ĐẢM BẢO CHẤT LƯỢNG PHỤC VỤ CHO TRUYỀN VIDEO STREAMING TRONG MẠNG KHÔNG DÂY 802.11.pdf