Đăng ký Đăng nhập
Trang chủ Kỹ thuật phát thanh truyền hình qua mạng ngang hàng...

Tài liệu Kỹ thuật phát thanh truyền hình qua mạng ngang hàng

.DOCX
24
159
118

Mô tả:

Table of Contents CHƯƠNG I: TỔNG QUAN VỀ KỸ THUẬT VIDEO STREAMING....................................3 1.1 Tổng quan video streaming......................................................................................................3 1.2 Quá trình Video Streaming.....................................................................................................4 1.3 Hoạt động của hệ thống video streaming.................................................................................5 1.4 Một số phương thức phân phối luồng video.............................................................................7 1.4.1 IP multicast.................................................................................................................................8 1.4.2 Multcast lớp ứng dụng..............................................................................................................9 CHƯƠNG II: HỆ THỐNG LUỒNG VIDEO QUA MẠNG NGANG HÀNG P2P...............10 2.1 Phân tích một số điểm còn tồn tại của kỹ thuật streaming truyền thống................................10 2.2 Mạng ngang hàng Peer-to-Peer..............................................................................................11 2.2.1 Ưu thế của mạng ngang hàng...................................................................................................11 2.2.2 Các vấn đề cần xem xét trong P2P streaming..........................................................................11 2.3 Các phương pháp tiếp cận xây dựng lớp phủ.........................................................................13 2.3.1 Phương pháp tiếp cận dạng cây.................................................................................................13 2.3.2 Một hệ thống luồng trực truyến dựa trên cây đơn luồng...........................................................15 2.3.3 Phương pháp tiếp cận dựa trên cây đa luồng.............................................................................16 2.3.4 Các hệ thống luồng trực truyến dựa trên cây đa luồng..............................................................18 Kết Luận...................................................................................................................................24 1 Mở đầu Trong những ngày đầu phát triển của ứng dụng đa phương tiện, khoảng nửa cuối thập niên 90, việc xem một video trên mạng gần như là điều không thể. Ngày nay, cùng với sự bùng nổ của Internet, các ứng dụng đa phương tiện trong đó có video streaming đã trở thành nhu cầu không thể thiếu của nhiều cư dân mạng. Theo thống kê, riêng tại Mỹ đã có khoảng 33 tỉ video được xem trong tháng 12-2012 (nguồn comScore). Con số trên đủ cho ta thấy được sự lớn mạnh không ngừng của các ứng dụng video streaming. Tuy nhiên, để phát triển một ứng dụng video streaming tốt gặp phải rất nhiều vấn đề. Ứng dụng video streaming đòi hỏi nhiều băng thông và yêu cầu độ trễ thấp. Chính vì vậy cần phải có một phương pháp phân phát video trên đường truyền hợp lý. IP multicast với khả năng tối ưu hóa đường truyền là một giải pháp cho vấn đề này. Tuy nhiên, việc triển khai IP multicast lại rất tốn kém bởi nó đòi hỏi toàn mạng phải có những Router đắt tiền, chuyên dụng. Điều này hoàn toàn không khả thi trong một mạng diện rộng như Internet. Triển khai multicast trên tầng ứng dụng với việc không làm thay đổi hạ tầng mạng phía dưới là một giải pháp thay thế hữu hiệu cho IP multicast. Hiện nay, trên thế giới đã và đang phát triển rất nhiều phương pháp truyền tin multicast trên tầng ứng dụng khác nhau. Trong đó truyền tin multicast dựa mạng ngang hàng hứa hẹn có nhiều ưu điểm. Đặc thù của truyền tin multicast là phải tạo được một cây multicast tối ưu, có sự liên kết chặt chẽ giữa các node với nhau, có khả năng phục hồi lỗi nhanh. Mạng ngang hàng có cấu trúc hoàn toàn có thể đáp ứng được yêu cầu đó với việc các node được liên kết với nhau bằng một thuật toán cụ thể. Chương 1: Tổng quan vềề kỹỹ thuật Video Streaming Trong chương I cũng đề cập đến vấn đề truyền tin multicast lớp ứng dụng Ch ƣ ng 2: Hệ thốống luốềng video qua mạ ng ngang hàng P2P ơ Trong chương này giới thiệu khái quát mạng ngang hàng P2P. Khái niệm về mạng P2P và các kiến trúc mạng của nó. Các mục tiêu, các thuận lợi, khó khăn trong mạng P2P. 2 CHƯƠNG I: TỔNG QUAN VỀ KỸ THUẬT VIDEO STREAMING 1.1 Tổng quan video streaming Video là một loại dữ liệu đa phương tiện quan trọng phục vụ cho truyền thông hoặc cho nhu cầu giải trí của con người trong nhiều thập niên. Trong thời kỳ đầu video được xử lý và truyền dưới dạng tín hiệu tương tự (analog). Với sự phát triển không ngừng của mạch điện tử và máy tính dẫn đến số hóa video và mở ra một cuộc cách mạng về nén và truyền thông video. Sự phát triển và phổ biến của Internet giữa những 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 Internet gặp phải rất nhiều yếu tố bất lợi về băng thông, độ trễ và mất gói tin, cùng với một số vấn đề như làm thế nào để chia sẽ tài nguyên mạng giữa các luồng hay làm thế nào có thể triển khai hiệu quả phương thức truyền thông một – nhiều. Từ đó đã có rất nhiều giải pháp được nghiên cứu và phát triển nhằm khắc phục những vấn đề này. Video Streaming được định nghĩa là một “dòng chảy” video, nghĩa là dữ liệu video được truyền liên tục từ một nguồn đến một đích nào đó thông qua Internet. Video Streaming thường được sử dụng trong lĩnh vực giải trí hoặc dạy học, dùng để lưu trữ các tập tin Video hoặc các bài học, cung cấp cho người dùng các tiện ích như tìm kiếm, liệt kê và khả năng hiển thị hoặc hiển thị lại các dữ liệu Video theo yêu cầu.Với các định dạng tập tin Video truyền thống, dữ liệu chỉ có thể hiển thị khi đã được tải về (download) toàn bộ, vì vậy đối với các tập tin Video chất lượng cao có dung lượng lớn thì công việc này sẽ tiêu tốn rất nhiều thời gian. Video Streaming tiết kiệm thời gian cho người dùng bằng cách sử dụng các công nghệ giải nén kết hợp với hiển thị dữ liệu đồng thời trong lúc vẫn tiếp tục tải video về. Quá trình này được gọi là kỹ thuật đệm (buffering): o Thay vì được gửi một lần duy nhất, dữ liệu video streaming sẽ được chia thành từng gói nhỏ, sau đó liên tục truyền những phần được chia ra. o Ban đầu bên nhận sẽ lấy về một phần chia nhỏ của dữ liệu Video và hiển thị những phần video đã nhận được, đồng thời trong lúc hiển thị 3 các gói dữ liệu còn lại sẽ lần lượt được lấy về để kịp cho việc hiển thị tiếp theo. Video Streaming được thể hiện dưới hai dạng:  Video theo yêu cầu (on demand): là các dữ liệu Video được lưu trữ trên máy chủ đa phương tiện và được truyền đến người dùng khi có yêu cầu, người dùng có toàn quyền để hiển thị cũng như thực hiện các thao tác (tua, dừng, quay lại…) với các đoạn dữ liệu này.  Video thời gian thực (live event): là các dữ liệu Video được biến đổi trực tiếp từ các nguồn cung cấp dữ liệu theo thời gian thực (máy camera, microphone, thiết bị phát dữ liệu Video…). 1.2 Quá trình Video Streaming Với Video Streaming máy tính của người sử dụng không phải tải toàn bộ Video về cùng một lúc. Để thực hiện tăng tốc độ lần tải về, tại bất kỳ thời điểm nào máy tính chỉ cần tải về một phần thông tin của Video. Với kỹ thuật này, chúng ta cần một máy chủ đặc biệt kiểm soát việc cung cấp các nội dung Video, để bất kỳ phần nào của đoạn Video được lưu trữ trên máy chủ đều có thể được truy cập bất kỳ lúc nào Video Streaming:  True Streaming: tín hiệu Video đến theo thời gian thực và hiển thị ngay lập tức cho người xem.  Download and Play: Sau khi tải toàn bộ Video về, sau đó phát Video.  Progressive Download and Play: Đây là công nghệ lai giữa hai công nghệ trên. Trong công nghệ này, Video sẽ được chia nhỏ ra thành nhiều frame, chương trình phát Video (player) sẽ hiện thị ngay những gói vừa được tải về và lưu trữ dữ liệu đó ở bộ nhớ đệm của máy. Khi tua lại những đoạn Video mà đã tải về, Player sẽ lấy dữ liệu từ bộ nhớ đệm để tải lên. Video Streaming sử dụng các giao thức RTSP, MMS, HTTP… để truyền dữ liệu theo dạng luồng qua mạng Internet, đồng thời sử dụng các chuẩn nén để giảm dung lượng dữ liệu, cung cấp khả năng nén dữ liệu tại nhiều mức nén, nhiều kích thước hiển thị để có thể phù hợp với độ rộng băng thông của nhiều mạng truyền dẫn để tối ưu hoá việc truyền dữ liệu qua mạng. Cũng chính vì vậy việc truyền các Video Streaming qua mạng sẽ phụ thuộc rất nhiều vào các sản phẩm phần mềm 4 máy chủ luồng Video. Hiện nay, có rất nhiều chuẩn công nghệ Video streaming. Cũng như có nhiều định dạng dữ liệu riêng với các chuẩn cộng nghệ đó. Các định dạng Video streaming chỉ giới hạn bởi các công ty dẫn đầu trong công nghệ streaming: Các hãng này đều cung cấp các bộ công cụ trọn gói gồm máy chủ luồng video (lưu trữ, truyền phát dữ liệu theo các giao thức hỗ trợ ...), Video Playe (hiển thị dữ liệu tại phía người dùng), và công cụ kiến tạo dữ liệu với các chuẩn nén. 1.3 Hoạt động của hệ thống video streaming Một hệ thốống Video treaming hoạt động chủ yếốu gốồm 3 thành phầồn: Web server, Server và Client. Hình 1: Kiến trúc hoạt động của hệ thống Web server  Web Server là máy chủ có dung lượng lớn, tốc độ cao, là nơi lưu trữ thông tin về các website có cung cấp dịch vụ chia s video trực tuyến (những Website này nhúng mã embeded flash player do nhà cung cấp dịch vụ lưu trữ và quản l tập tin cung cấp) cùng với những thông tin liên quan khác. 5  Khi máy chủ Web nhận yêu cầu từ máy khách về việc xem một video có trong danh sách video mà Website cung cấp, thì nó sẽ gửi về máy khách: đoạn mã html tĩnh chứa tập tin embeded flash và tập tin xml chứa thông tin của video đó. Server  Server là một máy chủ gồm có: Ổ cứng (Hard disk) chứa dữ liệu và máy chủ quản l dùng quản l quá trình kết nối của các máy khách (thông qua một cổng nhất định).  Hard Disk: Ổ cứng lưu trữ tập tin video của nhà cung cấp.  Server Manager  Máy chủ Video Streaming Client  Truy cập vào web browser, chọn tập tin video cần xem và bấm play, lệnh yêu cầu play tập tin video sẽ được gửi lên máy chủ Web.  Web browser sẽ nhận software player (trong đoạn mã html tĩnh chứa tập tin embeded flash) và thực hiện kết nối với server.  Software player nhận những video stream và thực hiện việc giải nén, giải mã trước khi hiển thị Video lên cho người dùng. Tóm lại:  Web Server: trả về người dùng đoạn html tĩnh, nội dung tập tin chứa embeded flash.  Server: lưu trữ tập tin video, gửi tập tin video được yêu cầu về người dùng.  Client: nhận thông tin từ máy chủ Web và kết nối đến máy chủ (với thông tin nhận được từ máy chủ Web tương ứng về tập tin video đã chọn). 6 Hình 2: Lược đồ tổng quát 1.4 Một số phương thức phân phối luồng video Trong hệ thống mạng của chúng ta hiện nay có 3 cách truyền video cở bản đó là unicast, multicast và broadcast :  Unicast: là phương thức truyền tin cơ sở của IP network. Với unicast một máy truyền và chỉ có một máy nhận theo kiểu point to point. Hiện nay hầu hết các ứng dụng mạng được phát triển và sử dụng trên nền phương thức unicast như HTTP, Telnet, FPT…Nhưng với những ứng dụng đòi hỏi phải truyền tin từ một nguồn tới một nhóm người dùng như video streaming thì việc triển khai trên unicast là không hiệu quả và truyền tin multicast là giải pháp thay thế.  Multicast: là cách truyền dữ liệu một – nhiều (one – to – many), tức là dữ liệu được gửi từ một nút nguồn và một nhóm nút đích sẽ nhận được cùng dữ liệu đó. Các truyền này khác với unicast – gửi thông tin trên mạng theo cách truyền gói tin một – một (one – to – one). Nếu multicast có thể so sánh với cuộc gọi chung cho nhiều người (conference call) thì unicast có thể so sánh với cuộc gọi riêng giữa 2 người 7  Broadcast: được mô tả như truyền tin cho toàn mạng, tất cả các điểm trong mạng đều nhận được thông báo này. Trong trường hợp này chỉ một người gửi nhưng tất cả người trong mạng đều nhận được. Broadcast được hỗ trợ trong mạng LAN (ví dụ như Ethernet) và được sử dụng để gửi những gói tin giống nhau đến các máy trong mạng LAN (ví dụ ARP được sử dụng gửi địa chỉ đến toàn bộ máy trong mạng LAN). Giao thức lớp mạng như IP hỗ trợ khuôn dạng gói tin để gửi đến bất kỳ hệ thống nào trong logical network. Có thể nói, multicast là cách thức hiệu quả nhất để truyền video đến một nhóm người trên Internet. Chúng ta cũng có thể sử dụng unicast để truyền tin lần lượt từ nguồn đến từng nút trong nhóm. Tuy nhiên, với cách này thì nút nguồn sẽ phải lặp đi lặp lại việc truyền một gói video cho rất nhiều các nút khác nhau, dẫn đến việc tiêu tốn tài nguyên của nút nguồn (CPU, memory…). Đồng thời sẽ có rất nhiều gói video không cần thiết được lưu thông trên mạng, dẫn đến lãng phí tài nguyên mạng. Với multicast, một cây multicast sẽ được hình thành với nguồn là gốc của cây và các thành phần còn lại của cây có thể là nút đầu cuối (end – host) hoặc có thể là các router. Điều này tùy thuộc vào các công nghệ multicast khác nhau. Thay vì việc nút nguồn nhân bản gói tin và gửi đến từng nút trong nhóm thì nó chỉ truyền cho một hoặc vài nút nhất định và các nút này có nhiệm vụ sao chép và truyền gói tin theo cây multicast. 1.4.1 IP multicast Ip multicast là chuẩn mở của IETF (Internet Engineering Task Force) dùng để truyền dữ liệu tới nhiều người nhận. Trong IP multicast, các router sẽ đóng vai trò là nút trung gian trong cây multicast và có trách nhiệm sao chép gói tin rồi truyền cho các nút ứng dụng. Ở đây, các nút này sẽ đóng vai trò là ngọn của cây. 8 Hình 3 : Thành phần IP multicast 1.4.2 Multicast lớp ứng dụng Do nhu cầồu sử dụng truyếồn thống multcast đang ngày càng l ớn, trong khi giao thức IP multcast ở tầồng mạng chưa đủ để đáp ứng, do vậy xu hướng multcast ngày càng được mở rộng sang multcast lớp ứng dụng. Multcast lớp ứng dụng khống thay đổi và phá vỡ hệ thốống mạng. Thay vào đó, nó chỉ thực hiến chức năng truyếồn multcast trến các máy cuốối ở l ớp ứng d ụng. T ừ l ớp ứng dụnga seẽ truyếồn xuốống các lớp mạng và lớp giao vận. Ở các lớp thầốp hơn, c ơ chếố hoàn toàn khống thay đổi. Khái niệm multcast lớp ứng dụng chỉ đơn giản là việc thi hành multcastng như một dịch vụ lớp ứng dụng chứ khống phải như một dịch vụ lớp mạng. Hình 1.8 mố tả việc truyếồn tn multcast cho cùng m ột nhóm ng ười nh ận và người gửi của multcast lớp ứng dụng và IP multcast. Ở đầy, cầy multcast được hình thành ở lớp ứng dụng. Với việc chỉ sử dụng phương thức truyếồn tn unicast của lớp mạng, nút nguốồn S gửi hai gói tn cho D1 và D2; t ại D1, D2 gói tn được nhần bản và chuyển tếốp cho D4, D3. 9 D1 S R S R R D1 R R R D2 D4 D3 Hình 4a : IP multicast R R D2 D4 D3 Hình 4b : Multicast lớp ứng dụng Khi truyền multicast ở lớp ứng dụng, các gói tin không được nhân bản tại các bộ định tuyến giống như mô hình multicast nguyên thủy (IP multicast) mà việc nhân bản gói tin sẽ được thực hiện tại các máy đầu cuối. Về mặt logic, các máy đầu cuối tạo nên một mạng phủ và giao thức truyền thông multicast phải xây dựng và duy trì việc truyền multicast trên mạng phủ này. Trong multicast lớp ứng dụng, các công việc điều khiển như gia nhập nhóm, rời khỏi nhóm, sao lưu và chuyển tiếp gói tin, định tuyến multicast…đều được thực hiện tại điểm đầu cuối (end system hoặc proxy). Do đó, nó không đòi hỏi sự hỗ trợ của các nút trung gian như bộ định tuyến hoặc máy chủ chuyên dùng. CHƯƠNG II: HỆ THỐNG LUỒNG VIDEO QUA MẠNG NGANG HÀNG P2P 2.1 Phân tích một số điểm còn tồn tại của kỹ thuật streaming truyền thống Kỹ thuật streaming truyền thống dựa trên hệ thống Client - Server cung cấp hiệu suất tốt và tỷ lệ sẵn sàng cao nếu số lượng khách hàng được giới hạn. Tuy nhiên, việc triển khai và chi phí bảo trì của các hệ thống này thường rất cao. Trong thực tế, nhiều dịch vụ luồng trực tuyến hiện nay đều có độ phân giải tương đối thấp để tiết kiệm băng thông. Chất lượng của các dịch vụ luồng trực tuyến thường không thể so sánh được với mạng lưới truyền hình truyền thống. Do đó quản lý tài nguyên là một vấn đề quan trọng trong việc triển khai kỹ thuật streaming trên Internet. Mặt khác, khả năng xử lý, dung lượng lưu trữ, lưu lượng của máy chủ I/O có thể tạo thành nút thắt cổ chai. Mặt khác, số lượng lớn các kết nối mạng đường dài cũng có thể dẫn đến tắc nghẽn lưu thông. Do đó, hệ thống không thể đáp ứng yêu 10 cầu thực hiện của các ứng dụng luồng đa phương tiện quy mô lớn, thời gian thực. Tuy nhiên, kỹ thuật IP multicast được cung cấp để giải quyết những vấn đề này cần sự hỗ trợ từ phần cứng đặc biệt và các chi phí thiết lập cơ sở hạ tầng và quản lý là rất tốn kém. Về bản chất, các kỹ thuật truyền thống không thể giải quyết hiệu quả những vấn đề của video streaming. Do đó, mô hình phân phối luồng video quy mô lớn qua mạng Internet đang nổi lên. Mạng P2P đã được chấp nhận rộng rãi như là một cách để giải quyết các vấn đề tài nguyên với các ứng dụng luồng Internet như VoD , live streaming và cung cấp một sự thay thế cho hệ thống client - server. 2.2 Mạng ngang hàng Peer-to-Peer Một mạng máy tính ngang hàng (Peer – to – Peer hoặc P2P) chủ yếu dựa trên sức mạnh tính toán và băng thông của các máy tham gia trong mạng hơn là tập trung vào một số lượng nhỏ các máy chủ (server). Một mạng P2P thuần túy sẽ không có khái niệm về khách (clien) và chủ (server), mà chỉ có những nút ngang hàng thực hiện cả hai chức năng của một máy chủ và máy khách đối với những nút khác trong mạng. Mô hình mạng này khác với mô hình mạng khách – chủ (server –client) mà việc giao tiếp thường là với các máy chủ trung tâm. 2.2.1 Ưu thế của mạng ngang hàng Mục đích quan trọng của mạng ngang hàng là trong mạng tất cả các máy tham gia đều đóng góp tài nguyên, bao gồm băng thông, lưu trữ, và khả năng tính toán. Do đó khi càng có nhiều máy tham gia và mạng thì khả năng tổng thể của hệ thống mạng càng lớn. Ngược lại, trong mô hình máy khách – chủ, nếu số lượng máy chủ là cố định thì khi số máy khách tăng lên thì khả năng chuyển dữ liệu từ các máy chủ cho mỗi máy khách sẽ giảm xuống. Tính chất phân tán của mạng ngang hàng cũng giúp cho mạng hoạt động tốt khi một số máy gặp sự cố. Đối với cấu trúc tập trung, chỉ cần máy chủ gặp sự cố thì cả hệ thống sẽ ngưng trệ. 2.2.2 Các vấn đề cần xem xét trong P2P streaming Trong vài năm qua, mạng P2P đã xuất hiện như là một phương pháp thuận lợi cho việc cung cấp các nội dung đa phương tiện trên nền một mạng phủ lớn. Các đặc tính bên trong mạng P2P làm cho các mô hình P2P trở thành một ứng cử viên 11 tiềm năng để giải quyết các vấn đề khác nhau trong truyền thông đa phương tiện trên mạng Internet. Đầu tiên, mạng P2P không cần sự hỗ trợ từ các bộ định tuyến Internet và do đó chi phí hiệu quả và đơn giản để triển khai. Thứ hai, một peer đồng thời hoạt động như một client cũng như server, do đó có thể tải xuống một luồng video và cùng một lúc tải lên luồng video đó để các peer khác xem chương trình đó. Do đó, truyền tải P2P làm giảm đáng kể nhu cầu băng thông của nút nguồn. Mục tiêu của cơ chế P2P streaming là tối đa hóa chất lượng phân phối nội dung cho các điểm peer riêng lẻ. Tổng hợp nguồn tài nguyên có sẵn của các peer và có khả năng mở rộng đến số lượng bất kỳ các điểm tham gia. Mỗi peer có thể tiếp tục cung cấp nội dung phù hợp với các peer đã kết nối với nó trong lớp phủ bằng cách sử dụng băng thông của các điểm peer đang tham gia. Tuy nhiên, việc cung cấp các vụ P2P streaming video cho một số lượng lớn người xem tạo ra những thách thức công nghệ rất khó khăn trên cả hệ thống và tài nguyên mạng. Trong khi các ứng dụng phân phối file P2P truyền thống nhằm mục tiêu truyền dữ liệu linh hoạt, P2P streaming tập trung vào việc phân phối hiệu quả các nội dung audio và video theo yêu cầu thời gian ràng buộc. Luồng dữ liệu được nhận, phát ngay lập tức và truyền cho các điểm peer liên quan khác. Trong P2P streaming, trễ end-to-end từ nguồn đến nơi nhận lớn bởi vì nội dung có thể phải đi qua một số nơi nhận trung gian. Hành vi của người nhận là không thể đoán trước, họ được tự do tham gia và rời bỏ bất cứ lúc nào, do đó loại bỏ các peer kế tiếp của họ. Người nhận có thể phải lưu một số cấu trúc dữ liệu cục bộ và trao đổi thông tin trạng thái với nhau để bảo vệ các kết nối. Các chi phí kiểm soát ở mỗi điểm nhận đáp ứng mục đích như vậy sẽ nhỏ để giữ cho không sử dụng quá nhiều tài nguyên mạng và để khắc phục hạn chế tài nguyên ở mỗi điểm nhận. Điều này là quan trọng đối với khả năng mở rộng của hệ thống với một số lượng lớn các điểm nhận. Việc cấu trúc các nút thành lập một mạng phủ cung cấp video đảm bảo QoS. Mặt khác, hệ thống có quy mô mở rộng nên có thể chứa hàng chục ngàn người nhận tại cùng một thời điểm. Đồng thời, các chi phí quản lý liên quan hợp lý ngay cả ở quy mô lớn. 12 2.3 Các phương pháp tiếp cận xây dựng lớp phủ Kỹ thuật streaming trong cách tiếp cận P2P được phân loại thành truyền video thời gian thực (P2P live video streaming) và truyền video theo yêu cầu (P2P on demand video streaming). Một số hệ thống P2P streaming đã được triển khai để cung cấp xem video theo yêu cầu hoặc các dịch vụ truyền video trực tuyến qua Internet. P2P Streaming Tree-based Mesh-based Hybrid Hình 5 : Các loại P2P Streaming Dựa trên cấu trúc mạng che phủ, hệ thống P2P streaming được sắp xếp thành ba loại: tree-based (phương thức tiếp cận dạng cây), mesh-based (phương thức tiếp cận dạng lưới) and hybrid schemes (phương thức tiếp cận dạng ẩn). 2.3.1 Phương pháp tiếp cận dạng cây Tương tự như một cây IP multicast được hình thành bởi các bộ định tuyến ở lớp mạng, các người dùng tham gia vào một phiên video streaming có thể tạo thành một cây ở lớp ứng dụng có gốc được bắt nguồn từ máy chủ video nguồn. Về nguyên tắc, mỗi nút nhận dữ liệu từ một nút cha, có thể là nút nguồn hoặc một peer. Các hệ thống dựa trên cây thường phân phối video bằng cách chủ động đẩy dữ liệu từ một peer tới các nút con của nó. Một cách tiếp cận chung của P2P streaming là sắp xếp các peer tham gia vào một lớp phủ có cấu trúc cây đơn luồng mà nội dung được đẩy đi từ nguồn tới tất cả các peer. Nội dung được lan truyền như một dòng chảy liên tục của thông tin từ nguồn xuống. Mỗi người dùng tham gia vào cây ở vị trí nhất định. Các hệ thống 13 loại này chủ yếu là khác nhau trong các thuật toán được sử dụng để tạo ra, duy trì cấu trúc cây. Cho một tập hợp của các điểm peer, có rất nhiều cách để kết nối các peer. Mục tiêu của thuật toán xây dựng cây là tối đa hóa băng thông tới gốc của tất cả các nút. Vì các hệ thống này rất gần với IP multicast, cố gắng để mô phỏng cấu trúc cây của nó, nó có thể để đạt được độ dài đường truyền dữ liệu tương ứng mà không chênh lệch quá nhiều từ các đường dẫn IP multicast. Hình 6 : Mô hình cây đơn Xây dựng và duy trì cây có thể được thực hiện tập trung hoặc một cách phân tán trong hệ thống cây đơn luồng. Khi một peer tham gia hệ thống nó giao tiếp với máy chủ trung tâm. Dựa trên các kết nối hiện có và đặc tính của các peer mới được tham gia vào như vị trí và điểm truy cập mạng, máy chủ quyết định vị trí của peer mới trong cây và thông báo nút cha để peer mới được kết nối vào. Các máy chủ trung tâm có thể phát hiện một peer tách ra thông qua tín hiệu mất hoặc phán đoán dựa trên chỉ số thời gian đầu ra. Trong cả hai trường hợp máy chủ sẽ tính toán lại cấu trúc liên kết cây cho số peer còn lại và chỉ dẫn chúng tạo thành cấu trúc liên kết mới. Đối với một hệ thống streaming lớn, máy chủ trung tâm có thể trở thành điểm nút thắt cổ chai. Để giải quyết vấn đề này, các thuật toán phân phối ví dụ ZigZag được phát triển để xây dựng và duy trì cây streaming phân phối nội dung. Nếu các peer không thay đổi một cách thường xuyên, hệ thống dựa trên mô hình cây đòi hỏi ít chi phí như các gói tin được chuyển tiếp từ peer tới peer mà không cần phải thêm bản tin thông 14 báo. Tuy nhiên trong môi trường tỷ lệ biến động cao, cây sẽ thường xuyên thay đổi và phải xây dựng lại. Do đó, các peer cần phải đệm dữ liệu (buffer data) ít nhất là bằng thời gian cần thiết cho sửa chữa cây để tránh khỏi mất gói. Peer 0 rời Mố hình cầy sau khi khối phục Hình 7 : Xây dựng lại cây streaming 2.3.2 Một hệ thống luồng trực truyến dựa trên cây đơn luồng 2.3.2.1 Giao thức NICE Hệ thống phổ biến nhất sử dụng cách tiếp cận cây đơn luồng là NICE. NICE (The Internet Cooperative Environment) được thiết kế ban đầu cho băng thông thấp và các ứng dụng truyền dữ liệu với một số lượng lớn người dùng. Giao thức sắp xếp các trạm cuối (host) vào trong một hệ thống phân cấp dựa trên thời gian thông tin chuyền đi vòng quanh giữa các host hình 2.6. Các hoạt động cơ bản của giao thức là tạo ra và duy trì các tuyến đường trong hệ thống. Mỗi thành viên giữ chi tiết trạng thái về các thành viên khác gần nó trong hệ thống phân cấp. Và chỉ có kiến thức hạn chế về các thành viên khác trong nhóm. Cấu trúc phân cấp cũng rất quan trọng cho xác định vị trí của các thành viên thất bại. 15 F B Layer 2 F A Layer 1 F B N E D C P G H M O Layer 0 Hình 8 : Sắp xếp các host trong NICE 2.3.3 Phương pháp tiếp cận dựa trên cây đa luồng Các giải pháp cây đơn luồng có lẽ là cách tiếp cận tự nhiên nhất và nó không yêu cầu phức tạp thuật toán mã hóa video. Tuy nhiên, một trong những mối quan tâm với cách tiếp cận dựa trên cây đơn luồng đó là sự thất bại của các nút, đặc biệt là những nút có vị trí cao trong cây có thể làm gián đoạn việc cung cấp dữ liệu cho một lượng lớn người dùng dẫn đến kết quả thu được kém. Nếu một nút bên trong tài nguyên băng thông không đáp ứng phục vụ các nút con của nó, các peer trong cây sẽ bị ảnh hưởng trễ cao trong tiếp nhận dữ liệu hoặc sẽ không bao giờ nhận được gói tin. Các hệ thống này không khai thác tốt tất cả các tài nguyên peer có sẵn và đặc biệt băng thông. Ví dụ, các nút lá chiếm một phần lớn các peer trong hệ thống và họ không đóng góp băng thông vào hệ thống, điều đó làm các peer sử dụng băng thông không hiệu quả. Để đáp ứng mối quan tâm, các nhà nghiên cứu đã nghiên cứu cấu trúc tốt hơn cho việc phân phối dữ liệu. Đặc biệt, một trong những cách tiếp cận đã trở nên phổ biến là phương 16 Hình 9 : Cây đa luồng trên cơ sở streaming Trong cách tiếp cận cây đa luồng , một cơ cấu xây dựng cấu trúc các peer tham gia trong cây đa luồng. Mỗi peer xác định một cây để tham gia dựa trên liên kết băng thông truy cập. Mỗi peer được đặt như một nút nội bộ trong một cây đơn luồng và nút lá trong cây khác mà nó tham gia. Khi một peer tham gia hệ thống, nó tiếp xúc với nút khởi động (bootstrapping) để xác định một nút cha trong cây. Trong cây đa luồng dựa trên hệ thống P2P luồng trực tuyến, đoạn video được mã hóa thành nhiều luồng và mỗi luồng được truyền qua một cây. Chất lượng video nhận được tại các peer phụ thuộc vào số lượng luồng tin mà nó nhận được. Khi một nút bên trong của một cây tách ra, các nút con của nó cũng như các cây có gốc là nút tách ra được phân chia lại và chúng tham gia lại các cây. Việc cung cấp nội dung là một cơ chế đơn giản, các nút nội bộ trong mỗi cây chỉ đơn giản là chuyển tiếp bất kỳ gói tin nhận được cho tất cả các nút con tương ứng của nó. Do đó, thành phần chính của các luồng P2P dựa trên phương pháp tiếp cận cây là các thuật toán xây dựng cây. Có hai lợi thế quan trọng cho các giải pháp cây đa luồng. Đầu tiên, nếu một mạng ngang hàng bị phá hoặc bỏ đi, tất cả các nút con của nó mất đi luồng gửi từ các peer, nhưng nó vẫn nhận được các luồng phân phối dữ liệu qua các cây khác. Do đó, tất cả các nút con của nó sẽ nhận được luồng video trong trường hợp mất đi 17 luồng gửi từ một luồng. Thứ hai, một peer đóng vai trò khác nhau như nút nội bộ cũng như các nút lá trong cây khác nhau. Nếu các peer không thay đổi quá thường xuyên, hệ thống cây đa luồng trực tuyến đòi hỏi ít chi phí, vì các gói tin được chuyển tiếp từ nút tới nút mà không cần thông báo thêm. Tuy nhiên, trong môi trường biến động cao, cây liên tục bị thay đổi và xây dựng lại. Quá trình này đòi hỏi đáng kể bản tin quản l quá trình trên. Do đó, các nút phải đệm dữ liệu ít nhất là thời gian cần thiết để cây sửa chữa, để tránh mất gói tin. 2.3.4 Các hệ thống luồng trực truyến dựa trên cây đa luồng Vài ứng dụng được xây dựng trên khái niệm cây đa luồng phổ biến ngày nay. Ví dụ như hệ thống CoopNet. CoopNet (Cooperative Networking) kết hợp các khía cạnh của cơ sở hạ tầng dựa trên hạ tầng mạng P2P. Nó sử dụng nhiều mã hóa để thực hiện truyền nội dung trên lớp xử l , sau đó truyền nội dung trong các lớp khác nhau theo những con đường khác nhau. Một máy chủ giàu tài nguyên đóng vai trò trung tâm trong việc xây dựng và quản l các cây phân phối nội dung, tuy nhiên băng thông cho việc gửi các luồng dữ liệu nội dung được đóng góp bởi tập hợp các peer . Hệ thống xây dựng nhiều cây phân phối mở rộng nguồn và tất cả người thu. Khi một nút muốn tham gia, nó liên lạc với máy chủ trung tâm nếu đáp ứng yêu cầu thì một nút cha trong cây được chỉ định cho nó. CoopNet hỗ trợ cả luồng trực tuyến cũng như các dịch vụ theo yêu cầu. Cách tiếp cận CoopNet là tốt, ở đây các peer thu được nội dung chất lượng thấp được ưu tiên hơn. Tuy nhiên, các máy chủ trung tâm cần phải duy trì kiến thức đầy đủ của tất cả các cây phân phối, nó sẽ tạo ra chi phí kiểm soát nặng trên máy chủ. Vì vậy khả năng mở rộng của CoopNet không tốt. Một vấn đề khác là các máy chủ trung tâm trở thành một điểm thất bại trên hệ thống. 18 Hình 10 : Streaming Media sử dụng nội dung CoopNet 2.4 Phương thức tiếp cận dựa trên lưới Để chống lại các động thái từ các peer, nhiều hệ thống P2P streaming sử dụng phương pháp tiếp cận dựa trên lưới. Trong phương pháp tiếp cận dựa trên lưới, peer tham gia tạo thành một lớp phủ kết nối ngẫu nhiên. Trong lớp phủ các nội dung gốc từ nguồn ban đầu được phân phối giữa các peer khác nhau. Mỗi nút có thông tin về tất cả các nút khác nhau trong hệ thống. Kết quả là, mỗi nút duy trì kết nối với một vài nút khác trong mạng. Mỗi peer trao đổi dữ liệu với một tập các peer hàng xóm. Nếu một peer hàng xóm rời đi, các peer vẫn có thể tải về các video từ những peer hàng xóm còn lại. Trong khi đó, các peer sẽ bổ sung thêm các máy khác vào tập hợp peer hàng xóm của nó. Không giống như các hệ thống cây đơn luồng trong hệ thống lưới trên, mỗi peer có thể nhận được dữ liệu từ nhiều peer hàng xóm cung cấp. Vì vậy, các hệ thống truyền dựa trên lưới khỏe mạnh chống lại các trạng thái từ các peer hàng xóm. Những thách thức lớn trong hệ thống luồng trực truyến P2P dựa trên lưới là hình thành thông tin láng giềng và lập danh mục dữ liệu. 19 Hình 11: P2PliveVideo Streaming mô hình lưới Khi một peer tham gia vào mạng. Một peer trong các đ ịa ch ỉ m ạng (m ột nút bootstrapping) theo dõi peer mới và cung cầốp m ột danh sách có ch ứa các thống tn của một nhóm ngầẽu nhiến các peer đang hoạt động. Sử dụng danh sách này, các peer cốố găống để băốt đầồu kếốt nốối và nếốu thành cống nó băốt đầồu trao đổi nội dung video với các peer (hàng xóm). Để xử l nh ững peer r ời kh ỏi m ạng khống báo trước, các peer trong mạng thường xuyến trao đổi với nhau. Đốồng thời, tùy thuộc vào cầốu trúc hệ thốống của các peer, m ột peer khống kếốt nốối duy nhầốt tới một peer láng giếồng, để đáp ứng việc các peer tách ra. 20
- Xem thêm -

Tài liệu liên quan