Hầu hết các hệ thống DHT cố gắng cân bằng tải định tuyến thông điệp, tải phân bố (tải xử lý truy vấn) và tải lưu trữ trên các nút tham gia. Tuy nhiên, vẫn tồn tại một số lý do khiến một số nút trong hệ thống có thể chịu tải cao
hơn những nút khác, đó là: một nút quản lý một phần rất lớn không gian địa chỉ, một nút quản lý phần không gian địa chỉ với một số lượng lớn các đối tượng dữ liệu và một nút quản lý các đối tượng dữ liệu đặc biệt phổ biến. Trong những trường hợp này, bổ sung cơ chế cân bằng tải có thể giúp phân bổ tải đồng đều hơn cho các nút. Ví dụ, một nút có thể chuyển một phần khơng gian địa chỉ quản lý cho các nút khác hoặc nhiều nút có thể quản lý một không gian địa chỉ.
Trong luận án này chúng tôi sử dụng kiến trúc mạng ngang hàng có cấu trúc Chord cho các nghiên cứu trong các chương tiếp theo. Phần tiếp theo sẽ trình bày chi tiết về mạng ngang hàng có cấu trúc Chord.
1.4.2. Mạng ngang hàng Chord
Chord là một trong những giao thức mạng ngang hàng có cấu trúc phổ biến nhất được xây dựng dựa trên bảng băm phân tán. Trong Chord, khóa của một tệp tin được quản lý bởi một nút trong mạng. Tùy thuộc vào ứng dụng, dữ liệu liên quan đến khóa có thể được lưu trữ tại nút quản lý khóa. Chord sử dụng phương pháp băm đồng nhất để tạo định danh dữ liệu và định danh của nút, phương pháp này tạo ra một phân bố tương đối đều các khóa vào các nút trong mạng. Kích thước của khơng gian khóa là một số ngun m bit, m là đủ lớn để xác suất cho hai nút hoặc hai định danh của dữ liệu trùng nhau là rất nhỏ. Do các khóa được phân bố tương đối đồng đều cho các nút cho nên khi một nút tham gia hoặc rời mạng thì chỉ có một số nhỏ các khóa chuyển từ nút này sang nút khác, điều này tạo nên một sự cân bằng tương đối trong mạng.
Chord khắc phục các vấn đề hay gặp trong mạng ngang hàng:
- Cân bằng tải: giao thức Chord phân phối số lượng khóa đồng đều đến từng nút, thơng qua đó gián tiếp mang lại hiệu quả cân bằng tải.
- Tính phân tán: mạng ngang hàng Chord là hệ thống phân tán hồn tồn, vai trị của các nút trong mạng là như sau. Mạng ngang hàng Chord có tính ổn định cao.
- Khả năng mở rộng: Trong mạng ngang hàng Chord, một nút chỉ lưu trữ thông tin về một số nút khác trong mạng, điều này làm cho mạng Chord hoạt động hiệu quả, đặc biệt là khả năng mở rộng mạng. Với một mạng gồm N nút, mỗi nút chỉ cần duy trì thơng tin về O(logN) các nút khác và mỗi truy vấn chỉ yêu cầu O(logN) thơng điệp để định tuyến, do đó có thể đáp ứng cả với những hệ thống rất lớn.
- Khả năng chịu lỗi: Chord có khả năng tự điều chỉnh các bảng định tuyến trên mỗi nút để thích ứng với sự vào ra liên lục của các nút trong mạng. Chord đảm bảo với mỗi một khóa bất kỳ đều có một nút tương ứng, chịu trách nhiệm về khóa đó.
- Khả năng đặt tên linh hoạt: Chord khơng có bất kỳ ràng buộc nào trên cấu trúc khóa mà nó tìm kiếm. Điều này tạo cho các ứng dụng sử dụng Chord khả năng tùy biến trong việc gán tên với các khóa của Chord.
1.4.2.1. Mơ hình của Chord
Các nút trong mạng Chord được tổ chức thành dạng một vòng tròn. Định danh của các nút bắt đầu từ 0 đến 2m-1, m là số bit biểu diễn độ lớn của khơng gian khóa. Khóa k được quản lý bởi nút đầu tiên có định danh bằng hoặc lớn hơn k. Nút đó được gọi là nút successor của khóa k hay successor(k). Successor của một khóa chính là nút gần nhất theo chiều kim đồng hồ tính từ