MỞ ĐẦU Trong xu hƣớng phát triển mạnh mẽ của Internet, do yêu cầu truyền thông đa phƣơng tiện trên Web ngày càng nhiều, video streaming trên internet đã thu hút nhiều sự chú ý. Vào những thập niên 80s, 90s, video streaming bắt đầu ra đời và phát triển theo hai hƣớng chính: video streaming theo yêu cầu (tiếng Anh: video-on-demand) và video streaming thời gan thực (tiếng Anh: live video streaming). Video streaming theo yêu cầu là hình thức ngƣời dùng tải dữ liệu về các thiết bị lƣu trữ của mình, do đó có thể thực hiện các thao tác tua, dừng. Các ứng dụng nổi tiếng của loại hình truyền thông này nhƣ YouTube, BiTorrent.
Khác với video streaming theo yêu cầu, trong video streaming thời gian thực, dữ liệu đƣợc truyền trực tiếp từ các thiết bị ghi thu dữ liệu tại nguồn phát và hiển thị trực tiếp tại bên nhận. Với tính chất thời gian thực và cung cấp cho nhiều ngƣời sử dụng cùng một lúc, các ứng dụng truyền hình trực tuyến, hội thảo trực tuyến, dạy học trực tuyến, chat conference (Skype). ngày càng đƣợc nhiều ngƣời sử dụng cũng nhƣ các nhà nghiên cứu quan tâm. Luận văn cũng phát triển theo xu hƣớng này.
Video streaming thời gian thực có những ràng buộc về băng thông cao, độ trễ thấp, tỷ lệ mất gói tin thấp. để đáp ứng những yêu cầu về chất lƣợng hiển thị hình ảnh âm thanh cao. Tuy nhiên, video streaming trên Internet đang có những khó khăn nhất định. Thứ nhất, việc áp dụng trên mô hình máy Chủ-Khách truyền thống không đáp ứng đƣợc nhu cầu do tài nguyên của máy chủ có hạn, dữ liệu truyền thông đa phƣơng tiện thƣờng lớn, máy chủ rất khó có khả năng cung cấp đƣợc cho nhiều ngƣời dùng.
Thứ hai, băng thông của Internet chƣa đƣợc cao và đồng đều, việc tập trung vào máy chủ sẽ gây ra tải lớn, hiệu ứng "nút cổ chai" gây tắc nhẽn, gói tin không thể truyền đến hoặc không kịp thời gian hiển thị. Chính vì vậy mà video streaming trên Internet dần dần thay thế mô hình Chủ - Khách sang truyền thông multicast tầng ứng dụng trên mạng ngang hàng. Truyền thông video streaming trên mạng ngang hàng, đặc biệt là mạng ngang hàng có cấu trúc, có rất nhiều ƣu điểm. Mạng ngang hàng hay còn gọi là mạng đồng đẳng, xoá đi ranh giới giữa máy chủ-máy khách; các máy có trách nhiệm nhƣ nhau trong việc sử dụng tài nguyên và xử lý dữ liệu.
Chính vì vậy sẽ giải quyết khó khăn giảm tải cho máy chủ. Thứ hai, mạng ngang hàng có cấu trúc cung cấp tính năng mở rộng cao. Bất TIEU LUAN MOI download : skknchat@gmail.com 2 cứ node mạng nào cũng có thể tham gia dễ dàng. Do đó có thể cung cấp dịch vụ video streaming cho nhiều ngƣời sử dụng hơn và cũng tận dụng đƣợc nhiều tài nguyên hơn.
Thứ ba, nó không tốn chi phí quản lý bởi mạng ngang hàng cung cấp những phƣơng thức các node quản lý lẫn nhau. Tuy nhiên, triển khai video streaming thời gian thực trên mạng ngang hàng cũng không tránh khỏi những khó khăn. Khó khăn chính là hiện tƣợng các node ra vào rất linh động, lỗi có thể thƣờng xuyên xảy ra khiến cho các gói tin truyền thông có thể mất đi, hoặc không đến đƣợc bên nhận đúng thời gian trình diễn. Mất gói tin hoặc không đến kịp thời sẽ ảnh hƣởng đến tỷ lệ mất gói tin, độ trễ của việc trình diễn dữ liệu tiếng/hình ở bên nhận; khiến cho thông tin hiển thị không đúng, không đẹp mắt.
Nhằm mục đích nâng cao chất lƣợng video streaming trên mạng ngang hàng có cấu trúc, luận văn đi sâu vào việc giải quyết hiện tƣợng node ra/vào và lỗi trong mạng ngang hàng có cấu trúc. Giải pháp đƣa ra là khôi phục lỗi thời gian thực. Điểm mới của giải pháp là dựa vào dữ liệu truyền thông video streaming, phát hiện lỗi tức thời và chính xác dựa vào thời gian timeout. Thời gian này đƣợc tính dựa vào mô hình thông kê hành vi quá khứ của mỗi node mạng nên đảm bảo sự chính xác và phù hợp.
Giao thức đƣợc triển khai trên mạng ngang hàng có cấu trúc Chord. Dựa trên cấu trúc mạng phủ Chord, khi có yêu cầu truyền video streaming, các node sẽ liên kết thành cây multicast. Trong quá trình truyền tin, nếu có sự thay đổi trên cây multicast, phƣơng pháp khôi phục lỗi thời gian thực sẽ khắc phục sự thay đổi đó, tránh ảnh hƣởng đến việc truyền tin. Bên cạnh cơ chế khôi phục lỗi định kỳ của mạng Chord, giải pháp sẽ giúp tìm lỗi vầ khôi phục lỗi nhanh hơn trong quá trình truyền thông.
Điều đó sẽ tránh đƣợc việc mất mát gói tin trong khi truyền, khiến cho chất lƣợng thông tin bên nhận đƣợc cải thiện. Giao thức đƣợc thực hiện bằng ngôn ngữ C#, triển khai thí nghiệm trên mạng LAN. Để tìm hiểu về giải pháp, nội dung luận văn gồm 6 chƣơng: Chƣơng 1: TỔNG QUAN VIDEO STREAMING Giới thiệu sáu thành phần trong video streaming nhƣ nén; điều khiển chất lƣợng dịch vụ tại điểm phát/nhận; dịch vụ phân tán dữ liệu trên mạng; máy chủ luồng; các cơ chế đồng bộ và giao thức video streaming. Sáu thành phần trên sẽ điều khiển luồng video streaming từ nguồn đến đích, đồng thời, tại mỗi thành phần cũng có các cơ chế nâng TIEU LUAN MOI download : skknchat@gmail.com 3 cao chất lƣợng.
Để hạn chế, luận văn phát triển theo hƣớng dịch vị phân tán dữ liệu, cụ thể là multicast tầng ứng dụng. Chƣơng 2: TRUYỀN THÔNG MULTICAST Nối tiếp từ chƣơng 1, chƣơng 2 giới thiệu truyền thông mạng ngang hàng multicast. Xác định những ƣu điểm, nhƣợc điểm của hai cách thức truyền thông multicast IP và multicast tầng ứng dụng. Từ những ƣu nhƣợc điểm đó, multicast tầng ứng dụng triển khai vào mạng ngang hàng có cấu trúc có những khó khăn gì.
Những nội dung của chƣơng 2 sẽ tiếp nối với chƣơng 3 để dẫn dắt vào vấn đề video streaming trên mạng ngang hàng có cấu trúc. Chƣơng 3:VIDEO STREAMING TRÊN DHT P2P Chord là đại diện nổi tiếng của mạng ngang hàng có cấu trúc băm phân tán. Ở chƣơng này, ta sẽ tìm hiểu sâu cách thức quản lý node, gia nhập/ thoát khỏi mạng, cơ chế nhận biết và khắc phục lỗi trong Chord. Sau đó kết hợp với chƣơng 2, giới thiệu video streaming bằng giao thức truyền thông multicast trên mạng Chord.
Chƣơng cũng đƣa ra một số nghiên cứu liên quan. Chƣơng 4: BỐI CẢNH VÀ ĐỀ XUẤT GIẢI PHÁP Dựa vào chƣơng 3, chƣơng 4 phân tích bối cảnh để đƣa ra đề xuất khôi phục lỗi thời gian thực. Từ mục tiêu giải pháp sẽ trình bày chi tiếp từ thiết kế đến các thành phần cho giải pháp. Chƣơng 5:THỰC NGHIỆM VÀ ĐÁNH GIÁ Trong chƣơng 5, ta sẽ triển khai giải pháp khôi phục lỗi thời gian thực trên một ứng dụng truyền video streaming của mạng Chord.
Sau đó ta sẽ thực hiện triển khai trên môi trƣờng thực nghiệm để so sánh việc áp dụng giải pháp và không áp dụng giải pháp trên một số thông số. Dựa vào kết quả so sánh sẽ đánh giá tính khả thi của giải pháp. TimeoutCalculationUCL Kết quả thực nghiệm đƣợc mô tả nhƣ hình vẽ sau: 1. EWMA và α =1 (a) Thống kê tỷ lệ lỗi thật sự/số lần báo timeout TIEU LUAN MOI download : skknchat@gmail.com 4 Nhƣ bảng thống kê bên dƣới và hình vẽ.
Với 10 lần thực nghiệm thì trung bình độ chính xác là 3%. # Timeout Failed Percentage EWA1 117 3 2.317 (b) Số lần timeout/1000Multicast Package: Thông số này đánh giá mức độ quá tải của giải pháp. Trung bình phải xử lý 13 lần timeout trong 1000 gói tin Multicast nhận đƣợc. TIEU LUAN MOI download : skknchat@gmail.
EWMA và α =2 (a) Thống kê tỷ lệ lỗi thật sự/số lần báo timeout Với 5 lần thực nghiệm thì trung bình độ chính xác là 31%. Độ chính xác gấp 10 lần khi α =1. # Timeout Failed Percentage EWA1 3 2 66.028 (b) Số lần timeout/1000Multicast Package TIEU LUAN MOI download : skknchat@gmail.com 6 Trung bình phải xử lý 0.98 lần timeout trong 1000 gói tin Multicast nhận đƣợc. UCL và α =2 (a) Thống kê tỷ lệ lỗi thật sự/số lần báo timeout Với 5 lần thực nghiệm thì trung bình độ chính xác là 21%.
# Timeout Failed Percentage EWA1 36 4 11.22 EWA3 4 1 25 EWA4 10 3 30 EWA5 21 4 19.476 (b) Số lần timeout/1000Multicast Package TIEU LUAN MOI download : skknchat@gmail.com 7 Trung bình phải xử lý 1.228 lần timeout trong 1000 gói tin Multicast nhận đƣợc 1. Kết luận Với kết quả thực nghiệm nói trên, ta có thể thể rằng với công thức EWMA với α =2 là thực sự có hiệu quả hơn cả. Tỷ lệ chính xác lên đến 31% và chỉ cần xử lý 1 gói tin timeout trong 1000 gói tin multicast. Với độ chính xác là 31%, đã ghi nhận đƣợc kết quả khả quan vì mục tiêu giải pháp không phải đƣa ra con số chính xác node chết mà sau khi khẳng định tạm thời có timeout, cơ chế sẽ tiếp tục ping lại.
Sau khi ping lại thì tỷ lệ khẳng định lỗi là 100% và có thể hoàn toàn định vị đƣợc số lƣợng lỗi và vị trí lỗi. Điều đó giúp ích cho việc khôi phục lỗi nhanh của quá trình truyền multicast. TIEU LUAN MOI download : skknchat@gmail.com 8 KẾT LUẬN Đƣa ra kết luận; đánh giá khả năng áp dụng thực tế của giải pháp. TIEU LUAN MOI download : skknchat@gmail.com 9 CHƢƠNG 2: TỔNG QUAN VIDEO STREAMING 2.
Video streaming Từ sự phát triển của Internet và nhu cầu ngày càng phát triển của con ngƣời, video streaming đã ra đời và phát triển theo hai xu hƣớng chính: video streaming theo yêu cầu và video streaming thời gian thực. Sự phát triển về công nghệ thông tin, công nghệ nén, các thiết bị lƣu trữ băng thông cao và mạng với tốc độ nhanh đã làm cho các dịch vụ truyền video streaming thời gian thực ngày càng trở lên linh động trên mạng Internet. Video streaming thời gian thực có các yêu cầu về băng thông, tỷ lệ mất gói tin, độ trể để có thể hiển thị hình ảnh thực với chất lƣợng tốt. Tuy nhiên, Internet hiện nay không thể cung cấp một chất lƣợng dịch vụ đủ đảm bảo có thể video streaming trên Internet.
Nhƣ vậy, cơ chế thiết kế, các giao thức về video streaming trên Internet có rất nhiều thách thức. Ta sẽ phân tích sâu về video streaming để hiểu cách thách thức đó. Video streaming bao gồm sáu thành phần then chốt quan hệ nhƣ hình dƣới.1: Sáu thành phần của video streaming dữ liệu TIEU LUAN MOI download : skknchat@gmail.com 10 Dữ liệu truyền hình và truyền thanh thô đƣợc nén trƣớc bằng các giải thuật nén truyền hình và truyền thanh sau đó đƣợc lƣu ở thiết bị lƣu trữ.