1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nâng cao hiệu năng của một số hệ thống mạng ngang hàng phi cấu trúc

60 375 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 60
Dung lượng 1,42 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Trong quá trình tìm kiếm, nút mạng gửi yêu cầu tới láng giềng của nó dựa trên một số tiêu chí lựa chọn [9], do vậy tập các nút nhận được yêu cầu tìm kiếm không liên quan đến nội dung dữ

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

Trang 2

Bảng ký hiệu các chữ viết tắt 4

Tóm tắt luận văn 5

Chương 1 TỔNG QUAN VỀ CÁC HỆ THỐNG P2P 5

1.1.Khái quát về các hệ thống P2P 5

1.2.Phân loại các hệ thống P2P 6

1.3.Vấn đề hiệu năng của các hệ thống P2P phi cấu trúc 8

Chương 2 HỆ THỐNG MẠNG FREENET VÀ MÔ HÌNH THẾ GIỚI NHỎ 13

2.1.Hệ thống mạng Freenet 13

2.2.Mô hình thế giới nhỏ 19

2.3.Liên hệ Freenet và mô hình thế giới nhỏ 25

Chương 3 PHƯƠNG PHÁP LƯU TRỮ NÂNG CAO NHÓM 29

3.1.Các độ đo hiệu năng 29

3.2.Hiệu năng Freenet khi tải mạng tăng 30

3.3.Phương pháp lưu trữ nâng cao nhóm 35

Chương 4 PHƯƠNG PHÁP LƯU TRỮ NÂNG CAO NHÓM THÍCH NGHI 42

4.1.Một số vấn đề tồn tại của phương pháp nâng cao nhóm 42

4.2.Phương pháp nâng cao nhóm khi mối quan tâm của mạng thay đổi 44

4.3.Phương pháp nâng cao nhóm thích nghi 48

Kết luận 59

Tài liệu tham khảo 60

Trang 4

TÓM TẮT LUẬN VĂN

Ngày nay, xu hướng của thế giới thông tin là trải rộng toàn cầu, phân tán mọi nơi, mỗi thiết bị dù ở nơi đâu nếu có kết nối mạng đều có thể truy cập thông tin được cung cấp bởi những nơi rất xa Xuất hiện và phát triển cùng với môi trường phân tán từ lúc sơ khai là các hệ thống theo mô hình client/server, nhằm đưa ra một cơ chế để hỗ trợ cung cấp các dịch vụ qua mạng Trong những môi trường phân tán nhỏ, mô hình client/server đã thể hiện hiệu quả rất lớn và đã mang lại nhiều tiện ích Tuy nhiên, trong môi trường phân tán rộng lớn, đa dạng, hỗn tạp ngày nay và trong tương lai, mô hình client/server đã thể hiện nhiều nhược điểm khó khắc phục Đây chính là động cơ thúc đẩy để phát triển một mô hình hệ thống phân tán mới phù hợp hơn

Mô hình mạng ngang hàng (Peer-to-Peer hay gọi tắt là P2P) đang là xu hướng phát triển mới trong lĩnh vực nghiên cứu xây dựng các hệ thống mạng phân tán hiện nay Đặc tính của các hệ thống mạng ngang hàng cho phép các phần tử hỗn tạp tham gia vào hệ thống, chỉ cần tuân theo một số giao thức giao tiếp nhất định Các hệ thống này phù hợp với môi trường phân tán rộng lớn, đa dạng thành phần, hoạt động linh hoạt và ổn định đối với tác động của lỗi

Trong các loại hệ thống mạng ngang hàng, các hệ thống phi cấu trúc rất được quan tâm do tính đơn giản mà linh hoạt của nó cả trong yêu cầu đối với các phần tử tham gia và giao thức giao tiếp cũng như cơ chế hoạt động của mạng, nhờ đó hệ thống

có tính ứng dụng rất cao trong thực tế Tuy nhiên, vấn đề lớn nhất mà các hệ thống mạng ngang hàng phi cấu trúc gặp phải xuất phát chính từ tính đơn giản của hệ thống,

đó là hiệu năng thấp Nguyên nhân của vấn đề này là các hệ thống P2P phi cấu trúc không có những cơ chế điều khiển chặt chẽ, trong đó các phần tử hoạt động không có nhiều thông tin để ra quyết định, dẫn đến hiệu năng của mạng thấp

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 đã thu hút nhiều nghiên cứu theo nhiều hướng khác nhau nhằm mục đích chung là cải tiến các hệ thống này để chúng hoạt động hiệu quả hơn Trong nghiên cứu này, tác giả lựa chọn nghiên cứu về vấn đề hiệu năng của các hệ thống P2P phi cấu trúc nói chung và các biện pháp nâng cao hiệu năng của Freenet - một hệ thống lưu trữ ẩn danh phân tán được xây dựng như là một hệ thống mạng ngang hàng đã được áp dụng rộng rãi

Freenet là một trong những hệ thống mạng P2P phi cấu trúc đặc trưng trong việc thay thế phương pháp định tuyến phát tràn kém hiệu quả thông thường của các hệ thống P2P phi cấu trúc bằng một phương pháp thông minh hơn, có lựa chọn tốt hơn Tuy nhiên, hệ thống Freenet ban đầu chỉ hoạt động hiệu quả khi số lượng file dữ liệu lưu trữ trên mạng là nhỏ Nghiên cứu này xuất phát từ phương pháp lưu trữ nâng cao nhóm sử dụng mô hình thế giới nhỏ để nâng cao hiệu năng của Freenet khi số lượng

Trang 5

file lưu trữ trên mạng lớn mà không làm ảnh hưởng đến mục đích thiết kế của hệ thống Freenet ban đầu Tư tưởng về mô hình thế giới nhỏ đã tồn tại rất phổ biến trong đời sống xã hội, tự nhiên, kỹ thuật Những tư tưởng này đã được mô hình hoá và áp dụng rất nhiều trong các hệ thống phân tán Tư tưởng này cũng đã được áp dụng hiệu quả để nâng cao hiệu năng của các hệ thống mạng ngang hàng nói chung và Freenet nói riêng

Xuất phát từ phương pháp trên, tác giả đề tài đã có một số đánh giá chỉ ra những yếu tố chưa được đề cập tới, dẫn tới hiệu năng của Freenet khi áp dụng phương pháp lưu trữ nâng cao nhóm không giữ được như kết quả tốt như kết quả đã được đưa ra Yếu tố quan trọng là nghiên cứu đó chỉ đánh giá hiệu năng của Freenet khi tải mạng tăng cao mà chưa xem xét trường hợp xu hướng truy cập chính trên mạng thay đổi theo thời gian Từ những đánh giá cơ sở, tác giả đề tài đề xuất một phương pháp lưu trữ nâng cao nhóm thích nghi, trong đó có những cải tiến phù hợp để tăng tính thích nghi của mạng Freenet, giúp cho Freenet hoạt động hiệu quả cả khi tải mạng tăng cao

và cả khi xu hướng quan tâm của người dùng thay đổi

Kết quả luận văn đạt được đã góp phần vào đưa ra và bước đầu giải quyết một

số vấn đề liên quan đến bài toán nâng cao hiệu năng của Freenet Những vấn đề này sẽ tiếp tục được nghiên cứu sâu rộng hơn để phù hợp hơn và có thể áp dụng trên thực tế

Trong tài liệu này, chương 1 sẽ xem xét tổng quát về các hệ thống mạng ngang hàng, trong đó có các hệ thống không có cấu trúc và một số nghiên cứu nâng cao hiệu năng có liên quan Chương 2 tìm hiểu sâu hơn về hệ thống mạng Freenet, đồng thời tìm hiểu về mô hình thế giới nhỏ và liên hệ của nó với Freenet Chương 3 trình bày phương pháp lưu trữ nâng cao nhóm cải thiện hiệu năng Freenet khi tải mạng lớn dựa trên tư tưởng mô hình thế giới nhỏ của Hui Zhang và nhóm nghiên cứu Chương 4 đánh giá lại những vấn đề còn tồn tại của phương pháp của Hui Zhang, sau đó đề xuất một phương pháp lưu trữ nâng cao nhóm thích nghi với một số thay đổi cần thiết nhằm mục đích tăng tính thích nghi của các nút mạng Freenet, để đảm bảo Freenet hoạt động hiệu quả cả khi tải mạng lớn và xu hướng quan tâm trên mạng thay đổi

Trang 6

Chương 1 TỔNG QUAN VỀ CÁC HỆ THỐNG P2P

1.1 Khái quát về các hệ thống P2P

Trong mô hình hệ thống phân tán truyền thống client/server, các tài nguyên được đặt trên một hoặc một số nút mạng, được gọi là server Các nút khác trên mạng, được gọi là client, truy vấn các server để lấy thông tin mong muốn Các server là điểm trung tâm trên mạng, đóng vai trò quan trọng chủ yếu trong việc cung cấp dịch vụ mạng

Kiến trúc client/server có ưu điểm là dễ bảo trì khi có thể thay thế, sửa chữa, nâng cấp server mà không làm ảnh hưởng đến client Ngoài ra có thể dễ dàng cập nhật

dữ liệu và đảm bảo an ninh mạng do dữ liệu được lưu trữ tập trung Tuy nhiên cũng do

dữ liệu tập trung nên tồn tại các điểm tập trung lỗi tại các server này, kéo theo hệ thống có khả năng chịu lỗi kém Khi server lỗi, dịch vụ mạng sẽ bị gián đoạn và các yêu cầu từ client không được đáp ứng Dù mô hình client/server cho phép các client truy cập dữ liệu trên server với thời gian đáp ứng chấp nhận được bằng nhiều thuật toán cân bằng tải và chịu lỗi rắc rối nhưng giới hạn về băng thông làm tăng nguy cơ vấn đề nút cổ chai tại các server, làm giảm khả năng mở rộng

Chính những vấn đề này đã thúc đẩy các nhà nghiên cứu tiếp cận theo hướng xây dựng một hệ thống phân tán trong đó phân tán tải xử lý và băng thông ra cho mọi nút tham gia trên mạng Kết quả của sự thúc đẩy này là sự ra đời của các hệ thống mạng ngang hàng, hay còn gọi là các hệ thống P2P

Các hệ thống mạng P2P đã khắc phục được rất nhiều khiếm khuyết của kiến trúc client/server truyền thống Khái niệm P2P đã phát triển các mối liên hệ động trên mạng phân tán, không chỉ giữa máy tính và máy tính mà còn giữa con người và con người Những hệ thống này đã chứng minh hiệu quả đối với nhiều mục đích khác nhau như chia sẻ các file dữ liệu số với nhiều định dạng khác nhau cũng như dữ liệu thời gian thực

