Các mạng ngang hàng có cấu trúc được phát triển dựa trên cấu trúc bảng băm phân tán DHT và sử dụng kỹ thuật tìm kiếm theo cơ chế của bảng băm phân tán DHT.. - Định danh của nút tham gia
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Trang 2ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
LUẬN ÁN TIẾN SĨ NGÀNH CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC:
1 TS Nguyễn Hoài Sơn
2 PGS.TS Hồ Sỹ Đàm
Hà Nội - 2019
Trang 3i
MỤC LỤC
MỞ ĐẦU 1
1 Đặt vấn đề 1
2 Mục tiêu của luận án 8
3 Phạm vi nghiên cứu, đối tượng nghiên cứu 8
4 Phương pháp nghiên cứu 9
5 Đóng góp của luận án 9
6 Cấu trúc của luận án 10
Chương 1 KIẾN THỨC NỀN TẢNG 13
1.1 Mạng ngang hàng 13
1.2 Ứng dụng mạng ngang hàng 15
1.2.1 Phân phối nội dung dựa trên mạng ngang hàng 15
1.2.2 Truyền thông dựa trên mạng ngang hàng 16
1.2.3 Xử lý và tính toán phân tán dựa trên mạng ngang hàng 16
1.2.4 Cộng tác dựa trên mạng ngang hàng 17
1.2.5 Hạ tầng công nghiệp/nền tảng dựa trên mạng ngang hàng 17 1.2.6 Các hệ thống cơ sở dữ liệu và tìm kiếm dựa trên mạng ngang hàng 18
1.2.7 Các ứng dụng khác 18
1.3 Phân loại mạng ngang hàng 18
1.3.1 Phân loại theo mức độ phân tán 19
1.3.2 Phân loại theo cấu trúc mạng ngang hàng 22
1.4 Mạng ngang hàng có cấu trúc 24
1.4.1 Bảng băm phân tán 25
1.4.2 Mạng ngang hàng Chord 28
1.4.3 Một số giao thức mạng ngang hàng có cấu trúc khác 36
Trang 4ii
1.5 Kết luận 37
Chương 2 CÂN BẰNG TẢI TRONG MẠNG NGANG HÀNG CÓ CẤU TRÚC 38
2.1 Đặt vấn đề 38
2.2 Các nghiên cứu liên quan 41
2.2.1 Cân bằng tải theo ngưỡng 41
2.2.2 Cân bằng tải dựa trên server ảo 43
2.2.4 So sánh các thuật toán cân bằng tải 45
2.3 Cải tiến thuật toán cân bằng tải theo ngưỡng 46
2.3.1 Một số khái niệm 46
2.3.2 Thuật toán ThresholdPlus 48
2.4 Đánh giá thuật toán 56
2.4.1 Phương pháp đánh giá 56
2.4.2 Các kết quả mô phỏng 57
2.5 Kết luận 63
Chương 3 ĐIỀU KHIỂN TẮC NGHẼN TRONG MẠNG NGANG HÀNG CÓ CẤU TRÚC 65
3.1 Đặt vấn đề 66
3.2 Các nghiên cứu liên quan 68
3.3 Điều khiển tắc nghẽn bằng thay đổi bảng định tuyến 73
3.4 Đánh giá thuật toán 82
3.4.1 Phương pháp đánh giá 82
3.4.2 Các kết quả mô phỏng 83
3.5 Kết luận 94
Chương 4 SAO LƯU DỮ LIỆU TRONG MẠNG MẠNG NGANG HÀNG CÓ CẤU TRÚC 95
4.1 Đặt vấn đề 95
Trang 5iii
4.2 Các nghiên cứu liên quan 97
4.3 Sao lưu dữ liệu dựa trên phân cụm trong mạng P2P 102
4.3.1 Tổng quan 102
4.3.2 Quản lý thông tin cụm 103
4.3.3 Sao lưu và truy vấn dữ liệu 106
4.3.4 Khôi phục tệp tin 108
4.3.5 Xây dựng cụm 111
4.3.6 Đảm bảo tính cục bộ và cân bằng tải 116
4.4 Đánh giá thuật toán 118
4.4.1 Phương pháp đánh giá 118
4.4.2 Các kết quả mô phỏng 120
4.5 Kết luận 132
KẾT LUẬN 134
1 Các kết quả đã đạt được 134
2 Những hạn chế và hướng nghiên cứu tiếp theo 136
DANH MỤC CÔNG TRÌNH KHOA HỌC CỦA TÁC GIẢ LIÊN QUAN ĐẾN LUẬN ÁN 137
TÀI LIỆU THAM KHẢO 138
Trang 6iv
Danh sách hình vẽ
Hình 1.1 Phân loại mạng ngang hàng 19
Hình 1.2 Phân loại mạng ngang hàng theo mức độ phân tán 20
Hình 1.3 Ánh xạ dữ liệu vào mạng DHT 26
Hình 1.4 Mạng phủ DHT với 4 nút trong mạng 27
Hình 1.5 Vòng Chord với độ dài không gian khóa là 6 bit 30
Hình 1.6 Tìm kiếm đơn giản trên Chord 31
Hình 1.7 Bảng finger của nút n 8 32
Hình 1.8 Giả mã của phương pháp tìm kiếm nâng cao 33
Hình 1.9 Quá trình tìm kiếm khóa k54 trên nút n8 33
Hình 2.1 Chuyển tải giữa các nút láng giềng 41
Hình 2.2 Khả năng và tải làm việc của một nút 48
Hình 2.3 Các nút nhẹ tải thông báo thông tin cho thư mục 50
Hình 2.4 Nút n 1 thực hiện cân bằng tải, nút láng giềng n 5 nhận tải hộ nút n 1 bằng cách dịch chuyển định danh về phía n 1 51
Hình 2.5 Nút n 1 thực hiện cân bằng tải, nút n 1 chia tải cho nút láng giềng n 2 bằng cách dịch chuyển định danh của n 1 về phía n 5 52
Hình 2.6 Di chuyển định danh để thực hiện cân bằng tải 53
Hình 2.7 Giả mã của thuật toán ThresholdPlus 54
Hình 2.8 Thời gian sống trung bình của một nút thay đổi, các câu truy vấn thực hiện với phân bố Zipf và Uniform 59
Hình 2.9 Số câu truy vấn đặt vào một nút thay đổi, truy vấn được phân bố ở dạng Zipf và Uniform 60
Hình 2.10 Truy vấn đặt vào các nút ở dạng phân bố Zipf 61
Hình 2.11 Chi phí của các thuật toán cân bằng tải 62
Hình 3.1 Giả mã thuật toán xử lý tắc nghẽn tại nút n 76
Hình 3.2 Giả mã thuật toán xử lý hết tắc nghẽn tại nút n 79
Trang 7v
Hình 3.3 Truy vấn thông thường trong mạng Chord (m=6) 80
Hình 3.4 Tỷ lệ truy vấn thành công khi thay đổi thời gian sống trung bình của nút 84Hình 3.5 Tỷ lệ thành công với số truy vấn đặt vào mỗi nút thay đổi 86Hình 3.6 Tỷ lệ thành công của các truy vấn khi thay đổi ngưỡng mềm 87Hình 3.7 Ảnh hưởng của tham số Zipf đến tỷ lệ thành công của truy vấn 88Hình 3.8 Ảnh hưởng của số truy vấn đặt vào một nút đến số bước chuyển tiếp truy vấn 90Hình 3.9 Ảnh hưởng của thời gian sống trung bình đến số bước chuyển tiếp truy vấn 91Hình 3.10 Ảnh hưởng truy vấn đặt vào nút đến số thông báo tắc nghẽn 92Hình 3.11 Ảnh hưởng của số lượng truy vấn đặt vào nút đến số thông báo hết tắc nghẽn 93Hình 4.1 Phạm vi không gian khóa của các cụm 103Hình 4.2 Thông báo cập nhật trong cụm có không gian khóa là [𝐾𝑓𝑑, 𝐾𝑙𝑑] 104Hình 4.3 Ví dụ về sao lưu một tệp dữ liệu 106
Hình 4.4 Giả mã sao lưu dữ liệu tại nút s 107
Hình 4.5 Giả mã của thuật toán khôi phục dữ liệu tại nút quản lý khóa 109Hình 4.6 Thủ tục truy vấn và sao lưu tệp tin 110
Hình 4.7 Đoạn giả mã thủ tục tách một cụm thành cụm B và C 114 Hình 4.8 Giả mã thủ tục nhập cụm hàng xóm A vào cụm B thành cụm C
115Hình 4.9 Giả mã thủ tục tham gia mạng của một nút 117Hình 4.10 Ví dụ về mô hình Transit stub 119
Trang 8vi
Hình 4.11 Tỷ lệ truy vấn thành công với dữ liệu phân phối vào các nút
so với khả năng lưu trữ của một nút 123Hình 4.12 Tỷ lệ truy vấn thành công với thời gian sống trung bình của một nút thay đổi 125Hình 4.13 Tỷ lệ truy vấn thành công với số lượng các nút ra/vào trong mạng thay đổi 126Hình 4.14 Tỷ lệ truy vấn thành công với số lượng vị trí thử khác nhau của một nút khi tham gia mạng 127Hình 4.15 Chi phí duy trì với thời gian sống trung bình của các nút khác nhau 128Hình 4.16 Chi phí duy trì với số nút ra/vào khác nhau 129Hình 4.17 Ảnh hưởng của các tham số sao lưu đối đến tỷ lệ truy vấn thành công khi thời gian sống trung bình của một nút thay đổi 130Hình 4.18 Ảnh hưởng của các tham số truy vấn đến chi phí duy trì khi thời gian sống của một nút thay đổi 131Hình 4.19 Ảnh hưởng của các tham số sao lưu đến tỷ lệ thành công của các truy vấn khi số lượng các tệp tin phân phối vào các nút thay đổi so với khả năng của một nút 132
Trang 9vii
Danh sách bảng
Bảng 1.1 Phân loại các hệ thống mạng ngang hàng 24
Bảng 2.1 So sánh các thuật toán cân bằng tải 46
Bảng 3.1 So sánh các thuật toán điều khiển tắc nghẽn 73
Bảng 3.2 Bảng định tuyến ban đầu của nút n i 77
Bảng 3.3 Bảng tìm đường của nút n i sau khi thay đổi 78
Bảng 4.1 Bảng so sánh các thuật toán sao lưu dữ liệu 101
Trang 10viii
Thuật ngữ và từ viết tắt
ACK Acknowledge receipt of a packet
BPCC Back-Pressure Congestion Control
CAN Content Addressable Network Giao thức mạng ngang
hàng có cấu trúc CCLBR Congestion Control-Based Load
Balanced Routing CPU Central Processing Unit Bộ xử lý trung tâm CSCC Credit System Congestion Control
DHT Distributed Hash Table Bảng băm phân tán HTTP Hypertext Transfer Protocol Giao thức truyền siêu
văn bản
IPTV Internet Protocol Television Truyền hình Internet JXTA Juxtapose
RTT Round-Trip Time
SHA Secure Hash Algorithm Giải thuật băm an toàn TCP Transmission Control Protocol
VoIP Voice over Internet Protocol
XML Extensible MarkupLanguage Ngôn ngữ đánh dấu mở
rộng
Trang 11ix
Lời cam đoan
Tôi xin cam đoan luận án “Nghiên cứu nâng cao hiệu năng hoạt động của mạng ngang hàng có cấu trúc” là do tôi thực hiện dưới sự hướng dẫn của
TS Nguyễn Hoài Sơn và PGS.TS Hồ Sỹ Đàm Luận án không chứa bất kỳ nội dung nào được sao chép từ các công trình đã được người khác công bố Các tài liệu trích dẫn là trung thực và được chỉ rõ nguồn gốc Tôi xin hoàn toàn chịu trách nhiệm về lời cam đoan trên
Trang 12Bộ môn Truyền thông và Mạng máy tính
Cuối cùng, tôi xin chân thành cảm ơn những người thân trong gia đình cùng toàn thể bạn bè đã luôn giúp đỡ, động viên tôi những lúc gặp phải khó khăn trong suốt quá trình học tập và nghiên cứu
Trang 13sự, nghiên cứu, giáo dục, văn hoá, xã hội, v.v Ban đầu các ứng dụng trên mạng Internet được phát triển theo mô hình Client/Server (hay còn được gọi
là mạng Client/Server) Trong mạng Client/Server gồm hai thành phần đó là máy chủ và máy khách Máy khách là nơi gửi các yêu cầu của người dùng tới máy chủ Máy chủ là nơi xử lý và gửi kết quả cho máy khách Các ứng dụng, dịch vụ tiểu biểu cho mô hình Client/Server có thể kể đến như: File Server, Print Server, Applcation Server, Mail Server, Web Server, Database Server, Communication Server, v.v Mạng Client/Server có nhiều ưu điểm như: tài nguyên được quản lý tập trung, dễ chia sẻ, dễ bảo mật, tốc độ xử lý nhanh Bên cạnh đó nó cũng tồn tại không ít nhược điểm như: khả năng mở rộng mạng kém, xảy ra hiện tượng nghẽn cổ chai khi số người dùng tăng lên, không tận dụng được tài nguyên chia sẻ của người dùng (tệp tin, sức mạnh CPU, bộ nhớ lưu trữ, băng thông, v.v.) tham gia mạng, nhất là trong thời đại
Trang 142
ngày nay khi mà số người dùng Internet lớn, tài nguyên mạng nhiều, yêu cầu
xử lý đối với các bài toán lớn, v.v
Trong bối cảnh đó, các mạng ngang hàng (P2P) đóng một vai trò hết sức quan trọng để truyền tải nội dung đa phương tiện và mở rộng phạm vi mạng đến các người dùng khác nhau, khắc phục được các nhược điểm của mô hình Client/Server Mạng ngang hàng là một kiến trúc máy tính phân tán xây dựng trên mạng Internet, cho phép các máy tính riêng lẻ (hay còn gọi là các nút) trao đổi thông tin và dịch vụ trực tiếp với nhau không cần qua máy chủ trung tâm Mỗi nút trong mạng ngang hàng hoạt động với chức năng như một máy chủ và một máy khách, sử dụng dịch vụ của các nút tham gia mạng đồng thời cung cấp dịch vụ cho các nút khác [1] Các nút trong mạng ngang hàng trao đổi trực tiếp với các nút láng giềng có liên kết với nó để gửi và phục vụ các yêu cầu Trong mạng ngang hàng, không có thực thể trung tâm kiểm soát, tổ chức, quản lý hoặc duy trì toàn bộ hệ thống
Đã có nhiều ứng dụng được phát triển trên nền tảng công nghệ mạng mạng ngang hàng bao gồm các ứng dụng chia sẻ tệp tin (như: uTorrent, BitTorrent, BearShare, eMule, v.v.), các ứng dụng tính toán lưới, các ứng dụng truyền thông như Skype, WhatsApp, Lync, Google Talk SETI @ home, IPTV, Video streaming, v.v Các ứng dụng này cho phép người dùng chia sẻ, tìm kiếm và thu thập các tệp tin tệp tin hình ảnh, âm thanh, video, tệp tin đa phương tiện khác; trao đổi thông tin trực tuyến, xem truyền hình, v.v đồng thời có thể sử dụng sức mạnh của các máy tính tham gia mạng ngang hàng để giải quyết các bài toán lớn mà một máy tính thông thường hoặc máy chủ mạnh không có khả năng thực hiện
Từ khi ra đời, mạng ngàng hàng đã trải qua ba thế hệ:
Trang 153
Mạng ngang hàng thế hệ thứ nhất chủ yếu được sử dụng vào mục đích chia sẻ tệp tin với quy mô nhỏ như Napster [8] Trong hệ thống có một số nút đặc biệt (gọi là máy chủ) làm nhiệm vụ lưu trữ vị trí của các tệp tin Khi cần tìm kiếm tệp tin, nút tìm kiếm liên hệ với máy chủ để xác định nút chứa tệp tin Tiếp theo, nút tìm kiếm và nút chứa tệp tin sẽ kết nối trực tiếp với nhau để trao đổi dữ liệu Mạng ngang hàng thế hệ thứ nhất cho phép tìm kiếm thông tin nhanh chóng, tuy nhiên khả năng mở rộng mạng bị hạn chế do máy chủ bị quá tải khi có nhiều nút tham gia mạng gửi yêu cầu tìm kiếm đến máy chủ Mạng ngang hàng thế hệ thứ hai khắc phục được điểm yếu của thế hệ thứ nhất Trong mạng ngang hàng thế hệ thứ hai các nút có vai trò như nhau, không có nút nào đóng vai trò là máy chủ Khi cần tìm kiếm tệp tin, nút tìm kiếm gửi câu truy vấn tới tất cả các nút tham gia mạng theo kiểu phát tràn (flooding) cho đến khi nút chứa tệp tin được tìm thấy Sau đó nút nguồn và nút chứa tệp tin kết nối trực tiếp với nhau để trao đổi dữ liệu Kỹ thuật tìm kiếm theo kiểu phát tràn sinh ra nhiều lưu lượng mạng làm cho khả năng mở rộng mạng của thế hệ thứ hai kém hơn thế hệ thứ nhất Mạng ngang hàng điển hình cho thế hệ thứ hai là Gnutella [10]
Để giải quyết vấn đề mở rộng phạm vi mạng và khác phục các điểm yếu của mạng ngang hàng thế hệ thứ nhất và thứ hai (các mạng ngang hàng không
có cấu trúc), mạng ngang hàng thế hệ thứ ba (mạng ngang hàng có cấu trúc)
đã ra đời Mạng ngang hàng thế hệ thứ ba có các cơ chế tốt hơn để đáp ứng số lượng người dùng ngày càng tăng trong mạng P2P [76] Các mạng ngang hàng có cấu trúc được phát triển dựa trên cấu trúc bảng băm phân tán (DHT)
và sử dụng kỹ thuật tìm kiếm theo cơ chế của bảng băm phân tán DHT Bảng băm phân tán ra đời để cung cấp cơ chế chỉ mục phân tán, khả năng mở rộng,
độ tin cậy và khả năng chịu lỗi Các mạng ngang hàng có cấu trúc tiêu biểu là: Chord [17], CAN [18], Pastry [19], Tapestry [20], v.v
Trang 164
Trong mạng ngang hàng có cấu trúc, các nút tham gia mạng được tổ chức chặt chẽ Mỗi nút tham gia mạng được gán một định danh Định danh của một nút là giá trị băm thông tin đặc trưng của nút đó như: địa chỉ IP, địa chỉ cổng TCP/IP Cơ chế định tuyến và quản lý của DHT tạo ra các liên kết ảo (liên kết logic) giữa các nút trong mạng, các liên kết ảo này hình thành một mạng phủ ảo (Overlay Network) Truyền thông trực tiếp giữa hai nút tham gia mạng được thực hiện dựa trên các liên kết vật lý của mạng lớp phía dưới (ví
dụ mạng Internet) Mạng cho phép mạng phủ ảo hoạt động trên đó được gọi là mạng nền tảng (Underlay Network)
Trong DHT, dữ liệu lưu trữ dưới dạng cặp khóa/giá trị (key/value) Mỗi
mục dữ liệu lưu trữ trong hệ thống có một định danh duy nhất Định danh dữ liệu là giá trị băm của tên tệp tin hoặc nội dung tệp tin Hàm băm dùng để sinh ra định danh của nút và định danh của dữ liệu là giống nhau Định danh
dữ liệu còn được gọi là khóa (key) Mỗi nút tham gia mạng chịu trách nhiệm
quản lý một số lượng khóa nhất định Số lượng các khóa do một nút quản lý phụ thuộc vào chất lượng của hàm băm
Do DHT có khả năng tự tổ chức mạng, khả năng tìm kiếm, khả năng chịu lỗi và mở rộng mạng, v.v cho nên các nghiên cứu về mạng ngang hàng trong những năm gần đây cơ bản tập trung vào mạng ngang hàng có cấu trúc Ngoài những ưu điểm trên, DHT cũng tồn tại nhiều yếu tố ảnh hưởng đến hiệu năng hoạt động của hệ thống mạng ngang hàng có cấu trúc
Theo cách hiểu thông thường, hiệu năng là một độ đo công việc mà một
hệ thống thực hiện được Đối với hệ thống mạng ngang hàng có cấu trúc, hiệu năng của hệ thống được xác định bởi sự kết hợp của các nhân tố: tính sẵn sàng (availability), thông lượng (throughput) và thời gian đáp ứng (response time), thời gian trễ (delay), độ tin cậy (reliability), tỉ suất lỗi (error rate), v.v
Trang 175
có yếu tố liên quan đến hệ thống mạng vật lý phía dưới, có yếu tố liên quan đến đặc điểm của mạng ngang hàng có cấu trúc Luận án này chỉ đề cấp đến nhân tố tính sẵn sàng của dữ liệu liên quan đến đặc điểm của mạng P2P Các yếu tố ảnh hưởng đến nhân tố tính sẵn sàng của dữ liệu có thể kể đến gồm:
- Các nút tham gia mạng không đồng nhất về băng thông, khả năng xử
lý, năng lực lưu trữ, thời gian kết nối Với máy tính bảng, máy tính xách tay hoạt động trong môi trường không dây tham gia mạng thường có thời gian kết nối mạng ngắn, khả năng xử lý, dung lượng lưu trữ thấp Trong khi đó, các máy tính người dùng, các máy chủ tham gia mạng có tốc độ xử lý mạnh, khả năng lưu trữ lớn, thời gian kết nối mạng dài Sự không đồng nhất này ảnh hưởng đến khả năng xử lý và định tuyến các câu truy vấn, làm ảnh hưởng đến
tỷ lệ thành công của các câu truy vấn, do đó làm ảnh hưởng đến tính sẵn sàng của dữ liệu và làm ảnh hưởng đến hiệu năng hoạt động của hệ thống mạng
- Định danh của nút tham gia mạng và định danh của dữ liệu phân bố không đều trong không gian định danh làm cho một số nút trong mạng phải quản lý nhiều khóa dữ liệu hơn, lưu trữ nhiều dữ liệu hơn các nút khác dẫn tới hiện tượng nút quá tải (các nút không có khả năng xử lý dữ liệu, không có khả định tuyến truy vấn) trong mạng Ngoài ra, một số dữ liệu có tính phổ biển cao, tỷ lệ truy vấn nhiều cũng ảnh hưởng đến khả năng xử lý truy vấn, khả năng định tuyến truy vấn của một nút, ảnh hưởng đến băng thông mạng Khi một nút bị quá tải sẽ tác động trực tiếp tỷ lệ thành công của các câu truy vấn
và ảnh hưởng đến đến tính sẵn sàng của dữ liệu và làm ảnh hưởng đến hiệu năng hoạt động của hệ thống mạng
- Trong mạng ngang hàng có cấu trúc, các nút thường xuyên ra vào mạng mà không có sự thông báo trước cho nút khác Khi một nút rời hệ thống, một nút khác phải gánh trách nhiệm quản lý dữ liệu của nút rời mạng,
Trang 186
đồng thời các tệp dữ liệu gốc được lưu trữ trên nút rời mạng cũng không tồn tại trong mạng Điều này dẫn tới cấu trúc của mạng thay đổi liên tục trong khoảng thời gian ngắn làm cho mạng có độ ổn định thấp (hay còn gọi là mạng
có "Churn rate" cao) và làm ảnh hưởng đến tính sẵn sàng của dữ liệu trong mạng và do đó làm giảm hiệu năng hoạt động của hệ thống
Đã có nhiều nghiên cứu đề xuất các thuật toán nhằm nâng cao tính sẵn sàng của dữ liệu qua đó nâng cao hiệu năng hoạt động của mạng ngang hàng
có cấu trúc Các hướng nghiên cứu đã đề xuất tập trung vào hai hướng chính: (i) Nâng cao tỷ lệ thành công của các câu truy vấn dữ liệu
Các nghiên cứu đã đề xuất nâng cao tỷ lệ thành công của các câu truy vấn được thực hiện theo hướng nâng cao khả năng cân bằng tải cho các nút Nghiên cứu [27], [28], [37], [38] sử dụng khái niệm server ảo (máy chủ ảo) cho việc cân bằng tải Mỗi nút vật lý quản lý một hoặc nhiều server ảo Các server ảo hoạt động như các nút tham gia mạng DHT Mỗi nút vật lý sẽ chọn một số lượng server ảo tỷ lệ với khả năng của nó để đảm bảo cân bằng tải hoặc có thể dịch chuyển các server ảo giữa các nút để đảm bảo cân bằng tải cho các nút Tuy nhiên, thuật toán sử dụng server ảo cũng tồn tại một số nhược điểm, như để quản lý được các server ảo thì mỗi nút phải duy trì khá nhiều liên kết đến các server ảo đó
Các nghiên cứu [39], [40], [41], [34] thực hiện việc dịch chuyển định danh của các nút khi trong hệ thống có các nút quá tải để bảo đảm cân bằng tải cho các nút Nhược điểm của các thuật toán này là làm tăng tải của hệ thống khi dịch chuyển dữ liệu cũng như phải cập nhật lại các liên kết khi định danh của một nút thay đổi
Các nghiên cứu [47], [48], [49], [50], [52] thực hiện việc điều khiển tắc nghẽn để nâng cao khả năng định tuyến của một nút Nghiên cứu này sử dụng
Trang 197
bảng định tuyến cố định và kiểm soát tắc nghẽn bằng cách giảm tốc độ gửi gói tin hoặc sử dụng đường đi khác trong bảng định tuyến và không tính đến khả năng xử lý của các nút trong mạng Do đó, có thể làm giảm tốc độ truyền của mạng khi xảy ra tắc nghẽn
(ii) Nâng cao tính sẵn sàng của dữ liệu
Các nghiên cứu [21], [53], [54], [55] thực hiện sao lưu dữ liệu một nút quản lý đến một số nút láng giềng gần nhất Cách tiếp cận [18], [56], [57] đặt các bản sao của các tệp dữ liệu ở một số nút khác nhau và định hướng lại các yêu cầu truy vấn đến các nút này Hướng nghiên cứu [54], [57], [59] thực hiện
việc sao lưu nhiều khóa, một khoá có liên hệ với một tập gồm r định danh được lựa chọn trong không gian khóa DHT tương ứng với r nút sao lưu cho
một tệp tin Nghiên cứu [60] tổ chức các nút trong mạng thành các cụm và tạo
ra bản sao giữa các nút gần nhau về mặt vật lý (các nút có khoảng cách địa lý gần nhau) dựa trên khả năng lưu trữ sẵn có của các nút, v.v
Các nghiên cứu nâng cao tính sẵn sàng của dữ liệu đã đề xuất cơ bản cải thiện được hiệu năng của hệ thống, tuy nhiên vẫn còn tồn tại nhiều hạn chế như: chi phí di chuyển dữ liệu cao, không bảo đảm vấn đề cân bằng tải giữa các nút, thời gian thực hiện chậm, v.v
Từ những phân tích và đánh giá các nghiên cứu nâng cao tính sẵn sàng của dữ liệu qua đó nâng cao hiệu năng hoạt động của mạng ngang hàng có cấu trúc đã đề xuất trước đây cho thấy còn có nhiều vấn đề giải quyết như: chi phí duy trì dữ liệu lớn, không bảo đảm cân bằng tải giữa các nút nhất là về tải lưu trữ, không tận dụng được khả năng xử lý của các nút, v.v Do đó, luận án nghiên cứu nâng cao hiệu năng hoạt động của mạng ngang hàng có cấu trúc tập trung vào giải quyết các vấn đề còn tồn tại ở trên
Trang 208
2 Mục tiêu của luận án
Luận án phân tích các đặc điểm của mạng ngang hàng có cấu trúc ảnh hướng đến cân bằng tải xử lý truy vấn, khả năng định tuyến của các nút và tính sẵn sàng của dữ liệu trong mạng Trên có sở đó, luận án đề xuất một số thuật toán nâng cao hiệu năng hoạt động của mạng ngang hàng có cấu trúc Mục tiêu của các thuật toán đề ra trong luận án là tăng tỷ lệ thành công của các câu truy vấn và nâng cao tính sẵn sàng của dữ liệu qua đó nâng cao hiệu năng hoạt động của mạng Luận án đề xuất thuật toán cân bằng tải xử lý truy vấn và thuật toán điều khiển tắc nghẽn giúp nâng cao tỷ lệ thành công của các câu truy vấn; đề xuất thuật toán sao lưu dữ liệu để đảm bảo tính sẵn sàng của dữ liệu trong các ứng dụng mạng P2P
3 Phạm vi nghiên cứu, đối tượng nghiên cứu
Để đạt được mục tiêu đề ra, luận án tập trung giải quyết các vấn đề sau:
- Phân tích, đánh giá các nghiên cứu đã đề xuất về nâng cao hiệu năng hoạt động của mạng ngang hàng có cấu trúc để làm rõ cách thức tiếp cận, giải quyết vấn đề từ khía cạnh phương pháp luận và xác định công cụ phân tích,
mô phỏng sử dụng trong luận án
- Phân tích, đánh giá các nghiên cứu về cân bằng tải trong mạng ngang hàng có cấu trúc từ đó đề xuất thuật toán cân bằng tải để nâng cao hiệu năng hoạt động của hệ thống mạng
- Phân tích, đánh giá các nghiên cứu về điều khiển tắc nghẽn trong mạng ngang hàng có cấu trúc và đề xuất thuật toán điều khiển tắc nghẽn trong mạng ngang hàng có cấu trúc
- Phân tích, đánh giá các nghiên cứu về sao lưu dữ liệu trong mạng ngang hàng có cấu trúc và đề xuất thuật toán sao lưu dữ liệu trong mạng ngang hàng có cấu trúc
Trang 219
4 Phương pháp nghiên cứu
Luận án sử dụng phương pháp chuyên gia, phương pháp nghiên cứu lý thuyết và phương pháp mô phỏng để kiểm chứng lý thuyết
5 Đóng góp của luận án
Luận án có 3 đóng góp chính:
- Thứ nhất, đề xuất thuật toán cân bằng tải xử lý truy vấn trong mạng
ngang hàng có cấu trúc Thuật toán đề xuất dựa trên thuật toán cân bằng tải theo ngưỡng do Ganesan [3] đưa ra, kết hợp với việc bổ sung khái niệm thư mục để lưu trữ thông tin về các nút nhẹ tải có thể di chuyển được, trong đó xem xét đến tải xử lý các câu truy vấn tìm kiếm một nút trong quá trình thực hiện cân bằng tải Các nghiên cứu trước đây bỏ qua vấn đề này
Thuật toán được đánh giá trong điều kiện môi trường mạng sát với thực
tế và so sánh với thuật toán do Ganesan đề xuất Kết quả mô phỏng cho thấy thuật toán đề xuất trong luận án đáp ứng tốt hơn, cho tỷ lệ câu truy vấn thành công cao hơn trong cùng một điều kiện thí nghiệm, đặc biệt là giảm thiểu số lượng thông báo tìm kiếm nút nhẹ tải khi hệ thống hoạt động trong tình trạng nặng tải
- Thứ hai, đề xuất thuật toán điều khiển tắc nghẽn khi một nút định
tuyến các câu truy vấn Thuật toán đề xuất thực hiện việc thay thế một nút trong bảng định tuyến của nút chuyển tiếp câu truy vấn để tạo ra một tuyến đường mới, tránh tắc nghẽn từ nút chuyển tiếp câu truy vấn đến nút quản lý khóa Nút được chọn để thay thế là nút không tắc nghẽn tốt nhất trong danh sách các nút sau nút tắc nghẽn trên đường tìm kiếm đến nút đích Do đó, thuật toán đề xuất có thể sử dụng hiệu quả băng thông mạng, tận dụng tối đa tài
Trang 22toán định tuyến trong giao thức Chord từ 15% đến 50%
- Thứ ba, đề xuất thuật toán sao lưu dữ liệu dựa trên phân cụm động
không gian khóa DHT nhằm đảm bảo tính sẵn sàng của dữ liệu Thuật toán đề xuất bao gồm cơ chế cập nhật thông tin giữa các nút trong cụm để đảm bảo cân bằng tải và cơ chế khôi phục dữ liệu khi có nút rời mạng, cơ chế phân cụm động, cơ chế sao lưu và khôi phục dữ liệu Ngoài ra, thuật toán cũng đưa
ra cơ chế gia nhập mạng cho phép các nút gần nhau về mặt vật lý sẽ tham gia vào cùng một cụm nhằm giảm thời gian cập nhật thông tin cụm và chi phí để duy trì dữ liệu trong cụm
Kết quả đánh giá cho thấy thuật toán sao lưu dữ liệu đề xuất hiệu quả hơn so với các thuật toán thông thường khoảng 30% đến 45% tùy theo từng đánh giá Tỷ lệ truy vấn dữ liệu thành công cao trong khi chi phí lưu trữ dữ liệu và chi phí duy trì các mảnh dữ liệu nhỏ Các nút trong hệ thống đạt được trạng thái cân bằng tốt hơn, thời gian cập nhật thông tin cụm giảm, v.v
6 Cấu trúc của luận án
Luận án được tổ chức như sau:
Phần mở đầu: Trình bày tính cấp thiết của luận án, mục tiêu, phạm vi,
đối tượng nghiên cứu của luận án, những đóng góp chính của luận án Các kết
Trang 2311
quả nghiên cứu và đóng góp mới của luận án được trình bày trong các chương tiếp theo của luận án
Chương 1 trình bày các kiến thức nền tảng có liên đến việc nghiên cứu
của luận án Nội dung của chương này đề cập đến các vấn đề của mạng ngang hàng như khái niệm mạng ngang hàng, các đặc trưng của mạng ngang hàng, phân loại mạng ngang hàng, các ứng dụng trên mạng ngang hàng, bảng băm phân tán, giao thức mạng ngang hàng có cấu trúc Chord (đây là giao thức được sử dụng trong các nghiên của cứu luận án);
Chương 2 trình bày thuật toán cân bằng tải trong mạng ngang hàng có
cấu trúc Nội dung của chương này giới thiệu tổng quan về cân bằng tải trong mạng ngang hàng có cấu trúc, đánh giá các nghiên cứu liên quan và đề xuất thuật toán cân bằng tải nâng cao tỷ lệ thành công các câu truy vấn qua đó nâng cao hiệu năng hoạt động của mạng ngang hàng có cấu trúc Kết quả nghiên cứu của chương 2 được công bố trong công trình khoa học [V5]
Chương 3 trình bày thuật toán điều khiển tắc nghẽn trong mạng ngang
hàng có cấu trúc Nội dung của chương giới thiệu về điều khiển tắc nghẽn và một số nghiên cứu liên quan về điều khiển tắc nghẽn trong mạng ngang hàng
có cấu trúc và đề xuất thuật toán điều khiển tắc nghẽn trong mạng ngang hàng
có cấu trúc dựa trên cơ chế thay đổi bảng định tuyến của một nút để nâng cao
tỷ lệ thành công của các câu truy vấn, qua đó nâng hiệu năng hoạt động của mạng ngang hàng có cấu trúc Kết quả nghiên cứu của chương 3 được công
bố trong công trình khoa học [V2]
Chương 4 trình bày thuật toán sao lưu dữ liệu đảm bảo tính sẵn sàng của
dữ liệu trong mạng ngang hàng có cấu trúc Nội dung của chương giới thiệu khái quát về sao lưu dữ liệu trong mạng ngang hàng có cấu trúc, đánh giá các nghiên cứu liên quan về sao lưu dữ liệu từ đó đề xuất thuật toán sao lưu dữ
Trang 2412
liệu nâng cao tính sẵn sàng của dữ liệu, qua đó hiệu năng hoạt động của mạng ngang hàng có cấu trúc Kết quả nghiên cứu của chương 4 được công bố trong công trình khoa học [V1], [V3], [V4]
Phần kết luận đánh giá các kết quả đã đạt được, những hạn chế và
hướng nghiên cứu tiếp theo
Trang 2513
Chương 1 KIẾN THỨC NỀN TẢNG 1.1 Mạng ngang hàng
Với sự phát triển mạnh mẽ của Internet, kiến trúc mạng ngang hàng được quan tâm nghiên cứu, phát triển và đưa vào ứng dụng Kiến trúc này thích hợp cho các hệ thống nhiều người dùng Mạng ngang hàng ra đời cho phép người dùng tương tác và sử dụng các nội dung đa phương tiện như âm thanh, hình ảnh, video, v.v Băng thông Internet được sử dụng bởi các ứng dụng mạng ngang hàng ngày càng tăng, đặc biệt với các ứng dụng chia sẻ tệp tin, các ứng dụng truyền hình, các ứng dụng game, v.v Con số này tăng lên rất nhanh khi ngày càng có nhiều các thiết bị cầm tay di động tham gia mạng với các kết nối internet tốc độ cao
Mạng ngang hàng được định nghĩa là một cấu trúc mạng phân tán, các thành phần tham gia (nút mạng) cùng nhau chia sẻ tài nguyên như năng lực
xử lý, bộ nhớ lưu trữ, tốc độ đường truyền, v.v Các tài nguyên chia sẻ tạo nên dịch vụ và nội dung chia sẻ trong mạng ngang hàng Các nút mạng truy cập
và sử dụng trực tiếp tài nguyên từ các nút khác mà không thông qua các nút trung gian Các nút tham gia mạng vừa đóng vai trò là nút cung cấp tài nguyên, vừa đóng vai trò là nút yêu cầu tài nguyên [4]
Mô hình mạng ngang hàng khác với mô hình khách/chủ bởi vai trò của các thành phần tham gia mạng Mỗi thành phần trong mạng ngang hàng gọi là
Servent (Server + Client) Tại mỗi thời điểm, một nút trong mạng vừa đóng
vai trò máy chủ và vừa đóng vai trò máy khách Điều này khác với mô hình khách/chủ tại một thời điểm một nút tham gia chỉ có thể đóng vai trò là máy chủ hoặc vai trò máy khách
Trang 2614
Các mạng ngang hàng là các mạng ảo, được xây dựng trên đỉnh (top) các mạng vật lý, gồm tập hợp các nút mạng liên kết với nhau Các nút mạng có sự khác nhau về băng thông đường truyền, tốc độ xử lý, bộ nhớ lưu trữ, dữ liệu chia sẻ, v.v Các mạng ngang hàng có tính ổn định không cao Một nút tham gia và rời mạng một cách tự nhiên, không có thông báo trước Khác với các
hệ thống khách/chủ, mạng ngang hàng không có thành phần trung tâm để điều khiển, tổ chức, quản trị, duy trì hệ thống trong thời gian mạng hoạt động Các nút tham gia tạo thành mạng phủ ảo mà không cần quan tâm đến vị trí địa lý Đặc tính và mục đích thiết kế của mạng ngang hàng [3] phù hợp với nhiều ứng dụng trong thực tế Các đặc tính/mục đích đó bao gồm:
- Truyền thông đối xứng (Symmetric communication): Các nút trong
mạng ngang hàng có vai trò như nhau, cộng tác với nhau theo cùng một mục đích Không có sự phân biệt giữa nút đóng vai trò là khách và nút đóng vai trò
là chủ (nút phục vụ) Truyền thông giữa các nút là đối xứng, các nút tham gia mạng một cách tự nguyện
- Điều khiển phân tán (Decentralized control): Phân tán là một đặc
tính quan trọng của mạng ngang hàng Mạng ngang hàng thuần túy không có thành phần trung tâm chứa thông tin về toàn bộ hệ thống để phục vụ quản lý
và tổ chức mạng
- Tự tổ chức (Self-organizing): Các nút tham gia tự tổ chức thành một
mạng thông qua quá trình tự khám phá Trong mạng không tồn tại thư mục chứa thông tin các nút hoặc tài nguyên toàn bộ mạng
- Tính mạnh mẽ (Robustness): Các mạng ngang hàng có thể tạo ra một
thuật toán ứng dụng mạnh mẽ, không bị ảnh hưởng bởi vấn đề điểm sự cố duy nhất như trong mô hình khách/chủ Các nút tham gia mạng chia sẻ tài nguyên
Trang 2715
với các nút khác và vấn đề sự cố của một vài nút có thể tồn tại tuy nhiên nó không ảnh hưởng đến chức năng tổng thể của toàn hệ thống
- Khả năng mở rộng (Scalability): Tài nguyên trong mạng ngang hàng
được cung cấp bởi tất cả các nút tham gia mạng do đó mạng ngang hàng có khả năng mở rộng cao
- Ẩn danh (Anonymity): khác với mô hình khách/chủ, kiến trúc mạng
ngang hàng có thể giúp cho các nút tham gia có tính riêng tư
1.2 Ứng dụng mạng ngang hàng
Mạng ngang hàng được sử dụng nhiều cho việc phân phối nội dung dựa trên các mạng khác nhau Kiến trúc này không chỉ được dùng để xây dựng ứng dụng phân phối, chia sẻ tệp tin mà còn được dùng để phát triển một số lượng lớn các ứng dụng khác Phần này trình bày tóm tắt về các ứng dụng của mạng ngang hàng
1.2.1 Phân phối nội dung dựa trên mạng ngang hàng
Mục tiêu chính trong việc thiết kế kiến trúc mạng ngang hàng là hỗ trợ phân phối nội dung giữa cộng đồng người sử dụng và làm giảm tải trên các máy chủ trung tâm Tuy nhiên mỗi hệ thống lại có vai trò và cách thức chia sẻ nội dung khác nhau Các ứng dụng tiêu biểu cho phân phối nội dung bao gồm: KaZaA, Morpheus, Napster, eDonkey/eMule, Akamai, BitTorrent Mỗi nút trong hệ thống là một kho nội dung phân tán để phân phối và chia sẻ nội dung cho các nút khác Việc truy cập nội dung được kiểm soát chặt chẽ và chỉ có nút được cấp quyền mới có thể truy cập được nội dung Tính phổ biến của các ứng dụng này đã thay thế hệ thống chia sẻ nội dung sử dụng máy chủ chuyên dùng và nâng cao khả năng mở rộng mạng cho vấn đề phân phối nội dung Các hệ thống chia sẻ nội dung chú trọng vào nâng cao tính bảo mật để hạn chế các truy cập trái phép đến nội dung chia sẻ
Trang 2816
Truyền thông đa phương tiện thời gian thực là một lĩnh vực chia sẻ nội dung phổ biến khác dựa trên mạng ngang hàng Đã có nhiều nghiên cứu đưa
ra các giải pháp cho truyền thông đa phương tiện qua mạng ngang hàng Một
số kiến trúc được đề xuất để giải quyết các vấn đề như quản lý nút, tính mạnh
mẽ của hệ thống, khả năng thích ứng của hệ thống đối với tính ổn định của các nút và chất lượng dịch vụ (QoS) để truyền thời gian thực hiệu quả qua mạng ngang hàng Các kiến trúc phổ biến cho truyền thông đa phương tiện bao gồm: CoopNet, SpreadIt, ZIGZAG, PALS
IPTV là một dịch vụ mới dựa trên mạng ngang hàng trong lĩnh vực truyền thông đa phương tiện thời gian thực IPTV cung cấp dịch vụ truyền tải Video theo yêu cầu (VoD) Các ứng dụng đặc trưng của IPTV bao gồm TVUPlayer, Joost, CoolStreaming, Cybersky-TV, TVants, PPLive, LiveStation, GridMedia, và iGridMedia
1.2.2 Truyền thông dựa trên mạng ngang hàng
Kiến trúc mạng ngang hàng được sử dụng rộng rãi để xây dựng nhiều ứng dụng truyền thông khác nhau Các ứng dụng này cung cấp cơ sở hạ tầng cho các nút cộng tác, truyền thông thời gian thực và trực tiếp với nhau, điển hình như một số ứng dụng: Skype, AOL, AIM, ICQ, Yahoo, MSN, NetNews
và Jabber
1.2.3 Xử lý và tính toán phân tán dựa trên mạng ngang hàng
Ý tưởng phía sau các ứng dụng xử lý và tính toán phân tán là dựa trên kiến trúc của mạng ngang hàng để phối hợp sức mạnh xử lý có sẵn (khả năng CPU) của mỗi nút Trong hệ thống xử lý và tính toán phân tán, nhiệm vụ tính toán ban đầu được chia thành nhiệm vụ nhỏ hơn, các nhiệm vụ nhỏ được gán cho các nút khác nhau xử lý và sau đó kết quả được tổng hợp lại Trong tính toán, cần có sự kiểm soát tập trung cho việc phối hợp và đồng bộ hóa giữa các
Trang 2917
nút Kiến trúc mạng ngang hàng cho phép con người có thể sử dụng các máy tính cá nhân để xử lý một bài toán dành cho siêu máy tính với chi phí thấp Seti@Home[23] và Genome@Home [24] là những ứng dụng xử lý phân tán phổ biến SETI @Home gán công việc cho các máy tính nhàn rỗi thông qua một chương trình điều khiển Trong hệ thống cần một máy chủ trung tâm
để duy trì thông tin của tất cả các nút Mỗi công việc cần thời gian khoảng để
xử lý, tuy nhiên dữ liệu truyền có kích thước không lớn, đường truyền được
sử dụng không thường xuyên
SETI@Home sử dụng phổ biến cho nhiều dự án tính toán khoa học trong
đó có tin sinh học, dự báo thời tiết, v.v Hệ thống có khả năng mở rộng cao tuy nhiên nó không cung cấp nền tảng chung cho các ứng dụng khác
1.2.4 Cộng tác dựa trên mạng ngang hàng
Kiến trúc mạng ngang hàng giúp các nút hoạt động cộng tác với nhau để thực hiện các mục tiêu chung Groove [25] là ứng dụng dựa trên kiến trúc mạng ngang hàng do Microsoft phát triển và tạo ra môi trường cộng tác cho các nút tham gia Groove cho phép người dùng cộng tác trực tiếp với nhau mà không cần qua các máy chủ trung tâm Groove cung cấp cơ chế đồng bộ hóa cho phép các nút cộng tác một cách an toàn, các thông điệp trao đổi với nhau dưới dạng XML Ứng dụng này cung cấp dịch vụ truyền thông, chia sẻ nội dung và cộng tác như chỉnh sửa tài liệu theo nhóm, tạo bản vẽ theo nhóm, cùng kiểm duyệt, v.v giữa các nút tham gia
1.2.5 Hạ tầng công nghiệp/nền tảng dựa trên mạng ngang hàng
Kiến trúc mạng ngang hàng cung cấp cơ sở hạ tầng cho các ứng dụng phân tán JXTA [26] là hạ tầng mạng ngang hàng khá phổ biến, cung cấp một môi trường lập trình, hạ tầng công nghiệp cho mục đích chung Hạ tầng JXTA
là dịch vụ phân tán độc lập với các giao thức tầng giao vận JXTA tạo ra một
Trang 3018
hệ thống mạng ngang hàng với các chức năng cơ bản, cung cấp các thành phần cho việc xây dựng các ứng dụng mạng ngang hàng Tuy nhiên, vấn đề định danh toàn cầu cho các nút tham gia mạng trên hạ tầng JXTA vẫn chưa được giải quyết, do đó khả năng mở rộng mạng còn hạn chế
1.2.6 Các hệ thống cơ sở dữ liệu và tìm kiếm dựa trên mạng ngang hàng Kiến trúc mạng ngang hàng cũng được sử dụng cho một số hệ thống tìm kiếm và cơ sở dữ liệu phân tán Open Cola Folders, Pelbio, aKa InfraSearch, WebV2 và Sciencenet là các bộ công cụ tìm kiếm dựa trên mạng ngang hàng
Mô hình quan hệ cục bộ (Local Relational Model - LRM), PIER và các hệ thống Piazza, AmbientDB và Xpeer là các hệ cơ sở dữ liệu quan hệ/phân tán dựa trên kiến trúc mạng ngang hàng Các cơ sở dữ liệu ngang hàng vượt qua giới hạn về quan hệ và hệ quản trị cơ sở dữ liệu phân tán Không có lược đồ tổng thể cho các hệ thống cơ sở dữ liệu ngang hàng
1.2.7 Các ứng dụng khác
Bên cạnh các lĩnh vực ứng dụng nói trên, kiến trúc mạng ngang hàng còn được sử dụng rộng rãi cho nhiều ứng dụng khác Lĩnh vực phổ biến bao gồm ứng dụng trò chơi (2AM, CenterSpan), nghiên cứu y tế (đặc biệt là nghiên cứu ung thư), lĩnh vực giáo dục và nhiều lĩnh vực tài chính, kinh doanh (blockchain), Web tùy biến (Writable web) như Blogger, Wiki Web, Manila
và công nghệ Endeavour, Inc
1.3 Phân loại mạng ngang hàng
Trong thiết kế ban đầu, các mạng ngang hàng là không có cấu trúc và phân tán hoàn toàn Tuy nhiên hiện nay nhiều hệ thống mạng ngang hàng lại được thiết kế với lý do riêng Các hệ thống mạng ngang hàng này có thể được phân loại dựa trên kiến trúc mạng phía dưới Kiến trúc này cho biết làm thế nào để hệ thống mạng ngang hàng tổ chức các nút tham gia và hoạt động cộng
Trang 31cả các nút trong mạng được tổ chức phân tán hoàn toàn, tuy nhiên trong thực
tế một số hệ thống vẫn có một hoặc một số máy chủ trung tâm thực hiện một
số chức năng nhất định, đặc biệt là chức năng chỉ mục tài liệu và định vị vị trí của các tài liệu Theo mức độ phân tán, mạng ngang hàng được phân thành các loại thể hiện trong hình 1.2 và được mô tả trong các mục tiếp theo:
Trang 32lộ điểm sự cố duy nhất, khả năng mở rộng mạng kém, dễ bị vi phạm bản quyền, vấn đề an ninh an toàn và các vấn đề kỹ thuật khác
Trang 3321
1.3.1.2 Các hệ thống phân tán hoàn toàn
Các hệ thống mạng ngang hàng phân tán hoàn toàn thường được gọi là các hệ thống mạng ngang hàng thuần túy Trong các hệ thống này không có thành phần trung tâm đóng vai trò tổ chức cho các nút tham gia, tất cả các nút trong mạng tự cộng tác với nhau để thực hiện các công việc Kiến trúc Gnutella [10] và Freenet [11] là các hệ thống mạng ngang hàng phân tán hoàn toàn Các nút trong hệ thống vừa đóng vai trò là máy chủ và vừa đóng vai trò
là máy khách tại cùng một thời điểm Tất cả các nút hỗ trợ nhau trong việc tìm kiếm, định tuyến và phân phối nội dung Đặc tính tạo nên sức mạnh thực
sự cho hệ thống này đó là khả năng phân tán Tuy nhiên, các hệ thống này thường gây lãng phí băng thông mạng do sử dụng cơ chế tìm kiếm kiểu phát tràn và có thể không đảm bảo được kết quả tìm kiếm nội dung đa phương tiện
1.3.1.3 Các hệ thống tập trung cục bộ
Hệ thống mạng ngang hàng phân tán một phần là hình thức cải tiến của
hệ thống phân tán thuần túy Các hệ thống mạng ngang hàng dựa trên kiến trúc FastTrack[12] như KaZaA[13], Morpheus[14], iMesh[15] là các hệ thống phân tán một phần Các hệ thống này hoạt động cơ bản giống với các hệ thống phân tán thuần túy Tuy nhiên trong hệ thống phân tán một phần, một
số nút được gán vai trò cụ thể hơn so với các nút khác Các nút đặc biệt này
được gọi là siêu nút (superpeer hoặc supernode), hoạt động như một máy chủ
trung tâm để quản lý một số nút nhất định Trong hệ thống đó tất cả các yêu
cầu sẽ đi qua các supernode Hệ thống phân tán một phần vẫn tồn tại nguy cơ
tạo ra điểm sự cố duy nhất, tuy nhiên chúng được cài đặt cơ chế đặc biệt để chuyển sang nút thay thế khi hệ thống gặp sự cố Việc chuyển đổi tự động và
thông minh giữa các supernode giúp hệ thống tránh khỏi vấn đề điểm sự cố duy nhất Tuy nhiên, vấn đề lựa chọn một supernode thích hợp cho một tập
Trang 3422
các nút nhất định là một vấn đề chưa có lời giải tối ưu Chức năng của các
supernode cơ bản là giống nhau và phụ thuộc vào thiết kế kiến trúc tổng thể của mạng ngang hàng Nói chung, việc kết hợp của supernode tạo điều kiện
thuận lợi cho phân phối nội dung và cải thiện cơ chế tìm kiếm
1.3.2 Phân loại theo cấu trúc mạng ngang hàng
Các nút tham gia mạng ngang hàng có độ ổn định và tính đồng nhất không cao, các nút đều có thể gia nhập và rời khỏi mạng mà không đưa ra bất
kỳ một thông báo trước nào Trong các trường hợp như vậy, cấu trúc tổng thể của mạng ngang hàng đóng một vai trò rất quan trọng cho việc tổ chức các nút Các nút được tổ chức thành một mạng phủ ở trên đỉnh của các mạng vật
lý Mạng phủ này là các mạng ảo có thể hoàn toàn không liên quan đến mạng vật lý Cấu trúc mạng ngang hàng như vậy cung cấp cơ chế chỉ mục, tìm kiếm, định tuyến và phân phối nội dung từ một số nút nhất định Việc phân loại các hệ thống mạng ngang hàng dựa trên các cấu trúc mạng được trình bày trong các phần dưới đây:
1.3.2.1 Mạng ngang hàng không cấu trúc
Mạng ngang hàng không cấu trúc không có bất kỳ thông tin cụ thể nào
về nội dung đa phương tiện của các nút được yêu cầu Các hệ thống mạng ngang hàng như Gnutella, KaZaA, Morpeus, DirectConnect, BitTorrent, v.v
là mạng ngang hàng không có cấu trúc Trong các hệ thống này không có thông tin cho việc tổ chức nút và nội dung đa phương tiện lưu trữ trên các nút tương ứng Việc tìm kiếm một nội dung được thực hiện một cách ngẫu nhiên
vì các nút không có thông tin về vị trí của nút chứa nội dung cần tìm kiếm Nút cần tìm kiếm nội dung đa phương tiện gửi yêu cầu truy vấn đến các nút khác nhau và truy vấn này được lan truyền cho đến khi tìm thấy nội dung được yêu cầu Cơ chế tìm kiếm theo kiểu phát tràn (flooding) [16] tạo ra rất
Trang 3523
nhiều thông điệp tìm kiếm bị trùng lặp gây lãng phí băng thông mạng Cơ chế tìm kiếm này mất nhiều thời gian và đôi khi không thu được kết quả như mong muốn Các hệ thống này được gọi là thế hệ đầu tiên của mạng ngang hàng, ưu điểm chính của hệ thống là chúng dễ dàng quản lý và thích hợp cho một số lượng nhỏ các nút Tuy nhiên, hạn chế của hệ thống đó là không đảm bảo độ tin cậy trong quá trình xác định vị trí của nút chứa nội dung cần tìm Hơn nữa, hệ thống này chi phí rất cao cho việc định tuyến để tìm kiếm nút chứa nội dung theo yêu cầu do đó khả năng mở rộng mạng rất hạn chế
1.3.2.2 Mạng ngang hàng có cấu trúc
Một số hệ thống mạng ngang hàng được đề xuất để hạn chế nhược điểm của mạng ngang hàng không cấu trúc Các mạng ngang hàng có cấu trúc sử dụng bảng băm phân tán (DHT) để hỗ trợ khả năng mở rộng, khả năng tìm kiếm Các giao thức phổ biến cho mang ngang hàng có cấu trúc bao gồm Chord [17], CAN [18], Pastry [19], Tapestry [20], v.v Mạng ngang hàng có cấu trúc giải quyết khá tốt vấn đề khả năng mở rộng và tính hiệu quả trong cơ chế tìm kiếm Mạng ngang hàng không cấu trúc có khả năng mở rộng kém do
cơ chế tìm kiếm tập trung hoặc phát tràn được thiết kế cho hệ thống này Trong khi đó, các mạng ngang hàng có cấu trúc các nút trong mạng phủ và chỉ mục cho nội dung đa phương tiện được đặt tại các vị trí rất cụ thể Tổ chức của mạng phủ cung cấp một ánh xạ cho mỗi tệp tin và các truy vấn tìm kiếm được thực hiện với sự giúp đỡ của bảng ánh xạ này Cấu trúc mạng phủ
có mối liên hệ chặt chẽ với vị trí của nội dung dựa trên bảng băm được kiểm soát đã tạo ra một giải pháp có khả năng mở rộng cho truy vấn chính xác bởi
vì vị trí của nội dung đa phương tiện cần tìm được biết trước khi tìm kiếm Bảng 1.1 mô tả một cách ngắn gọn phân loại các hệ thống mạng ngang hàng theo các tiêu chí về phân tán và cấu trúc
Trang 3624
Mạng ngang hàng không cấu trúc
Mạng ngang hàng có cấu trúc
Tập trung bộ phận KaZaA, Morpeus,
Groove, Gnutella, DirectConnect
Phân tán lai Napster, BitTorrent
sDonkey2000, Overnet
Chord, CAN, Pastry, Tapestry…
Bảng 1.1 Phân loại các hệ thống mạng ngang hàng
Ưu điểm chính của mạng ngang hàng có cấu trúc là khả năng mở rộng và hiệu quả trong tìm kiếm Tuy nhiên, vấn đề tổ chức của các nút trong mạng là phức tạp, đây là nhược điểm chính của các hệ thống này và việc duy trì các ánh xạ trong bảng định tuyến là tương đối khó khăn do có một số lượng lớn các nút thường xuyên vào và ra hệ thống
Phần tiếp theo trình bày chi tiết về mạng ngang hàng có cấu trúc, đây là kiến trúc mạng được sử dụng trong nghiên cứu của luận án
1.4 Mạng ngang hàng có cấu trúc
Các nút và tài nguyên trong mạng ngang hàng không cấu trúc phân bố tự
do gây khó khăn cho việc tìm kiếm, đồng thời không đảm bảo chắc chắn kết quả cho mỗi truy vấn Vấn đề này càng trở nên khó khăn hơn khi số lượng nút trong mạng tăng, do đó mạng ngang hàng không cấu trúc ít được áp dụng trong các hệ thống có yêu cầu mở rộng cao Để khắc phục hạn chế này, mạng ngang hàng có cấu trúc với kĩ thuật bảng băm phân tán được sử dụng phổ biến hơn Phần tiếp theo trình bày về bảng băm phân tán, một cấu trúc dữ liệu được sử dụng để xây dựng các mạng ngang hàng có cấu trúc
Trang 3725
1.4.1 Bảng băm phân tán
Bảng băm phân tán (DHT) là một hệ thống phân tán lưu trữ các cặp khóa-giá trị (key-value) phân tán trên các nút (các máy tính) và cung cấp cơ chế lưu trữ, tìm kiếm dữ liệu tương tự như bảng băm thông thường Mỗi nút trong DHT quản lý các khóa cùng với các giá trị được ánh xạ và có thể truy vấn chính xác, hiệu quả giá trị liên quan đến một khóa cho trước Các giá trị được ánh xạ với các khóa trong DHT có thể là bất kỳ dạng dữ liệu nào, như tệp tin âm thanh, hình ảnh, video, hồ sơ người dùng, e-mail, v.v
Về cấu trúc, DHT gồm các thành phần sau: không gian khóa (keyspace),
sơ đồ phân hoạch không gian khóa (keyspace partitioning scheme) và một mạng phủ (overlay network) để kết nối các nút trong DHT
Không gian khóa: là tập các chuỗi m bit DHT ánh xạ khóa k của dữ liệu
và định danh của nút id vào cùng không gian khóa DHT thông qua một hàm băm đồng nhất (consistent hashing) Khóa k của dữ liệu được tạo ra bằng việc băm tên tệp dữ liệu hoặc nội dung tệp dữ liệu Định danh id của nút được tạo
ra bằng việc băm thông tin liên quan đến nút, như địa chỉ IP hoặc địa chỉ cổng (Port) Mỗi khóa k do một nút quản lý, mỗi nút quản lý một vùng không gian
khóa liên tục nhau
Trang 38Sơ đồ phân hoạch không gian khóa: là cách chia không gian khóa giữa
các nút tham gia hệ thống Trong sơ đồ phân hoạch không gian khóa DHT, một hàm (k 1 , k 2 ) định nghĩa khoảng cách từ khóa k 1 đến khóa k 2 Khoảng cách này là một khái niệm trừu tượng không liên quan đến khoảng cách địa lý
hay độ trễ mạng Mỗi nút DHT có một định danh id trong không gian khóa và quản lý tất cả các khóa k gần với id nhất theo hàm khoảng cách Một tính chất quan trọng của hàm băm đồng nhất đó là, việc thêm hoặc loại bỏ một nút
chỉ làm thay đổi tập khóa do các nút có id liền với nó quản lý mà không ảnh
hưởng đến tất cả các nút khác
Trang 3927
Mạng phủ: mỗi nút duy trì một tập các đường liên kết đến các nút khác
(nút láng giềng hoặc bảng tìm đường) Các liên kết này tạo thành một mạng phủ Mạng phủ này cho phép các nút có thể tìm kiếm một khóa bất kỳ trong không gian khóa Mỗi nút lựa chọn danh sách các nút láng giềng theo một cấu trúc nhất định, gọi là Topology của mạng Tất cả các Toplogy của DHT đều
có một tính chất quan trọng đó là, cho một khóa k bất kỳ, mỗi nút hoặc là có định danh id trùng với k hoặc là có một liên kết đến nút có định danh id gần với k hơn theo khái niệm khoảng cách không gian khóa được định nghĩa ở
trên Khi đó có thể dễ dàng định tuyến một thông điệp đến nút quản lý khóa bằng thuật toán tham lam được mô tả như sau: tại mối bước, thông điệp
chuyển tiếp tới nút láng giềng có định danh gần với k nhất theo hàm khoảng
cách Khi không có nút láng giềng như vậy, thì thông điệp phải đến nút gần nhất, là nút quản lý khóa theo định nghĩa ở trên
Hình 1.4 Mạng phủ DHT với 4 nút trong mạng Hầu hết các hệ thống DHT cố gắng cân bằng tải định tuyến thông điệp, tải phân bố (tải xử lý truy vấn) và tải lưu trữ trên các nút tham gia Tuy nhiên, vẫn tồn tại một số lý do khiến một số nút trong hệ thống có thể chịu tải cao
Trang 4028
hơn những nút khác, đó là: một nút quản lý một phần rất lớn không gian địa chỉ, một nút quản lý phần không gian địa chỉ với một số lượng lớn các đối tượng dữ liệu và một nút quản lý các đối tượng dữ liệu đặc biệt phổ biến Trong những trường hợp này, bổ sung cơ chế cân bằng tải có thể giúp phân bổ tải đồng đều hơn cho các nút Ví dụ, một nút có thể chuyển một phần không gian địa chỉ quản lý cho các nút khác hoặc nhiều nút có thể quản lý một không gian địa chỉ
Trong luận án này chúng tôi sử dụng kiến trúc mạng ngang hàng có cấu trúc Chord cho các nghiên cứu trong các chương tiếp theo Phần tiếp theo sẽ trình bày chi tiết về mạng ngang hàng có cấu trúc Chord
1.4.2 Mạng ngang hàng Chord
Chord là một trong những giao thức mạng ngang hàng có cấu trúc phổ biến nhất được xây dựng dựa trên bảng băm phân tán Trong Chord, khóa của một tệp tin được quản lý bởi một nút trong mạng Tùy thuộc vào ứng dụng,
dữ liệu liên quan đến khóa có thể được lưu trữ tại nút quản lý khóa Chord sử dụng phương pháp băm đồng nhất để tạo định danh dữ liệu và định danh của nút, phương pháp này tạo ra một phân bố tương đối đều các khóa vào các nút
trong mạng Kích thước của không gian khóa là một số nguyên m bit, m là đủ
lớn để xác suất cho hai nút hoặc hai định danh của dữ liệu trùng nhau là rất nhỏ Do các khóa được phân bố tương đối đồng đều cho các nút cho nên khi một nút tham gia hoặc rời mạng thì chỉ có một số nhỏ các khóa chuyển từ nút này sang nút khác, điều này tạo nên một sự cân bằng tương đối trong mạng Chord khắc phục các vấn đề hay gặp trong mạng ngang hàng:
- Cân bằng tải: giao thức Chord phân phối số lượng khóa đồng đều đến từng nút, thông qua đó gián tiếp mang lại hiệu quả cân bằng tải