Nhƣ chúng ta thấy trên Hình 2.2, một item đƣợc lƣu trên node có I bằng nó (K38, N38) hoặc là node đầu tiên có I theo sau chiều kim đồng hồ nhƣ (K10, N14); (K24, N32); (K30, N32); (K54, N56). Một node có thể lƣu nhiều item nhƣng ngƣợc lại thì khơng đúng.
2.1.1.3 Quá trình tìm kiếm
Quá trình tìm kiếm là kết quả tự nhiên theo cách chia không gian I dựa trên việc tìm I successor.
Ví dụ (Hình 2.1, 2.2), khi node 8 muốn tìm item với key là 54, lookup đƣợc chuyển tiếp tới node 42 là node đứng gần K54 nhất trong bảng finger của node 8. Node 42 lại thực hiện q trình tƣơng tự, nó chuyển tiếp u cầu tới node 51 trong bảng finger của nó. Node 51 thấy rằng K54 nằm giữa nó và successor của nó (node 56), do đó nó trả về kết quả N56 theo đƣờng đi ngƣợc lại. Sau khi nhận đƣợc câu trả lời, tầng ứng dụng trên node 8 sẽ liên lạc với
tầng ứng dụng trên node 56 để truyền và nhận dữ liệu. Trong điều kiện thơng thƣờng, độ phức tạp của thuật tốn là O(log2(N)).
2.1.1.4 Quá trình ổn định mạng
Khi node n muốn join vào mạng, nó phải tìm I của mình thơng qua một số contact trong mạng và chèn chính nó vào giữa successor s của nó và predecessor của s nhờ sử dụng một thuật toán stabilization chạy định kỳ. ảng định tuyến của n đƣợc khởi tạo bằng cách sao chép bảng định tuyến của s hoặc yêu cầu s tìm các finger của n. Tập các node cần điều chỉnh bảng định tuyến sau khi n join vào mạng nhờ các node này đều chạy thuật toán stabilization định kỳ. Nhiệm vụ cuối cùng là chuyển một phần các item đang lƣu trên node s có I nhỏ hơn hoặc bằng n sang node n. Việc di chuyển dữ liệu này đƣợc thực hiện bởi tầng ứng dụng của n và s. [4]
(a)
(b)