Nhìn chung, một hệ thống mạng P2P bao gồm một số lượng lớn các điểm nút phân tán, hỗn tạp, tự trị và có tính động cao, gọi là các peer Các điểm nút đóng vai trò tương đương nhau và được kết nối qua những liên kết đặc biệt, không phụ thuộc vào mạng vật lý bên dưới Trong cùng một thời điểm, mỗi nút mạng có thể hoạt động đồng thời vừa là một server và vừa là một client, vừa cung cấp dịch vụ cho mạng và vừa sử dụng dịch vụ mạng do các các nút khác cung cấp

Mỗi nút tham gia vào hệ thống mạng P2P là một thành phần tích cực và có năng lực đáng kể Chúng tham gia vào hệ thống P2P để chia sẻ một phần tài nguyên của bản thân chúng như khả năng xử lý, dung lượng lưu trữ, phần mềm, và nội dung file… Các

Trang 7

điểm nút có thể truy cập trực tiếp đến nút khác mà không qua các thực thể trung gian, nhờ đó có thể phân tán tải xử lý và băng thông mạng Việc một hay một số nút mạng lỗi không gây ảnh hưởng nhiều đến mạng toàn cục do phần còn lại của mạng vẫn đầy

đủ khả năng cung cấp các dịch vụ mạng theo yêu cầu Do vậy, các hệ thống P2P có khả năng chịu lỗi cao và giải quyết được bài toán nút cổ chai

Chức năng của các hệ thống P2P được xây dựng rất đa dạng, trong đó có thể chia thành các nhóm ứng dụng như truyền thông thông tin, chia sẻ dịch vụ và chia sẻ tài nguyên Để cài đặt các chức năng này, các hệ thống P2P cần mang một số đặc điểm đặc trưng [19]

Thứ nhất, các hệ thống P2P cần hoạt động phi tập trung, nghĩa là không có điểm tập trung lưu trữ mọi thông tin về hệ thống, dữ liệu và người dùng Mỗi nút trong hệ thống cần có một số chức năng tích hợp gắn liền để nó có khả năng thực hiện thao tác gia nhập vào hệ thống, có thông tin định tuyến và có khả năng tạo yêu cầu, chuyển tiếp yêu cầu và nhận đáp ứng Một số hệ thống P2P có sử dụng cấu trúc client/server, tuy nhiên chỉ áp dụng cho một số tác vụ trên mạng và hoạt động đồng thời với các tác vụ phi tập trung theo cấu trúc P2P

Thứ hai, các hệ thống P2P cần có cấu trúc theo một cách nào đó để thao tác định tuyến được dễ dàng và cải thiện được chức năng tìm kiếm, nhằm hỗ trợ hiệu quả cho việc chia sẻ dữ liệu và các tài nguyên khác

Thứ ba, các hệ thống P2P cần có độ tin cậy dù môi trường ứng dụng mang tính động Gần như hoạt động của của mọi hệ thống P2P đều bao gồm việc các nút gia nhập vào hệ thống, rời khỏi hệ thống, và một số nút tạm thời không hoạt động Do vậy, các hệ thống này cần phải có các cơ chế để ổn định được những thuộc tính quan trọng của hệ thống như đường kính mạng và mức độ kết nối của hệ thống

Thứ tư, các hệ thống P2P cần có khả năng mở rộng Một tác động của tính phi tập trung là số nút trên mạng có thể lớn tuỳ ý Dù vậy, hệ thống vẫn phải có khả năng phục vụ yêu cầu của tất cả các nút theo một cách hiệu quả và nhanh chóng

1.2 Phân loại các hệ thống P2P

Dù P2P có những nguyên tắc chung về thiết kế nhưng các hệ thống mạng ngang hàng P2P khác nhau cũng mang nhiều đặc điểm kiến trúc khác nhau Dựa vào các tiêu chí khác nhau người ta có thể đưa ra các loại hệ thống P2P khác nhau Ở đây, ta xem xét cách phân loại phổ biến nhất Theo đó, các hệ thống mạng ngang hàng P2P được

chia thành hai nhóm chính: tập trung và phi tập trung

Một hệ thống P2P tập trung có một thư mục tập trung đặt ở vị trí trung tâm, thường đặt trên một server Các server trong hệ thống P2P tập trung không chứa mọi tài nguyên để cung cấp cho các client như trong mô hình client/server mà chỉ chứa

Trang 8

thông tin về tài nguyên nào được nút nào cung cấp để hỗ trợ các điểm nút trong mạng định tuyến yêu cầu Thư mục này liên tục được cập nhật và server chứa thư mục đóng vai trò là nơi nhận các yêu cầu tìm kiếm của người dùng Khi các nút trong mạng có yêu cầu tìm kiếm, chúng gửi yêu cầu đến server thư mục tập trung này để tìm kiếm tài nguyên mong muồn Các server tập trung chỉ được sử dụng trong thao tác định tuyến yêu cầu tìm kiếm còn các tác vụ còn lại theo kiến trúc P2P Tuy nhiên việc sử dụng các server vẫn không khắc phục được nhược điểm khó mở rộng và gây ra điểm tập trung lỗi như kiến trúc client/server [4] [14]

Ngược lại, hệ thống P2P phi tập trung không có server thư mục tập trung Các nút trong hệ thống P2P phi tập trung tự thu thập thông tin về mạng và gửi yêu cầu tới nút tiềm năng Các hệ thống mạng ngang hàng phi tập trung lại được chia thành hai

loại: có cấu trúc và phi cấu trúc [14], dựa vào mối liên quan giữa topo mạng và cơ chế

bố trí dữ liệu trên các nút trong hệ thống

Một hệ thống P2P được coi là có cấu trúc khi cơ chế bố trí dữ liệu có mối liên

hệ mật thiết với topo mạng Topo mạng được điều khiển một cách chặt chẽ và dữ liệu không được đặt ở các nút ngẫu nhiên mà được sắp đặt ở những vị trí cụ thể, chính xác dựa trên topo, hay hệ thống có cơ chế ánh xạ mỗi tài nguyên tới một số nút xác định

Cơ chế này giúp cho các hệ thông P2P có cấu trúc hoạt động hiệu quả, giảm thiểu số thông báo cần truyền qua mạng, tuy nhiên lại kém linh hoạt CAN [15], Chord [20], Tapestry [24] là những hệ thống như vậy

Một hệ thống P2P được coi là phi cấu trúc khi không thư mục tập trung nào,

cũng như không có mối liên hệ nào giữa cơ chế bố trí dữ liệu và topo mạng Kiến trúc này rất linh động cho các nút tham gia vào mạng hoặc rời khỏi mạng Việc sắp đặt dữ liệu không dựa trên bất kỳ thông tin nào về topo mạng, do vậy các file dữ liệu được bố trí trên những nút ngẫu nhiên Khi nút mạng muốn tìm kiếm dữ liệu, trước tiên nó phải định vị dữ liệu sau đó mới thực hiện tải dữ liệu về, trong đó cơ chế định vị dữ liệu là một phần rất quan trọng Trong quá trình tìm kiếm, nút mạng gửi yêu cầu tới láng giềng của nó dựa trên một số tiêu chí lựa chọn [9], do vậy tập các nút nhận được yêu cầu tìm kiếm không liên quan đến nội dung dữ liệu cần tìm kiếm như trong các hệ thống có cấu trúc [4] Cơ chế tìm kiếm như vậy trong các hệ thống không cấu trúc kém hiệu quả hơn do khó hạn chế được lượng thông báo truyền trên mạng nhưng lại linh hoạt hơn so với các hệ thống có cấu trúc, cho phép các nút tự tổ chức để tạo topo mạng mới Ví dụ điển hình cho các hệ thống P2P không cấu trúc là Gnutella [26], Freenet [3]

Ngoài ra các hệ thống P2P cũng có thể phân biệt bằng hai nhóm thuần và lai Trong hệ thống thuần, mọi nút có vai trò tương đương như nhau Với các hệ thống lai, tồn tại các server giúp cho các điểm nút liên lạc với nhau [1] Ta có thể nhận thấy cách phân loại này cũng tương tự như các hệ thống tập trung và phi tập trung

Trang 9

Mỗi kiến trúc P2P đều có ưu và nhược điểm riêng và tuỳ theo yêu cầu xây dựng mạng mà người ta lựa chọn kiến trúc nào Hiện nay trong môi trường Internet, các hệ thống P2P phi cấu trúc được sử dụng rộng rãi nhất nhờ đặc tính tự tổ chức của các nút

và phù hợp với môi trường mạng hỗn tạp và động như hiện nay

Bên cạnh những ưu điểm, một vấn đề lớn với các hệ thống P2P phi cấu trúc là hiệu năng của mạng Nghiên cứu này sẽ tập trung vào vấn đề đánh giá hiệu năng của các hệ thống mạng P2P phi cấu trúc nói chung và cải thiện hiệu năng của Freenet nói riêng - một trong những hệ thống P2P phi cấu trúc được triển khai rộng rãi

1.3 Vấn đề hiệu năng của các hệ thống P2P phi cấu trúc

Các hệ thống mạng mang hàng mới xuất hiện gần đây và đang trong quá trình phát triển Do tính mới mẻ này, quá trình phát triển các hệ thống này đã và đang đặt ra nhiều vấn đề cần nghiên cứu giải quyết Lĩnh vực nghiên cứu về các hệ thống mạng ngang hàng nói chung và các hệ thống mạng ngang hàng phi cấu trúc nói riêng hiện nay đang rất rộng mở và cần nhiều đóng góp hơn nữa để giải quyết các vấn đề phát sinh và phát triển các hệ thống này ngày càng hoàn thiện hơn, đáp ứng được những yêu cầu thực tế

Với các hệ thống P2P có cấu trúc, dữ liệu được xác định ở một hoặc một số nút mạng xác định nên cơ chế quan trọng là cơ chế sắp đặt dữ liệu, còn thao tác tìm kiếm lại trở nên đơn giản do dữ liệu đã được ánh xạ tới nút tương ứng Khi phát sinh dữ liệu cần lưu trữ lên mạng, cơ chế sắp đặt dữ liệu của P2P có cấu trúc sẽ điều khiển chặt chẽ

để lưu dữ liệu đó ở một nút chính xác nào đó Sau khi dữ liệu đã được lưu trữ, thao tác tìm kiếm không phải định vị dữ liệu mà chỉ cần gửi yêu cầu đến nút tương ứng đang chứa dữ liệu đó Chính cơ chế này làm cho các hệ thống P2P có cấu trúc định tuyến rất hiệu quả Tuy nhiên, thao tác tìm kiếm trên các hệ thống P2P phi cấu trúc lại không hề đơn giản như vậy

