Nâng cao chất lượng truyền video streaming trên mạng ngang hàng có cấu trúc

77 25 0
Nâng cao chất lượng truyền video streaming trên mạng ngang hàng có cấu trúc

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ - - PHÙNG THANH XUÂN NÂNG CAO CHẤT LƯỢNG TRUYỀN VIDEO STREAMING TRÊN MẠNG NGANG HÀNG CÓ CẤU TRÚC LUẬN VĂN THẠC SĨ HÀ NỘI - 2009 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ - - PHÙNG THANH XUÂN NÂNG CAO CHẤT LƯỢNG TRUYỀN VIDEO STREAMING TRÊN MẠNG NGANG HÀNG CÓ CẤU TRÚC Ngành : Công nghệ Thông tin Chuyển ngành : Truyền liệu mạng máy tính Mã số : 60 48 15 LUẬN VĂN THẠC SĨ Cán hướng dẫn : TS Nguyễn Hoài Sơn HÀ NỘI – 2009 i MỤC LỤC LỜI CẢM ƠN Error! Bookmark not defined LỜI CAM ĐOAN Error! Bookmark not defined TÓM TẮT Error! Bookmark not defined MỤC LỤC i DANH MỤC KÝ HIỆU, CHỮ VIẾT TẮT iii DANH MỤC CÁC HÌNH VẼ iv MỞ ĐẦU Chƣơng 1: TỔNG QUAN VIDEO STREAMING 1.1 Video streaming 1.2 Nén truyền hình 1.3 Máy chủ luồng – streaming server .8 1.4 Điều khiển chất lƣợng điểm phát nhận 1.5 Giao thức video streaming 14 1.6 Cơ chế đồng video streaming 15 1.7 Dịch vụ phân tán liệu mạng 17 1.8 Tổng kết chƣơng 20 Chƣơng 2: TRUYỀN THÔNG MULTICAST 21 2.1 Khái niệm truyền tin multicast 21 2.2 Multicast tầng mạng - IP Multicast 22 2.3 Multicast tầng ứng dụng .24 2.4 Các mơ hình truyền tin multicast tầng ứng dụng .25 2.5 Tổng kết chƣơng 29 Chƣơng 3: VIDEO STREAMING TRÊN DHT P2P 30 3.1 Mạng ngang hàng DHT 31 3.2 Video streaming DHT P2P – CHORD 37 ii 3.3 Nghiên cứu liên quan 41 3.4 Tổng kết chƣơng 43 Chƣơng 4: BỐI CẢNH VÀ ĐỀ XUẤT GIẢI PHÁP 44 4.1 Bối cảnh vấn đề video streaming DHT P2P 44 4.2 Tổng quan giải pháp 46 4.3 Giải pháp khôi phục lỗi thời gian thực .48 4.4 Tổng kết chƣơng 56 Chƣơng 5: THỰC NGHIỆM VÀ ĐÁNH GIÁ .57 5.1 Ứng dụng video streaming CHORD 57 5.2 Triển khai giải pháp khôi phục lỗi thời gian thực 58 5.3 Môi trƣờng thực nghiệm 59 5.4 Đánh giá kết 59 Chƣơng 6: KẾT LUẬN 64 TÀI LIỆU THAM KHẢO a iii DANH MỤC KÝ HIỆU, CHỮ VIẾT TẮT KÝ HIỆU VIẾT TẮT TIẾNG ANH GIẢI THÍCH DCT Discrete Cosine Transform Chuyển đổi cosin rời rạc Đây mã hoá/giải mã phục vụ cho việc nén liệu DHT Distributed Hash Table Bảng băm phân tán Một chế quản lý node mạng ngang hàng có cấu trúc IGMP Internet Group Management Protocol Giao thức quản lý nhóm mạng IP Multicast IANA Internet Assigned Numbers Authority Giao thức gán địa IP IP Multicast MTU Maximum transit unit Đơn vị truyền thơng tối đa Nó đƣợc dùng để tính tốn thơng lƣợng, phục vụ điều chỉnh tỷ lệ gửi MDC Multiple Description Coding Mã hố đa mơ tả (P)FGS (Progressive) Fine Granularity Scalability Các chế mã hoá/giải mã khác phục vụ cho nén liệu P2P Peer to Peer Mạng ngang hàng QoS Quality of Services Chất lƣợng dịch vụ RTT Round trip time Thời gian vòng kết nối Nó đƣợc dùng để tính tốn thơng lƣợng (S)FEC Source Forward Error Connection Cơ chế điều khiển lỗi cách thêm thông tin thừa để bên nguồn khơi phục lại gói tin VCR Video – Caset – Recorder Chức máy ghi âm – đài – video gồm dừng, tạm dừng/trình diễn tiếp, tua nhanh lùi/tiến, chạy ngẫu nhiên iv DANH MỤC CÁC HÌNH VẼ Hình 1.1: Sáu thành phần video streaming liệu Hình 1.2: a) Mã hóa khơng mở rộng b) Giải mã không mở rộng Hình 1.3: a) Mã hóa mở rộng SNR b) Giải mã mở rộng SNR Hình 1.4 a) Bộ mã hố FGS B) Bộ giải mã FGS Hình 1.5:a) Phân tán truyền thơng unicast B) Phân tán truyền thơng multicast Hình 1.6: Biểu đồ thời gian cho Điều khiển theo bên nhận 13 Hình 1.7: Giao thức stacks cho luồng truyền hình 15 Hình 1.8: Đồng hình tiếng .15 Hình 1.9: Bộ lọc đƣợc đặt lớp mạng 18 Hình 1.10:Mơ hình hệ thống lọc mức mạng 18 Hình 2.1: Cơng nghệ truyền tin Multicast .21 Hình 2.2: Phân loại truyền thơng Multicast 22 Hình 2.3: Bộ định tuyến truyền tin multicast tầng mạng 23 Hình 2.4: Truyền thơng multicast tầng mạng tầng ứng dụng 24 Hình 2.5: Giao thức Narada 27 Hình 2.6: Mạng phủ node (a) multicast xây tƣơng ứng (b) 28 Hình 3.1: Mơ hình mạng ngang hàng 31 Hình 3.2: Vòng tròn Chord với node lƣu trữ khóa 33 Hình 3.3: Mạng Chord với bảng finger 34 Hình 3.4: Sơ đồ mạng Chord với node tham gia 36 Hình 3.5: Truyền thơng multicast mạng Chord 39 Hình 3.6: Sơ đồ multicast tƣơng ứng với mạng Chord 40 v Hình 3.7: Ví dụ node lỗi 42 Hình 4.1: Giải pháp khôi phục lỗi thời gian thực 47 Hình 4.2: Phát lỗi thực 53 Hình 4.4: Định vị node lỗi 54 Hình 4.5: node lỗi đồng thời 55 Hình 4.6: Lỗi xen kẽ .55 Hình 5.1: Thiết kế ứng dụng video streaming Chord 57 MỞ ĐẦU Trong xu hƣớng phát triển mạnh mẽ Internet, yêu cầu truyền thông đa phƣơng tiện Web ngày nhiều, video streaming internet thu hút nhiều ý Vào thập niên 80s, 90s, video streaming bắt đầu đời phát triển theo hai hƣớng chính: video streaming theo yêu cầu (tiếng Anh: video-on-demand) video streaming thời gan thực (tiếng Anh: live video streaming) Video streaming theo yêu cầu hình thức ngƣời dùng tải liệu thiết bị lƣu trữ mình, thực thao tác tua, dừng Các ứng dụng tiếng loại hình truyền thơng nhƣ YouTube, BiTorrent Khác với video streaming theo yêu cầu, video streaming thời gian thực, liệu đƣợc truyền trực tiếp từ thiết bị ghi thu liệu nguồn phát hiển thị trực tiếp bên nhận Với tính chất thời gian thực cung cấp cho nhiều ngƣời sử dụng lú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 nhiều ngƣời sử dụng nhƣ nhà nghiên cứu quan tâm Luận văn phát triển theo xu hƣớng Video streaming thời gian thực có ràng buộc băng thông cao, độ trễ thấp, tỷ lệ gói tin thấp để đáp ứng yêu cầu chất lƣợng hiển thị hình ảnh âm cao Tuy nhiên, video streaming Internet có khó khăn định Thứ nhất, việc áp dụng mơ hình máy Chủ-Khách truyền thống khơng đáp ứng đƣợc nhu cầu tài nguyên máy chủ có hạn, liệu truyền thông đa phƣơng tiện thƣờng lớn, máy chủ khó có khả cung cấp đƣợc cho nhiều ngƣời dùng Thứ hai, băng thông Internet chƣa đƣợc cao đồng đều, việc tập trung vào máy chủ gây 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 khơng kịp thời gian hiển thị Chính mà video streaming Internet thay mơ hình Chủ - Khách sang truyền thơng multicast tầng ứng dụng mạng ngang hàng Truyền thông video streaming mạng ngang hàng, đặc biệt mạng ngang hàng có cấu trúc, có nhiều ƣu điểm Mạng ngang hàng hay gọi mạng đồng đẳng, xố ranh giới máy chủ-máy khách; máy có trách nhiệm nhƣ việc sử dụng tài nguyên xử lý liệu Chính giải 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 mở rộng cao Bất node mạng tham gia dễ dàng Do cung cấp dịch vụ video streaming cho nhiều ngƣời sử dụng tận dụng đƣợc nhiều tài nguyên Thứ ba, khơng tốn chi phí quản lý mạng ngang hàng cung cấp phƣơng thức node quản lý lẫn Tuy nhiên, triển khai video streaming thời gian thực mạng ngang hàng không tránh khỏi khó khăn Khó khăn tƣợng node vào linh động, lỗi thƣờng xuyên xảy khiến cho gói tin truyền thơng đi, khơng đến đƣợc bên nhận thời gian trình diễn Mất gói tin không đến kịp thời ảnh hƣởng đến tỷ lệ gói tin, độ trễ việc trình diễn 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 mạng ngang hàng có cấu trúc, luận văn sâu vào việc giải tƣợng node ra/vào lỗi mạng ngang hàng có cấu trúc Giải pháp đƣa khơi phục lỗi thời gian thực Điểm giải pháp dựa vào liệu truyền thông video streaming, phát lỗi tức thời xác dựa vào thời gian timeout Thời gian đƣợc tính dựa vào mơ hình thông kê hành vi khứ node mạng nên đảm bảo xác phù hợp Giao thức đƣợc triển khai mạng ngang hàng có cấu trúc Chord Dựa cấu trúc mạng phủ Chord, có yêu cầu truyền video streaming, node liên kết thành multicast Trong trình truyền tin, có thay đổi multicast, phƣơng pháp khơi phục lỗi thời gian thực khắc phục thay đổi đó, tránh ảnh hƣởng đến việc truyền tin Bên cạnh chế khôi phục lỗi định kỳ mạng Chord, giải pháp giúp tìm lỗi vầ khơi phục lỗi nhanh q trình truyền thơng Điều tránh đƣợc việc mát gói tin 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 ngôn ngữ C#, triển khai thí nghiệm mạng LAN Để tìm hiểu giải pháp, nội dung luận văn gồm chƣơng: Chƣơng 1: TỔNG QUAN VIDEO STREAMING Giới thiệu sáu thành phần video streaming nhƣ nén; điều khiển chất lƣợng dịch vụ điểm phát/nhận; dịch vụ phân tán liệu mạng; máy chủ luồng; chế đồng giao thức video streaming Sáu thành phần điều khiển luồng video streaming từ nguồn đến đích, đồng thời, thành phần có chế nâng 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 liệu, cụ thể multicast tầng ứng dụng Chƣơng 2: TRUYỀN THÔNG MULTICAST Nối tiếp từ chƣơng 1, chƣơng giới thiệu truyền thông mạng ngang hàng multicast Xác định ƣu điểm, nhƣợc điểm hai cách thức truyền thông multicast IP multicast tầng ứng dụng Từ ƣ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ó khó khăn Những nội dung chƣơng tiếp nối với chƣơng để dẫn dắt vào vấn đề video streaming mạng ngang hàng có cấu trúc Chƣơng 3:VIDEO STREAMING TRÊN DHT P2P Chord đại diện tiếng mạng ngang hàng có cấu trúc băm phân tán Ở chƣơng này, ta tìm hiểu sâu cách thức quản lý node, gia nhập/ thoát khỏi mạng, chế nhận biết khắc phục lỗi Chord Sau kết hợp với chƣơng 2, giới thiệu video streaming giao thức truyền thông multicast mạng Chord Chƣơng đƣa 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 phân tích bối cảnh để đƣa đề xuất khôi phục lỗi thời gian thực Từ mục tiêu giải pháp trình bày chi tiếp từ thiết thành phần cho giải pháp Chƣơng 5:THỰC NGHIỆM VÀ ĐÁNH GIÁ Trong chƣơng 5, ta triển khai giải pháp khôi phục lỗi thời gian thực ứng dụng truyền video streaming mạng Chord Sau ta thực triển khai môi trƣờng thực nghiệm để so sánh việc áp dụng giải pháp không áp dụng giải pháp số thông số Dựa vào kết so sánh đánh giá tính khả thi giải pháp TL = α TimeoutCalculationEWMA TL = α TimeoutCalculationUCL Kết thực nghiệm đƣợc mơ tả nhƣ hình vẽ sau: 1.1.1.1 EWMA α =1 (a) Thống kê tỷ lệ lỗi thật sự/số lần báo timeout 56 Trong trƣờng hợp có truyền thơng video streaming: thay gửi gói tin keep-alive, ta tận dụng gói tin truyền thơng Lúc timeout lƣu trữ khoảng thời gian nhận đƣợc gói tin truyền thơng Dựa vào thơng tin tính trung bình, có xem xét đến độ lệch biến thiên để đƣa TL – timeout live 5.3.2.3 Công thức tính timeout: Tham khảo nghiên cứu [5] tính thời gian timeout Bài báo đƣa phƣơng pháp tính timeout kỹ thuật TCP-style kỹ thuật Toạ độ Ảo Về tƣơng tƣởng, phƣơng pháp kỹ thuật TCP-style phát triển dựa thông tin thời gian khứ để ƣớc lƣợng đƣợc khoảng thời gian timeout cho lần nhận Tuy nhiên, với kỹ thuật multicast, giao thức truyền thƣờng UDP đặc thù mạng ngang hàng truyền khơng bắt tay (ACK/NACK) Ngồi ra, TCP giao thức truyền ổn định, biến động, khác với UDP Chính mà ta áp dụng tƣơng tự kỹ thuật TCP-style vào UDP nhƣng có điều chỉnh thích hợp (a) Công thức TCP-style khởi nguồn: RTO = AVG + 4* VAR (Cơng thức Jacobson 1988)[5] Trong đó: - AVG: trung bình thời gian truyền - VAR: độ biến thiên thời gian truyền Tuy nhiên, khác với TCP, gói tin truyền ổn định; với giao thức truyền UDP, thời gian nhận gói tin biến thiên mạnh Chính vậy, ta cần sử dụng phƣơng pháp thống kê để tính độ biến thiên cho khoảng thời gian nhận đƣợc Điều đó, tránh đƣợc biến thiên mạnh gây nên RTO (rount-trip timeout) lớn không phù hợp với việc truyền tin UDP (b) Phương pháp thống kê EWAR EstimatedRTT = (1-x) EstimatedRTT + x SampleRTT EstimatedRTT giá trị trung bình có trọng số giá trị đo đƣợc thời điểm Trong thống kê, công thức đƣợc gọi trung bình dịch chuyển trọng số mũ (tiếng Anh:EWMA - exponential weighted moving average) Giá trị x =0.1 Ta áp dụng công thức để tính tốn khoảng thời gian nhận đƣợc trung bình biến thiên khoảng thời gian so với trung bình khứ Timeout = EstimatedRTT + 4*Deviation với 57 EstimatedRTT = (1-x) EstimatedRTT + x SampleRTT Deviation = (1-x) Deviation + x | SampleRTT - EstimatedRTT | Dựa vào cơng thức trên, ta tính toán TimeoutCalculationEWMA (c) Phương pháp thống kê theo khoảng kiểm soát (LCL/UCL) Khoảng kiểm soát đƣờng nằm ngang đồ thị kiểm soát thống kê thƣờng đƣợc cách khoảng ±3 so với độ lệch chuẩn Do khoảng UCL khoảng kiểm sốt lớn so với độ lệch chuẩn nên nghi ngờ node nằm ngồi kiểm sốt Đây sở để tính tốn timeout cho phƣơng pháp TimeoutCalculationUCL (d) Công thức timeout TL Sau áp dụng phƣơng pháp thống kê kết hợp với kỹ thuật TC-style Ta tính tốn đƣợc giá trị TimeoutCalculationEWMA TimeoutCalculationUCL Giá trị timeout TL nhƣ dƣới với α (=1, 2) đƣợc đo thực nghiệm so sánh TL = α TimeoutCalculationEWMA TL = α TimeoutCalculationUCL (e) So sánh hai phương pháp: Cả hai phƣơng pháp dựa sở hành vi khứ node để ƣớc lƣợng khoảng thời gian timeout thời điểm Chính có tính xác phù hợp cho node truyền multicast 58 Hai phƣơng pháp phát triển công thức thống kê tốn học có điều chỉnh để phù hợp với truyền thông UDP Hai phƣơng pháp đƣợc triển khai thực nghiệm để đánh giá kết phần sau 5.3.3 Phát lỗi Nhƣ mô tả tính thời gian timeout, giải pháp đề xuất hai chế phát lỗi dựa vào chế probe gửi gói tin keep-alive Có hai trƣờng hợp lỗi xảy ra, q trình truyền thơng dừng truyền thơng Trong q trình truyền thơng: Node cha Node Timeout Ping/Response Data Package Hình 5.2: Phát lỗi thực Giả sử node cha truyền liệu cho gói tin màu đỏ Sau số lần lấy mẫu, tính đƣợc timeoout TL Đến gói tin 7, node mong muốn nhận đƣợc gói tin khoảng TL, nhƣng đến thời điểm TL, không nhận đƣợc gói tin Có hai trƣờng hợp xảy ra: node cha hết liệu truyền thông node cha bị lỗi Lúc node thực gửi gói tin ping lại đợi khoảng thời gian TL, node cha khơng đáp trả khẳng định node cha lỗi Điều tránh cho trƣờng hợp node cha hết liệu truyền thông không gửi Sau phát lỗi, ta cần phải chuyển sang bƣớc khơi phục lỗi để cập nhật lại truyền thông sớm tốt 5.3.4 Khơi phục lỗi Mục đích phƣơng pháp khơi phục lỗi xác định số lƣợng node lỗi; định vị node lỗi thực stabilize() Giả sử từ trình phát lỗi trên, node Z kết luận có khả có lỗi xảy truyền thông từ nguồn đến Z Khôi phục lỗi thực định vị lỗi chế điều tra – probe 59 5.3.4.1 Định vị lỗi Giả sử node Z sau khoảng thời gian timeout xác định có khả có lỗi từ nguồn F đến node Z Cơng việc Z sau xác định có lỗi phải nhanh chóng thực lỗi vị trí u cầu node tƣơng thích khơi phục lại Để định vị lỗi đƣợc nhanh chóng, giải phải phải cân hai phƣơng pháp có nhƣ sau: - Định vị rộng: tức Z thực điều tra tất node phía Node đáp trả tức node tồn lại Ngƣợc lại, node rời mạng Sau yêu cầu node trả lời xa thực stabilize() Ƣu điểm phƣơng pháp tìm lỗi nhanh Tuy nhiên trƣờng hợp có nhiều node từ node lỗi xuống dƣới khẳng định có lỗi Các node thực điều tra đồng thời lên tạo nên số lƣợng khổng lồ gói tin điều tra Nó khiến cho thông hạn chế dễ xảy tắc nghẽn - Định vị sâu: tức Z thực điều tra node một, ngƣợc lên nguồn Nếu node bị điều tra không đáp trả, Z coi node bị lỗi tiếp tục điều tra lên gặp node lỗi dừng yêu cầu node cha node lỗi thực stabilize() Ƣu điểm phƣơng pháp không chiếm băng thông nhƣng nhƣợc điểm định vị lỗi chậm F N 35 49 Q X 50 Y 60 70 Z Hình 5.3: Định vị node lỗi Chính giải pháp đƣa dung hoà hai phƣơng pháp Khi node bên dƣới node lỗi cuối multicast phát có lỗi, node thực điều tra đồng thời node phía 60 - Nếu ba node phía khơng trả lời khẳng định node bị lỗi điều tra node Node trả thực stabilize() F N 35 Lần I điều tra 49 Lần I +1 điều tra Q X 50 Y 60 70 Z Hình 5.4: node lỗi đồng thời - Nếu có node trả lời node trả lời thực stabilize() Hình phía dƣới X Z báo cáo có lỗi X Z thực điều tra node phía X điều tra F, N, Q lúc N thực stabilize() Z điều tra Q, X, Y X thực stabilize() F N 35 49 Lần I điều tra Q X 50 Y 60 70 Z Hình 5.5: Lỗi xen kẽ 61 Nhƣ giải pháp cân thời gian băng thông dùng cho việc phát lỗi Quá trình thực điều tra node nhƣ sau: - Gửi gói tin keep-alive tới node cần điều tra Đề làm đƣợc điều đó, node cân có thơng tin multicast với địa IP cổng node phía - Sau khoảng thời gian TL mà khơng nhận đƣợc đáp trả coi node lỗi 5.3.4.2 Khôi phục lỗi Sau định vị đƣợc node lỗi n , node n phải gọi hàm stabilize() để thực việc ổn định hóa Hàm có nhiệm vụ kiểm tra tồn node n’ nằm n successor(n) gán lại trỏ successor n n’ Sau đó, n yêu cầu n’ kiểm tra cập nhật n predecessor n’ Định kỳ, node n phải gọi hàm fix_fingers() để cập nhật lại bảng finger Cuối cùng, n gọi hàm check_predecessor() cách định kỳ để kiển tra xem node đứng trƣớc có bị gián đoạn hay khơng Nếu có, n tự thiết lập lại trỏ predecessor thành trỏ NULL 5.4 Tổng kết chƣơng Nhƣ giải pháp khôi phục lỗi thời gian thực với thiết kế đạt đƣợc mục tiêu đề Sau ta tiến hành triển khai giải pháp cho việc truyền video streaming mạng ngang hàng cấu trúc băm phân tán – CHORD để thực đánh giá giải thuật 62 CHƢƠNG 6: THỰC NGHIỆM VÀ ĐÁNH GIÁ Trong chƣơng 5, ta triển khai giải pháp khôi phục lỗi thời gian thực ứng dụng truyền video streaming mạng Chord Sau ta thực triển khai môi trƣờng thực nghiệm để so sánh việc áp dụng giải pháp không áp dụng giải pháp số thông số Dựa vào kết so sánh đánh giá tính khả thi giải pháp 6.1 Ứng dụng video streaming CHORD Giới thiệu ứng dụng: Ứng dụng video streaming ứng dụng truyền hình ảnh thơng qua Webcam, đƣợc kế thừa từ nhóm nghiên cứu mạng ngang hàng thầy giáo Nguyễn Hoài Sơn [1] Ứng dụng video streaming ứng dụng truyền multicast tầng mạng ngang hàng phủ triển khai mạng CHORD Dựa vào cấu trúc topo tầng mạng phủ, node mạng giao tiếp tầng ứng dụng với nhau, thực chất việc truyền tin giao tiếp node-node qua tầng giao vận với chế truyền tin UDP Ứng dụng mô tả truyền tin video streaming đơn nguồn, tức nguồn phát tới node multicast Nguồn truyền chạy ứng dụng WebcamServer truyền liệu tới node chạy ứng dụng WebcamClient Thiết kế ứng dụng: Hình 6.1: Thiết kế ứng dụng video streaming Chord Theo Hình 5.1, ta thấy việc truyền video streaming giao thức quản lý Chord triển khai tầng ứng dụng Ban đầu, node nguồn thu liệu từ webcam hàm captureImage() Theo chế quản lý node Chord, nguồn biết đƣợc node bảng FingerTable bắt đầu thiết lập kết nối UDP riêng trực tiếp tới node client bảng FingerTable Nguồn thực hàm SendBroadcastImage() tới node thiết lập 63 Tới node con, sau nhận đƣợc liệu từ nguồn hàm receive() thực xử lý thông tin ProcessPacket() hiển thị hình ảnh lên client show() đồng thời node thực forward() gói tin tới node bảng FingerTable Giao diện ứng dụng nhƣ sau: 6.2 Triển khai giải pháp khôi phục lỗi thời gian thực Triển khai giải pháp đƣợc mô tả nhƣ hình dƣới - Video streaming: lớp WebcamClient với ProcessPacket(); show (); forwardPacket() luồng chạy receive(); - Xây dựng Multicast: triển khai lớp WebcamClient gồm hai phƣơng thức ListMCT SendMCT - Timeout: triển khai lớp Calculator với hai phƣơng pháp tính timeout TimeoutCalculationEWMA TimeoutCalculationUCL - Phát lỗi: triển khai lớp WebcamClient - Khôi phục lỗi: triển khai lớp BasicNode 64 6.3 Môi trƣờng thực nghiệm Thực nghiệm ban đầu triển khai môi trƣờng thực nghiệm mạng LAN nhƣ sau: - Hai máy PC kết nối mạng LAN - Số lƣợng định danh khoá CHORD 6, tƣơng ứng 64 định danh - Số lƣợng node thực nghiệm node chạy máy PC nói 6.4 Đánh giá kết 6.4.1 Đánh giá kết giá trị timeout: Giá trị timeout đƣợc chạy thực nghiệm nhiều lần với hai giải pháp TimeoutCalculationEWMA TimeoutCalculationUCL đồng thời so sánh giá trị α(=1;2) TL = α TimeoutCalculationEWMA TL = α TimeoutCalculationUCL Kết thực nghiệm đƣợc mô tả nhƣ hình vẽ sau: 6.4.1.1 EWMA α =1 (a) Thống kê tỷ lệ lỗi thật sự/số lần báo timeout Nhƣ bảng thống kê bên dƣới hình vẽ Với 10 lần thực nghiệm trung bình độ xác 3% 65 # EWA1 EWA2 EWA3 EWA4 EWA5 EWA6 EWA7 EWA8 EWA9 EWA10 AVR Timeout Failed Percentage 117 2.56 730 10 1.37 330 1.82 77 7.79 26 3.85 255 2.35 167 2.4 478 14 2.93 61 6.56 455 1.54 269.6 6.1 3.317 (b) Số lần timeout/1000Multicast Package: Thông số đánh giá mức độ tải giải pháp Trung bình phải xử lý 13 lần timeout 1000 gói tin Multicast nhận đƣợc 66 6.4.1.2 EWMA α =2 (a) Thống kê tỷ lệ lỗi thật sự/số lần báo timeout Với lần thực nghiệm trung bình độ xác 31% Độ xác gấp 10 lần α =1 # EWA1 EWA2 EWA3 EWA4 EWA5 AVR Timeout 22 35 23 21 20.8 Failed 4.8 Percentage 66.67 27.27 20 17.39 23.81 31.028 (b) Số lần timeout/1000Multicast Package Trung bình phải xử lý 0.98 lần timeout 1000 gói tin Multicast nhận đƣợc 67 6.4.1.3 UCL α =2 (a) Thống kê tỷ lệ lỗi thật sự/số lần báo timeout Với lần thực nghiệm trung bình độ xác 21% # EWA1 EWA2 EWA3 EWA4 EWA5 AVR Timeout 36 10 21 16 Failed 4 2.8 Percentage 11.11 22.22 25 30 19.05 21.476 (b) Số lần timeout/1000Multicast Package Trung bình phải xử lý 1.228 lần timeout 1000 gói tin Multicast nhận đƣợc 68 6.4.2 Kết luận Với kết thực nghiệm nói trên, ta thể với cơng thức EWMA với α =2 thực có hiệu Tỷ lệ xác lên đến 31% cần xử lý gói tin timeout 1000 gói tin multicast Với độ xác 31%, ghi nhận đƣợc kết khả quan mục tiêu giải pháp khơng phải đƣa số xác node chết mà sau khẳng định tạm thời có timeout, chế tiếp tục ping lại Sau ping lại tỷ lệ khẳng định lỗi 100% hồn tồn định vị đƣợc số lƣợng lỗi vị trí lỗi Điều giúp ích cho việc khơi phục lỗi nhanh q trình truyền multicast 69 CHƢƠNG 7: KẾT LUẬN Trong bối cảnh video streaming internet phát triển rộng rãi Điều dịch vụ truyền hình, học từ xa, họp hội nghị trực tuyến… dịch vụ hữu ích Thêm nữa, việc triển khai video streaming mạng ngang hàng có cấu trúc tạo nên chia sẻ cộng đồng, tình mở rộng cao, khơng phụ thuộc vào tài nguyên hiệu máy chủ Tuy nhiên có khó khăn cần phải vƣợt qua nhƣ không ổn định mạng node vào liên tục, lỗi mạng… Điều gây nên mát gói tin, góitin đến trễ so với thời gian trình diễn, ảnh hƣởng lớn tới chất lƣợng hình ảnh truyền thơng Do khơi phục lỗi góp phần cải thiện chất lƣợng lên nhiều Bên cạnh giải pháp khôi phục lỗi định kỳ, giải pháp khắc phục lỗi thời gian thực đề xuất giúp tìm lỗi khơi phục nhanh hơn, xác Giải pháp đƣợc thiết kế gọn tầng ứng dụng, dựa cấu trúc mạng Chord hàm sẵn có Chord Ƣu điểm bật giải pháp nhƣ sau: - Kết hợp với khôi phục lỗi định kỳ mạng Chord, giải pháp cung cấp chế nhận biết lỗi thời gian thực, thu ngắn thời gian tìm lỗi thời gian thực Điều đặc biệt có lợi truyền thơng thời gian thực - Giải pháp cung cấp chế timeout dựa vào việc mơ hình hố theo liệu khứ Cơ chế chứng minh tính đắn định dự hành vi truyền thơng node, thơng thƣờng thay đổi Hành vi truyền thơng thay đổi, tạm nghi ngờ lỗi xảy đƣờng truyền - Sau trình timeout ta tạm khẳng định có tƣợng node lỗi thực ping lại Do giải pháp có tính đắn 100% lỗi vị trí lỗi nhƣ dƣới - Cung cấp chế nhận biết đƣợc nhiều lỗi vị trí lỗi linh động truyền thơng Điều thơng thƣờng khó mạng ngang hàng thông tin truyền thông mạng ngang hàng không đƣợc chia sẻ Giải pháp đƣợc triển khai ngôn ngữ C#, chạy thử nghiệm mạng LAN để đánh giá độ trễ Dựa kết thu đƣợc, giải pháp chứng tỏ tính khả thi TÀI LIỆU THAM KHẢO Tiếng Việt Phạm Duy Thăng (2009); “Giải pháp khắc phục lỗi truyền thông multicast dựa mạng ngang hàng CHORD”; Luận văn tốt nghiệp, Đại học Công nghệ, Trƣờng ĐH Quốc Gia Tiếng Anh Castro Miguel, Druschel Peter, Kermarrec Anne-Marie, Rowstron Antony (2002); “Scribe: A large-scale and decentralized application-level multicast infrastructure” Castro1 Miguel, Druschel Peter, Kermarrec Anne-Marie, Rowstron Antony, Nandi Animesh, Singh Atul; “SplitStream: High-Bandwidth Multicast in Cooperative Environments” Multicast http://en.wikipedia.org/wiki/Multicast Rhea Sean, Geels Dennis, Roscoe Timothy, and Kubiatowicz John (2003); “Handling Churn in a DHT”; University of California Stoica Ion, Morris Robert, Karger David, Kaashoek M.F, Balakrishnany Hari; “Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications” Wu Dapeng, Hou Yiwei Thomas, Zhu Wenwu, Zhang Ya-Qin, Peha Jon M (2001); “Streaming Video over the Internet: Approaches and Directions” Yang Mengkun, Fei Zongming (2004); “A Proactive Approach to Reconstructing Overlay Multicast Trees”; Department of Computer Science, Universtiy of Kentucky Zehnder Stefan (2008);“ Live P2P Video Streaming Framework”; Bachelor Thesis, Department of Informatics, University of Zurich ... Khách sang truyền thơng multicast tầng ứng dụng mạng ngang hàng Truyền thông video streaming mạng ngang hàng, đặc biệt mạng ngang hàng có cấu trúc, có nhiều ƣu điểm Mạng ngang hàng hay gọi mạng đồng... khai vào mạng ngang hàng có cấu trúc có khó khăn Những nội dung chƣơng tiếp nối với chƣơng để dẫn dắt vào vấn đề video streaming mạng ngang hàng có cấu trúc Chƣơng 3 :VIDEO STREAMING TRÊN DHT... khơng đẹp mắt Nhằm mục đích nâng cao chất lƣợng video streaming mạng ngang hàng có cấu trúc, luận văn sâu vào việc giải tƣợng node ra/vào lỗi mạng ngang hàng có cấu trúc Giải pháp đƣa khơi phục

Ngày đăng: 09/03/2020, 06:50

Từ khóa liên quan

Mục lục

  • MỤC LỤC

  • DANH MỤC KÝ HIỆU, CHỮ VIẾT TẮT

  • DANH MỤC CÁC HÌNH VẼ

  • MỞ ĐẦU

  • Chương 1: TỔNG QUAN VIDEO STREAMING

  • CHƯƠNG 2: TỔNG QUAN VIDEO STREAMING

  • 2.1. Video streaming

  • 2.2. Nén truyền hình

  • 2.3. Máy chủ luồng – streaming server

  • 2.4. Điều khiển chất lượng tại điểm phát và nhận.

  • 2.4.1. Điều khiển tắc nghẽn

  • 2.4.2. Điều khiển lỗi

  • 2.5. Giao thức video streaming

  • 2.6. Cơ chế đồng bộ video streaming

  • 2.7. Dịch vụ phân tán dữ liệu trên mạng

  • 2.7.1. Lọc mức mạng

  • 2.7.2. Nhân bản nội dung

  • 2.7.3. Multicast tầng ứng dụng

  • 2.8. Tổng kết chương

  • CHƯƠNG 3: TRUYỀN THÔNG MULTICAST

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan