3.3.1 Đặt vấn đề.
Một vấn đề lớn đặt ra là khi một peer mới hình thành, muốn kết nối vào mạng, thì thông tin về các nút hàng xóm nó cần kết nối với lấy ở đâu ? Ngay cả khi kết nối giữa các peer là ngẫu nhiên ( random- không cần các tiêu chí đánh giá tối ưu hay không) thì trong mạng internet rộng lớn, các peer vẫn rất khó khăn để tìm ra địa chỉ các máy đang nằm trong lớp overlay nó muốn kết nối đến. Hơn nữa việc kết nối giữa các peer chỉ dựa trên băng thông cao dễ dàng gây ra lượng dữ liệu lớn truyền giữa các ISP, tạo nên gánh nặng cho quá trình định tuyến. Những người sử dụng các dịch vụ P2P có thể chiếm dụng hết tài nguyên mạng, làm chậm kết nối của những người sử dụng khác. Bên cạnh đó, việc truyền dữ liệu qua nhiều chặng tại lớp underlay làm tăng khả năng nghẽn mạng, đặc biệt là khi mạng P2P đang phát triển một cách nhanh chóng, và lưu lượng phát sinh ngày một lớn.
Hình 3.6: Minh họa việc trả cước phí cho các miền ISP
Việc giảm chi phí cho các ISP có người dùng P2P chi trả cho các ISP khác tham gia vào việc vận chuyển dữ liệu tới đích. Từ đó tiết kiệm chi phí cho thuê bao sử dụng mạng P2P, tăng lợi nhuận cho các nhà cung cấp dịch vụ. Tuy nhiên, hiện nay các mạng P2P phát triển ồ ạt mà không nhận biết miền ISP. Theo số liệu đo đạc[10] thực hiện với 20.000 người sử dụng, người ta thấy rằng có 50-90% dữ liệu được tải từ miền ISP khác, trong khi dữ liệu đó có trên miền ISP của máy đó. Quan sát thực hiện với mạng PPLive trên các peer ở Bắc Mỹ, người ta thấy rằng có 70-90% dữ liệu tải về từ các peer ở Châu Á.
Những vấn đề trên khiến người ta nghĩ đến thiết kế một server chuyên cung cấp các thông tin cho quá trình tìm kiếm peer được dễ dàng và tăng khả năng quản lý cho các ISP đối với mạng P2P.
Những nghiên cứu gần đây đang phát triển server mang tên Oracle [13] [11], hay việc thiết kế một bộ Tracker[31] với nhiệm vụ thu thập thông tin về tình hình các peer trên mạng, đánh giá và xếp hạng các peer theo nhiều tiêu chí, phục vụ cho việc chọn peer trong hoạt động của mạng P2P. Các peer khi kết nối vào mạng sẽ truy vấn server để nhận lại tập các peer nó nên kết nối tới. [13][11]
Khi một peer X nào đó chọn peer kết nối với nó ( phục vụ cho cả 2 quá trình gửi và truyền dữ liệu) thì xem xét peer đó trên các tiêu chí sau:
- Nằm trong hay ngoài miền ISP với X
- Số lượng các AS hop dựa trên quá trình định tuyến liên AS của giao thức BGP
Khi các peer nằm cùng một ISP thì việc đánh giá các nút peer dựa trên các tiêu chí sau:
- Các thông tin về vị trí địa lí đặt peer đó như cùng đất nước, cùng thành phố. - Các thông tin về khả năng phục vụ như: thời gian trễ, băng thông.
- Khả năng nghẽn mạng của một đường kết nối nào đó. Những lợi ích mong muốn khi thực hiện server Oracle là :
- Các peer không cần thực hiện các đo đạc về mạng trong quá trình hoạt động của nó.
- Mong muốn tăng khả năng chống nghẽn và giảm độ trễ truyền.
- Giảm chi phí cho các ISP của peer X chi trả cho các ISP khác tham gia vào việc vận chuyện dữ liệu tới đích. Từ đó góp phần hạ giá thành cho các thuê bao sử dụng mạng P2P.
Việc thiết kế server Oracle đặt ra nhiều thách thức do các thông tin phức tạp mà nó cung cấp. Nó có thể dựa trên cơ sở dữ liệu tĩnh về tiêu đề của ISP và thông tin về topology của mạng mà chính ISP đó quản lý. Hơn nữa việc cập nhật các thông tin gây ra rất nhiều thông tin điều khiển trên mạng.
Ban đầu những thiết kế về server Oracle dành cho mạng chia sẻ file[. Hiện nay người ta đang tiếp tục nghiên cứu dịch vụ này dành cho các ứng dụng live- streaming, và đây vẫn là vấn đề mở. Việc thế tối ưu cho nhóm dịch vụ live- streaming đặt ra nhiều khó khăn hơn nữa do đòi hỏi độ trễ rất khắt khe. Nếu việc truy vấn server quá nhiều đòi hỏi thời gian đáp ứng lâu, và gây ra nhiều bản tin cập nhật thông tin cho server do sự biến động liên tục của mạng P2P. Khi số lượng người sử dụng tăng nhanh( có thể lên tới hàng triệu người) trong mạng P2P-TV thì số lượng các bản tin cập nhật này thực sự là điều đáng lo ngại.
Tóm lại: Thách thức đặt ra là cân bằng giữa tối ưu trễ, tối ưu lưu lượng liên ISP và
3.3.2 Nhận biết ISP trong mạng P2P-TV
3.3.2.1 Ý tưởng
Mục đích của việc nhận biết ISP trong việc truyền video trực tiếp (live-streaming) nói chung và mạng P2P-TV nói riêng là việc tối thiểu lưu lượng truyền giữa các ISP, nhằm giảm nguy cơ tắc nghẽn trên mạng xương sống và hạ thấp chi phí chi phí cho các ISP tham gia vào việc vận chuyển dữ liệu. Việc này không dễ thực hiện bởi 2 lý do sau:
- Thứ nhất : Việc tối thiểu hóa lưu lượng giữa 2 ISP khác nhau làm tăng độ trễ. Xét ví dụ có n miền ISP, các peer cùng ISP được kết nối với nhau. Như vậy, sẽ hình thành chuỗi các peer được nối với nhau bởi các đường kết nối cùng ISP (trừ các đường kết nối chuyển tiếp giữa 2 ISP). Khi đó, chi phí vận chuyển hạ xuống thấp nhất, nhưng gây trễ lớn nhất cho ISP thứ n ( cách xa nguồn phát nhất). Trong hình vẽ 3.8 minh họa kết nối chuỗi 3 miền ISP với việc ưu tiên kết nối trong miền ISP.
- Thứ hai: Việc tính toán tối ưu lưu lượng được tính toán tập trung tại một
trung tâm không thể thực hiện được trong mạng live-streaming, khi các peer phải hoạt động nhanh chóng để tránh hiện tượng xáo trộn mạng (hiện tượng churn - do sự ngắt và tham gia kết nối ngẫu nhiên của người sử dụng). Sau một thời gian tính toán, server sẽ trả về cho peer X một tập peer cần kết nối . Khi nhận được tập các peer đó, rất có thể nhiều peer trong đó đã rời khỏi mạng, mà thông tin chưa kịp cập nhật tới server. Hoặc trong trường hợp peer X rời khỏi mạng, các peer đang nhận dữ liệu của nó rất có thể không đảm bảo được tốc độ gói cần thiết để duy trì dịch vụ. Sự thay đổi đó diễn ra liên tục thì việc các peer tự đưa ra quyết định sẽ hiệu quả hơn mô hình có bộ điều khiển trung tâm với quá nhiều tính toán, chức năng phức tạp ( như server Oracle ở trên).
Hình 3.7: Minh họa quá trình duy trì và kết nối với 2 lớp overlay
Vì vậy thiết kế mạng dựa trên các nguyên tắc sau: [7] - Đảm bảo độ trễ nhỏ
- Các quyết định kết nối thực hiện phân tán tại các peer.
- Thiết kế nhận biết miền ISP có thể áp dụng cho nhiều thuật toán lập lịch khác nhau.
- Giới hạn các chức năng cần thực hiện tập trung tại server hoặc bộ lưu dữ liệu là danh sách các peer đang hoạt động trên mạng và server quản lý hoạt động của ISP thông báo giá giữa 2 địa chỉ IP.
Để cân bằng mẫu thuẫn giữa việc đảm bảo chất lượng và tối thiểu lưu lượng giữa các miền ISP, phương án giải quyết là : Duy trì đồng thời 2 lớp overlay như sau:
- Lớp thứ nhất: Ưu tiên dùng trước, bao gồm các peer cùng ISP với peer X đang xét.
- Lớp thứ hai: Bao gồm các peer có thể nằm khác ISP với peer X. Mục đích của các peer lớp 2 này là : Các peer này sẽ đảm nhận nhiệm vụ truyền dữ liệu tới X khi lớp thứ nhất không đủ khả năng. Số lượng kết nối từ peer X tới các peer lớp 2 liên tục thay đổi, và chỉ sử dụng peer lớp 2 khi chất lượng dịch vụ có khả năng không thực hiện được bởi các peer lớp thứ nhất.
Chất lượng dịch vụ có khả năng đảm bảo được hay không dựa trên thông tin từ bộ đệm. Bộ đệm phản ánh tốc độ tải gói về của peer X, tức là khả năng phục vụ của các hàng xóm dành cho peer X. Nếu bộ đệm thiếu hụt dữ liệu vượt qua một ngưỡng nào đó (giả sử là một nửa bộ đệm trống) thì sẽ tạo tín hiệu báo thiếu dữ liệu nhận
được ( gọi là A) để tăng cường thêm lớp overlay thứ 2. Nếu bộ đệm không phát tín hiệu A trong khoảng thời gian To thì số peer lớp 2 sẽ giảm xuống.
Hình vẽ 3.6 minh họa đường nét đứt cho kết nối động giữa peer X và các peer lớp 2. Kết nối này có hay không tùy thuộc vào chất lượng dịch vụ đang có tại X.
3.3.2.2 Khảo sát [7][29]
Giả sử rằng chi phí cho việc chuyển dữ liệu giữa 2 điểm bất kì đã biết.
Khi kết nối vào mạng, mỗi peer X sẽ kết nối với một tracker [11],[28] để lấy địa chỉ của các máy( phân thành 2 lớp như trên) nó sẽ kết nối đến, bao gồm những peer sẽ truyền dữ liệu tới X ( tập E), và tập những peer mà X sẽ gửi dữ liệu tới( tập F). Lớp peer thứ nhất chọn những peer gần X( cùng ISP) với mục đích giá thành vận chuyển dữ liệu giữa chúng là nhỏ nhất có thể.
Lớp thứ 2 chọn ngẫu nhiên, không phân biệt giá cả.
Số lượng tối đa của các peer nằm trong 2 lớp của tập E được giới hạn không vượt quá giá trị do, max. Giá trị dmax này tỉ lệ thuận với băng thông tải dữ liệu lên mạng ( upload bandwidth). Số lượng tối đa của lớp F tỉ lệ thuận với tốc độ của nguồn phát di, max(nếu nguồn phát có tốc độ thay đổi theo thời gian thì đây là tốc độ trung bình). Mục đích của việc này mỗi peer có một lượng kết nối phù hợp, không quá lớn so với khả năng phục vụ của nó.
Cả 2 lớp peer 1 và 2 đều được chọn ngẫu nhiên, vì vậy trong mỗi lần truy vấn có thể trả về các giá trị khác nhau. Peer X sẽ chia số kết nối của nó ra làm 2 nửa, một nửa dành cho các peer trong lớp 1, một nửa cho các peer trong lớp 2. Sau sau pha bắt tay, hai peer xem quyết định xem có nên thiết lập kết nối hay không ? Sau đó peer X sẽ định kì hỏi các peer trong những danh sách nó nhận để xác định có thể kết nối được không? Nếu nó phát hiện ra kết nối nào đó có giá nhỏ hơn kết nối hiện tại, sẽ thay thế kết nối đó.
Đối với các yêu cầu kết nối từ các peer mới đăng nhập vào mạng, các peer sẽ luôn chấp nhận kết nối này để giảm thời gian chở cho người sử dụng ( thời gian từ lúc xem yêu cầu dịch vụ đến lúc xem được). Điều này có thể gây ra sự mất tối ưu về giá nhưng sau đó các peer có thể thay thế bằng các đường kết nối có giá nhỏ hơn.
Số lượng các kết nối đến peer nằm trong lớp 2 thay đổi động. Mỗi peer đều cố gắng giảm nhỏ nhất số kết nối đến lớp 2, tuy nhiên cũng sẵn sàng nhanh chóng thiết lập
các kết nối đến lớp 2 khi thấy kết nối của các peer lớp 1 không đủ đáp ứng chất lượng dịch vụ. Các peer điều chỉnh số kết nối đến lớp 2 dựa trên thông tin trên bộ đệm. Người ta tiến hành khảo sát thuật toán này trên công cụ giả lập Emulator Modelnet và thực nghiệm trên Planetlab.
A. Kết quả tiến hành trên Modelnet
Với Modelnet, người ta sử dụng 10 máy, mỗi máy có 4 lõi 2.0GHz. Trên 10 máy đó thiết lập 320 peer và theo các ISP được bố trí như hình 3.8
Hình 3.8: Các cách kết nối các miền ISP
Mô hình phía trên, bên trái của hình3.9, kí hiệu vắn tắt là 2+2, mô hình bên phải phía trên kí hiệu là n-clique, mô hình phía dưới kí hiệu là 6+6.
Các máy trong mạng được khảo sát ở 3 trường hợp :
9 Tất cả các máy có băng thông gửi dữ liệu đi (uplink capacity) đồng nhất 1Mbps
9 Các máy có băng thông gửi dữ liệu đi nhanh (1.5Mbps) hoặc chậm ( 500kps) Sao cho băng thông trung bình là 1Mbps.
9 Các máy chia làm 4 lớp: 128, 384, 1000 và 4000kps. Sự phân bố này dựa trên sự khảo sát mạng thực tế. Băng thông trung bình của toàn mạng là 1Mps.
Trong mô hình 2+2, có 4 ISP, chia thành 2 nhóm A và B. Các ISP trong mỗi nhóm có đường kết nối với nhau (peering link), không cần thông qua một ISP khác vận chuyển dữ liệu. Tuy nhiên bất kì dữ liệu nào giữa 2 nhóm phải định tuến qua mạng
xương sống (common backbone). Khi sử dụng mô hình mạng này, các máy được chia đều vào các ISP.
Mô hình 6+6 hướng tới đánh giá kết nối giữa các ISP của hai đất nước. Mỗi nước có 6 ISP với độ lớn khác nhau, và đều có đường kết nối trực tiếp đến nhau( peering link). Mô hình n-clique gồm n ISP với độ lớn bằng nhau. Tóm tắt sự phân bố băng thông (upload) của các mô hình như bảng 3.1.
Bảng 3.1 Các kịch bản ISP
STT Mô hình Trong nhóm Trong ISP Tốc độ upload[kbps] ISP A1, B1 ISP A2, B2
1 Cân bằng Bằng nhau 1000 1000
2
2 +2
Cân bằng Bằng nhau 128-4000 128-4000
3 Không cân bằng Bằng nhau 1500 500
4
2+2
Không cân bằng Không bằng nhau
1000-4000 128-384
Tất cả các ISP
5 6+6 Cân bằng Bằng nhau 1000
6 n- clique Cân bằng Bằng nhau 1000
Gọi c là giá kết nối giữa 2 nút bất kì. Chọn cl = 1 cho các kết nối trong cùng ISP, cp
=10 cho kết nối giữa các ISP cùng nhóm, cb = 100 cho các kết nối đi qua mạng backbone.
Sử dụng dòng bít phát video có tốc độ 640kbps. Nguồn có băng thông upload 1Mbps, bộ đệm chứa được dữ liệu nhận về trong 20s. Sau 10s không nhận được dữ liệu, nó phát tín hiệu ESS yêu cầu tăng thêm kết nối lớp 2. Mỗi thực nghiệm được đo đạc trong 15 phút, các peer đồng thời kết nối vào lớp overlay tại t =0.
Băng thông tải dữ liệu về máy của các peer là 10Mbps.
Trong trường hợp cân bằng băng thông, băng thông gửi dữ liệu đi trung bình của tất các peer là 1Mbps cho tất các ISP. Vì băng thông trung bình cao hơn tốc độ luồng bít (640kbps), nên dữ liệu có thể truyền trong các ISP mà không cần sự bổ sung các nguồn phát từ ISP khác.
Ngược lại, trong trường hợp băng thông không cân bằng, băng thông trung bình của các một số ISP có thể thấp hơn tốc độ nguồn phát. Do đó, các peer đặt ở các ISP này phải tải một phần dữ liệu từ ISP khác để duy trì tính liên tục khi xem video. Trong trường hợp không cân bằng này, có thể phân chia chi tiết hơn nữa là băng thông đồng nhất ( các peer có băng thông bằng nhau), và không đồng nhất ( các peer có băng thông không bằng nhau) giữa các peer trong mạng. Trong trường hợp không đồng nhất, trong mạng có những nút tải dữ liệu nhanh và nút tải dữ liệu chậm. Cứ 10s lại tiến hành đo đạc tổng giá của các đường kết nối lớp một của từng peer, sau đó tính giá trị trung bình của tất cả các peer. Giá trị này biểu thị cho giá của lớp overlay, và so sánh với giá trị tối ưu. [7]
Hình 3.9 biểu thị kết quả của các kịch bản khác nhau. Trong tất cả các trường hợp, lớp overlay luôn hội tụ về giá trị tối ưu trong thời gian vài phút.
Hình3.9: Giá trung bình của các kết nối lớp 1 trong các trường hợp tải khác nhau, kết nối ISP khác nhau
Thời gian ban đầu giá cao là do việc lựa chọn nhanh các peer bằng hình thức lựa chọn ngẫu nhiên. Tuy nhiên sau đó, giá đã giảm xuống do việc thay thế chúng bằng những đường kết nối có giá thấp hơn. Kịch bản có băng thông đồng nhất trong một miền ISP hội tụ nhanh hơn kịch bản tương tự trong trường hợp băng thông không đồng nhất. Tương tự, kịch bản cân bằng băng thông có tốc độ hội tụ nhanh hơn kịch