1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Xây dựng ứng dụng video streamming dựa trên mạng ngang hàng chord

42 4 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 42
Dung lượng 1,52 MB

Nội dung

  TRƯỜNG ………………….  KHOA……………………….    ‐‐‐‐‐[\ [\‐‐‐‐‐    Báo cáo tốt nghiệp  Đề tài:   Xây dựng ứng dụng video streamming dựa mạng ngang hàng Chord                                                                                                                                                                 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com   Tóm tắt Khóa luận đưa phương thức truyền tin multicast tảng mạng ngang hàng nhằm khắc phục nhược điểm số phương thức truyền tin multicast tồn từ trước Những nhược điểm gồm có việc phải phụ thuộc hoàn toàn vào khả router IP multicast hay vấn đề quản lý multicast khó khăn số giao thức truyền tin multicast tầng ứng dụng khác Khóa luận mơ tả chi tiết giao thức mạng ngang hàng có cấu trúc Chord cách thức truyền tin multicast mạng ngang hàng Chord Trong khóa luận, vấn đề truyền video streaming đề cập đến Từ khóa luận xây dựng nên ứng dụng truyền video streaming multicast Chord Việc đánh giá kết thu qua trình xây dựng ứng dụng cho ta thấy ưu điểm việc triển khai multicast mạng ngang hàng, nhược điểm cần khắc phục LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com MỤC LỤC Mở đầu 5  Chương I: Tổng quan video streaming multicast 7  1.1.  Giới thiệu video streaming 7  1.2.  Giới thiệu multicast 9  1.3.  IP multicast 10  1.4.  Multicast tầng ứng dụng ( ALM – Application-layer Multicast) 12  1.4.1.  Giới thiệu 12  1.4.2.  Một số giải pháp truyền tin multicast tầng ứng dụng 13  Chương II: Truyền tin multicast mạng ngang hàng có cấu trúc Chord 16  2.1.  Giới thiệu mạng ngang hàng 16  2.2.1.  Khái niệm 16  2.2.2.  Ưu mạng ngang hàng 16  2.2.3.  Phân loại mạng ngang hàng 16  2.2.  Mạng ngang hàng có cấu trúc Chord 18  2.2.1.  Giới thiệu chung 18  2.2.2.  Finger table 20  2.2.3.  Node tham gia/ rời mạng trình đồng ( stabilization) 21  2.3.  Thuật toán truyền tin multicast dựa mạng Chord 22  Chương III: Xây dựng ứng dụng truyền tin video streaming multicast thời gian thực mạng ngang hàng có cấu trúc Chord 26  3.1.  Mục tiêu yêu cầu việc xây dựng ứng dụng 26  3.2.  Ý tưởng 26  3.3.  Thiết kế hệ thống 27  3.3.1.  Tạo multicast 27  3.3.1.  Tạo liệu thời gian thực 28  3.3.2.  Truyền hình ảnh 28  3.3.3.  Xử lý hiển hình ảnh 29  3.4.  Thiết kế giao thức 29  LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 3.4.1.  Giao thức máy chủ 29  3.4.2.  Giao thức máy khách 31  3.5.  Thiết kế chương trình 33  3.5.1.  Lớp WebcamServer 34  3.5.2.  Lớp WebcamClient 36  Chương IV: Kết đánh giá hệ thống 39  4.1.  Kết thử nghiệm 39  4.1.1.  Môi trường chạy thử 39  4.1.2.  Kết đạt 39  4.2.  Kết đánh giá hiệu 39  Chương V: Kết luận 41  Tài liệu tham khảo 42    LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Mở đầu Trong ngày đầu phát triển ứng dụng đa phương tiện, khoảng nửa cuối thập niên 90, việc xem video mạng gần điều Ngày nay, với bùng nổ Internet, ứng dụng đa phương tiện có video streaming trở thành nhu cầu thiếu nhiều cư dân mạng.Theo thống kê, riêng Mỹ có khoảng 13,5 tỉ video xem tháng 10 – 2008 (nguồn comScore) Con số đủ cho ta thấy lớn mạnh không ngừng ứng dụng video streaming Tuy nhiên, để phát triển ứng dụng video streaming tốt gặp phải nhiều vấn đề Ứng dụng video streaming địi hỏi nhiều băng thơng u cầu độ trễ thấp Chính cần phải có phương thức phân phát video đường truyền hợp lý IP multicast với khả tối ưu hóa đường truyền giải pháp cho vấn đề Tuy nhiên, việc triển khai IP multicast lại tốn địi hỏi tồn mạng phải có Router đắt tiền, chun dụng Điều hồn tồn khơng khả thi mạng diện rộng Internet Triển khai multicast tầng ứng dụng với việc không làm thay đổi hạ tầng mạng phía giải pháp thay hữu hiệu cho IP multicast Hiện nay, giới phát triển nhiều phương pháp truyền tin multiast tầng ứng dụng khác Trong truyền tin multicast dựa mạng ngang hàng hứa hẹn có nhiều ưu điểm Đặc thù truyền tin multicast phải tạo multicast tối ưu, có liên kết chặt chẽ node với nhau, có khả phục hồi lỗi nhanh Mạng ngang hàng có cấu trúc hồn tồn đáp ứng u cầu với việc node liên kết với thuật toán cụ thể Để làm rõ lợi mạng ngang hàng có cấu trúc việc truyền tin multicast, khóa luận nghiên cứu xây dựng ứng dụng truyền video streaming multicast dựa tảng mạng ngang hàng có cấu trúc Chord Sau tóm tắt nội dung khóa luận gồm chương Chương 1: Tổng quan video streaming multicast Giới thiệu video streaming trình bày khái multicast, so sánh với phương thức truyền tin khác IP multicast multicast tầng ứng dụng trình bày cách ngắn gọn để từ thấy ưu điểm multicast tầng ứng dụng so với IP multicast Chương 2: Truyền tin multicast mạng ngang hàng có cấu trúc Chord LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Phần đưa nhìn tổng quan mạng ngang hàng bao gồm: khái niệm, phân loại ưu điểm chung mạng ngang hàng Tiếp đó, giới thiệu hoạt động giao thức Chord Đặc biệt, việc truyền tin multicast dựa mạng Chord đề cập cách chi tiết Chương 3: Xây dựng ứng dụng truyền multicast video streaming thời gian thực Chord Chương đề cập đến yêu cầu, mục tiêu ứng dụng cách thức xây dựng ứng dụng cho phù hợp với mục tiêu Trong đó, trình bày chi tiết thiết kế hệ thống, thiết kế giao thức thiết kế chương trình ứng dụng Chương 4: Kết đánh giá hệ thống Sau nghiên cứu phần trên, chương trình bày mơi trường chạy thử chương trình, kết đánh giá thu sau trình thử nghiêm Chương 5: Kết luận LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Chương I: Tổng quan video streaming multicast 1.1 Giới thiệu video streaming Video loại liệu đa phương tiện quan trọng phục vụ cho truyền thơng cho nhu cầu giải trí người nhiều thập niên Trong thời kỳ đầu video xử lý truyền dạng tín hiệu tương tự (analog) Với phát triển không ngừng mạch điện tử máy tính dẫn đến việc số hóa video mở cách mạng nén truyền thông video Sự phát triển phổ biến Internet năm 90 định hướng truyền thơng video qua mạng chuyển mạch gói best-effort Video qua mạng qua mạng Internet gặp phải nhiều yếu tố bất lợi băng thông, độ trễ gói tin, với số vấn đề làm để chia tài nguyên mạng lng hay làm triển khai hiệu phương thức truyền thông một- nhiều ( truyền liệu từ nguồn đến nhiều đích lúc) Từ có nhiều giải pháp nghiên cứu phát triển nhằm khác phục vấn đề Video streaming định nghĩa “dòng chảy” video , nghĩa liệu video truyền liên tục từ nguồn đến đích Ý tưởng video streaming chia video thành frame, sau liên tục truyền phần chia bên nhận thị phần video nhận mà đợi toàn video truyền xong Tuy nhiên có vài vấn đề ảnh hưởng trực tiếp đến video streaming Video streaming qua mạng Internet gặp nhiều khó khăn Internet cung cấp dịch vụ truyền best-effort (cố gắng tối đa) Do đó, không đảm bảo băng thông, độ trễ, jitter hay gói tin Những nhân tố thường khơng đốn trước động Chính vậy, mục tiêu việc xây dựng ứng dụng video streaming phải thiết kết hệ thống phân phát video chất lượng cao đáng tin qua mạng Internet Các ứng dụng video streaming thường nhiều người dùng lúc, tức video phải truyền lúc tới nhiều người video conference hay truyền hình trực tuyến Truyền tin multicast giải pháp thích hợp cho ứng dụng Phần trình bày chi tiết multicast Cấu thành nên hệ thống video streaming gồm có yếu tố bản: chế nén video, chế điều khiển chất lượng dịch vụ tầng ứng dụng, dịch vụ phân phát video, máy LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com chủ streaming, chế đồng liệu giao thức dành cho video streaming [10] Hình cho ta thấy mối liên hệ yếu tố với Hình 1: Cấu trúc ứng dụng video streaming ƒ Cơ chế nén video Dữ liệu video nguyên gốc cần phải nén trước truyền nhằm tiết kiệm băng thông ƒ Cơ chế điều khiển chất lượng dịch vụ tầng ứng dụng Để đối phó với biến thiên tài nguyền mạng để cung cấp chất lượng hình ảnh thay đổi theo người dùng, nhiều kỹ thuật điều kiển chất lượng dịch vụ tầng ứng dụng đưa Kỹ thuật bao gồm điều khiển tắc nghẽn điều khiển lỗi Điều khiển tắc nghẽn triển khai để ngăn ngừa việc gói tin giảm độ trễ Trong đó, điều khiển lỗi cải thiện chất lượng hình ảnh có gói tin bị ƒ Dịch vụ phân phát video đường truyền Được xây dựng Internet ( giao thức IP), dịch vụ phân phát video đường truyền cho phép đạt QoS ( chất lượng dịch vụ) hiệu cho việc phân phát video qua mạng Internet ƒ Máy chủ streaming Máy chủ streaming đóng vai trị quan trọng việc cung cấp dịch vụ streaming Máy chủ streaming yêu cầu phải xử lý liệu video với buộc thời gian, đồng thời hỗ trợ hành động tương tác dừng (pause), tua (fast forward) Một server streaming gồm LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com hệ thống con: truyền tin (communicator) ví dụ giao thức tầng giao vận, hệ điều hành hệ thống lưu trữ ƒ Cơ chế đồng liệu Với chế đồng bộ, ứng dụng bên nhận hiển thị video gần giống khởi tạo bên gửi Một ví dụ chế đồng cử động môi người nói phải phù hợp với tiếng nói họ phát ƒ Giao thức dành cho video streaming Giao thức thiết kế chuẩn hóa cho truyền thơng máy khách máy chủ streaming Giao thức chia làm loại: giao thức tầng mạng Internet Protocol (IP), giao thức tầng giao vận User Datagram Protocol (UDP) giao thức điều khiển phiên Real-time Streaming Protocol (RTSP) 1.2 Giới thiệu multicast Trong hệ thống mạng có cách truyền tin unicast, multicast broadcast (Hình 2) Unicast phương thức truyền tin sở IP network Với unicast máy truyền có máy nhận theo kiểu point to point Hiện hầu hết ứng dụng mạng phát triển sử dụng phương thức unicast HTTP, Telnet, FTP … Nhưng với ứng dụng đòi hỏi phải truyền tin từ nguồn cho nhóm người dùng video streaming việc triên khai unicast không hiệu truyền tin multicast giải pháp thay Multicast cách truyền liệu từ – nhiều (one-to-many) tức liệu gửi từ node nguồn nhóm node đích nhận liệu Cách truyền khác với unicast– gửi thơng tin mạng theo cách truyền gói tin một- (one – to – one) Nếu multicast so sánh với gọi chung cho nhiều người (conference call) unicast so sánh với gọi riêng hai người Broadcast mô tả truyền thơng tin cho tồn mạng, tất điểm mạng nhận thông báo Trong trường hợp người gửi tất người mạng nhận Broadcast hỗ trợ mạng LAN (ví dụ Ethernet) sử dụng để gửi gói tin giống đến máy mạng LAN (ví dụ ARP sử dụng gửi địa đến toàn máy mạng LAN) Network protocol (như IP) hỗ trợ khn dạng gói tin để gửi đến hệ thống logical network LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Có thể nói, multicast cách thức hiệu để truyền liệu đến nhóm người Internet Chúng ta sử dụng unicast để truyền tin từ nguồn đến node nhóm Tuy nhiên, với cách node nguồn phải lặp lặp lại việc truyền gói tin cho nhiều node khác, dẫn đến việc tiêu tốn tài nguyên node nguồn ( CPU, memory …) Đồng thời, có nhiều gói tin khơng cần thiết lưu thơng mạng, dẫn đến lãng phí tài nguyên mạng Với multicast, multicast hình thành với nguồn gốc thành phần lại node đầu cuối ( end – host ) router tùy vào cơng nghệ multicast khác Thay việc node nguồn nhân gói tin gửi đến node nhóm truyền cho vài node định node có nhiệm vụ chép truyền gói tin theo multicast Hình 2: Các phương thức truyền tin mạng 1.3 IP multicast IP multicast (Hình 3) chuẩn mở IETF (Internet Engineering Task Force)[3], dùng để truyền liệu tới nhiều người nhận. Trong IP multicast, router đóng vai trị node trung gian multicast có trách nhiệm chép gói tin truyền cho node ứng dụng - đây, node đóng vai trị LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Hình 14: Cây multicast thu từ mạng Chord Nhìn vào hình 14 ta thấy được, multicast xây dựng lệch phải Do node cuối vịng trịn Chord thường có độ sâu lớn nhiều so với node đầu vịng trịn Chính vậy, độ trễ tương đối liệu nhận node không Tuy nhiên, hàm băm xây dựng tốt làm giảm đáng kể chênh lệch 3.3.1 Tạo liệu thời gian thực Trong ứng dụng video streaming, video ghi sẵn từ trước bắt lấy trức thời gian thực với thiết bị thu hình Hệ thống sử dụng webcam để tạo liệu thời gian thực Hình ảnh bắt lấy (capture) từ webcam theo khoảng thời gian liên tiếp Việc tính tốn khoảng thời gian lần capture phụ thuộc vào nhiều yếu tố băng thông mạng, khả xử lý máy, chất lượng hình ảnh thu 3.3.2 Truyền hình ảnh Truyền hình ảnh bước quan trọng video streaming Kỹ thuật truyền không tốt ảnh hưởng trực tiếp đến chất lượng hình ảnh thu Thực chất việc truyền video stream việc truyền chuỗi liên tiếp hình ảnh (frame) Mồi hình ảnh nguyên gốc thường có dung lượng lớn Nén ảnh giải pháp nghĩ tới nhằm tối ưu hóa đường truyền, tiết kiệm băng thông JPEG chuẩn nén ảnh LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com mà chất lượng hình ảnh khơng thay đổi nhiều so với ngun Với JPEG hình ảnh thu có dung lượng giảm đáng kể Do đường truyền mạng có giá trị MTU ( Maximum Transmission Unit) giới hạn kích thước gói tin gửi đường truyền nên gửi frame lên đường truyền lúc Cách khắc phục phân mảnh frame thành cách gói tin nhỏ đủ để truyền mạng Việc đòi hỏi chế đánh số thứ tự cho gói tin nhàm đảm bảo gọi tin ghép theo thứ tự bên nhận 3.3.3 Xử lý hiển hình ảnh Sau phân mảnh máy gửi liệu bắt đầu gửi đến máy nhận Trong trình gửi có mát gói tin, gói tin đến khơng theo thứ tự Chính máy nhận có chế xếp lại gọi tin đến không thứ tư, đồng sử dụng timeout để khơng phải chờ q lâu gói tin bị Để hỉnh ảnh thị khơng gây khó chịu cho người dùng, hình ảnh sau ghép lại lưu buffer hiển thị khoảng thời gian 3.4 Thiết kế giao thức 3.4.1 Giao thức máy chủ Quy trình hoạt động máy chủ biểu diễn hình sau: LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Tạo nhóm multicast Tạo liệu thời gian thực Hiển thị hình ảnh Phân mảnh frame Khởi tạo multicast ƒ Tạo nhóm multicast Máy chủ sử dụng hàm create() với địa IP port để khởi tạo mạng Chord Máy khách liên lạc với máy chủ địa IP port khai báo ƒ Tạo liệu thời gian thực Dữ liệu thực tạo cách bắt lấy (capture) hình ảnh thu từ webcam khoảng thời gian định kỳ Với lần capture ta thu frame dạng chuỗi byte ƒ Phân mảnh hình ảnh Đầu vào trình phân mảnh hình ảnh dạng chuỗi byte Chuỗi byte chia thành phân nhỏ để gửi mạng ƒ Khởi tạo multicast Sau hình ảnh phân mảnh thành phần nhỏ, thêm vào số trước đóng gói gói tin UDP cuối gửi đến node phù hợp Cấu trúc gói tin multicast tầng ứng dụng: LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com LimitID ImageID NumberOfParts PartID Data - LimitID (8 byte) : ID giới hạn khơng gian chuyển tiếp gói tin node nhận - ImageID (2 byte): ID ảnh capture từ webcam - NumberOfParts (2 byte): số lượng phần chia từ ảnh - Data : phần ảnh chia Theo thuật tốn multicast trình bày trình khởi tạo multicast, bảng finger table có entry máy chủ phải gửi gói tin đến nhiêu node, entry giống gửi lần Các entry finger table lớp đầu tiền multicast 3.4.2 Giao thức máy khách Tham gia nhóm multicast Nhận gói tin Xử lý gói tin Chuyển tiếp gói Hiển thị hình ảnh ƒ Tham gia mạng Chord Mỗi node muốn tham gia vào trình nhận liệu từ máy chủ bước phải tham gia vào mạng Chord máy chủ tạo Hàm join() giao thức Chord gọi node muốn nhập mạng Thông tin hệ thống yêu cầu địa IP cổng kết nối máy chủ ƒ Nhận gói tin LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Máy khách khởi tạo cổng UDP để ln ln lắng nghe gói tin gửi đến từ máy chủ từ máy khách khác Khi nhận gói tin hàng đợi sử dụng để lưu trữ gói tin phục vụ cho việc xử lý sau ƒ Chuyển tiếp gói tin Cứ nhận gói tin hàm decodePacket() gọi để bóc tách gói tin lấy trường LimitID – quy định giới hạn chuyển tiếp Sau gói tin chuyển tiếp cho finger bảng Finger table với ID khoảng ID từ chỉnh LimitID Định dạng gói tin chuyển tiếp newLimitID imageID numberOfParts partID data - newLimitID giới hạn áp dụng cho node nhận - Các trường lại nguyên gói tin nhận ƒ Xử lý gói tin Do frame phân mảnh nguồn nên máy khách cần thực trình ghép gói tin lại với để tạo thành frame gốc Q trình thực lớp Image ProccessImage Giả sử ta nhận gói tin với trường imageID i, numberOfParts n, partID j Quá trình ghép ảnh thực theo nguyên tắc sau: - Nếu lần nhận gói tin với imageID i khởi tạo danh sách Li có chiều dài n lưu gói tin nhận vào vị trí j danh sách Ngược lại, lưu gói tin vào vị tri j danh sách Li tồn từ trước, kiểm tra xem danh sách đầy hay chưa Gọi hàm merge() để ghép gói tin danh sách đầy hết thời gian timeout Hình ảnh thu sau ghép dạng chuỗi byte lưu vào hàng đợi phục vụ cho việc thị ƒ Hiển thị hình ảnh Để tránh tượng hiển tượng tốc độ hình ảnh thay đổi cách đột ngột, lúc nhanh, lúc chậm, thay hiển thị hỉnh ảnh nhận đủ hình ảnh lưu vào hàng đợi với thời gian ảnh nhận đủ LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Giả sử ta quy định 150 ms hiển thị hình ảnh, tức ≈ hình/s t1 t2 t3 t4 frame1 frame2 frame3 frame4 Hiện có frame đợi với t1, t2, t3, t4 thời gian frame nhận đủ Ta có Δ1, Δ2, Δ3, Δ4 khoảng thời gian từ nhận mảnh đầu tiền nhận mảnh cuối Sau hiển thị frame1 ta đợi khoảng thời gian (150 – (t2 - t1 ) - Δ2 ) tiếp tục hiển thị frame2 Tương tự với frame3 frame4 Giá trị 150 thay đổi giá trị khác tùy thuộc vào loại mạng 3.5 Thiết kế chương trình Chương trình gồm lớp MessageHandler, Node lớp WebcamServer triển khai máy chủ (Hình 15a) lớp WebcamClient máy khách (Hình 15b) MessageHandler lớp dùng để trao đổi tin cậy thông tin điều khiển, quản lý mạng node với Node lớp giao thức Chord Node chịu trách nhiệm triển khai thuật toán giao thức Chord tìm successor, thuật tốn đồng … Hai lớp Node MessageHandler xây dựng giao thức Chord nên khơng trình bày WebcamServer WebcamClient lớp ứng dụng, thực giao thức Chord Cụ thể WebcamServer WebcamClient sử dụng bảng finger table giao thức Chord để thực định tuyến multicast node với (a) Hình 15: (a) Cấu trúc chương trình máy chủ (b) (b) Cấu trúc chương trình máy khách LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 3.5.1 Lớp WebcamServer Hình 16: Thuộc tính phương thức lớp WebcamServer Lớp WebcamServer (Hình 16) lớp ứng dụng truyền video multicast dựa Chord máy chủ WebcamServer chịu trách nhiệm tạo luồng liệu video thời gian thực Cụ thể WebcamServer định kỳ bắt hình ảnh thu từ webcam, sau tiến hành gửi broadcast toàn mạng Chord Một số phương thức //Hàm khởi tạo //Tham số: // localNode: thể lớp Node public WebcamServer(Node localNode) // Bắt lấy hình ảnh từ webcam // Hàm trả hình ảnh dạng chuỗi byte public byte[] captureImage() LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com // Phân mảnh hình ảnh thu hàm captureImage() thành phần nhỏ // Giá trị trả danh sách phần mảnh hình ảnh public List fragmentImage(byte[] image) // Đóng gói gói tin tầng ứng dụng với trường khác // Tham số: // limitID: giới hạn chuyển tiếp dành cho node nhận // imageID: số thứ tự ảnh // numberOfPart: số phần bị phân từ ảnh gốc // partID: số thứ tự phân mảnh // fragment: liệu phần ảnh // Hàm trả gói tin tầng ứng dụng dạng chuỗi byte public byte[] PacketToByte(long limitID, short imageID, short numberOfPart, short partID, byte[] fragment) // Hàm khởi tạo broadcast // Tham số: // image: chuỗi byte liệu hình ảnh // Hàm sử dụng thuật tốn truyền broadcast để gửi hình ảnh cho máy khách public void SendBroadcastImage(byte[] image) // Gửi gói tin tầng ứng dụng cho node // Tham số: // desIP: IP node nhận // limitID: giới hạn chuyển tiếp dành cho node nhận // iID: số thứ tự ảnh // part: liệu phần ảnh // partID: số thứ tự phân mảnh // numberOfPart: số phần bị phân từ ảnh gốc public void send(string desIP, long limitID,short iID, byte[] part, short partID, short numberOfPart) LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 3.5.2 Lớp WebcamClient (a) Hình 17: (a) Các thuộc tính (b) (b) Các phương thức (c) (c) Lớp lồng Tại node, lớp WebcamClient (Hình 17) thực cơng việc: xử lý hiển thị luồng hỉnh ảnh thu từ máy chủ, đồng thời chuyển tiếp hình ảnh cho node khác Một số phương thức quan trọng // Hàm khởi tạo // Tham số: // gui: giao diện chương trình // localNode: thể lớp Node public WebcamClient(MainForm gui, Node localNode) // Lắng nghe kết nối đến lưu liệu vào hàng đợi listReceivePackets public void receive() // Hàm xử lý gói tin nhận public void processPacket() // Hàm lấy giá trị trường từ gói tin nhận // Tham số: // packet: gói tin nhận dạng chuỗi byte // limitID: lưu thông tin giới hạn chuyển tiếp // imageID: lưu số thứ tự frame // numberOfPart: lưu số phần frame // partID: lưu số thứ tự phân mảnh LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com // fragmentImage: lưu liệu phân mảnh public void decodePacket(byte[] packet, ref long limitID, ref short imageID, ref short numberOfPart, ref short partID, ref byte[] fragmentImage) // Hàm đóng gói liệu để gửi mạng // Tham số: // limitID: giới hạn chuyển tiếp // imageID: stt frame // numberOfPart: số phân mảnh frame // partID: stt phân mảnh // fragment: liệu phân mảnh // Hàm trả liệu dạng chuỗi byte để gửi qua mạng public byte[] PacketToByte(long limitID, short imageID,short numberOfPart, short partID, byte[] fragment) // Hàm hiển thị video public void show() // Hàm hiển thị hình ảnh // Tham số: // image: hình ảnh dạng chuỗi byte public void showRemoteWebcam(byte[] image) // Hàm gửi chuyển tiếp gói tin theo thuật toán multicast public void forwardPacket(long limitID, short imageID,short numberOfPart, short partID, byte[] fragmentImage) Khắc phục nhược điểm UDP khơng có chế xếp lại gói tin đến khơng thứ tự, lớp WebcamClient sử dụng lớp Image ProcessImage (Hình 18) để thực việc Lớp Image sử dụng để lưu mảnh frame Lớp ProcessImage thực kiểm tra xem nhận đủ phần chưa hết thời gian timeout chưa tiến hành ghép phần lại với LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com   Hình 18: Lớp Image lớp ProcessImage   LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Chương IV: Kết đánh giá hệ thống 4.1 Kết thử nghiệm 4.1.1 Môi trường chạy thử Chương trình chạy thử mơi trường mạng LAN với tốc độ đường truyền điều kiện lý tưởng 100 Mbps Mỗi máy khách kết nối mạng qua cổng Ethenet tốc độ 100 Mbps, RAM G, CPU 2.4 GHz Máy chủ có cấu hình RAM 3G, CPU 2x2.4, kết nối Ethenet 100 Mbps Quá trình chạy thử diễn nhiều lần với số lượng máy khách tăng dần bắt đầu với máy tối đa máy 4.1.2 Kết đạt Qua trình quan sát ta thấy hình ảnh hiển thị rõ nét, nhiên thời tốc độ hiển thị hình ảnh cịn chậm ( số hình / s) gây tượng dật hình gây khó chịu cho người xem 4.2 Kết đánh giá hiệu Với mơ hình máy tính máy chủ, ta có băng thơng tiêu tốn máy đo (số liệu bảng giá trị trung bình): Node ID Upload Download 3724 110 KB/s 110 KB/s 7620 110 KB/s 8598 (server) 330 KB/s 13347 110 KB/s 110 KB/s 15105 110 KB/s 19948 110 KB/s 110 KB/s 21901 110 KB/s LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Ta dàng nhận thấy rằng, server có trách nhiệm phải truyền video cho máy mà thông tiêu tốn 330 KB/s Nếu sử dụng phương pháp truyền tin unicast thơng thường băng thơng tiêu tốn phải 660 KB/s LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Chương V: Kết luận Trên giới, ứng dụng mạng ngang hàng nói chung multicast mạng ngang hàng nghiên cứu phát triển cách mạnh mẽ Nó dần thay mơ hình mạng truyền thống mơ hình khách – chủ hay IP multicast Trong khóa luận trình bày cách ngắn gọn cách thứ hoạt động mạng ngang hàng, cụ thể Chord để từ ta thấy lợi số với mơ hình mạng truyền thống khả phân tán, không phụ thuộc nhiều vào hạ tầng mạng phía dưới… Để làm rõ ưu điểm mạng ngang hàng, khóa luận xây dựng thử ứng dụng truyền video streaming multicast thời gian thực mạng Chord Trong ứng dụng sử dụng webcam để tạo luồng liệu thời gian thực, sử dụng Chord để tạo multicast Qua bước đầu thử nghiệm mạng LAN ta thấy ưu điểm máy chủ khơng phải chịu tải q nặng việc truyền multicast hồn tồn khơng phụ thuộc vào router Tuy nhiên ứng dụng xây dựng số nhược điểm, khơng có chế mã hóa video, nén frame theo dạng JPEG, tỷ lệ nén thấp Một nhược điểm độ trễ node lớp multicast so với node lớp chênh lệch nhiều Hiện node bị lỗi rời mạng, việc phục hồi multicast dựa vào giao thức đồng xây dựng giao thức Chord Với việc giao thức chạy định kỳ khiến cho q trình khơi phục diễn chậm gây gián đoạn luồng video streaming khoảng thời gian dài Với kết đạt mặt tồn việc xây dựng ứng dụng, sau số hướng phát triền : ƒ Khắc phục nhược điểm nêu ƒ Xây dựng ứng dụng hôi thảo trực tuyến với nhiều nguồn phát muticast LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Tài liệu tham khảo [1] http://en.wikipedia.org/wiki/SHA_hash_functions [2] http://www.ietf.org/rfc/rfc1889.txt [3] http://www.ietf.org/rfc/rfc3170.txt  [4] http://www.rfc-editor.org/rfc/rfc3376.txt [5] B Zhao, K Kubiatowicz, and A Joseph, “Tapestry: An infrastructure for faultresilient wide-area location and routing,” Tech Rep UCB//CSD-01-1141, University of California at Berkeley Technical Report, April 2001 [6] Ion Stoica, Robert Morris, David Karger, M Frans Kaashoek, Hari Balakrishnan “Chord: A scalable peer-to-peer lookup protocol for internet applications” [7] Mojtaba Hosseini, Dewan Tanvir Ahmed, Shervin Shirmohammadi, and Nicolas D.Georganas “A Survey of Application-Layer Multicast Protocols” [8] Sameh El-Ansary, Luc Onana Alima, Per Brand, Seif Haridi Swedish Institute of Computer Science, Kista, Sweden IMIT-Royal Institute of Technology, Kista, Sweden “Effcient Broadcast in Structured P2P Networks” [9] Sylvia Ratnasamy, Paul Francis, Mark Handley, Richard Karp, Scott Shenker “A Scalable Content-Addressable Network” [10] Wenwu Zhu, Member, IEEE, Dapeng Wu, Student Member, IEEE, Yiwei Thomas Hou, Member, IEEE, Ya-Qin Zhang, Fellow, IEEE, Jon M Peha, Senior Member, IEEE “Streaming Video over the Internet: Approaches and Directions” LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ... Hinh 8: Phân loại mạng ngang hàng ƒ Mạng ngang hàng túy chia làm loại: mạng ngang hàng có cấu trúc mạng ngang hàng khơng cấu trúc ƒ Mạng ngang hàng không cấu trúc liên kết nút mạng mạng phủ thiết... III: Xây dựng ứng dụng truyền tin video streaming multicast thời gian thực mạng ngang hàng có cấu trúc Chord 3.1 Mục tiêu yêu cầu việc xây dựng ứng dụng Hiện giới có nhiều ứng dụng truyền video. .. dựa mạng Chord 22  Chương III: Xây dựng ứng dụng truyền tin video streaming multicast thời gian thực mạng ngang hàng có cấu trúc Chord 26  3.1.  Mục tiêu yêu cầu việc xây dựng

Ngày đăng: 01/11/2022, 20:35