Trong các hệ thống P2P phi cấu trúc, đặc tính nổi bật là cơ chế sắp đặt dữ liệu không rõ ràng và tính ngẫu nhiên cao Dữ liệu được đưa lên mạng không dựa trên bất

kỳ thông tin nào về topo mạng nên được bố trí trên những nút ngẫu nhiên Giữa dữ liệu

và nút lưu trữ dữ liệu đó không có mối liên hệ nào cả Vì thế, vấn đề phức tạp chính với các hệ thống này là cơ chế tìm kiếm

Nguyên tắc tìm kiếm chung trong các hệ thống phi cấu trúc là các nút mạng chuyển tiếp các thông báo chứa thông tin về dữ liệu cần tìm qua nhiều bước, từ nút này sang nút khác, cho đến khi thông báo tìm kiếm tới được nút có dữ liệu cần tìm hoặc thông báo đó hết hạn Tại mỗi nút nhận được thông báo tìm kiếm, nếu nó không chứa

dữ liệu cần tìm, nút đó sẽ tự quyết định lựa chọn một hoặc một số nút kế tiếp để chuyển tiếp thông báo mà không theo điều khiển toàn cục nào Cơ chế tìm kiếm như vậy rất khó khăn và không có đảm bảo nào rằng yêu cầu tìm kiếm sẽ được đáp ứng,

Trang 10

dẫn đến hiệu năng của mạng thấp với tỷ lệ thành công thấp và số chặng trung bình cho một tìm kiếm tăng cao

Từ nguyên tắc tìm kiếm chung, các hệ thống P2P phi cấu trúc thường áp dụng các thuật toán tìm kiếm đơn giản, đa số dựa trên phát tràn (flood-based-technique) [17] Gnutella [26] là một trong những mạng P2P không cấu trúc phát triển sớm nhất

và sử dụng quảng bá phát tràn Khi một nút cần tìm kiếm dữ liệu, nó gửi thông báo yêu cầu tới mọi nút láng giềng Đến lượt các nút nhận được thông báo yêu cầu, nếu nó không có dữ liệu cần tìm, các nút này lại gửi thông báo yêu cầu đến mọi nút láng giềng trừ nút vừa gửi thông báo cho nó Quá trình cứ tiếp tục đến khi yêu cầu tìm kiếm tới được nút chứa dữ liệu cần tìm hoặc thông báo hết hạn Cách tìm kiếm này chỉ hiệu quả trong một mạng nhỏ Với một hệ thống mạng lớn với nhiều nút tham gia, cơ chế tìm kiếm đó có thể dẫn tới lượng thông báo lưu thông trên mạng là rất lớn làm cho khả năng mở rộng của hệ thống rất thấp

Các hệ thống P2P phi cấu trúc phát triển sau này vẫn sử dụng nguyên tắc tìm kiếm chung, tuy nhiên đã áp dụng các thuật toán thông minh hơn để giải quyết vấn đề

về hiệu năng, như nghiên cứu [16] và Freenet [3] Ngoài ra, các nhà nghiên cứu cũng đồng thời đề xuất nhiều biện pháp giải quyết bài toán cải thiện hiệu năng cho các hệ thống P2P phi cấu trúc đã có Đa số các kỹ thuật đó đều tập trung cải tiến thuật toán định tuyến yêu cầu trên mạng để nâng cao hiệu năng của toàn hệ thống

1.3.1 Một số nghiên cứu nâng cao hiệu năng Freenet

Như ta đã thảo luận, bài toán cải tiến hiệu năng của các mạng P2P không cấu trúc nói chung là một bài toán phổ biến và thu hút nhiều nghiên cứu Nghiên cứu này

sẽ tập trung thảo luận về 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 Trong phần này, chúng ta xem xét sơ lược

về một số nghiên cứu trong đó đưa ra các biện pháp để nâng cao hiệu năng của hệ thống mạng Freenet

Trong nghiên cứu [2] tác giả đã đánh giá về hiệu năng của một số mạng P2P không cấu trúc, trong đó có Freenet Tác giả chỉ ra việc sử dụng các thuật toán tìm kiếm dựa trên phát tràn dẫn đến hiệu năng của mạng thấp Tác giả đã đề xuất một số thuật toán mới dựa trên ý tưởng ưu tiên những nút có mức độ quan tâm đến dữ liệu cao

để nâng cao hiệu năng của Gnutella và Freenet Các thuật toán mới tổ chức các điểm nút trên mạng thành các cộng đồng có chung mối quan tâm Hai nút mạng được gọi là

có chung mối quan tâm nếu chúng có một vài file lưu trữ cục bộ giống nhau Khi nút mạng muốn tìm dữ liệu, đầu tiên nó liên lạc với một số nút khác - được sắp xếp theo mức độ quan tâm chung với dữ liệu cần tìm Nếu các nút đó không tìm thấy dữ liệu, thuật toán lại sử dụng giao thức cơ sở của mạng tương ứng là Gnutella hoặc Freenet Tác giả đã sử dụng các mô phỏng để đánh giá hiệu năng của các thuật toán đó, trong

đó đưa vào nhiều đặc điểm của hệ thống thực Kết quả là các thuật toán mới cải thiện

Trang 11

hiệu năng của hệ thống Gnutella khoảng 30%, trong khi đó giảm độ dài đường đi trung bình hơn 30% Tuy nhiên phương pháp này gặp một số vấn đề xác định mức độ quan tâm chung giữa các nút [2]

Nghiên cứu [10] đánh giá trường hợp thuật toán định tuyến cơ sở của Freenet có thể làm thao tác yêu cầu lún sâu vào vùng mạng không đem lại kết quả, trong khi một nút gần kề lại đang giữ file cần tìm Từ đó, tác giả đề xuất cải tiến thuật toán định tuyến của Freenet để giảm khả năng đi sai hướng, nhờ đó giảm độ dài đường đi tìm kiếm Tư tưởng tổng quát là thêm vào cơ chế trước tiên kiểm tra các nút xung quanh nút hiện tại Theo đó, mỗi khi nút nhận được yêu cầu tìm kiếm, nó tìm kiếm mọi nút có kết nối trực tiếp với nó (1-lookahead) hoặc mọi nút cách xa nó N chặng (N-lookahead) theo thuật toán tìm kiếm theo chiều rộng (BFS) Nếu sau thao tác trên, nút đó tìm thấy

dữ liệu thì nó trả về nút phía trên Nếu không tìm thấy, nút lại sử dụng thuật toán cơ sở của Freenet thực hiện tìm kiếm như bình thường Phương pháp này cho tỷ lệ % yêu cầu thành công cao hơn mạng Freenet cơ sở đối với cùng số chặng, tuy nhiên nghiên cứu lại không đánh giá hiệu năng khi tải mạng tăng

Như ta đã biết, sau khi yêu cầu tới được nút có dữ liệu thoả mãn, dữ liệu này và thông tin về nút đáp ứng đó sẽ được sao lặp dọc đường đi từ nút đáp ứng đến nút yêu cầu đầu tiên Nghiên cứu [11] xuất phát từ đánh giá rằng khi tỷ lệ yêu cầu tìm kiếm so với chèn file mới là 99/1 thì hiệu năng của Freenet không giữ được như trường hợp tỷ

lệ này là 50/50 Phương pháp [11] đề xuất dựa trên ý tưởng sau mỗi yêu cầu thành công, thực hiện chèn thêm thông tin về nút đáp ứng được dữ liệu cần tìm vào các nút khác ngoài đường đi của yêu cầu để tạo thêm các cạnh trên mạng phủ Nghiên cứu [11] đã chỉ ra rằng hiệu năng của Freenet chịu ảnh hưởng của hai yếu tố: (1) thêm các cạnh vào đâu và (2) bao nhiêu cạnh là hợp lý đối với mỗi yêu cầu thành công Kết quả

mô phỏng cho thấy ra phương pháp chèn từ nút đáp ứng ngẫu nhiên theo chiều sâu (Depth-Fulfiller-Random) mang lại hiệu quả tốt nhất, có khả năng giảm độ dài đường

đi trung bình với hệ số 22.37 Theo đó nút đáp ứng gửi thông tin rằng khoá vừa tìm thấy do nó đang giữ tới một dãy nút không thuộc đường đi của yêu cầu vừa thành công Tại mỗi bước đi, nút tiếp theo được chọn một cách ngẫu nhiên Tuy nhiên nghiên cứu này lại chưa trả lời được câu hỏi liệu mỗi lần chèn với số lượng bao nhiêu

là hợp lý để mang lại hiệu quả tốt nhất

Nghiên cứu [5] đánh giá hiệu năng của Freenet về tốc độ download và tỷ lệ thành công và nhận thấy hiệu năng của Freenet không thực sự tốt Tác giả đã đề xuất hai thay đổi với mạng Freenet để cải tiến tốc độ download và tỷ lệ yêu cầu thành công cho mọi nút tham gia vào mạng Để cải tiến tốc độ download, tác giả đề xuất phương pháp phân chia mạng có ưu tiên (Precedencial Network Partitioning), bằng cách chia các láng giềng thành các nhóm theo băng thông và khả năng của nút để hỗ trợ định tuyến Tác giả đã sử dụng mô phỏng mạng Freenet và giới hạn băng thông giữa các nút

Trang 12

cũng như đưa vào tính chất phân tán của người dùng trên mạng Kết quả đã chỉ ra những tác động của yếu tố đó với mạng

Để cải tiến tỷ lệ yêu cầu thành công trong mạng Freenet, tác giả [5] đề xuất phương pháp truyền thông tin về lưới file trong đó mỗi nút gửi cho các nút khác một

số thông tin cơ bản về những dữ liệu nào nó có thể cung cấp Theo phương pháp này,

mỗi nút sử dụng 1 mảng N bit (được gọi là File Mesh) và không gian khoá cũng được phân chia thành N khoảng Nếu nút có giữ file mà khoá tương ứng thuộc khoảng i của không gian khoá, nó thiết lập giá trị bit thứ i là 1 để thể hiện sự xuất hiện của khoá đó

trong phần không gian khoá tương ứng Các nút trao đổi File Mesh với nhau để mỗi nút biết nhiều hơn về các láng giềng, nhờ đó định tuyến hiệu quả hơn Kết quả đã chỉ

ra rằng phương pháp đó đã tăng đáng kể tỷ lệ yêu cầu thành công Tuy nhiên, nghiên cứu đó chưa xem xét đến độ phức tạp của phương pháp đưa ra và đánh giá những độ

