- Trong phương pháp dựa trên unicast, có 3 cách để phân phối video streaming qua Internet: tập trung, Proxy và mạng phân phối nội dung CDN +Trong phương pháp tập trung, một Server với bă
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
-
Lê Thị Trang
DỊCH VỤ VIDEO THEO YÊU CẦU DỰA TRÊN LOCAL PROXY MODEL
Chuyên ngành: Công nghệ thông tin
LUẬN VĂN THẠC SỸ KỸ THUẬT Ngành: Công nghệ thông tin
NGƯỜI HƯỚNG DẪN KHOA HỌC:
PGS.TS Hà Quốc Trung
Hà Nội – Năm 2015
Trang 3CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc
BẢN XÁC NHẬN CHỈNH SỬA LUẬN VĂN THẠC SĨ
Họ và tên tác giả luận văn: Lê Thị Trang
Đề tài luận văn: Dịch vụ video theo yêu cầu dựa trên Local Proxy model
Chuyên ngành: Công nghệ thông tin
Mã số SV: CB120118
Tác giả, Người hướng dẫn khoa học và Hội đồng chấm luận văn xác nhận tác giả đã sửa chữa, bổ sung luận văn theo biên bản họp Hội đồng ngày 25 tháng 4 năm 2015 với các nội dung sau:
- Làm rõ tham khảo luận văn của năm trước
Tác giả đã đến trích dẫn tài liệu tham khảo tại mục 2.2.1 ở trang 16, mục 4.2.1 ở trang số
33, mục 4.2.3 ở trang số 37
- Làm rõ tham khảo các công trình, tài liệu tham khảo
Tác giả đã trích dẫn đến tài liệu tham khảo tại mục 2.1.1 ở trang số 11, mục 3.4 ở trang 28 Tác giả đã chỉ ra những phần sử dụng lại, những phần tác giả xây dựng phát triển tại mục
5 1 ở trang số 46
- Mô tả kiến trúc hệ thống
Tác giả đã trình bày tại mục 3.3 ở trang số 26, 27, 28 và mục 5.1 ở trang số 46, 47
- Mô tả cài đặt chương trình thử nghiệm
Tác giả đã trình bày tại mục 5.1 ở trang số 46, 47
- Mô tả kịch bản thử nghiệm
Tác giả đã trình bày tại mục 5.3.1 ở trang số 50
- Chứng minh các số liêu
Tác giả đã trình bày tại mục 5.4 ở trang số 51, 52
Giáo viên hướng dẫn
PGS.TS Hà Quốc Trung
Ngày 18 tháng 5 năm 2015 Tác giả luận văn
Lê Thị Trang CHỦ TỊCH HỘI ĐỒNG
PGS.TS Nguyễn Thị Hoàng Lan
Trang 41
MỤC LỤC
MỤC LỤC 1
LỜI CẢM ƠN 4
DANH MỤC THUẬT NGỮ 5
DANH MỤC HÌNH VẼ 6
DANH MỤC BẢNG BIỂU 7
CHƯƠNG 1 - TỔNG QUAN 8
CHƯƠNG 2 - MÔ HÌNH LOCAL PROXY 11
2.1 Mô hình Client – Server 11
2.1.1 Khái niệm 11
2.1.2 Ưu, nhược điểm của mô hình Client-Server 12
2.2 Mô hình mạng ngang hàng Peer to Peer 13
2.2.1 Khái niệm 13
2.2.2 Ưu, nhược điểm của mô hình Peer to Peer 17
2.3 Nhu cầu và hướng triển khai chuyển đổi từ giao thức Client-Server thành Peer to Peer 18
2.4 Mô hình Local Proxy 19
CHƯƠNG 3 - DỊCH VỤ VIDEO THEO YÊU CẦU THEO MÔ HÌNH CLIENT – SERVER 22
3.1 Giới thiệu dịch vụ video theo yêu cầu 22
3.2 Thành phần hệ thống video theo yêu cầu 23
3.2.1 Network Communication 23
3.2.2 Clients 23
3.2.3 Máy chủ streaming 23
3.2.4 Giao thức sử dụng trong hệ thống VoD ở mô hình Client-Server 25
3.3 Kiến trúc của hệ thống 26
3.4 Một số điểm tồn tại của dịch vụ video theo yêu cầu 28
CHƯƠNG 4 - THIẾT KẾ ỨNG DỤNG THEO MÔ HÌNH LOCAL PROXY 31
4.1 Các chức năng của ứng dụng ở mô hình Client–Server 31
4.2 Cài đặt ứng dụng theo mô hình Local Proxy 33
4.2.1 Phân tích hệ thống 33
Trang 52
4.2.2 Phân tích các module trong ứng dụng theo mô hình Local Proxy 36
4.2.3 Giao thức sử dụng trong hệ thống P2P 36
4.3 Thiết kế chi tiết các chức năng của ứng dụng theo mô hình Local Proxy 38
4.3.1 Chức năng Đăng ký 38
4.3.2 Chức năng Đăng nhập 40
4.3.3 Chức năng Upload 41
4.3.4 Chức năng Search 42
4.3.5 Chức năng Play 44
CHƯƠNG 5 – CÀI ĐẶT CHƯƠNG TRÌNH VÀ ĐÁNH GIÁ THỬ NGHIỆM 46
5.1 Cài đặt chương trình 46
5.2 Giao diện chương trình 47
5.2.1 Form chính của chương trình 47
5.2.2 Form chức năng 48
5.3 Thử nghiệm 50
5.3.1 Kịch bản thử nghiệm 50
5.3.2 Kết quả thử nghiệm 50
5.4 Kết luận và hướng phát triển 51
TÀI LIỆU THAM KHẢO 53
Trang 63
LỜI CAM ĐOAN
Luân văn thạc sĩ “Dịch vụ video theo yêu cầu dựa trên Local Proxy model”, chuyên ngành Công nghệ thông tin là công trình của cá nhân tôi dưới sự hướng dẫn của PGS.TS.Hà Quốc Trung Các nội dung nghiên cứu và kết quả trình bày trong luận văn là trung thực rõ ràng Các tài liệu tham khảo, nội dung trích dẫn đã ghi rõ nguồn gốc
Hà Nội, ngày 10 tháng 04 năm 2015
Tác giả luận văn
Lê Thị Trang
Trang 7Cuối cùng, em xin gửi lời cám ơn tới gia đình, bạn bè, cơ quan công tác đã giúp đỡ em trong quá trình thực hiện luận văn này
Hà Nội, ngày 10 tháng 04 năm 2015
Học viên
Lê Thị Trang
Trang 85
DANH MỤC THUẬT NGỮ
1 Peer to peer Mạng ngang hàng
3 Video on Demand Video theo yêu cầu
4 Real Time Streaming Protocol Giao thức mạng điều khiển quá trình
streaming video hay streaming audio
5 Real-time Transport Protocol Giao thức chuẩn định dạng cho gói tin
video hay audio được truyền trên mạng
6 Real Time Transport Control
Protocol
Giao thức điều khiển truyền tải thời gian thực
7 Distributed Hash Table Bảng băm phân tán
8 Streaming video Kỹ thuật truyền luồng video
12 Upload Tải file lên hệ thống
13 Search Tìm kiếm trên hệ thống
Trang 96
DANH MỤC HÌNH VẼ
Hình 1 Mô hình Client-Server 11
Hình 2 Mô hình Peer to Peer 14
Hình 3 Mô hình Local Proxy 20
Hình 4 Một phiên làm việc dựa trên giao thức RTSP 26
Hình 5 Kiến trúc hệ thống 26
Hình 6 Mô hình hoạt động tổng quát của hệ thống 28
Hình 7 Các thành phần hệ thống theo mô hình Local Proxy 35
Hình 8 Quy trình Đăng ký 38
Hình 9 Quy trình Đăng nhập 40
Hình 10 Quy trình Upload video 41
Hình 11 Quy trình tìm kiếm video 42
Hình 12 Quy trình xem video 44
Hình 13 Cài đặt hệ thống theo mô hình Local Proxy 46
Hình 14 Giao diện form kết nối vào hệ thống 48
Hình 15 Giao diện Đăng nhập/Đăng ký 48
Hình 16 Giao diện Search video 48
Hình 17 Giao diện Upload video 49
Hình 18 Giao diện Play video 49
Trang 107
DANH MỤC BẢNG BIỂU
Bảng 1 Chức năng cơ bản của ứng dụng 31
Bảng 2 Mô tả hoạt động của Local Streaming Server 34
Bảng 3 Các bước Đăng ký tài khoản người dùng mới 39
Bảng 4 Các bước Đăng nhập 40
Bảng 5 Các bước Upload video 42
Bảng 6 Các bước tìm kiếm video 43
Bảng 7 Các bước xem video 44
Bảng 8 Chức năng của hệ thống ở mô hình Client–Server và mô hình Local Proxy 50
Trang 118
CHƯƠNG 1 - TỔNG QUAN Hiện nay, có nhiều nhà cung cấp dịch vụ truyền thông đa phương tiện và hầu hết các ứng dụng này đều được xây dựng dựa trên mô hình Client-Server Ở mô hình này, máy chủ sẽ tiếp nhận và xử lý tất cả các yêu cầu của rất nhiều khách hàng Với cách hoạt động như thế thì mô hình Client-Server có ưu điểm là thiết kế giao thức rất đơn giản, chỉ có 2 thành phần tham gia là Client và Server Tuy nhiên, chỉ
có một Server phục vụ nhiều Client dẫn đến quá tải băng thông, cổ chai tại Server, tính mở rộng kém, Đặc biệt là dịch vụ cung cấp các dữ liệu đa phương tiện, có số lượng người xem rất lớn, lượng chương trình phong phú, tiêu tốn lượng lớn băng thông mạng và cần nhiều dung lượng lưu trữ, thì cần có những giải pháp đưa ra để giải quyết vấn đề nêu trên Đến thời điểm này, đã có nhiều giải pháp được đưa ra nhằm cải tiến hiệu năng khi số lượng tải vượt quá một cận nào đó như: phương pháp dựa trên unicast và dựa trên multicast
- Trong phương pháp dựa trên unicast, có 3 cách để phân phối video streaming qua Internet: tập trung, Proxy và mạng phân phối nội dung CDN
+Trong phương pháp tập trung, một Server với băng thông lớn được sử dụng
để phân bổ các video tới người dùng Phương pháp này đơn giản hơn trong triển khai và quản lý song vẫn bộc lộ những hạn chế như đã nêu ở trên
+Trong phương pháp Proxy, Proxy Server được đặt gần với miền Client để lưu trữ một phần nhỏ của mỗi video Người sử dụng có thể nhận một phần video từ Proxy Server gần họ Do đó, phương pháp này làm giảm gánh nặng của máy chủ streaming và tải lưu lượng qua mạng WAN Tuy nhiên, phương pháp này yêu cầu triển khai và quản lý proxy tại rất nhiều địa điểm do đó làm tăng giá thành
+ Trong phương pháp CDN (Content Delivery Network), video streaming được phân phối bởi một đối tác thứ ba, được gọi là CDN Các mạng phân bổ nội dung như Akamai, triển khai rất nhiều các Server tại biên của mạng Internet Người dùng có thể yêu cầu video từ Server thích hợp nhất Nên nó giúp giảm lưu lượng qua mạng WAN và làm giảm trễ Song giá của phương pháp CDN này khá cao do giá thành được tính theo lưu lượng
Trang 129
- Phương pháp dựa trên multicast phục vụ nhiều người dùng đồng thời với hiệu quả băng thông cao Network-layer muticast dùng router thiết lập một cây mà người sử dụng như là các lá của cây Mặc dù sử dụng Network layer multicast hiệu quả, nhưng phương pháp này không được triển khai rộng vì Network layer multicast yêu cầu các router để quản lý và duy trì trạng thái của các nhóm peer, điều này làm tăng độ phức tạp tại lớp IP Thứ hai, khó khăn trong lớp truyền tải để điểu khiển luồng và điều khiển tắc nghẽn trong Network layer multicast
Mô hình mạng ngang hàng P2P (Peer to Peer) cho phép giải quyết vấn đề nêu trên do không còn máy chủ tập trung nữa, cho phép tất cả các thành phần khác tương tác với nhau một cách bình đẳng Trong mạng ngang hàng mỗi peer không chỉ download dữ liệu từ mạng mà còn upload dữ liệu để người dùng khác có thể download Với đặc điểm đó, công nghệ này không chỉ cho phép hệ thống đáp ứng được lượng lớn truy cập tăng đột biến mà còn có khả năng mở rộng quy mô Hơn nữa, giải pháp P2P không cần đến bất kỳ một yêu cầu đặc biệt nào về phần cứng mạng nên rất dễ triển khai Nên các ứng dụng P2P ngày càng phổ biến, trong số đó
có thể kể ra các ứng dụng chia sẻ file (BitTorrent, uTorrent, eMule), các ứng dụng hội thoại qua mạng VoIP (Skype)… Tuy có rất nhiều ưu điểm, nhưng việc xây dựng 1 hệ thống cung cấp video theo yêu cầu dựa trên mạng ngang vẫn còn đang gặp nhiều khó khăn, thách thức Mức độ tham gia đóng góp tài nguyên của các peer không đồng đều, các peer có thể tham gia hoặc ngắt kết nối khỏi hệ thống vào thời điểm bất kỳ Trong khi đó ứng dụng phân phối video theo yêu cầu lại cần hiệu năng thời gian thực và băng thông lớn Điều này đã khiến cho việc xây dựng các ứng dụng VoD (Video on Demand) dựa trên mạng ngang hàng trở nên phức tạp hơn hẳn so với mô hình Client-Server [1]
Từ những phân tích, đánh giá trên, luận văn xin đề xuất:
1 Nghiên cứu và tìm hiểu cách thức chuyển đổi từ giao thức Client-Server sang P2P sử dụng mô hình Local Proxy
2 Áp dụng cách thức chuyển đổi này vào giao thức truyền video theo yêu cầu Trên cơ sở đó, tác giả xây dựng ứng dụng dựa trên mô hình Local Proxy (trong
Trang 1310 khuôn khổ luận văn sẽ giới hạn các chức năng của ứng dụng ở mức chia sẻ video theo yêu cầu)
Trang 1411
CHƯƠNG 2 - MÔ HÌNH LOCAL PROXY
Mô hình Local Proxy là một mô hình cho phép có thể thiết kế một ứng dụng theo mô hình Client-Server nhưng cài đặt ứng dụng đó bằng mô hình mạng ngang hàng P2P
Để hiểu rõ cách thức hoạt động của mô hình Local Proxy, trước tiên ta đi tìm hiểu cách thức hoạt động, ưu nhược điểm của mô hình Client-Server và Peer to Peer
2.1 Mô hình Client – Server
2.1.1 Khái niệm
[3]Mô hình Client-Server là mô hình phổ biến và được chấp nhận rộng rãi trong các hệ thống phân tán Mô hình này chỉ có 2 thành phần tham gia đó là:
- Client: chủ động kết nối đến Server để gửi yêu cầu, chờ nhận kết quả trả về
và xử lý kết quả Client chỉ có thể giao tiếp với Server mà không thể giao tiếp trực tiếp với các Client khác
- Server: có vai trò thụ động và đáp ứng các yêu cầu từ Client bằng cách xử lý từng yêu cầu và trả lại kết quả cho Client
Hình 1 Mô hình Client-Server
Mô hình Client-Server cung cấp một cách tiếp cận tổng quát để chia sẻ tài nguyên trong các hệ thống phân tán Mô hình này có thể được cài đặt bằng rất nhiều môi trường phần cứng và phần mềm khác nhau Các máy tính được sử dụng để chạy
Client Client
Client
Client
Client
Client Server
Trang 1512
các tiến trình Client-Server có nhiều kiểu khác nhau và không cần thiết phải phân biệt giữa chúng; cả tiến trình Client và tiến trình Server đều có thể chạy trên cùng một máy tính
Mô hình truyền tin Client-Server hướng tới việc cung cấp dịch vụ Quá trình trao đổi dữ liệu được diễn ra như sau:
- Client gửi yêu cầu tới Server
- Server xử lý yêu cầu
- Server truyền lại kết quả xử lý
Mô hình truyền tin này liên quan đến việc truyền hai thông điệp và một dạng đồng bộ hóa cụ thể giữa Client và Server Tiến trình Server phải nhận thức được thông điệp được yêu cầu ở bước một ngay khi nó đến và hành động phát ra yêu cầu trong Client phải được tạm dừng và buộc tiến trình Client ở trạng thái chờ cho tới khi nó nhận được thông điệp do Server gửi tới
Các thao tác cơ bản trong mô hình này thường là gửi và nhận hay yêu cầu và trả lời
2.1.2 Ưu, nhược điểm của mô hình Client-Server
* Ưu điểm
- Tính tập trung: Tài nguyên được lưu tập trung nên dễ dàng để sao lưu các tập tin, bảo vệ chống lại các mối đe dọa độc hại và chia sẻ tài nguyên Điều này giúp tiết kiệm không chỉ là tiền, mà còn là không gian có giá trị Một không gian lưu trữ tập trung làm cho nó dễ dàng hơn để sao lưu và lấy các tập tin trong trường hợp mất
dữ liệu Ngoài ra, máy chủ có thể quản lý chính sách mạng, làm cho một mạng an toàn hơn
- Tính linh hoạt: Do lưu trữ tập trung nên dễ dàng để triển khai cập nhật hoặc nâng cấp Một mạng Client-Server có thể tự động triển khai toàn hệ thống thay đổi khác nhau, từ một nâng cấp lớn cho hệ điều hành mới để cập nhật thường xuyên như các tập tin dữ liệu chống virus hoặc các bản vá lỗi của Microsoft với sự can thiệp của người dùng tối thiểu Nâng cấp và cập nhật cũng có thể làm việc trong nền
Trang 16- Nó có thể làm tăng khả năng của máy nhỏ, giúp các máy nhỏ thực hiện được những công việc mà trước đây chỉ thực hiện được trên các máy lớn, từ đó dẫn tới giảm chi phí thiết bị
* Nhược điểm:
- Chi phí cho máy Server lớn: Các máy chủ trung tâm phải đủ mạnh để duy trì
và chia sẻ tài nguyên với các máy tính khác trên mạng Điều này đòi hỏi một chi phí đáng kể
- Sự phụ thuộc: Mô hình mạng Client-Server dựa trên chức năng phụ thuộc hoàn toàn vào Server Nếu Server bị trục trặc, toàn bộ mạng không thể hoạt động
- Thắt cổ chai: Server phải xử lý phần lớn công việc điều này có thể gây ra tắc nghẽn mạng trên mạng và làm chậm thời gian trả lời cho các Client
- Bảo trì: Mô hình Client-Server thường đòi hỏi một đội ngũ nhân viên để quản lý và duy trì các thiết bị và mạng Trong mô hình khác, chẳng hạn như peer to peer, công việc này được phân phối cho các peer
- An toàn: Bởi vì tất cả các thông tin quan trọng được lưu trữ trên Server, điều này tạo ra một mối quan tâm an ninh Tập trung các thông tin và dữ liệu này phải được bảo vệ từ tin tặc nguy hiểm, sự cố, các mối đe dọa tiềm năng
Mô hình mạng ngang hàng (Peer to Peer hay P2P) được xem như một giải pháp sẽ khắc phục nhược điểm của mô hình mạng Client-Server
2.2 Mô hình mạng ngang hàng Peer to Peer
2.2.1 Khái niệm
Mạng ngang hàng Peer to Peer là một mạng máy tính hoạt động không dựa trên các máy chủ trung tâm, mà phân tán trên đa số các thành phần của mạng
Trang 1714
Hình 2 Mô hình Peer to Peer Trong mạng P2P, máy chủ và máy khách được tích hợp trên cùng một máy tính, tất cả các máy tham gia đều bình đẳng và được gọi là peer Mô hình này được thiết lập thông qua một mạng logic bao trùm trên mạng vật lý (OverlayNetwork) Mạng P2P được ứng dụng trong việc chia sẻ tệp, trong việc xây dựng các ứng dụng cộng tác, các ứng dụng đa phương tiện hoặc để truyền dữ liệu thời gian thực như điện thoại VoIP
Mạng P2P có những đặc điểm như:
+ Chia sẻ tài nguyên: mỗi peer tham gia sẽ đóng góp tài nguyên vào mạng + Networked: tất cả các node được liên kết với các node khác trong hệ thống P2P và tập các node là thành viên của một đồ thị liên kết Khi đồ thị không được kết nối, mạng chồng phủ được coi như là bị phân chia
+ Phân quyền: trạng thái của hệ thống P2P được xác định bởi hoạt động chung của các peer, và không có điểm điều khiển tập trung Tuy nhiên một vài hệ thống đảm bảo an ninh vẫn sử dụng một login Server trung tâm Trong rất nhiều thiết kế, tính chất này có thể thay đổi do tồn tại các peer hoạt động đặc biệt như là super peer hoặc rely peer
+ Tự trị: sự tham gia của các peer trong hệ thống P2P được xác định cục bộ,
và không có phạm vi quản trị riêng lẻ trong hệ thống
Peer
Peer
Trang 1815
+ Phạm vi: Một hệ thống P2P có thể có tới hàng triệu peer hoạt động đồng thời, điều này có nghĩa tài nguyên sử dụng tại mỗi peer tăng theo kích cỡ của mạng chồng phủ
+ Sự ổn định: Hệ thống P2P có thể được coi là ổn định trong một churm rate cho phép Điều này cho phép duy trì đồ thị kết nối và có khả năng xác định tuyến trong một giới hạn phù hợp
Mạng ngang hàng thường được phân làm:
* Mạng P2P thuần túy:
- Các máy trạm có vai trò vừa là máy chủ vừa là máy khách
- Không có máy chủ trung tâm quản lý mạng
- Không có máy định tuyến (bộ định tuyến) trung tâm, các máy trạm có khả năng tự định tuyến
- Sử dụng các trạm định tuyến để xác định địa chỉ IP của các máy trạm
Một mạng đồng đẳng không cấu trúc khi các liên kết giữa các nút mạng trong mạng phủ được thiết lập ngẫu nhiên (tức là không theo quy luật nào) Những mạng như thế này dễ dàng được xây dựng vì một máy mới khi muốn tham gia mạng có thể lấy các liên kết có sẵn của một máy khác đang ở trong mạng và sau đó dần dần
tự bản thân nó sẽ thêm vào các liên kết mới của riêng mình Khi một máy muốn tìm một dữ liệu trong mạng đồng đẳng không cấu trúc, yêu cầu tìm kiếm sẽ được truyền trên cả mạng để tìm ra càng nhiều máy chia sẻ càng tốt Việc tìm kiếm các đơn vị
dữ liệu được thực hiện bằng bảng băm phân tán DHT (Distributed Hash Table) Với cách thức hoạt động như thế, không có gì đảm bảo tìm kiếm sẽ thành công Việc tìm kiếm đối với các dữ liệu được chia sẻ trên nhiều máy thì tỉ lệ thành công là khá cao, ngược lại, nếu dữ liệu chỉ được chia sẻ trên một vài máy thì xác
Trang 1916
suất tìm thấy là khá nhỏ Tính chất này là hiển nhiên vì trong mạng đồng đẳng không cấu trúc, không có bất kì mối tương quan nào giữa một máy và dữ liệu nó quản lý trong mạng, do đó yêu cầu tìm kiếm được chuyển một cách ngẫu nhiên đến một số máy trong mạng Số lượng máy trong mạng càng lớn thì khả năng tìm thấy thông tin càng nhỏ
Một nhược điểm khác của hệ thống này là do không có định hướng, một yêu cầu tìm kiếm thường được chuyển cho một số lượng lớn máy trong mạng làm tiêu tốn một lượng lớn băng thông của mạng, dẫn đến hiệu quả tìm kiếm chung của mạng thấp
Hầu hết các mạng đồng đẳng phổ biến là không cấu trúc như Napster, Gnutella, FastTrack và eDonkey2000
Mạng đồng đẳng có cấu trúc khắc phục nhược điểm của mạng không cấu trúc bằng cách sử dụng hệ thống bảng băm phân tán Hệ thống này định nghĩa liên kết giữa các nút mạng trong mạng phủ theo một thuật toán cụ thể, đồng thời xác định chặt chẽ mỗi nút mạng sẽ chịu trách nhiệm đối với một phần dữ liệu chia sẻ trong mạng Với cấu trúc này, khi một máy cần tìm một dữ liệu, nó chỉ cần áp dụng một giao thức chung để xác định nút mạng nào chịu trách nhiệm cho dữ liệu đó và sau
đó liên lạc trực tiếp đến nút mạng đó để lấy kết quả
Các ứng dụng phổ biến của P2P chủ yếu tập trung vào các ứng dụng chia sẻ tệp Một số giao thức chia sẻ tệp sử dụng mô hình P2P như Emule, Napster, Kad, Gnutella, G2 and FastTrack… Trái ngược với các ứng dụng theo mô hình Client-Server, trong các ứng dụng chia sẻ tệp P2P, hiệu năng của hệ thống sẽ càng được cải thiện khi càng có nhiều peer tham gia vào giao thức Như vậy, nếu một Client càng hỗ trợ nhiều giao thức, khả năng có thể tìm thấy một peer có chứa dữ liệu cần thiết càng lớn
Tính chất phân tán của mạng ngang hà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ệ[1]
Trang 2017
2.2.2 Ưu, nhược điểm của mô hình Peer to Peer
* Ưu điểm
Do tính chất phân tán nên mạng này có nhiều ưu điểm:
- Người sử dụng có thể kiểm soát việc dùng chung tài nguyên (máy in, chu trình xử lý, lưu trữ …), tận dụng được tài nguyên của tất cả các máy tính trong mạng, có phân bố lưu lượng hợp lý để tránh tắc ngẽn
- Không phụ thuộc vào các máy tính khác trong hoạt động của mình Tính chất phân tán của mạng đồng đẳ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ệ
- Tăng cường khả năng cân bằng tải trong mạng Trong mô hình mạng ngang hàng, chỉ có yêu cầu truy vấn được thực hiện giữa máy tính tham gia mạng với máy chủ, còn vấn đề truyền file được thực hiện giữa hai máy tính tham gia mạng với nhau, điều này dẫn đến việc phân bố tải đều trên hệ thống mạng
- Không phải đầu tư thêm về phần cứng và phần mềm máy chủ
- Không cần người quản trị mạng
- Máy trạm phải gánh thêm việc phục vụ chia sẻ tài nguyên
- Máy trạm không có khả năng kiểm soát nhiều liên kết như một máy chủ
- Thiếu tính tập trung, rất khó tìm kiếm dữ liệu
- Không có khả năng lưu trữ tập trung
- Mỗi người sử dụng trên máy trạm phải có khả năng quản trị trên chính hệ thống của mình
- Khả năng bảo mật kém, khó kiểm soát do dữ liệu là phân tán
- Quản lý thiếu tập trung, các mạng ngang hàng rất khó làm việc với nhau
Trang 21mà kết hợp được ưu điểm của cả hai mô hình kể trên là một nhu cầu rất cần thiết
Mô hình Local Proxy được giới thiệu, đó là sự chuyển đổi từ giao thức Server thành Peer to Peer Với mô hình Local Proxy, ưu điểm của cả hai mô hình kể trên được kết hợp, đồng thời khắc phục được một số nhược điểm của cả 2 mô hình
Client-đó
Dựa trên hệ thống bảng băm phân tán, mô hình Local Proxy được xây dựng để đáp ứng yêu cầu thiết kế ứng dụng khi sử dụng sẽ giống với mô hình Client-Server nhưng giao tiếp giữa các máy với nhau là trực tiếp không thông qua một máy chủ trung tâm, chúng giao tiếp với nhau như trong mô hình Peer to Peer
[2]Hướng triển khai của mô hình này là giữ nguyên việc thiết kế giao thức theo kiến trúc Client-Server không thay đổi, trong khi đó nhờ vào hệ thống bảng băm phân tán DHT, các Client có thể dễ dàng gửi yêu cầu dữ liệu đến chính xác máy trạm đóng vai trò Server
Để chuyển đổi từ giao thức Client-Server sang Peer to Peer, ta cần thực hiện các bước như sau:
- Xác định các giao thức được thực thi trên hệ thống Client- Server
- Phân tích chức năng, nhiệm vụ của các giao thức trong hệ thống
Client-Server
Trang 2219
- Chuyển đổi các chức năng sang mô hình Local Proxy, các máy sẽ yêu cầu dữ liệu từ hệ thống P2P
- Xây dựng ứng dụng và cài đặt
2.4 Mô hình Local Proxy
Khi thiết kế ứng dụng phân tán, các máy muốn giao tiếp với nhau thì phải theo một số giao thức nào đó, cho dù ứng dụng đó được thiết kế theo mô hình tập trung hay phân tán Trong mô hình Client-Server, giao thức này xác định việc tương tác giữa mỗi máy khách với máy chủ Tương tác giữa máy khách với máy khách được thực hiện trên cơ sở giao tiếp máy khách – máy chủ Trong các ứng dụng P2P, cách thức giao tiếp giữa máy với máy là trực tiếp, không cần một máy chủ trung tâm (Server) [5], [6], [7]
Mô hình Local Proxy là một mô hình cho phép có thể thiết kế một ứng dụng theo mô hình Client-Server nhưng cài đặt ứng dụng đó theo mô hình P2P
Mục đích của mô hình Local Proxy là:
- Thiết kế giao thức sử dụng kiến trúc Client-Server cho đơn giản vì chỉ có 2 thành phần là Client và Server
- Triển khai giao thức sử dụng giao tiếp P2P để đạt hiệu suất tốt hơn
Phương pháp được đưa ra là giữ nguyên việc thiết kế giao thức theo kiến trúc Client-Server không thay đổi, trong khi đó việc triển khai sẽ theo hệ thống giao tiếp P2P Như vậy, máy Client vẫn giữ nguyên không thay đổi Máy chủ sẽ đảm nhận yêu cầu từ máy khách và chuyển yêu cầu đó tới mạng P2P; Nó đóng vai trò là máy chủ cục bộ hoạt động như một proxy Đây là lý do tại sao máy chủ được gọi là Local Proxy và mô hình được gọi là mô hình Local Proxy
Thiết kế của mô hình Local Proxy được thể hiện như trong Hình 3 dưới đây:
Trang 2320
Hình 3 Mô hình Local Proxy
Hệ thống này bao gồm những thành phần sau:
• The Client module: giống như module máy khách trong kiến trúc Server truyền thống
Client-• The Local Proxy module: mỗi máy Client được cài đặt một Local Proxy module Module này tương tác với module Client và cập nhật dữ liệu cục bộ
• The P2P subsystem agent: chấp nhận yêu cầu chia sẻ và cập nhật dữ liệu, truyền tải dữ liệu trên mạng P2P
Mô hình Local Proxy đưa ra các cơ hội để phát triển một ứng dụng P2P sử dụng thiết kế của kiến trúc Client-Server Tất nhiên, giao thức và logic ứng dựng theo quan điểm giao tiếp máy với máy sẽ được thay thế bằng giao tiếp giữa P2P Agent và hệ thống con P2P
Tương tác này trở nên bình thường như một cơ chế chia sẻ dữ liệu đơn giản, nhưng đạt được hiệu quả tốt, cấu trúc dữ liệu được thiết kế tốt theo logic của ứng dụng và giao thức P2P
Trang 2421
Tuy nhiên, hiệu quả của việc ứng dụng mô hình Local Proxy phụ thuộc nhiều vào loại hình thông tin trao đổi và cách thức tương tác giữa các thành phần trong ứng dụng phân tán
Trong báo cáo này, luận văn xin trình bày việc xây ứng dụng chia sẻ video theo yêu cầu dựa trên mô hình Local Proxy Chất lượng dịch vụ mà ứng dụng này đòi hỏi được khảo sát, đồng thời hiệu quả của việc áp dụng mô hình Local Proxy theo các tiêu chí chất lượng dịch vụ cũng được đánh giá
Trang 2522
CHƯƠNG 3 - DỊCH VỤ VIDEO THEO YÊU CẦU THEO MÔ HÌNH
CLIENT – SERVER 3.1 Giới thiệu dịch vụ video theo yêu cầu
Dịch vụ video theo yêu cầu được hiểu là một hệ thống có 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 họ yêu cầu, cho phép người dùng xem tại bất cứ điểm nào của video, tại bất cứ thời gian nào So sánh với truyền luồng trực tiếp, truyền video theo yêu cầu đưa ra tính năng linh động và tiện lợi đối với người dùng và thực sự thực hiện mục đích “xem bất cứ gì bạn muốn, bất cứ khi nào bạn cần”
Video theo yêu cầu cho phép người dùng chọn các chương trình muốn xem từ một danh sách giới thiệu và có trả phí Khi đó nội dung yêu cầu sẽ được truyền tải
từ hệ thống của nhà cung cấp dịch vụ tới màn hình tivi hoặc máy tính trong thời gian thực Người dùng có toàn quyền thực hiện các thao tác như tua, dừng, quay lại
….với các đoạn video hoặc có thể điều chỉnh màn hình với kích cỡ tùy ý
Kỹ thuật streming video được áp dụng để xây dựng hệ thống cung cấp video theo yêu cầu Streaming video sử dụng cách thức phát lại các đoạn video được lưu trữ trên các máy tính trên mạng tới người dùng đầu cuối muốn xem đoạn video mà không cần tải đoạn video đó về trên máy tính Về bản chất, streaming video là quá trình chia nhỏ file video thành các frame, rồi lần lượt gửi từng frame tới một bộ đệm trên máy tính của người xem và hiển thị nội dung frame đó Và quá trình này tuân thủ chặt chẽ về ràng buộc theo thời gian, nói khác là tuân thủ chặt chẽ theo giao thức RTSP, RTP và RTCP
Streaming video 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:
- Thay vì gửi dữ liệu 1 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
- 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ị 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
Trang 2623
Cùng với sự phát triển của công nghệ, các hệ thống cung cấp video theo yêu cầu cũng ngày càng phục vụ người dùng tốt hơn, có nhiều tính năng, chương trình phong phú cho người dùng lựa chọn.Vì thế, dịch vụ này ngày càng thu hút được lượng khách hàng đông đảo Một số nhà cung cấp dịch vụ video theo yêu cầu có thể
kể đến như IPTV, My Tivi …
3.2 Thành phần hệ thống video theo yêu cầu
Một hệ thống cung cấp video theo yêu cầu gồm những thành phần cơ bản sau: 3.2.1 Network Communication
Mạng và băng thông là vấn đề quan trọng cần được quan tâm khi xây dựng một hệ thống cung cấp video theo yêu cầu Vì dung lượng của các video là lớn hơn nhiều so các loại tập tin khác và để phân phối video trên mạng, chúng chiếm một lượng lớn băng thông
Để xây dựng một hệ thống cung cấp video theo yêu cầu đảm bảo chất lượng tốt, thì sự hỗ trợ của mạng là rất quan trọng Khi có 1 đường truyền mạng tốt có thể giúp hệ thống giảm trễ khi truyền tải và giảm tỷ lệ mất gói tin đi
Để phân phối nội dung video theo yêu cầu thì kỹ thuật Unicast được áp dụng Unicast làm việc theo cơ chế: máy chủ streaming truyền dòng riêng cho từng người dùng, địa chỉ IP được đóng dấu trên mỗi gói Điều này cho phép tương tác nhiều hơn cho người sử dụng nhưng đòi hỏi công suất rất lớn từ máy chủ stream vì có rất nhiều dòng phải phân phối
3.2.2 Client
Khách hàng sử dụng nội dung truyền thông trong hệ thống Video theo yêu cầu
có thể bao gồm những khách hàng sở hữu một máy tính thông thường hoặc một Top-Box dễ dàng hơn để kết nối với Tivi
Set-Có nhiều phần mềm được hỗ trợ để xem video, phổ biến như Windows Media Player, Real One Player và Apple QuickTime, VLC Player
3.2.3 Máy chủ streaming
Máy chủ streaming đóng một vai trò quan trọng trong việc cung cấp các dịch
vụ trực tuyến Để cung cấp các dịch vụ trực tuyến chất lượng, các máy chủ
Trang 2724
streaming được yêu cầu phải xử lý dữ liệu video với sự ràng buộc về thời gian, hạn chế thời gian trễ và hỗ trợ hoạt động kiểm soát tương tác như tạm dừng, tua, tiếp tục, nhanh chóng chuyển tiếp và nhanh chóng quay lại Một máy chủ streaming thường bao gồm ba hệ thống con: một hệ thống kết nối giao tiếp, một hệ điều hành,
và một hệ thống lưu trữ
[9] Một số chuẩn Video Streaming Server: QuickTime Streaming Server, Real Streaming Server, Windows Streaming Server
QuickTime Streaming Server:
- Được phát triển bởi Apple, có thể chạy trên nhiều nền hệ thống (Macintosh, Unix và Windows)
- Phần mềm chạy trên Server là phần mềm mã nguồn mở - Darwin Streaming Server
- Giao thức dùng để streaming là RTSP
- Các định dạng video dùng để streaming: MOV, AVI
- Sử dụng các chuẩn nén: H.264, MPEG-4 Part 2 và 3GP
- Sử dụng QuickTime Player để hiển thị phía người dùng
Real Streaming Server:
- Được phát triển bởi RealNetworks, có thể chạy trên nhiều nền hệ thống (Macintosh, Unix và Windows)
- Phần mềm chạy trên Server: RealSystem Server, Helix Server
- Giao thức dùng để streaming là RTSP và HTTP
- Sử dụng các chuẩn nén: 3GP, H.264, H.263, AAC, Flash codecs…
- Các định dạng video dùng để streaming: mp4, mov, flv, rm…
- Sử dụng RealPlayer để hiển thị phía người dùng
Windows Streaming Server:
- Được phát triển bởi Microsoft, chỉ chạy trên nền Windows
- Phần mềm chạy trên Server là Windows Media Services: dịch vụ được tích hợp trong HĐH Windows
- Giao thức dùng để streaming là MMS, RTSP và HTTP
Trang 2825
- Các định dạng video dùng để streaming: ASF, WMV
- Sử dụng các chuẩn nén: Microsoft MPEG-4 part 2
- Sử dụng Windows Media Player để hiển thị phía người dùng
- Một số Video Streaming Server khác: VideoLAN streaming, Adobe Flash Media Streaming…
3.2.4 Giao thức sử dụng trong hệ thống VoD ở mô hình Client-Server
Giao thức được thiết kế và chuẩn hóa cho truyền thông giữa máy khách và máy chủ streaming Giao thức có thể được chia làm 3 loại: Giao thức tầng mạng như Internet Protocol (IP), giao thức tầng giao vận như Use Datagram Protocol (UDP) và giao thức điều khiển phiên như Real Time Streaming Protocol (RTSP) [8] RTSP là một giao thức điều khiển trên mạng được thiết kế để sử dụng giao tiếp giữa máy Client và máy streaming Server Giao thức này được sử dụng để thiết lập và điều khiển phiên giao dịch giữa các máy tính
RTSP sử dụng TCP là giao thức để duy trì một kết nối đầu cuối tới đầu cuối và các thông điệp điểu khiển của RTSP được gửi bởi máy Client tới máy Server Nó cũng thực hiện điều khiển lại các đáp trả từ máy Server tới máy Client
Các lệnh cơ bản trong giao thức RTSP:
Option Dùng để yêu cầu thiết lập phiên
Describe Dùng để yêu cầu gửi 1 bản tin mô tả chi tiết phiên giao dịch
Setup Dùng để yêu cầu cấp phát tài nguyên
Play Dùng để yêu cầu trình chiếu video
Pause Dùng để yêu cầu tạm dừng trình chiếu video
Teardown Dùng để yêu cầu kết thúc phiên
Bảng 3.1 Các lệnh trong giao thức RTSP