Trong hệ thống Freenet, việc định tuyến các yêu cầu trên mạng đƣợc thực hiện bằng cách chuyển qua từng nút tới nút tiếp theo dựa vào quyết định cục bộ tại nút hiện tại về việc chọn nút tiếp theo mà nó nghĩ là có khả năng nhất để chuyển yêu cầu tới đích. Cách định tuyến này cũng giống nhƣ việc chuyển các bức thƣ trong thí nghiệm của Milgram. Tuy nhiên, điểm khác ở đây là các thông báo không cần đến đƣợc một nút cụ thể mà cần tới đƣợc nút có giữ file yêu cầu trong bộ nhớ cục bộ. Việc chọn nút tiếp theo để chuyển tiếp thông báo dựa trên khoá gần nhất mà nút đó đang giữ cũng tƣơng tự nhƣ thuật toán định tuyến theo kiểu tham lam trong mô hình thế giới nhỏ của Kleinberg.
Để thuật toán định tuyến trên có thể thực hiện đƣợc, yêu cầu mạng Freenet phải mang một số đặc điểm nhất định. Thứ nhất, đồ thị của Freenet phải là đồ thị kết nối, nghĩa là giữa mọi cặp nút trên mạng đều có ít nhất một đƣờng đi, nhờ đó bất kỳ yêu cầu nào cuối cùng cũng tới đƣợc nút nào đó có dữ liệu yêu cầu, nếu nút chứa dữ liệu đó tồn tại. Thứ hai, dù kích thƣớc mạng là rất lớn, giữa hai điểm nút bất kỳ phải tồn tại
những đƣờng đi ngắn để có thể chuyển tiếp các thông báo giữa các nút này trong giới hạn một số lƣợng chặng hợp lý. Mạng Freenet thoả mãn hai yêu cầu này, nghĩa là mạng Freenet phải là một mạng thế giới nhỏ [7].
Nhƣ ta đã biết, hai đặc tính nổi bật của các mạng thế giới nhỏ là chiều dài đƣờng đi trung bình nhỏ và có hệ số nhóm cao. Chiều dài đƣờng đi trung bình đƣợc hiểu là số chặng trung bình nối giữa hai nút bất kỳ trên mạng. Hệ số nhóm thể hiện mức độ kết nối của các nút, đƣợc đo bằng tỷ lệ số láng giềng của một nút đƣợc kết nối với nhau. Trong mạng thế giới nhỏ tồn tại các đồ thị con ở đó gần nhƣ mỗi cặp nút đều có kết nối đến nhau và có một số kết nối giữa các đồ thị con, nhờ vậy hai nút bất kỳ đều đƣợc kết nối đến nhau qua một đƣờng đi ngắn. Thuộc tính này kéo theo đƣờng đi trung bình ngắn nhất trên mạng cũng nhỏ [21]. Nhƣ vậy, hệ số nhóm và độ dài đƣờng đi trung bình có mối quan hệ tƣơng quan với nhau. Hệ thống mạng Freenet vốn đã thoả mãn các điều kiện này của một mạng thế giới nhỏ.
Ta có thể thấy đồ thị của Freenet thoả mãn điều kiện kết nối do các nút tham gia trong mạng đều có kết nối đến các nút khác, thể hiện bằng các khoản mục trong bảng định tuyến. Thậm chí một nút mới tham gia cũng đƣợc kết nối tới ít nhất một nút nhờ thống nhất một khoá và ghi vào bảng định tuyến của cả hai nút. Tất nhiên, trên thực tế, khi một hoặc một số nút lỗi và rời khỏi mạng, một số nút kết nối đến nút đó có thể bị cô lập.
Cơ chế yêu cầu và lƣu trữ file phân tán của Freenet đã giải quyết vấn đề này bằng cách dần dần thêm vào các liên kết dƣ thừa vào mạng theo thời gian. Thậm chí, nếu một nút bắt đầu chỉ bằng một kết nối tới một nút nào đó thì việc tham gia vào các thao tác yêu cầu và chèn file sẽ tạo cho nó nhiều khoản mục tham chiếu tới các nút khác. Những tham chiếu này tạo ra nhiều liên kết trên mạng hơn, làm giảm ảnh hƣởng của các nút lỗi với tình trạng kết nối của mạng. Số lƣợng liên kết trên mạng tăng cũng đồng nghĩa với hệ số nhóm trung bình của các nút là cao.
Hình 4. Tạo các liên kết mới sau khi yêu cầu đƣợc thoả mãn
Trong Freenet, cơ chế sao lƣu dữ liệu khi yêu cầu tìm kiếm hoặc chèn file đƣợc thoả mãn tạo ra các liên kết mới trên mạng. Nhìn lại ví dụ tìm kiếm trong hình 1, sau
A E
D C
khi yêu cầu tìm kiếm đƣợc thoả mãn tại nút E, việc sao lặp khoá có giá trị 8 và khoản mục (8,E) trong bảng định tuyến tại các nút B, A trên đƣờng đi sẽ tạo ra các cạnh mới BE, AE và đồ thị mới đƣợc hình thành nhƣ trong hình 4. Ta thấy sau khi tạo ra các liên kết mới này, hệ số nhóm của nút E chứa dữ liệu cần tìm đƣợc tăng lên.
Clarke đã có một số đánh giá về thủ tục tìm kiếm và các cơ chế của Freenet trong [3]. Nếu một nút đƣa vào một file với khoá cụ thể, nó có xu hƣớng nhận và lƣu trữ hầu hết các khoá gần với khoá đó. Do vậy chắc chắn bảng định tuyến của nó sẽ chứa nhiều thông tin về các nút có các khóa tƣơng tự. Nhƣ vậy, các nút có thể chuyên về một định vị một tập các khoá tƣơng tự. Cơ chế cập nhật liên kết giữa các nút dựa trên các yêu cầu thành công sẽ dần dần xây dựng mạng phủ của Freenet phù hợp với hoạt động của toàn mạng hơn.
Ta có thể mô tả mạng Freenet với hình 5. Một số nút có chứa file và các nút khác có yêu cầu về file có khoá gần với khoá của file đó sẽ đƣợc tạo các kết nối với nhau trong bảng định tuyến và tạo thành các nhóm. Các nhóm này chính là các nhóm nút cùng chứa các khoản mục trong bảng định tuyến mà khoá trong đó nằm trong một dải nhỏ giá trị khoá nào đó. Thực tế, các nhóm nút sẽ bao gồm nhiều nút hơn mô tả trong hình, phụ thuộc vào thời gian hoạt động trên mạng và độ lớn của bảng định tuyến. Ta có thể thấy hệ số nhóm của các nút thuộc các nhóm là cao. Đó chính là một đặc điểm của Freenet mang tính chất của các mạng thế giới nhỏ.
Hình 5. Mô hình mạng Freenet
Ngoài những giá trị khoá nằm trong dải khoá của nhóm, bảng định tuyến tại một số nút cũng chứa các khoản mục trong đó chứa các giá trị khoá khác biệt. Các khoá này lại nằm trong dải của nhóm khác, hay chính các khoản mục này tạo ra các liên kết từ một số nút ở nhóm này tới một hoặc một số nút ở nhóm khác.
Về trực quan ta thấy, khi một yêu cầu đƣợc phát sinh tại một nút trong nhóm, nếu khoá cần tìm nằm trong nhóm khoá gần nhau mà các nút trong nhóm đang giữ,
Liên kết trong nhóm Liên kết giữa các nhóm
yêu cầu sẽ đƣợc định tuyến tới các nút trong nhóm đó và nhanh chóng tới đƣợc nút chứa khoá này. Nếu khoá cần tìm nằm trong nhóm khoá thuộc nhóm nút khác, yêu cầu sẽ đƣợc định tuyến tới nhóm tƣơng ứng thông qua các liên kết giữa các nhóm. Chính cơ chế này giúp cho độ dài đƣờng đi trung bình trên mạng Freenet giảm đi đáng kể. Đây lại là một đặc điểm của Freenet mang tính chất của các mạng thế giới nhỏ.
Cụ thể, Ian Clarke và một số nhà nghiên cứu khác đã chỉ ra rằng chiều dài đƣờng trung bình trong một mạng Freenet tỷ lệ logarit với kích thƣớc của mạng và hệ số nhóm của mạng tƣơng đối cao. Cả hai yếu tố đó tƣơng ứng với đặc trƣng của các mạng thế giới nhỏ [7]. Tuy nhiên, kết quả này có đƣợc khi mạng hoạt động ổn định và tải mạng thấp.
Từ những nghiên cứu đã có chứng minh hệ thống mạng Freenet mang những đặc tính của mô hình thế giới nhỏ, nghiên cứu này sẽ tìm hiểu và đề xuất các biện pháp nâng cao hiệu năng của Freenet theo hƣớng giảm độ dài đƣờng đi trung bình trên mạng và tăng tỷ lệ yêu cầu tìm kiếm thành công sử dụng những tƣ tƣởng chính về mô hình thế giới nhỏ khi tải mạng tăng cao và xu hƣớng quan tâm của ngƣời dùng trên mạng thay đổi.
Chƣơng 3. PHƢƠNG PHÁP LƢU TRỮ NÂNG CAO NHÓM
Nhƣ ta đã thảo luận, trong các hệ thống P2P phi cấu trúc nhƣ Freenet, vấn đề truy xuất dữ liệu hiệu quả là một bài toán rất khó khăn. Tác giả Hui Zhang và nhóm nghiên cứu đã đề xuất phƣơng pháp nâng cao hiệu năng của Freenet dựa trên ý tƣởng mô hình thế giới nhỏ trong nghiên cứu [23]. Kết quả cho thấy khi tăng tải trong Freenet làm giảm rất nhiều tỷ lệ yêu cầu tìm kiếm thành công. Tác giả đã đề xuất một điều chỉnh nhỏ phƣơng pháp thay thế lƣu trữ cục bộ LRU có thể cải thiện đáng kể hiệu năng của Freenet mà không làm thay đổi thuật toán định tuyến.
Trong chƣơng này, chúng ta sẽ xem xét cụ thể nghiên cứu của Hui Zhang. Đây sẽ là cơ sở để chúng ta nghiên cứu để tăng tính thích nghi của các nút mạng Freenet trong khi mạng vẫn hoạt động hiệu quả.