đo khác của hiệu năng như độ dài đường đi trung bình, đồng thời cũng chưa đánh giá được hiệu năng của Freenet khi tải mạng tăng cao

Trong các nghiên cứu nâng cao hiệu năng của Freenet, [23] là một trong số ít nghiên cứu sử dụng tư tưởng về mô hình thế giới nhỏ Hui Zhang và các tác giả đã thực hiện mô phỏng và đã xác nhận mối quan hệ logarit giữa số chặng trung bình trên một yêu cầu và kích thước mạng trong Freenet Tuy nhiên những mô phỏng này được

bố trí với tải thấp Trong mô phỏng 1000 nút, số file trung bình được chèn vào mạng bởi một node chỉ là 2.5 [23] đã chỉ ra rằng khi tải mạng lớn, hiệu năng của Freenet suy giảm đáng kể Khi sử dụng trực giác từ mô hình thế giới nhỏ, nhóm tác giả [23] đã thiết kế một phương pháp thay thế lưu trữ nâng cao nhóm thay cho phương pháp thay thế bộ nhớ cục bộ cơ bản của Freenet là LRU Sau khi áp dụng phương pháp mới này, hiệu năng của Freenet đã được nâng cao đáng kể thậm chí trong trường hợp tải lớn Chúng ta sẽ xem xét cụ thể về phương pháp này và kết quả đạt được trong chương 3 của nghiên cứu này

Dù những kết quả Hui Zhang chỉ ra là rất thuyết phục, nhưng những giả thiết của bài toán chưa được linh động Nghiên cứu trong luận văn này sẽ chỉ ra rằng khi mối quan tâm đến dữ liệu của người dùng trên mạng Freenet thay đổi, hiệu quả khi áp dụng phương pháp lưu trữ nâng cao nhóm trong [23] sẽ giảm đáng kể do phương pháp này đã làm mất đi tính thích nghi vốn có của Freenet

Nghiên cứu này sẽ đề xuất phương pháp lưu trữ nâng cao nhóm thích nghi, trong đó thực hiện một số thay đổi cần thiết đối với phương pháp lưu trữ của Hui Zhang để tăng tính thích nghi với tình trạng mạng thay đổi trong khi vẫn giữ được những đặc tính của mô hình thế giới nhỏ để nâng cao hiệu năng của Freenet Kết quả

mô phỏng sẽ cho thấy việc áp dụng mô hình thế giới nhỏ để thực hiện một số thay đổi nhỏ đối với việc xử lý cục bộ tại các điểm nút không làm thay đổi mục đích thiết kế ban đầu của hệ thống, trong khi có thể nâng cao hiệu năng của Freenet một cách đáng

Trang 13

kể khi tải mạng lớn và tăng tính thích nghi của các nút mạng khi xu hướng truy cập quan tâm của người dùng trên mạng có xu hướng thay đổi Phương pháp lưu trữ nâng cao nhóm thích nghi này sẽ được trình bày trong chương 4

Trang 14

Chương 2 HỆ THỐNG MẠNG FREENET

VÀ MÔ HÌNH THẾ GIỚI NHỎ

Freenet là một hệ thống mạng ngang hàng phi cấu trúc được đưa ra từ năm

2000, sau đó đã được phát triển và áp dụng rộng rãi cho tới nay nhờ chứng minh được những ưu điểm lớn so với nhiều hệ thống mạng ngang hàng phi cấu trúc khác

Trong chương này, đầu tiên ta tìm hiểu về hệ thống mạng Freenet với một số cơ chế hoạt động chính của mạng Ta cũng sẽ tìm hiểu về mô hình thế giới nhỏ và liên hệ của Freenet với mô hình này, đặt nền tảng cho những phương pháp nâng cao hiệu năng của Freenet sẽ được xem xét ở những chương sau

2.1 Hệ thống mạng Freenet

2.1.1 Sơ lược về mạng Freenet

Freenet [3] là một mạng ngang hàng phi cấu trúc được xây dựng với mục đích cung cấp một hệ thống lưu trữ và tìm kiếm thông tin ẩn danh phân tán Mỗi nút mạng Freenet đều tham gia vào quá trình chia sẻ tài nguyên không gian lưu trữ, vừa là một phần của không gian nhớ toàn cục, vừa tham gia tạo bản sao dữ liệu trên mạng, tìm kiếm dữ liệu trong khi vẫn đảm bảo tính ẩn danh của cả người dùng sở hữu dữ liệu gốc

và người sử dụng dữ liệu Từ khi lần đầu được Ian Clarke giới thiệu năm 2000 [3], Freenet đã liên tục được phát triển và cải tiến

Kiến trúc mức cao của Freenet tương tự như Gnutella, hoàn toàn phi tập trung Freenet hoạt động như một mạng các nút giống nhau tập hợp không gian lưu trữ lại để lưu trữ dữ liệu mà mỗi nút chia sẻ và định tuyến các yêu cầu tới vị trí vật lý của dữ liệu cần tìm Các nút mạng Freenet được kết nối qua giao thức TCP/IP Do không có điều khiển tập trung nào, khi nút bắt đầu tham gia vào mạng, nó phải tìm ra một hoặc một

số nút mà nó biết để tạo kết nối Mỗi nút chỉ biết và kết nối tới các láng giềng trực tiếp của nó mà không xác định vị trí của các nút khác và thực tế dữ liệu nào đó được lưu trữ ở đâu trên mạng bên ngoài Không nút nào có quyền điều khiển các nút khác nên không tạo ra cấu trúc cây, nhờ đó tránh được điểm tập trung lỗi - một nhược điểm của các hệ thống tập trung

Freenet được coi là một hệ thống file phân tán được tổ chức độc lập vị trí và được tái tạo trong suốt, cho phép người dùng chia sẻ không gian đĩa của mình và sử dụng không gian đĩa của các người dùng khác cùng tham gia như là phần mở rộng không gian đĩa của chính họ Người dùng tham gia vào mạng Freenet khi có một lượng không gian đĩa trống cụ thể Sau một thời gian hoạt động, không gian lưu trữ đó sẽ được sử dụng để lưu trữ dữ liệu do nút đó tạo ra và một số dữ liệu do mạng gửi đến

Trang 15

Tất cả file trao đổi trên mạng Freenet và lưu trữ tại các nút mạng đều được mã hoá và

mô tả bằng các khoá (key) tạo ra khi áp dụng một hàm băm đối với file Các thao tác tạo vận chuyển, tạo bản sao và xoá dữ liệu là hoàn toàn trong suốt đối với người dùng Freenet không có đảm bảo nào về sự tồn tại của các file do khi không đủ không gian nhớ, các file dữ liệu có thể bị xoá bỏ Điều này sẽ được khắc phục khi số nút tham gia vào mạng đủ lớn, khi đó sẽ đủ không gian nhớ để lưu trữ vĩnh viễn mọi file

Hệ thống Freenet hoạt động ở mức ứng dụng, không sử dụng bất kỳ server chỉ mục vị trí tập trung nào, cũng như không áp dụng cơ chế tìm kiếm quảng bá phát tràn như Gnutella Các file dữ liệu được sắp xếp ngẫu nhiên, độc lập vị trí và tự động được tạo bản sao gần những nút có yêu cầu dữ liệu, đồng thời được xoá khỏi những vị trí không quan tâm đến dữ liệu đó Trong Freenet, việc phát hiện vị trí nguồn hoặc đích của file truyền qua mạng là không thể, và rất khó để người dùng có thể xác định và điều khiển được dữ liệu thực tế được lưu trữ trong bộ nhớ cục bộ tại nút của họ do các file dữ liệu được mã hoá

Mỗi nút tham gia vào mạng Freenet duy trì hai thành phần chủ yếu Thành phần

thứ nhất là một bộ nhớ lưu trữ cục bộ dùng để đọc ghi dữ liệu Bộ nhớ cục bộ chính là

một phần trong toàn bộ không gian nhớ của nút mà nút đưa ra dùng chung, nơi mà nút dùng để lưu trữ các file mà bản thân nó chia sẻ và các file do các nút khác đưa lên mạng Mọi file lưu trữ tại một nút đều được mã hoá và mỗi file được lưu trữ cùng với

một khoá tương ứng với nó để hỗ trợ tìm kiếm Thành phần thứ hai là một bảng định

tuyến động, trong đó lưu trữ các khoản mục có dạng <khoá, con trỏ> Mỗi khoản mục

định tuyến dạng này lưu trữ một khoá và con trỏ chứa địa chỉ của nút mà nút đó nghĩ là nút đó đang giữ khoá tương ứng

Bảng định tuyến tại mỗi nút được sử dụng khi nút đó thực hiện thao tác lưu trữ file phân tán hay chia sẻ file của bản thân nó hoặc tham gia một yêu cầu tìm kiếm nào

đó Các cơ chế lưu trữ file phân tán hay thực hiện yêu cầu tại mỗi nút sẽ dựa vào thông tin trong bảng định tuyến của nút để lựa chọn nút tiếp theo để chuyển tiếp thông báo

Do các nút không biết về các thông tin toàn cục nên mỗi nút chỉ đưa ra được quyết định định tuyến cục bộ dựa vào các khoản mục này Freenet sử dụng cơ chế định tuyến dựa trên khoá (key – based routing) và thực hiện tìm kiếm chính xác theo khoá chứ không hỗ trợ tìm kiếm từ khoá (keyword searching) hay tìm kiếm tương tự Đây là một bước cơ bản trong quá trình hình thành và phát triển của các hệ thống dùng bảng băm phân tán DHT (Distributed Hash Table) [15][20][24]

Dưới đây ta sẽ thảo luận kỹ lưỡng hơn về các cơ chế hoạt động chủ yếu của mạng Freenet, bao gồm thủ tục gia nhập mạng của nút mới, thủ tục tìm kiếm dữ liệu và thủ tục lưu trữ file phân tán hay nút đưa file mới lên mạng Đây là những thủ tục cơ bản của Freenet, được thực hiện bởi một loạt các nút cung tham gia và có quyết định quan trọng tới hiệu năng của hệ thống

Trang 16

2.1.2 Các thủ tục chính của Freenet

Trên thực tế, giao thức của Freenet đã được [3] mô tả cụ thể và rõ ràng Để có thể hiểu về mạng Freenet một cách khái quát, phần này chúng ta xem xét những cơ chế quan trọng trong mạng Freenet có liên quan chính đến hiệu năng của hệ thống

Thuật toán gia nhập vào mạng

