Để có thể đi đến một cải tiến đối với phƣơng pháp nâng cao nhóm [23], nghiên cứu này đã xuất phát từ những đánh giá nhằm mục đích để Freenet đạt đƣợc hiệu năng tốt, có tính thích nghi mà không thay đổi thuật toán định tuyến. Nhƣ vậy, phƣơng pháp
thay thế lƣu trữ cục bộ tại các nút vừa phải đảm bảo tính chất tụ nhóm, lại vừa phải có khả năng thích nghi với mạng khi mối quan tâm của mạng thay đổi.
4.3.1. Những đánh giá cơ sở
Theo trực quan, nguyên nhân làm giảm khả năng thích nghi của các nút mạng chính là việc phƣơng pháp nâng cao nhóm ép buộc các giá trị khoá trong bảng định tuyến của nút mạng tụ nhóm xung quanh giá trị khoá gốc cố định. Nhƣ ta đã thấy, khi tải thấp, điểm tụ nhóm sẽ xoay quanh khoá do nút tạo ra và sự tụ nhóm này diễn ra rất tự nhiên, khi chƣa có một cơ chế nào hỗ trợ khoá tụ nhóm. Khi tải mạng cao hay các nút tạo ra nhiều file, có thể các khoá mới đƣợc truy cập nhiều lại rất xa khoá gốc đồng thời với sự thích nghi kém làm giảm hiệu năng của mạng.
Từ nhận xét đó, tác giả nghiên cứu nhận thấy cần phải có cơ chế cập nhật khoá gốc hay điểm tụ nhóm của mỗi nút một cách linh động tƣơng ứng với các khoá đƣợc nút đó tạo ra trong quá trình mạng hoạt động để tăng khả năng thích nghi của từng nút, kéo theo khả năng thích nghi của toàn mạng Freenet. Ban đầu, mỗi nút tham gia vẫn chọn một khoá gốc, nhƣng khoá gốc này không cố định giống trong phƣơng pháp nâng cao nhóm [23]. Mỗi khi nút mạng tạo ra một file mới với một khoá mới để thực hiện thao tác lƣu trữ phân tán hay chia sẻ file lên mạng, khoá mới này sẽ là một trong các căn cứ để nút cập nhật khoá gốc hiện tại để có một khoá gốc mới phù hợp hơn. Trong khi đó, các khoá mới tới từ các yêu cầu tìm kiếm thành công sẽ đƣợc lựa chọn lƣu trữ để tụ nhóm xung quanh khoá gốc tại thời điểm đó. Cứ nhƣ vậy, khi tải mạng tăng cao, khoá gốc của nút sẽ dần dần đƣợc thay đổi để phù hợp hơn với các hoạt động trên mạng.
Một khả năng mà tác giả nghiên cứu này xem xét đến là trƣờng hợp khoá gốc mới cập nhật Kr_new dựa vào một khoá knew mới đƣợc tạo ra quá xa khoá gốc hiện tại Kr
đang đƣợc chọn, dẫn đến Kr_new cũng có thể rất xa so với Kr. Khi đó trong bảng định tuyến, phần lớn các khoá đang tụ nhóm xoay quanh Kr. Khoá gốc mới đƣợc chọn
Kr_new rất xa khoá gốc hiện tại Kr, nghĩa là xa so với nhóm khoá chủ yếu trong bảng định tuyến. Nếu khoá mới knew đƣợc tạo ra thể hiện mối quan tâm của mạng đang thay đổi thì việc cập nhật khoá gốc mới ở xa khoá gốc hiện tại thể hiện bướcđi đúng hướng
của việc thay đổi khoá gốc để thích nghi. Tuy nhiên, nếu khoá mới knew đƣợc tạo ra chỉ là một khoá ngẫu nhiên ở xa trong khi mối quan tâm của mạng có xu hƣớng không thay đổi nhiều thì việc cập nhật lại khoá gốc thành Kr_new ở xa so với khoá gốc hiện tại
Kr lại làm bảng định tuyến của nút xa rời với mối quan tâm hiện tại của mạng. Nhƣ vậy, bƣớc cập nhật đó là một bước đi sai lầm.
Liên hệ với mô hình thế giới nhỏ, khả năng này xảy ra cũng giống nhƣ một phần tử tự tách rời khỏi những mối liên kết hiệu quả để xây dựng những mối liên kết mới chƣa chắc có lợi hay bất lợi dựa trên một liên kết phát sinh không đáng tin cậy. Hoặc ta có thể so sánh với xã hội con ngƣời, khi ta rời xa những ngƣời thân thuộc, có mối
quan hệ tốt với mình để xây dựng mối quan hệ với một ngƣời hoàn toàn xa lạ mà không biết tác dụng xấu - tốt của việc này nhƣ thế nào.
Tuy nhiên, tại thời điểm khoá mới đƣợc tạo ra, nút không thể đánh giá đƣợc khoá đó thể hiện sự thay đổi mối quan tâm của mạng hay chỉ là một khoá mới ngẫu nhiên ở xa. Hai khả năng này đều có thể xảy ra. Vì vậy, nút mạng đó rất khó quyết định xem có nên thực hiện bƣớc cập nhất khoá gốc dựa vào khoá mới đó hay không vì không thể biết đƣợc bƣớc đi đó là một bƣớc đi đúng hƣớng hay một bƣớc đi sai lầm.
Để giải quyết đƣợc vấn đề này, cơ chế cập nhật trong nghiên cứu này dung hoà giữa mối quan tâm của mạng hiện tại (thể hiện bằng nhóm khoá quanh khoá gốc hiện tại) và xu hƣớng mối quan tâm tiềm năng trong tƣơng lai của mạng (thể hiện bằng khoá mới đƣợc tạo ra) bằng cách tạo ra khoá gốc mới là khoá nằm giữa khoá gốc hiện tại và khoá mới đƣợc tạo ra. Điều này đƣợc mô tả trong hình 20. Từ sau khi cập nhật khoá gốc mới thành Kr_new, các khoá tiếp theo đƣợc lƣu vào bảng định tuyến sẽ có xu hƣớng tụ nhóm quanh Kr_new, hay nhóm khoá sẽ là một phần hoặc chứa khoảng [Kr,
knew].
Hình 20.Lựa chọn khoá gốc mới nằm giữa khoá gốc hiện tại và khoá mới đƣợc tạo ra Tuy nhiên, để giữ đƣợc tính tụ nhóm khoá trong bảng định tuyến, điểm tụ nhóm hay khoá gốc lại không được thay đổi quá thường xuyên. Điều này có thể dễ nhận thấy khi các khoá chỉ có thể tụ nhóm xung quanh khoá gốc chỉ sau khi nút mạng phải trải qua một quá trình hoạt động để có thể ghi nhận các khoá vào bảng định tuyến trong thao tác lƣu trữ phân tán hay yêu cầu tìm kiếm. Nếu khoảng thời gian giữa hai lần cập nhật khoá gốc quá ngắn, sau lần cập nhật trƣớc số lƣợng khoá đƣợc ghi nhận vào bảng định tuyến quá nhỏ nên chƣa thể tạo đƣợc nhóm khoá lại phải thực hiện cập nhật lần kế tiếp, do vậy sẽ làm mất tính tụ nhóm trong bảng định tuyến. Mà nhƣ ta đã biết, khi không giữ đƣợc tính tụ nhóm trong bảng định tuyến thì dù phƣơng pháp thay thế lƣu trữ có khả năng thích nghi thì hiệu năng của mạng Freenet vẫn giảm đáng kể.
Để khoá gốc của nút không thay đổi quá thƣờng xuyên, cơ chế cập nhật khoá gốc phải có điều kiện để hạn chế được số lần cập nhật. Nếu sau khi cập cập nhật khoá gốc mới thành Kr_new, khoá mới tiếp theo k’new gần với khoá gốc Kr_new, khoá mới này có thể vẫn nằm trong khoảng tụ nhóm quanh Kr_new, nghĩa là có thể khoảng cách
new r new K
hình 21. Khi đó việc cập nhật lại khoá gốc là không cần thiết do khoá mới vẫn theo xu hƣớng mối quan tâm của mạng. Mở rộng hơn, ta có thể không cần thiết cập nhật khoá gốc khi các khoá mới cách xa khoá gốc ít hơn khoảng cách thay đổi khoá gốc lớn nhất.
Hình 21.Hạn chế số lần cập nhật khoá gốc khi khoá mới gần với khoá gốc Từ những đánh giá này, tác giả của nghiên cứu đã xây dựng một cơ chế cập nhật khoá gốc nhằm giải quyết đƣợc những vấn đề đã đặt ra. Kết quả sẽ cho thấy khi áp dụng cơ chế này, khi mối quan tâm của mạng thay đổi, hiệu năng của Freenet đƣợc cải thiện đáng kể.
4.3.2. Phương pháp lưu trữ nâng cao nhóm thích nghi
Trong phần này, chúng ta sẽ xem xét cụ thể cơ chế cập nhật khoá gốc và việc áp dụng cơ chế đó trong phƣơng pháp thay thế lƣu trữ cục bộ nâng cao nhóm để có một phƣơng pháp lƣu trữ nâng cao nhóm thích nghi giúp cho các nút mạng có khả năng thích nghi cao.
Phƣơng pháp lƣu trữ nâng cao nhóm thích nghi thực hiện nhƣ sau:
Khi tham gia vào hệ thống, mỗi nút x chọn một giá trị khoá gốc s(x) một cách ngẫu nhiên từ không gian khoá hiện tại.
Khi thực hiện thao tác lƣu trữ phân tán đầu tiên, nút x chọn khoá cần lƣu trữ là s(x) và ghi chú khoảng cách thay đổi khoá gốc lớn nhấtbằng 0.
Khi thực hiện các thao tác lƣu trữ tiếp theo với khoá mới ki, nếu thành công, nút sẽ thực hiện cơ chế cập nhật lại khoá gốc. Đầu tiên, nút so sánh khoảng cách giữa khoá ki và khoá gốc hiện tại với khoảng cách thay đổi khoá gốc lớn nhất đã thực hiện trƣớc đó:
o Nếu nhỏ hơn: nút không thực hiện cập nhật lại khoá gốc.
o Nếu lớn hơn, nút sẽ tính lại khoá gốc mới bằng giá trị trung bình giữa khoá gốc cũ và khoá mới ki , sau đó cập nhật khoảng cách thay đổi khoá gốc lớn nhất với một xác suất pc nhất định.
Khi bộ nhớ cục bộ ở một nút đầy và một file tới với khoá mới (hoặc từ thao tác lƣu trữ hoặc do một yêu cầu thành công), giống nhƣ phƣơng pháp nâng cao nhóm, nút vẫn thực hiện so sánh khoảng cách với khoá gốc để lựa chọn
lƣu khoá mới để tạo nhóm quanh khoá gốc hoặc lƣu làm lối tắt với một xác suất ngẫu nhiên.
Việc thực hiện so sánh khoảng cách giữa khoá mới và khoá gốc hiện tại với khoảng cách thay đổi khoá gốc lớn nhất đã thực hiện trƣớc đó sẽ hoặc hạn chế đƣợc số lần cập nhật lại khoá gốc (trong trƣờng hợp kết quả so sánh nhỏ hơn) hoặc làm cho khoá gốc mới thích nghi với tình trạng mạng mới và không quá xa so với khoá gốc hiện tại hiện tại (trong trƣờng hợp kết quả so sánh lớn hơn).
Xác suất cập nhật khoá gốc đƣợc đƣa vào để tƣơng ứng với trƣờng hợp khoá mới tạo ra đồng nghĩa với một xu hƣớng mới của mạng hay xác suất bƣớc đi cập nhật khoá gốc là đúng đắn.
Phƣơng pháp lƣu trữ nâng cao nhóm thích nghi trên đây vẫn giữ nguyên thuật
toán thay thế lưu trữ cục bộ đã đƣợc phƣơng pháp nâng cao nhóm áp dụng để đảm bảo
tạo các nhóm trong bảng định tuyến theo mô hình thế giới nhỏ, nhƣng thay đổi cơ chế
lựa chọn điểm tụ nhóm với một cơ chế lựa chọn điểm tụ nhóm linh động hơn, tuỳ
thuộc vào hoạt động của mạng.
4.3.3. Kết quả
Tác giả nghiên cứu đã thực hiện cài đặt phƣơng pháp lƣu trữ nâng cao nhóm thích nghi bằng cách đƣa cơ chế lựa chọn điểm tụ nhóm mới cùng với thuật toán thay thế lƣu trữ cục bộ trong mô phỏng đã đƣợc [23] sử dụng. Tác giả nghiên cứu nhận thấy, xác suất cập nhật khoá gốc là pc = 0.1 đem lại kết quả tốt nhất. Chúng ta vẫn thực hiện đánh giá hiệu năng của Freenet qua các độ đo tỷ lệ yêu cầu tìm kiếm thành công và số chặng trung bình. Các độ đo này đƣợc so sánh giữa việc sử dụng phƣơng pháp nâng cao nhóm đối với trƣờng hợp mạng cố định và trƣờng hợp mạng thay đổi.
Dƣới đây là kết quả so sánh các độ đo hiệu năng của Freenet khi áp dụng (1) phƣơng pháp nâng cao nhóm trong trƣờng hợp mạng cố định, (2) phƣơng pháp nâng cao nhóm trong trƣờng hợp mạng thay đổi, (3) phƣơng pháp nâng cao nhóm thích nghi trong trƣờng hợp mạng thay đổi.
Hình 22 thể hiện độ đo tỷ lệ yêu cầu tìm kiếm thành công. Với trƣờng hợp mối quan tâm của mạng thay đổi, đƣờng cong “n.cao nhóm – mạng thay đổi” thể hiện kết quả áp dụng phƣơng pháp nâng cao nhóm [23] còn đƣờng cong “n.cao nhóm thích nghi - mạng thay đổi” thể hiện kết quả áp dụng phƣơng pháp nâng cao nhóm thích nghi. Ta có thể thấy rõ, khi mối quan tâm của mạng thay đổi, phƣơng pháp nâng cao nhóm thích nghi với cơ chế cập nhật khoá gốc linh động cho tỷ lệ yêu cầu thành công cao hơn so với phƣơng pháp nâng cao nhóm trong [23] với khoá gốc hay điểm tụ nhóm đƣợc chọn cố định. Kết quả của phƣơng pháp thích nghi cho tỷ lệ thành công gần hơn với giả thiết lý tƣởng là áp dụng phƣơng pháp nâng cao nhóm khi mạng cố định (thể hiện bởi đƣờng cong “n.cao nhóm - mạng cố định”).
Hình 22.Tỷ lệ yêu cầu thành công – so sánh giữa pp nâng cao nhóm và nâng cao nhóm thích nghi
Hình 23.Số chặng trung bình/yêu cầu – so sánh giữa pp nâng cao nhóm và nâng cao nhóm thích nghi
Hình 24.Số chặng trung bình/yêu cầu thành công – so sánh giữa pp nâng cao nhóm và nâng cao nhóm thích nghi
Hình 23 thể hiện độ đo số chặng trung bình/yêu cầu so sánh giữa 3 kết quả. Ta nhận thấy, số chặng trung bình/yêu cầu khi áp dụng phƣơng pháp nâng cao nhóm thích nghi với cơ chế chọn khoá gốc linh động giảm hơn so với cơ chế chọn khoá gốc cố định khi mối quan tâm của mạng thay đổi.
Cũng tƣơng tự kết quả trong hình 19, số chặng trung bình/ yêu cầu thành công khi áp dụng các phƣơng pháp nâng cao nhóm trong các trƣờng hợp khác nhau đều cho kết quả tƣơng tự nhau, thể hiện trong hình 24. Sự chênh lệnh kết quả này khi tải cao là không đáng kể.
Để đánh giá khả năng thích nghi so sánh giữa phƣơng pháp nâng cao nhóm thích nghi với phƣơng pháp nâng cao nhóm [23] và LRU, dƣới đây ta thể hiện các độ đo khi áp dụng 3 phƣơng pháp này trong trƣờng hợp mối quan tâm của mạng thay đổi.
Kết quả trong hình 25, hình 26 cho thấy phƣơng pháp nâng cao nhóm thích nghi cho tỷ lệ yêu cầu thành công cao nhất và số bƣớc nhảy trung bình/ yêu cầu thấp nhất so với phƣơng pháp nâng cao nhóm [23] và LRU.
Hình 25.Tỷ lệ yêu cầu thành công - so sánh tính thích nghi giữa LRU và 2 phƣơng pháp nâng cao nhóm
Hình 26.Số bƣớc nhảy t.bình/y.cầu - so sánh tính thích nghi giữa LRU và 2 phƣơng pháp nâng cao nhóm
Hình 27.Số bƣớc nhảy t.bình/y.cầu thành công- so sánh tính thích nghi giữa LRU và 2 phƣơng pháp nâng cao nhóm
Nhƣ vậy, phƣơng pháp nâng cao nhóm thích nghi với cơ chế cập nhật khoá gốc linh động đã khắc phục nhƣợc điểm kém thích nghi của phƣơng pháp nâng cao nhóm [23], đồng thời vẫn giữ đƣợc tính tụ nhóm trong bảng định tuyến của các nút mạng Freenet, do vậy đảm bảo Freenet hoạt động với hiệu năng tốt cả 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 theo thời gian.
KẾT LUẬN
Nghiên cứu này đã thảo luận về bài toán nâng cao hiệu năng của các hệ thống mạng ngang hàng phi cấu trúc nói chung và hệ thống mạng Freenet nói riêng. Đây là một bài toán rất mở và những nghiên cứu giải quyết bài toán cũng rất đa dạng, phong phú. Qua quá trình nghiên cứu, đã có nhiều đề xuất đƣợc đƣa ra để cải tiến thuật toán định tuyến và quản lý thông tin của Freenet.
Khác với đa số những nghiên cứu đó, [23] đã liên hệ với các đặc tính của mô hình thế giới nhỏ để đề xuất một phƣơng pháp cải tiến thuật toán lƣu trữ cục bộ thay cho LRU để giữ lại tính tụ nhóm của bảng định tuyến kể cả khi tải cao, giúp ổn định hiệu năng của Freenet một cách hiệu quả. Tuy nhiên phƣơng pháp đó lại hoạt động không hiệu quả khi mối quan tâm của mạng thay đổi. Tác giả nghiên cứu này đã đƣa vào cơ chế chọn khoá gốc linh động và đề xuất phƣơng pháp thay thế lƣu trữ nâng cao nhóm thích nghi, trong đó vẫn giữ đƣợc các đặc tính của mô hình thế giới nhỏ và đồng thời nâng cao khả năng thích nghi của các nút mạng Freenet và toàn mạng Freenet, phần nào khắc phục đƣợc sự không hiệu quả đó.
Dù vậy, để có thể áp dụng đƣợc nghiên cứu trên thực tế, vẫn còn một số vấn đề cần giải quyết. Trong đó, một bài toán mở đáng quan tâm là xác định giá trị tốt nhất của xác suất chọn một khoá ở xa làm lối tắt và xác suất thay đổi điểm tụ nhóm. Xác suất chọn lối tắt trong nghiên cứu này đƣợc lựa chọn dựa trên kết quả tốt nhất đem lại với một khoảng tải mạng nhất định mà chƣa xem xét đến đặc trƣng của mạng. Ý tƣởng đƣa ra là có thể xây dựng xác suất chọn lối tắt nhƣ là một hàm của đặc trƣng mạng và