Tải bản đầy đủ (.pdf) (56 trang)

DỊCH vụ VIDEO THEO yêu cầu dựa TRÊN LOCAL PROXY MODEL

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (804.52 KB, 56 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
-------------------------------------LÊ THỊ TRANG

Lê Thị Trang

CÔNG NGHỆ THÔNG TIN

DỊCH VỤ VIDEO THEO YÊU CẦU DỰA
TRÊN LOCAL PROXY MODEL

LUẬN VĂN THẠC SỸ KỸ THUẬT
Ngành: Công nghệ thông tin

2012B
Hà Nội – Năm 2015


BỘ 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


CỘ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
Ngày 18 tháng 5 năm 2015
Giáo viên hướng dẫn
Tác giả luận văn

PGS.TS. Hà Quốc Trung

Lê Thị Trang

CHỦ TỊCH HỘI ĐỒNG

PGS.TS. Nguyễn Thị Hoàng Lan


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

1


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

2


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

3


LỜI CẢM ƠN


Em xin gửi lời cám ơn sâu sắc tới PGS.TS.Hà Quốc Trung, người đã tận tình
hướng dẫn em trong suốt quá trình thực hiện luận văn này.
Em cũng xin gửi lời cám ơn chân thành tới quý thầy cô viện Công nghệ thông
tin và truyền thông, viện Đào tạo sau đại học đã truyền dạy những kiến thức quý
báu trong khoá học này.
Cuố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

4


DANH MỤC THUẬT NGỮ

Tiếng Anh

TT

Tiếng Việt

1

Peer to peer

Mạng ngang hàng


2

Content Delivery Network

Mạng phân phát nội dung

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

Giao thức điều khiển truyền tải thời gian


Protocol

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

9

Play

Trình chiếu

10

Pause

Tạm dừng

11


Stop

Dừng

12

Upload

Tải file lên hệ thống

13

Search

Tìm kiếm trên hệ thống

14

Metadata

Thông tin mô tả

5


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

6


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


7


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.

8


- 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

9


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).

10


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.
Client
Client

Client
Server
Client

Client
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

11


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

12


mà không có người sử dụng biết rằng các chương trình đang được cập nhật hoặc
nâng cấp.
- Khả năng mở rộng: Trong một mô hình Client-Server, một quản trị viên có
thể dễ dàng kết hợp các máy tính vào mạng và cài đặt tất cả các ứng dụng cần thiết.
Tất cả mọi thứ cần thiết có thể được đẩy dễ dàng từ Server đến các Client.
- 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.

13


Peer
Peer

Peer
Peer

Peer


Peer
Peer

Peer

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.

14


+ 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 .
* Mạng đồng đẳng hỗn hợp:
- Có một máy chủ trung tâm dùng để lưu trữ thông tin của các máy trạm và trả
lời các truy vấn thông tin này.
- Các máy trạm có vai trò lưu trữ thông tin, tài nguyên được chia sẻ, cung cấp
các thông tin về chia sẻ tài nguyên của nó cho máy chủ.
- 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

15



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 ClientServer, 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].


16


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.
* Nhược điểm
Bên cạnh những ưu điểm đã trình bày trên, mạng ngang hàng còn tồn tại
những nhược điểm sau:
- Các nút tham gia với tính phân tán, trách nhiệm và vai trò là như nhau trong
mạng, ít tuân theo quy luật hay ràng buộc nào.
- 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.

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
Từ việc phân tích nêu trên, ta thấy với mỗi mô hình mạng đều có những ưu
nhược điểm khác nhau. Mô hình mạng tập trung Client-Server được ra đời trước
nhưng vẫn còn một số nhược điểm, nên mạng ngang hàng P2P được phát triển để
khắc phục các nhược điểm của mô hình tập trung. Tuy nhiên, trong quá trình triển
khai thì mô hình mạng ngang hàng vẫn còn bộc lộ một số nhược điểm đáng kể như
việc thiết kế giao thức là rất phức tạp, thiếu tính tập trung, tính bảo mật kém...
Trong khi đó, mô hình mạng tập trung Client-Server lại có thiết kế giao thức rất đơn
chỉ có hai thành phần là Client và Server. Do đó, việc xây dựng một mô hình mạng
mà 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 ClientServer 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
đó.
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.

18


-

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:

19


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 ClientServer truyền thống.
• 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.

20


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á.

21


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.

22


×