Việc gia nhập vào mạng phát sinh khi có nút mới muốn tham gia vào mạng Freenet Khi một nút mới muốn gia nhập mạng, nút đó bắt đầu quá trình gia nhập bằng cách gửi một thông cáo tới một số nút mà nó biết Khi các nút kia nhận được thông báo, mỗi nút thống nhất với nút mới này về một khoá cụ thể Khoá đó được cả hai bên đưa vào bảng định tuyến tương ứng với nút mới Lúc đó nút mới đã được kết nối vào mạng qua một số khoản mục vừa tạo trong bảng định tuyến chứa các khoá đã thống nhất với nút tương ứng Khi đó thuật toán gia nhập kết thúc

Trong cơ chế gia nhập mạng, một nút mới không có khả năng tự chọn khoá đầu tiên Lý do của điều này là nếu cho phép tự chọn khoá sẽ tạo điều kiện cho các nút mới tạo ra một khoá hoặc nhiều khoá gần với một khoá cụ thể, làm giảm khả năng tìm được khoá cụ thể đó và ảnh hưởng đến toàn hệ thống Để giảm bớt khả năng một nút mới gia nhập vào mạng gây ảnh hưởng xấu, thuật toán gia nhập mạng của Freenet chọn cách thống nhất với một nút đã có về một khoá cụ thể như trên

Cơ chế cho các nút mới gia nhập vào mạng là một một phần rất phức tạp trong giao thức của Freenet Ngay cả trong [3] – tài liệu cơ sở về mạng Freenet – cũng đề cập chưa cụ thể về cơ chế này Trong nghiên cứu này, chúng ta cũng không đi sâu vào vấn đề này mà chỉ nắm bắt nguyên tắc gia nhập mạng của các nút mới để làm cơ sở cho những cải tiến hiệu năng của Freenet

Thủ tục tìm kiếm dữ liệu

Khi một nút cần tìm kiếm dữ liệu, nút đó bắt đầu thao tác Request Để dễ hiểu hơn về thủ tục tìm kiếm của Freenet, dưới đây ta xem xét một ví dụ minh họa đơn giản trong hình 1

Trong ví dụ này, yêu cầu xuất phát từ nút A với khoá cần tìm là 8 Node A chỉ kết nối với nút B nên (1) A chuyển tiếp yêu cầu tới B Khi B nhận được yêu cầu, đầu tiên nó tìm kiếm trong bộ nhớ cục bộ Khi không thấy khoá cần tìm, B kiểm tra trong bảng định tuyến thấy có khoá 7 gần với khoá 8 nhất và con trỏ tương ứng trỏ tới nút C, (2) nút B chuyển tiếp yêu cầu tới C Khi C nhận được yêu cầu, nó tìm trong bộ nhớ cục

bộ không có, do vậy (3) C trả về một thông báo quay lui có nội dung không tìm thấy tới B

Khi nút B nhận được phản hồi không tìm thấy từ C, (4) nút B thử với lựa chọn thứ hai là nút D chứa khoá 10 Đến lượt D nhận được yêu cầu, nó lại tìm trong bộ nhớ

Trang 17

cục bộ nhưng không thấy nên D kiểm tra bảng định tuyến, thấy khoá 8 cần tìm đang được lưu ở nút E (5) D chuyển tiếp yêu cầu tới E Nút E nhận được yêu cầu và thấy nó đang giữ khoá cần tìm nên (6) E trả về dữ liệu cần tìm tới nút D Nút D chuyển tiếp dữ liệu cho nút B, rồi nút B chuyển tới nút A Mỗi nút D, B, A đều lưu lại dữ liệu đã tìm thấy và tạo một khoản mục trong bảng định tuyến tương ứng với khoá 8

Hình 1 Thủ tục tìm kiếm dữ liệu của Freenet Trên đây là một tìm kiếm đơn giản trong mạng Freenet Để có thể hiểu đầy đủ

và toàn diện hơn, sau đây ta xem xét chi tiết về thủ tục định tuyến yêu cầu tìm kiếm trên mạng Freenet

Khi người dùng cần tìm kiếm một file dữ liệu trên mạng Freenet, người dùng gửi một yêu cầu tới nút mạng cục bộ của họ, trong đó chứa khoá của file cần tìm Đầu tiên, nút cục bộ kiểm tra bộ nhớ lưu trữ cục bộ, nếu tìm thấy, nút đó trả về dữ liệu và kèm theo thông tin nó là nguồn dữ liệu Nếu bộ nhớ cục bộ không lưu trữ file, nút đó tìm trong bảng định tuyến một khoá gần nhất với khoá cần tìm về mặt từ điển và gửi một thông báo yêu cầu tới nút tương ứng mà nó nghĩ đang chứa khoá đó với một giá trị Hop To Live (HTL) nhất định Giá trị này quyết định xem thông báo yêu cầu sẽ đi qua bao nhiêu nút cho đến khi tìm thấy dữ liệu cần tìm

Mỗi nút khi nhận được một thông báo yêu cầu, nó cũng thực hiện tương tự như nút xuất phát yêu cầu Đầu tiên nút đó cũng kiểm tra bộ nhớ cục bộ, nếu không thấy khoá cần tìm, nút đó giảm giá trị HTL của thông báo và lại gửi yêu cầu tới nút có khoá gần nhất trong bảng định tuyến Nếu cuối cùng, một nút nhận được thông báo yêu cầu vẫn còn giá trị HTL hợp lệ và tìm thấy file có khoá tương ứng trong bộ nhớ cục bộ của

nó, nút đó gửi thông báo chứa dữ liệu ngược về hướng nút vừa gửi yêu cầu đến nó

Trang 18

Mỗi nút trung gian tham gia thao tác tìm kiếm khi nhận được thông báo chứa dữ liệu sẽ lưu trữ file vào bộ nhớ cục bộ, đồng thời tạo một khoản mục mới trong bảng định tuyến tương ứng với nguồn dữ liệu thực tế của khoá được yêu cầu, sau đó lại gửi

dữ liệu lên nút trước đó đã gửi yêu cầu, cứ như vậy đến khi nút đầu tiên tạo ra yêu cầu khoá đó nhận được dữ liệu Nút này cũng lưu file vào bộ nhớ cục bộ và tạo khoản mục tương tự trong bảng định tuyến nhưng không tiếp tục gửi dữ liệu nữa Khi đó yêu cầu kết thúc thành công Nhờ cơ chế sao lặp dữ liệu suốt đường đi từ nút đáp ứng đến nút yêu cầu nên mạng Freenet có tính dư thừa rất lớn, do vậy tăng khả năng chịu lỗi

Nếu một nút nhận được một thông báo yêu cầu mà nó không có dữ liệu cần tìm

và hoặc không kết nối với nút nào khác nút mà nó vừa nhận được thông báo hoặc nếu gửi tiếp sẽ tạo nên vòng lặp, nó sẽ trả về thông báo không còn lựa chọn tìm kiếm Nút phía trước nhận được thông báo này sẽ thử gửi thông báo tới nút có khoá gần thứ hai, rồi thứ ba… trong bảng định tuyến Nếu đã hết khả năng trong bảng định tuyến để thử

mà vẫn chưa tìm thấy, nút đó lại gửi thông báo không còn lựa chọn tìm kiếm đến nút trên của nó Đến lượt nút trên này lại thử các khả năng tiếp theo, cứ như vậy chừng nào giá trị HTL chưa tới hạn Như vậy Freenet hoạt động theo kiểu tìm kiếm leo đồi chỗ dốc nhất có quay lui (steepest – ascent hill – climbing search with backtracking) Nếu một nút nhận được thông báo yêu cầu có giá trị HTL đã tới hạn, nó tạo một thông báo thất bại, rồi gửi về nút đã gửi yêu cầu và không thử thêm các nút khác nữa

Để giảm tải mạng trong tình huống có nguy cơ, các nút nhận được thông báo có thể giảm HTL nhiều hơn mức được phép hoặc nút có thể huỷ bỏ các yêu cầu sau một thời gian giữ không gian nhớ cho thông báo Ngoài ra, để phát hiện vòng lặp, mỗi thông báo trên mạng Freenet được gắn một giá trị định danh giả duy nhất để các nút có thể phát hiện những thông báo nó đã nhận được trước đó

Trong Freenet người dùng không truy cập thực tế cục bộ vào bất kỳ dữ liệu nào

đã được mã hoá, điều này khác với mạng Gnutella Người dùng cũng không thể yêu cầu thông tin từ các nút cụ thể Tất cả những gì họ có thể làm là gửi yêu cầu tới các nút láng giềng và đợi phản hồi từ các nút này Một thao tác tìm kiếm sẽ tạo ra một chuỗi yêu cầu từ nút này qua nút khác theo kiểu proxy Mỗi nút sẽ tự đưa ra quyết định định tuyến cục bộ để xác định nút tiếp theo để chuyển tiếp yêu cầu dựa theo các thông tin trong bảng định tuyến của nó

Thủ tục lưu trữ phân tán

Một mục đích quan trọng của Freenet là cho phép các nút lưu trữ dữ liệu lên mạng Quá trình lưu trữ phân tán này được thực hiện song song với quá trình yêu cầu tìm kiếm dữ liệu, được hiểu đơn giản là nút đưa file mới trên mạng với một khoá cụ thể Để chia sẻ một file hay lưu trữ file phân tán trên mạng, nút bắt đầu một thao tác Insert và thực hiện yêu cầu lưu trữ file

Trang 19

Khi người dùng muốn lưu trữ một file lên mạng, đầu tiên họ áp dụng một hàm băm đối với file để tạo ra khoá tương ứng cho file Sau đó người dùng gửi một thông báo yêu cầu lưu trữ phân tán tới nút cục bộ, trong đó chứa khoá và một giá trị HTL Giá trị HTL trong trường hợp này sẽ xác định số nút sẽ lưu trữ file với khoá đó

Khi một nút nhận được thông báo yêu cầu lưu trữ phân tán với một khoá nhất định, nút đó kiểm tra bộ nhớ lưu trữ cục bộ xem có khoá đó chưa Nếu khoá chưa được lưu trữ, nút đó sẽ tìm trong bảng định tuyến khoản mục chứa khoá gần nhất gửi thông báo yêu cầu lưu trữ phân tán tới nút tương ứng Quá trình cứ tiếp tục như vậy cho đến khi HTL tới hạn hoặc một nút nào đó thấy khoá đã được lưu trữ

