Các chứng chỉ mới thay thế các bản sao chính cũ được tổ chức tại mỗi nút vòng trong và
được phổ biến đến một số lượng lớn các bản sao thứ cấp. Hãy để cho các khách hàng để xác định
mức độ thường xuyên kiểm tra phiên bản mới (một quyết định tương tự đã được thực hiện cho được lưu trữ
bản sao của tập tin trong NFS, hầu hết các hoạt động cài đặt với một cửa sổ quán của 30
giây giữa máy khách và máy chủ, xem mục 12.3) .
Như thường lệ trong peer-to-peer hệ thống, niềm tin không thể được đặt ở bất kỳ máy chủ cá nhân.
Việc cập nhật các bản sao chính đòi hỏi sự nhất trí giữa các host trong
vành đai. Họ sử dụng một phiên bản của một thuật toán thỏa thuận Byzantine nhà máy dựa trên
mô tả của Castro và Liskov [2000] để cập nhật các đối tượng và ký tên vào giấy chứng nhận. Việc
sử dụng một giao thức thỏa thuận Byzantine đảm bảo rằng chứng chỉ được duy trì một cách chính xác
ngay cả khi một số thành viên của vòng tròn bên trong thất bại hoặc cư xử độc hại. Bởi vì các
chi phí tính toán và thông tin liên lạc của Byzantine thỏa thuận tăng theo bình phương của
các số host có liên quan, số lượng máy trong vòng trong được giữ ở mức nhỏ và các
giấy chứng nhận kết quả được nhân rộng hơn bằng cách sử dụng chương trình bản chính được đề cập
ở trên.
Thực hiện một bản cập nhật cũng liên quan đến việc kiểm tra quyền truy cập và tuần tự các
bản cập nhật với bất kỳ ghi khác đang chờ cấp. Một khi quá trình cập nhật hoàn tất cho các
bản sao chính, kết quả sẽ được phổ biến cho các bản sao được lưu trữ trên máy chủ thứ cấp bên ngoài
vòng trong sử dụng một cây định tuyến multicast được quản lý bởi Tapestry.
Do tính chất chỉ đọc của họ, các khối dữ liệu được sao bởi một khác nhau, nhiều
cơ chế lưu trữ hiệu quả. Cơ chế này được dựa trên sự phân chia của mỗi khối vào
m kích thước bằng nhau mảnh vỡ, được mã hóa bằng cách sử dụng mã tẩy xoá [Weatherspoon và
Kubiatowicz 2002] để mảnh n, trong đó n> m. Các tài sản quan trọng của tẩy xoá mã hóa là
nó có thể tái tạo lại một khối từ bất kỳ m của các mảnh vỡ của nó. Trong một hệ thống sử dụng
tẩy xoá mã hóa tất cả dữ liệu đối tượng vẫn có sẵn với các thiệt hại lên đến n-m hosts. Trong
thực hiện Pond m = 16 và n = 32, vì vậy đối với một tăng gấp đôi chi phí lưu trữ, hệ thống
có thể chịu đựng sự thất bại lên đến 16 host mà không mất dữ liệu. Tapestry được sử dụng để lưu trữ
các mảnh vỡ vào và lấy chúng ra khỏi mạng.
Đây là cấp độ cao của khả năng chịu lỗi và dữ liệu sẵn có đạt được tại một số chi phí trong
điều kiện xây dựng lại các khối từ các mảnh tẩy xoá mã. Để giảm thiểu các tác động
của việc này, toàn bộ khối cũng được lưu trữ trong mạng sử dụng Tapestry. Vì họ có thể
được xây dựng lại từ những mảnh vỡ của họ, các khối được coi như một bộ nhớ cache - họ không
có lỗi tolerant và họ có thể được xử lý khi không gian lưu trữ được yêu cầu.
Hiệu suất • Pond được phát triển như một mẫu thử nghiệm để chứng minh tính khả thi của một khả năng mở rộng
ngang dịch vụ tập tin-to-peer, chứ không phải là một việc thực hiện sản xuất. Nó được thực hiện
trong Java và bao gồm hầu như tất cả các thiết kế nêu trên. Nó được đánh giá theo
một số tiêu chuẩn và mục đích thiết kế trong một thi đua đơn giản của một khách hàng và NFS
máy chủ trong các điều khoản của các đối tượng OceanStore. Các nhà phát triển thử nghiệm các thi đua NFS chống lại
các chuẩn Andrew [Howard et al. 1988], mà giả lập một phần mềm phát triển
khối lượng công việc. Các bảng trong Hình 10.15 cho thấy các kết quả cho sau này. Họ đã thu được
bằng cách sử dụng 1 GHz Pentium III PC chạy Linux. Các xét nghiệm được thực hiện bằng cách sử dụng mạng LAN một
Ethernet Gigabit và kết quả thu được WAN sử dụng hai bộ nút liên kết bởi
Internet.
Các kết luận được rút ra bởi các tác giả rằng hiệu suất của
OceanStore / Pond khi hoạt động trên một mạng diện rộng (ví dụ, Internet)
lớn hơn tổng của NFS để đọc và là một yếu tố trong số ba của NFS cho
đang được dịch, vui lòng đợi..