Nếu một nút nào đó nhận thấy khoá mới trong yêu cầu lưu trữ đã lưu trữ tại nó, nút đó gửi thông báo trả lời rằng khoá đã tồn tại trở lại theo đường đi của thông báo yêu cầu lưu trữ phân tán Khác với thủ tục yêu cầu, đây là kết quả yêu cầulưu trữ thất bại Nút ban đầu yêu cầu lưu trữ sẽ hiểu là có xung đột với khoá đã đưa ra Nếu nút này vẫn muốn lưu trữ file lên mạng, nó có thể thực hiện lại hàm băm để tạo một khoá khác và thực hiện lại thao tác yêu cầu lưu trữ phân tán với khoá vừa tạo

Nếu một nút nhận được thông báo yêu cầu lưu trữ phân tán có giá trị HTL tới hạn, nút này gửi thông báo không có xung đột dọc theo đường đi của yêu cầu trở lại nút ban đầu Khi nút ban đầu đề nghị lưu trữ nhận được thông báo này, nó hiểu rằng thao tác lưu trữ với khoá đã chọn có thể được thực hiện và gửi dữ liệu đi để lưu trữ

Dữ liệu sẽ được sao lặp trên đường đi và mỗi nút nhận được khoá đó sẽ tạo một khoản mục trong bảng định tuyến tương ứng với nút ban đầu đề nghị lưu trữ là nguồn dữ liệu của khoá mới Để an toàn hơn, bất kỳ nút nào dọc đường đi đều có thể tự quyết định thay đổi thông báo để đưa vào rằng nó chính là nguồn dữ liệu Khi đó yêu cầu lưu trữ phân tán được coi là thực hiện thành công

Tương tự thủ tục tìm kiếm, nếu chuyển tiếp tới nút chứa khoá gần nhất không thành công mà giá trị HTL vẫn hợp lệ, nút hiện tại có thể thử các khả năng tiếp theo với các nút tương ứng với khoá gần thứ hai, thứ ba… tương tự như thủ tục tìm kiếm dữ liệu Nếu thông báo trở về nút ban đầu mà HTL chưa tới hạn, nghĩa là số nút liên lạc được ít hơn so với dự định Khi đó, nút ban đầu có thể giảm HTL và tạm thời ngưng chuyển các thông báo yêu cầu lưu trữ phân tán, và sau một khoảng thời gian nhất định

sẽ tiếp tục thực hiện

Cơ chế quản lý không gian nhớ

Trong Freenet, mỗi nút có thể cấu hình lượng không gian nhớ nhất định dành cho bộ nhớ lưu trữ cục bộ tham gia vào mạng Kích thước bộ nhớ này là hữu hạn và tuỳ thuộc vào tài nguyên và quyết định chia sẻ của từng nút Câu hỏi đặt ra là khi nút nhận được file mới trong một thao tác tìm kiếm hoặc thao tác lưu trữ phân tán mà bộ nhớ lưu trữ cục bộ đầy, nó lựa chọn lưu trữ hay loại bỏ file mới này?

Trang 20

Trả lời câu hỏi này, Freenet đã đưa ra cơ chế quản lý không gian nhớ, được gọi

là phương pháp loại bỏ những khoá ít được sử dụng gần thời điểm đó nhất (gọi tắt là LRU – Least Recently Used) Theo cơ chế LRU, bộ nhớ cục bộ của mỗi nút lưu trữ các khoản mục dữ liệu theo thứ tự giảm dần thời gian truy cập gần nhất (có thể là thời gian file được yêu cầu gần nhất hoặc thời gian đưa vào lưu trữ mới) Khi một file mới tới trong một thao tác tìm kiếm hoặc lưu trữ phân tán mà bộ nhớ cục bộ của nút đã đạt kích thước giới hạn, nút đó sẽ xoá các file ít được sử dụng gần thời điểm đó nhất cho đến khi đủ không gian để lưu file mới Sau đó file mới được lưu lại và ghi lại thời điểm thao tác để sử dụng trong những lần thay thế lưu trữ sau

Cơ chế LRU cũng được áp dụng đối với bảng định tuyến khi bảng định tuyến đầy Tương tự, khi có khoản mục mới cần đưa vào bảng định tuyến mà bảng đầy, khoản mục ít sử dụng gần thời điểm đó nhất cũng bị loại bỏ để ghi khoản mục mới Kích thước của bảng định tuyến được chọn sao cho khoản mục cho một file sẽ được lưu giữ lại lâu hơn thời gian tồn tại của bản thân file trong bộ nhớ lưu trữ cục bộ

Dù việc thay thế các file lưu trữ trong bộ nhớ cục bộ và việc thay thế các khoản mục trong bảng định tuyến là những cơ chế tách biệt về logic nhưng cả hai cơ chế đó đều góp phần quyết định nội dung trong bảng định tuyến Chính sách thay thế lưu trữ quyết định các cặp <khoá, con trỏ> nào được đưa vào bảng định tuyến theo cách việc chọn file được lưu trữ đi đôi với việc tạo ra các cặp <khoá, con trỏ> tương ứng với khoá file đó [23] Mỗi thao tác ghi nhận một khoản mục mới chính là tạo ra một liên kết mới giữa các nút trên mạng, dần dần thay đổi topo của mạng Freenet

Cơ chế lưu trữ trong bộ nhớ cục bộ và xây dựng bảng định tuyến đóng vai trò quan trọng trong việc cải thiện hiệu quả của các yêu cầu về sau Đây là mấu chốt quan trọng trong việc áp dụng tư tưởng mô hình thế giới nhỏ để cải thiện hiệu năng của Freenet qua việc thay đổi cơ chế lưu trữ LRU bằng một cơ chế hiệu quả hơn Vấn đề này sẽ được chúng ta thảo luận ở những phần sau của nghiên cứu này

2.2 Mô hình thế giới nhỏ

Như ta đã biết, để các hệ thống P2P có thể thực hiện được các chức năng như truyền thông thông tin, chia sẻ dịch vụ và chia sẻ tài nguyên, chúng phải bằng cách nào đó thoả mãn bốn điều kiện, bao gồm tính phi tập trung, có cấu trúc, tin cậy và có khả năng mở rộng Tính có cấu trúc ở đây theo ý nghĩa là hệ thống cần có cấu trúc theo một cách nào đó để có thể hỗ trợ tìm kiếm và định tuyến

Các nhà nghiên cứu thấy rằng, bốn điều kiện trên của các hệ thống P2P là những đặc điểm tương tự với các mạng xã hội Một mạng xã hội vốn đã có phân tán và tính tự

tổ chức nhưng vẫn có cấu trúc Dù con người vẫn sinh ra và chết đi, nhiều thuộc tính tổ chức toàn cục của mạng xã hội vẫn ổn định Hơn nữa, dường như không có giới hạn về

số người có thể tham gia vào mạng xã hội toàn cầu của chúng ta - tất nhiên chỉ về khía

Trang 21

cạnh cấu trúc của mạng Câu hỏi đặt ra là điều gì làm cho các mạng phi tập trung như vậy có cấu trúc và ổn định dù chúng có tính động?

Những nghiên cứu gần đây đã phát hiện ra một số thuộc tính quan trọng của các mạng này giúp chúng thoả mãn các điều kiện trên Từ đó, các nhà nghiên cứu đã định nghĩa một số mô hình mạng phù hợp, trong đó có mô hình thế giới nhỏ, nhằm mô phỏng được những tính chất của các mạng thực để áp dụng được những tính chất hữu ích vốn có của các mạng thực này Dưới đây chúng ta sẽ xem xét một số nghiên cứu khởi đầu về các mạng xã hội và mô hình thế giới nhỏ, từ đó ứng dụng vào các hệ thống mạng ngang hàng

2.2.1 Phân tích các mạng xã hội

Trong những năm 60, Stanley Milgram đưa ra một số nghiên cứu thực nghiệm tập trung tìm hiểu về khả năng mà hai người được chọn ngẫu nhiên có thể biết về nhau, từ đó câu trả lời cho câu hỏi: Làm cách nào mà con người được tổ chức thành các mạng xã hội? Nhìn ở góc độ các hệ thống mạng, có thể coi đó là một nghiên cứu coi toàn bộ dân cư là một mạng xã hội và cố gắng tìm ra độ dài đường đi trung bình giữa hai nút bất kỳ

Thí nghiệm của Milgram có mục đích đo được độ dài đường đi bằng cách gửi những bức thư và thống kê kết quả để đếm số mối quan hệ liên kết giữa người gửi và người nhận, từ đó tổng quát hoá cho toàn mạng xã hội Đây chính là nghiên cứu đầu tiên để đi đến mô hình thế giới nhỏ [19]

Bắt đầu thí nghiệm, Milgram chọn vùng xuất phát và vùng đích có khoảng cách

xa nhau cả về mặt xã hội và về mặt địa lý Ông gửi một số lá thư tới một số người được lựa chọn ngẫu nhiên trong vùng xuất phát, trong đó mô tả thí nghiệm và thông tin

cơ bản về người nhận cuối cùng tại vùng đích như tên, nghề nghiệp, thành phố nơi sinh sống Khi người nhận nhận được lá thư, nếu họ biết người nhận cuối cùng được ghi trong đó thì họ được yêu cầu gửi trực tiếp tới người đó Nếu không, họ cần gửi bức thư tới ai đó mà họ nghĩ rằng người đó biết về người nhận cuối cùng hơn họ biết Cứ như vậy các bức thư được gửi đi qua từng người, đồng thời Milgram đề nghị mỗi người nhận bức thư đều phản hồi lại thông tin để hỗ trợ thống kê

Kết quả cuối cùng, một số bức thư tới được người nhận chỉ qua một hoặc hai bước Một số bức thư khác qua 9 hoặc 10 bước Số lượng trung bình là không quá 6 bước Do vậy, dù Milgram không sử dụng thuật ngữ “phân chia sáu cấp” (six degrees

of separation) nhưng kết quả thí nghiệm này đã giúp cho việc chấp nhận nó rộng rãi hơn [19][7]

Xét về mặt lý thuyết đồ thị, kết quả này của Milgram thể hiện rằng đường kính của các mạng xã hội là khá nhỏ dù cấu trúc cục bộ của chúng rất phức tạp, dày đặc, rối ren Để có thể ứng dụng vào thực tế, câu hỏi đặt ra là loại mô hình mạng nào có thể

Trang 22

sao chép lại sự kết hợp đặc biệt của các thuộc tính có cấu trúc cục bộ và đường kính mạng nhỏ? Cho đến những năm 90, những cách tiếp cận quan trọng về lĩnh vực lập mô hình các mạng xã hội mới được đưa ra Những đặc điểm của các mạng này có liên hệ tương quan với các ứng dụng mạng ngang hàng và là nguồn gốc những ý tưởng về cách chuyển những thuộc tính của các mạng đó vào các mạng phủ P2P

2.2.2 Sự ra đời của đồ thị thế giới nhỏ

Từ những năm 50, các nhà nghiên cứu đã tiến hành việc phân tích các mối quan

hệ xã hội như các đồ thị, trong đó có thí nghiệm của Milgram Đồng thời, các mô hình

đồ thị đầu tiên có liên quan đến các đồ thị ngẫu nhiên cũng được giới thiệu Các mô hình này đã được sử dụng như những mô hình mô phỏng cho nhiều mạng khác nhau trong hơn 30 năm sau Các đồ thị ngẫu nhiên rất phổ biến trong thời gian dài do nhiều thuộc tính của nó có thể giải thích được bằng những phân tích tỉ mỉ và có thể định nghĩa theo nhiều cách khác nhau Ngoài ra, các đồ thị ngẫu nhiên có thể hỗ trợ nhiều ứng dụng hơn là các mô hình mạng khác Ở đây, ta xem xét một số kết quả quan trọng của đồ thị ngẫu nhiên liên quan đến mô hình thế giới nhỏ

Theo mô hình đồ thị của Gilberts, tác giả đưa ra mối liên hệ giữa hệ số nhóm của đồ thị ngẫu nhiên liên quan đến xác suất tồn tại một cạnh giữa hai nút bất kỳ [19]

Với đồ thị ngẫu nhiên, hệ số nhóm của một nút được định nghĩa là tỷ số giữa số lượng

cạnh giữa các láng giềng của nút đó so với số lượng cạnh lớn nhất có thể có giữa chúng Ta có thể hiểu hệ số nhóm của một nút đo xác suất mà hai láng giềng ngẫu nhiên của nút đó cũng là láng giềng của nhau

Gilberts đã chứng minh hệ số nhóm của một đồ thị ngẫu nhiên tiệm cận bằng với xác suất tồn tại cạnh giữa hai nút bất kỳ trong đồ thị Về trực quan, ta thấy hệ số nhóm đo mức độ kết thành nhóm quanh một nút Một nút có hệ số nhóm cao thể hiện một đồ thị con mà hầu như mọi nút được kết nối đến tất cả các nút khác Đối chiếu với các mạng xã hội thực, hệ số nhóm của một nút trong đồ thị tương đương với mức độ cấu trúc cục bộ của một phần tử trong mạng thực

Mục đích của các nhà nghiên cứu là xây dựng các mô hình mạng có sức thuyết phục để tạo ra các mạng có hệ số nhóm cao và có bán kính nhỏ Năm 1998, Watts và Strogatz đã phân tích một số loại mạng thực khác nhau Mỗi mạng thực được coi là một đồ thị để nghiên cứu Watts và Strogatz đo độ dài đường đi trung bình trong đồ thị

và so sánh với một đồ thị ngẫu nhiên cùng số nút và số cạnh Độ dài đường đi trung bình trong mỗi trường hợp có cao hơn một chút so với đồ thị ngẫu nhiên nhưng tỷ lệ với độ lớn

Mặt khác ta có thể nhận thấy rằng, mức độ kết nối cục bộ trong các mạng thực

có tính dày đặc hơn rất nhiều so với các mạng ngẫu nhiên Để đo mức độ dày đặc của

các kết nối, các tác giả cũng đưa ra độ đo hệ số nhóm Watts và Strogatz đã so sánh hệ

Trang 23

số nhóm trung bình của những mạng thực này với các mạng ngẫu nhiên tương ứng Các hệ số nhóm trong mạng ngẫu nhiên ít nhất cao hơn 10 lần trong các mạng thực Như vậy, các mạng thực có đường kính bằng với đồ thị ngẫu nhiên lại có mức độ nhóm cục bộ cao hơn nhiều lần

Để có thể xây dựng mô hình mạng vừa có độ dài đường đi trung bình nhỏ, vừa

có mức độ nhóm cục bộ cao, Watts và Strogatz đã giới thiệu một mô hình mạng đơn

giản [19] Bắt đầu từ một mạng vòng n nút được đánh số từ 1-n Sau đó mọi nút được kết nối với k láng giềng theo chiều kim đồng hồ Hình dưới k được chọn là 2, tạo ra

một mạng vòng đối xứng có hệ số nhóm cục bộ cao, tuy nhiên bán kính mạng lớn hay

độ dài đường đi trung bình lớn Đối với mỗi cạnh từ đồ thị ban đầu, lựa chọn và gắn

một số ngẫu nhiên trong khoảng [0,1] Nếu số ngẫu nhiên này nhỏ hơn một giá trị p cho trước, cạnh sẽ được vẽ lại Việc vẽ lại một cạnh (i,j) thực hiện bằng cách chọn ngẫu nhiên một nút đích mới u từ tập mọi nút, xoá cạnh cũ (i,j) và thêm cạnh (i,u) Lưu

ý giảm những cạnh trùng lặp khi vẽ lại

Hình 2 Đồ thị thế giới nhỏ đầu tiên được Watts và Strogatz giới thiệu

Hình 3 Liên hệ giữa hệ số nhóm và độ dài đường đi t.bình với xác suất vẽ cạnh mới

Ta có thể thấy p chính là xác suất một cạnh sẽ được vẽ lại Các tác giả đã lập đồ

thị mối liên hệ giữa xác suất một cạnh được vẽ lại với hệ số nhóm cục bộ và độ dài

đường đi trung bình Đồ thị của mối liên hệ này thể hiện trong hình 3 Khi p quá nhỏ,

gần như không có cạnh nào bị vẽ lại và hệ số nhóm cục bộ gần như được giữ nguyên ở

mức cao và độ dài đường đi trung bình lớn Khi p tăng dần, hệ số nhóm cục bộ có xu hướng giữ nguyên nhưng độ dài đường đi trung bình giảm rất nhanh Nếu p gần bằng

1, đồ thị được tạo ra là một đồ thị ngẫu nhiên với đường kính mạng nhỏ hay độ dài

đường đi trung bình nhỏ, tuy nhiên lại có hệ số nhóm cục bộ nhỏ Với một giá trị p

Trang 24

được lựa chọn thích hợp, có thể duy trì hệ số nhóm cục bộ cao, đồng thời đường kính mạng nhỏ [19]

Nhìn từ khía cạnh khác, phát hiện của Watts và Strogatz chỉ ra rằng một lượng nhỏ cạnh ngẫu nhiên được kết nối lại có thể giảm độ dài đường đi trung bình một cách đáng kể trong khi vẫn giữ được hệ số nhóm Những cạnh được vẽ lại có thể coi đó là những lối tắt trên đồ thị Watts và Strogatz đặt tên cho những đồ thị có hệ số nhóm cục

bộ cao và độ dài đường đi trung bình nhỏ là các đồ thị thế giới nhỏ (small-world graph) Đây là hai đặc tính quan trọng của các mạng thực mà các nhà nghiên cứu luôn mong muốn có thể đưa vào các hệ thống mạng

2.2.3 Các mạng thế giới nhỏ

Từ những kết quả của Watts và Strogatz, ta có thể đưa ra đặc điểm giống như đồ thị thế giới nhỏ trong rất nhiều mạng thực như các mạng xã hội, Internet, các mạng sinh vật học…

Trong các mạng xã hội, các nhóm cá nhân trong mạng có tính kết nối cục bộ rất cao Tuy nhiên, một phần nhỏ số cá nhân trong mỗi nhóm có những mối liên kết xa hơn ngoài nhóm cục bộ của họ Chính những mối liên kết này giúp cho độ dài đường

đi trung bình giữa các cá nhân bất kỳ là nhỏ Những mối liên kết đó không chỉ có ích cho cá nhân sở hữu nó mà còn có ích cho tất cả những cá nhân trong nhóm có liên kết cục bộ với họ Ngoài ra, việc thay đổi một liên kết cục bộ thành liên kết tới cá nhân ở

xa không ảnh hưởng nhiều đến tính nhóm cục bộ đã có

Xuất phát từ đồ thị thế giới nhỏ, các nhà nghiên cứu đã định nghĩa một nhóm

mạng mới, gọi là các mạng thế giới nhỏ (small – world network) Các mạng này mang

những đặc điểm của đồ thị thế giới nhỏ do Watts và Strogatz đã đưa ra [25] Thứ nhất, hầu hết các cặp nút trong các mạng thế giới nhỏ đều được kết nối với nhau bằng ít nhất một đường đi ngắn, thể hiện độ dài đường đi trung bình trên mạng nhỏ.Thứ hai, các mạng thế giới nhỏ thể hiện rõ rệt các nhóm, có thể gọi là các mạng con (sub-network)

mà hầu như mọi nút trong mạng con đó đều được kết nối với nhau Điều này thể hiện tính chất có nhóm cục bộ cao của các đồ thị thế giới nhỏ Ngoài liên kết với các nút khác trong mạng con, một số nút trong đó còn có một số ít kết nối xa hơn tới các nút khác bên ngoài, được gọi là các lối tắt Đây chính là liên kết giữa các nhóm, góp phần làm giảm độ dài đường đi trung bình trên mạng

Ngoài ra, mô hình mạng thế giới nhỏ cũng đưa ra khái niệm các nút trung tâm,

là các nút trong mạng có số lượng kết nối lớn hơn so với các nút khác Những nút trung tâm này là những điểm kết nối trung gian giữa các cạnh khác nhau và cũng có khả năng giảm độ dài đường đi trung bình trên mạng

Những hệ thống mạng thường có topo rất khác nhau nhưng vẫn có thể thoả mãn hai tính chất của đồ thị thế giới nhỏ, do vậy vẫn được coi là các mạng thế giới nhỏ

Trang 25

Các nhà nghiên cứu đã chỉ ra rất nhiều mạng thực thể hiện các thuộc tính thế giới nhỏ như mạng lưới đường đi, hệ thống điện, mạng nơron…

2.2.4 Ứng dụng mô hình thế giới nhỏ vào các hệ thống P2P

Để đưa mô hình mạng thế giới nhỏ vào ứng dụng đối với các hệ thống mạng ngang hàng, Kleinberg đã xuất phát từ nghiên cứu của Milgram và mô hình thế giới nhỏ đơn giản của Watts và Strogatz Kleinberg tập trung vào giải thích lý do tại sao tồn tại các đường đi ngắn trong mạng xã hội mà trong đó mỗi phần nhỏ các cạnh đều

là ngẫu nhiên và lý do tại sao con người có thể tìm ra những đường đi ngắn này, tại sao các những người lạ có thể tìm ra chuỗi ngắn các mối quen biết để liên kết với nhau? Đây là câu hỏi hoàn toàn khác với câu hỏi tại sao tồn tại các đường đi ngắn trong mạng

Việc tạo ra một mạng có độ dài đường đi trung bình nhỏ là dễ dàng nhưng việc tìm ra những đường đi ngắn trên mạng đó là rất khó khăn do mỗi nút trên mạng chỉ biết các thông tin cục bộ Mục đích của Kleinbergs là tìm ra một họ mạng đơn giản với

độ dài đường đi trung bình nhỏ trong đó các thuật toán phi tập trung có thể tìm ra các đường đi ngắn

Mô hình của Kleinberg bắt đầu từ một đồ thị cơ sở là một lưới vuông k chiều

trong đó mỗi nút có các kết nối cục bộ tới các láng giềng gần nhất Sau đó, mỗi nút thực hiện một thủ tục để thêm một lối tắt bổ sung Một thông báo được gửi đi bắt đầu

từ một nút được chọn bất kỳ Tại mỗi bước, nút đang giữ thông báo cần truyền đi chỉ biết vị trí của bản thân nó, vị trí của các láng giềng và vị trí của nút đích cần truyền

thông báo đó tới Mỗi nút sẽ thêm vào q cạnh ngẫu nhiên có hướng được lựa chọn sao cho mỗi cạnh lối tắt này từ điểm x tới điểm y với xác suất:

)(),(

1)

,(

n H y x d y x

k k

vị trí gần nhất với điểm đích dưới dạng khoảng cách trên lưới

Kleinbergs cũng đã chỉ ra mô hình đồ thị thế giới nhỏ của Watts và Strogatz không cho phép định tuyến hiệu quả theo kiểu tham lam nhưng có khả năng định tuyến hiệu quả khi có một thủ tục ngẫu nhiên tạo ra các lối tắt trên mạng [22] Ta có thể thấy,

cơ chế của mạng Freenet đã tạo ra một số thủ tục như thế

Trang 26

Như vậy, Kleigberg đã giới thiệu một mô hình thế giới nhỏ có thể ứng dụng để xây dựng mạng phủ cho các ứng dụng P2P, trong đó có thể ứng dụng một giao thức định tuyến cục bộ theo kiểu tham lam đơn giản Mặt khác, giao thức cần một số thông tin không tự nhiên được cung cấp trong hệ thống P2P, gọi là ánh xạ riêng biệt đối với các nút và file thành vị trí k chiều Về nguyên tắc, điều này có thể thực hiện bằng tiếp cận bảng băm phân tán nhưng cách này không phải lúc nào cũng thực hiện được

Để có thể áp dụng được mô hình của Kleinberg vào các mạng thực, cần thay đồ thị lưới cơ sở bằng một hàm khoảng cách giữa các nút và do đó khi định tuyến chỉ sử dụng các cạnh được xây dựng mới Trong [18] Sanberg đã trình bày một phương pháp

sử dụng các cạnh lối tắt được tạo ra như trong mô hình của Kleinberg nhưng không sử dụng các thông tin vị trí như các vị trí trên lưới và có thể hỗ trợ định tuyến phân tán trong các mạng thế giới nhỏ

Hầu hết các nghiên cứu có mục đích xây dựng các tính chất của mô hình thế giới nhỏ trong các hệ thống P2P đều dựa trên khái niệm nhóm các nút thành các nhóm, các cộng đồng các nút Các giao thức xây dựng mạng phủ P2P dựa trên mô hình thế giới nhỏ cũng theo nguyên tắc xây dựng các nhóm nút này để nâng cao hiệu năng tìm kiếm cho các giao thức của các mạng đó

Những nghiên cứu trên về mạng thế giới nhỏ đã góp phần rất lớn mở ra ứng dụng của đồ thị thế giới nhỏ vào các hệ thống mạng nói chung và hệ thống P2P nói chung để có thể đạt được hiệu năng mong muốn Dưới đây, ta sẽ xem xét cụ thể mối liên hệ giữa hệ thống mạng Freenet với những thuộc tính của mô hình thế giới nhỏ Đó

sẽ là nền tảng để thực hiện những cải tiến để nâng cao hiệu năng của Freenet

2.3 Liên hệ Freenet và mô hình thế giới nhỏ

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

Trang 27

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

D

C

B

Trang 28

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

Trang 29

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

Trang 30

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ả

3.1 Các độ đo hiệu năng

Đánh giá hiệu năng của các hệ thống mạng P2P trên thực tế là một bài toán vô cùng phức tạp Đứng ở mỗi khía cạnh, hệ thống lại được đánh giá về những tiêu chí khác nhau nên việc đánh giá hệ thống P2P một cách toàn diện là rất khó khăn Ngoài những vấn đề như tải mạng, tải trên các nút tham gia, độ trễ trong quá trình tìm kiếm… còn có một số tiêu chí quan trọng như tỷ lệ yêu cầu tìm kiếm thành công, băng thông của các nút, tính chân thật của nút yêu cầu và nút đáp ứng [14]

Trong khi đó, hoạt động đóng vai trò chủ yếu của các mạng P2P là tìm kiếm tài nguyên theo yêu cầu trong môi trường phân tán, bao gồm cả hoạt động định tuyến yêu cầu phân tán và quá trình tạo bản sao dữ liệu trên mạng Do vậy bài toán đánh giá hiệu năng mạng P2P thường được đưa về bài toán đánh giá hiệu quả của thuật toán tìm kiếm và tạo bản sao được áp dụng Xét về mặt thuật toán, chúng ta không thể đưa mọi tiêu chí đã nêu để xem xét một thuật toán Thay vào đó, ta chỉ tập trung vào các độ đo mức độ hiệu quả của thuật toán, phản ánh các thuộc tính chủ yếu của thuật toán Theo [14][9][3], các độ đo hiệu năng được chia thành hai loại dựa trên hai khía cạnh: khía cạnh người dùng và khía cạnh tải mạng

Xét về khía cạnh tải mạng, người ta xem xét ba độ đo Độ đo thứ nhất có mối

liên hệ mật thiết với tải mạng Đó là số thông báo trung bình trên một nút, tính bằng số thông báo tìm kiếm trung bình mà mỗi nút phải xử lý trên mạng Thứ hai là số nút đi

qua, tính bằng số nút mạng tham gia vào một thao tác tìm kiếm Thứ ba là số thông báo lớn nhất, tính bằng số lượng thông báo lớn nhất mà nút mạng bận nhất phải xử lý

cho một tập các yêu cầu Những độ đo này đều đánh giá một cách tổng quát về mạng

và phải có cái nhìn toàn cục để đánh giá Do vậy, để có thể đánh giá về khía cạnh tải mạng, hệ thống mạng phải có những cơ chế hỗ trợ

Ngày đăng: 25/03/2015, 11:20

HÌNH ẢNH LIÊN QUAN

Hình 6.  Tỷ lệ yêu cầu thành công khi tải mạng Freenet tăng dần. - Nâng cao hiệu năng của một số hệ thống mạng ngang hàng phi cấu trúc
Hình 6. Tỷ lệ yêu cầu thành công khi tải mạng Freenet tăng dần (Trang 33)
Hình 7.  Số chặng trung bình/yêu cầu khi tải mạng Freenet tăng dần - Nâng cao hiệu năng của một số hệ thống mạng ngang hàng phi cấu trúc
Hình 7. Số chặng trung bình/yêu cầu khi tải mạng Freenet tăng dần (Trang 34)
Hình 12. Tỷ lệ yêu cầu thành công so sánh giữa LRU, pp nâng cao nhóm ngặt và nâng - Nâng cao hiệu năng của một số hệ thống mạng ngang hàng phi cấu trúc
Hình 12. Tỷ lệ yêu cầu thành công so sánh giữa LRU, pp nâng cao nhóm ngặt và nâng (Trang 39)
Hình 13. Số chặng trung bình/ yêu cầu so sánh giữa LRU, pp nâng cao nhóm ngặt và - Nâng cao hiệu năng của một số hệ thống mạng ngang hàng phi cấu trúc
Hình 13. Số chặng trung bình/ yêu cầu so sánh giữa LRU, pp nâng cao nhóm ngặt và (Trang 39)
Hình 15. Đồ thị phân phối khoá trong bảng định tuyến với pp nâng cao nhóm ngặt - Nâng cao hiệu năng của một số hệ thống mạng ngang hàng phi cấu trúc
Hình 15. Đồ thị phân phối khoá trong bảng định tuyến với pp nâng cao nhóm ngặt (Trang 41)
Hình 16. Đồ thị phân phối khoá trong bảng định tuyến với pp nâng cao nhóm thường - Nâng cao hiệu năng của một số hệ thống mạng ngang hàng phi cấu trúc
Hình 16. Đồ thị phân phối khoá trong bảng định tuyến với pp nâng cao nhóm thường (Trang 41)
Hình 17 là kết quả so sánh tỷ lệ yêu cầu tìm kiếm thành công khi thực hiện LRU - Nâng cao hiệu năng của một số hệ thống mạng ngang hàng phi cấu trúc
Hình 17 là kết quả so sánh tỷ lệ yêu cầu tìm kiếm thành công khi thực hiện LRU (Trang 46)
Hình 18. Số chặng trung bình/yêu cầu so sánh giữa LRU và pp nâng cao nhóm trong - Nâng cao hiệu năng của một số hệ thống mạng ngang hàng phi cấu trúc
Hình 18. Số chặng trung bình/yêu cầu so sánh giữa LRU và pp nâng cao nhóm trong (Trang 47)
Hình 19. Số chặng t.bình/yc thành công so sánh giữa LRU và pp nâng cao nhóm trong - Nâng cao hiệu năng của một số hệ thống mạng ngang hàng phi cấu trúc
Hình 19. Số chặng t.bình/yc thành công so sánh giữa LRU và pp nâng cao nhóm trong (Trang 47)
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 - Nâng cao hiệu năng của một số hệ thống mạng ngang hàng phi cấu trúc
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 (Trang 54)
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 - Nâng cao hiệu năng của một số hệ thống mạng ngang hàng phi cấu trúc
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 (Trang 54)
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 hiệu năng của một số hệ thống mạng ngang hàng phi cấu trúc
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à (Trang 55)
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 - Nâng cao hiệu năng của một số hệ thống mạng ngang hàng phi cấu trúc
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 (Trang 56)
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 - Nâng cao hiệu năng của một số hệ thống mạng ngang hàng phi cấu trúc
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 (Trang 56)
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 - Nâng cao hiệu năng của một số hệ thống mạng ngang hàng phi cấu trúc
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 (Trang 57)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w