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

Kỹ thuật bảng băm phân tán trên mạng ngang hàng giải pháp kiến trúc mở và ứng dụng

125 25 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 125
Dung lượng 2,4 MB

Nội dung

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI -*** - MẠC VĂN VIÊN KỸ THUẬT BẢNG BĂM PHÂN TÁN TRÊN MẠNG NGANG HÀNG: GIẢI PHÁP KIẾN TRÚC MỞ VÀ ỨNG DỤNG LUẬN VĂN THẠC SỸ KHOA HỌC NGÀNH: CÔNG NGHỆ THÔNG TIN Người hướng dẫn khoa học: TS NGUYỄN KHÁNH VĂN HÀ NỘI 2009 Kỹ thuật bảng băm phân tán mạng ngang hàng: Giải pháp kiến trúc mở ứng dụng Mục lục PHẦN MỞI ĐẦU Nhiệm vụ luận văn Nội dung luận văn Lời cảm ơn Danh mục thuật ngữ Phần I MẠNG NGANG HÀNG VÀ CÁC HỆ THỐNG DHTs 10 1.1 Hệ thống ngang hàng 10 1.1.1 Overlay network 11 1.1.2 Quá trình phát triển hệ thống P2P 11 1.1.3 Phân loại ứng dụng mạng ngang hàng 15 1.1.4 Các ứng dụng mạng ngang hàng 16 1.2 Tìm hiểu DHT- Bảng băm phân tán 19 1.2.1 DHT gì? 19 1.2.2 Lịch sử phát triển DHTs 22 1.2.3 Sức mạnh DHTs 25 1.2.4 Các thuộc tính quan trọng DHTs 29 1.2.5 Bảo mật xác thực 30 1.2.6 Các thao tác khác DHT 31 1.3 Giới thiệu số DHT 32 1.3.1 Chord [11] 33 1.3.2 Kademlia [16] 39 1.3.3 Tapestry[14] 42 1.4 Kết luận 47 Phần II: BAMBOO DHT VÀ OPENDHT 49 2.1 Bamboo 49 2.1.1 Tổng quan Bamboo 49 2.1.2 Ưu điểm Bamboo DHTs 55 2.1.3 Hạn chế DHTs 56 2.1.4 DHT Geometries (Sơ đồ DHT) 58 2.1.5 Hoạt động Lookup 60 Mạc Văn Viên Kỹ thuật bảng băm phân tán mạng ngang hàng: Giải pháp kiến trúc mở ứng dụng 2.1.5 DHT Storage 62 2.1.6 DHT chia sẻ ứng dụng 63 2.1.7 Chia sẻ DHT Client 66 2.1.8 Cân tải 66 2.2 OpenDHT 68 2.2.1 Tổng quan Thiết kế 70 2.2.2 Các giao diện 73 2.2.3 Phân bổ lưu trữ 83 2.2.4 Đánh giá 89 2.2.5 Đánh giá dựa việc triển khai 94 2.3 Kết luận 101 Phần III: ỨNG DỤNG MINH HỌA 102 3.1 Mục tiêu chương trình 102 3.2 Thiết kế 102 3.2.1 Các API sử dụng 105 3.2.2 Cấu trúc mạng multicast việc join vào mạng 106 3.2.3 Cơ chế truyền thông điệp 111 3.3 Triển khai ứng dụng đánh giá 112 PHẦN KẾT LUẬN 117 TÓM TẮT NỘI DUNG ĐỀ TÀI 119 Tóm tắt tiếng Việt 119 Tóm tắt tiếng Anh 121 Abstract 121 TÀI LIỆU THAM KHẢO 123 Mạc Văn Viên Kỹ thuật bảng băm phân tán mạng ngang hàng: Giải pháp kiến trúc mở ứng dụng PHẦN MỞI ĐẦU Mạng internet làm thay đổi giới với đời trang thông tin, dịch vụ tìm kiếm, kinh doanh điện tử… Nó ảnh hưởng lớn đến đời sống thường nhật cư dân hành tinh Trên mạng internet người ta đặt vé máy bay, rao bán nhà đất, tìm hướng dẫn đường hay tìm đọc nhanh thơng tin thời quốc tế… Chính phát triển phổ biến giao dịch internet tạo nên thách thức cho nhà cung cấp (NCC) dịch vụ NCC phải đảm bảo hệ thống đứng vững có số lượng người truy cập lớn Những dịch vụ thơng dụng phải chịu đựng lượng người truy cập lớn Ví dụ, số trang web tìm kiếm phục vụ hàng triệu người tìm kiếm thơng tin đồng thời Một đĩa nhạc hay phát hành phần mềm thơng dụng đưa phiên có số lượng người lớn truy cập tải từ trang web thời gian ngắn Muốn vậy, hệ thống phải hệ thống xử lý phân tán, có chế quản lý tài ngun thơng minh có số khả khác Đầu tiên, thiết kế hệ thống phải Scalable (khả mở rộng quy mơ) Đó hệ thống mà kích cỡ hệ thống tương ứng với khả đáp ứng Hệ thống mở rộng khả phục vụ người dùng/số giao dịch nhiều Hệ thống không phụ thuộc vào thành phần đó, để tránh tượng nghẽn cổ chai dẫn đến giảm hiệu hệ thống tránh cho hệ thống bị sụp đổ thành phần bị lỗi Với hệ thống có thiết kế Scalable ta tăng kích cỡ khi hệ thống có nhưu cao giảm kích cỡ hệ thống có nhưu cầu thấp Thứ hai, hệ thống phải self-managing (khả tự quản lý) Hệ thống phải có khả tự động cân tải, đảm bảo an toàn liệu hệ thống Trong trường hợp ta tăng kích cỡ hệ thống phải tự nhận biết thành phần Mạc Văn Viên Kỹ thuật bảng băm phân tán mạng ngang hàng: Giải pháp kiến trúc mở ứng dụng thêm vào chia sẻ tải cho phần thêm Ngược lại giảm kích cỡ hệ thống tự động khơi phục lại giữ liệu mà phần bị tháo mang Với hệ thống lớn động thuộc tính quan trọng Thứ ba, hệ thống phải có khả fault-tolerant (khả chịu lỗi) Với hệ thống lớn xác suất xảy lỗi phận lớn, hệ thống phải hoạt động tốt số lượng phận bị lỗi nằm tỉ lệ cho phép Hiện này, mạng ngang hàng hướng tiếp cận tốt để thỏa mãn thuộc tính Đó kiến trúc mà thành phần mạng có chức khả Tất máy tham gia đóng góp tài nguyên, bao gồm băng thông, lưu trữ, khả tính tốn Do nhiều máy tham gia khả tổng thể hệ thống mạng lớn Tính chất phân tán mạng ngang hàng giúp cho mạng hoạt động tốt số máy gặp cố Sự tiến hóa cấu trúc mạng làm cho mạng ngang hàng ngày trở lên mạnh mẽ Một cấu trúc DHT (Bảng Băm Phân Tán, tiếng Anh: Distributed Hash Table) Hệ thống định nghĩa liên kết nút mạng mạng theo thuật toán cụ thể, đồng thời xác định chặt chẽ nút mạng chịu trách nhiệm phần liệu chia sẻ mạng Với cấu trúc này, máy cần tìm liệu, cần áp dụng giao thức chung để xác định nút mạng chịu trách nhiệm cho liệu sau liên lạc trực tiếp đến nút mạng để lấy kết Hiện có nhiều giải pháp khác để xây dựng DHT, người ta phân chia giải pháp theo cấu trúc mạng thuật tốn định tuyến Có số cấu trúc tiếng bao gồm Chord, CAN, Kademlia, Pastry, Tapestry Bamboo [10] Trong luận văn tơi trình bày tìm hiểu DHT nêu trên, Bamboo Nó đánh giá DHT mạnh mẽ Giao diện cho thao nhập/rời khỏi mạng đơn giản Mỗi node có thuật tốn trì số lượng trỏ đến node hàng xóm hàm logarithmic kích cỡ mạng, Mạc Văn Viên Kỹ thuật bảng băm phân tán mạng ngang hàng: Giải pháp kiến trúc mở ứng dụng kích cỡ mạng tăng nhanh mà băng thông để lưu trữ trỏ node hàng xóm tăng khơng đáng kể Chi phí cho việc định tuyến, lưu trữ truy cập giới hạn hàm logarithmic kích cỡ mạng, người ta cịn dùng thuật tốn để xác định node hàng xóm gần mặt vật lý để làm tăng tốc độ liên lạc node Người ta chứng minh mạng hoạt động tốt, không bị liệu số lượng node mạng bị lỗi cao tốc độ nodes tham gia rời khỏi mạng cao Cơ chế hoạt động Bamboo hoàn toàn tự tổ chức, tự trì Trong triển khai thực tế Với thời gian ngắn phút, có 1000 node mạng Bamboo ModelNet đáp ứng cho thao tác lấy liệu từ node vịng ½ giây [1] Bamboo hệ thống đáng tin cậy, với hiệu lưu trữ lớn triển khai 200-300 nodes PlanetLab[1] OpenDHT [1] dịch vụ DHT công cộng thiết kế để dễ dàng phát triển, triển khai trì ứng dụng DHT Nó khắc phục nhược điểm khó phát triển ứng dụng DHT truyền thống cách sử dụng mạng DHT có sẵn để cung cấp dịch vụ cho nhiều ứng dụng khác Do ứng dụng OpenDHT cần truy cập dịch vụ thông qua giao diện đơn giản mà triển khai DHT cho riêng Hơn nữa, với ứng dụng OpenDHT cịn cho phép truyền thơng vượt qua NAT Firewall OpenDHT không hỗ trợ cho giao diện đơn giản, bảo mật, hỗ trợ số chức phức tạp truyền thông cách sử dụng thêm số thư viện khác OpenDHT bảo đảm công chia sẻ lưu trữ client hệ thống OpenDHT triển khai PlanetLab, người dùng hồn tồn tương tác với thơng qua RPC Mạc Văn Viên Kỹ thuật bảng băm phân tán mạng ngang hàng: Giải pháp kiến trúc mở ứng dụng Nhiệm vụ luận văn Thứ nhất, tìm hiểu khảo sát khái niệm liên quan, cấu trúc mạng thuật tốn bảng băm phân tán Tìm hiểu số hệ thống bảng băm phân tán phát triển triển khai thực tế Qua đánh giá, nhận xét ưu nhược điểm của kiến trúc bảng băm phân tán Thứ hai, tìm hiểu cấu trúc mạng, chế hoạt động OpenDHT (giải pháp mở bảng băm phân tán) Tìm hiểu sâu khía cạnh kỹ thuật hệ thống Đánh giá khả ứng dụng so với hệ thống bảng băm phân tán truyền thống Kết hợp tìm hiểu hệ thống cụ thể Thứ ba, vận dụng kiến thức tìm hiểu Cài đặt ứng dụng minh họa dựa kiến trúc mở bảng băm phân tán Nội dung luận văn Sau kết thực luận văn Luận văn trình bày theo phân sau: • Phần 1: Mạng ngang hàng hệ thống DHT Ở trình bày cách tổng quát mạng ngang hàng bao gồm khái niệm chung, trình phát triển, kiến trúc ứng dung tiêu biểu Sau sâu vào kiến trúc mạng ngang hàng DHT, tìm hiểu kiến trúc chế làm việc chung DHT, loại ứng dụng, ưu nhược điểm Tìm hiểu mạng DHT tiêu biểu sử dụng thực tế • Phần 2: Tìm hiểu Bamboo OpenDHT Trong phần ta sâu vào DHT mà ta sử dụng luận văn Bamboo Sau ta tìm hiểu OpenDHT nội dung luận văn, ta sâu vào vấn đề mạng OpenDHT chia sẻ (về hiệu nhớ) node mạng Ta đánh giá khả hoạt động chúng qua thực nghiệm • Phần 3: Xây dựng ứng dụng dựa OpenDHT Ứng dụng mà ta xây dựng ứng dụng multicast Trong trình bày việc thiết kế xây dựng ứng Mạc Văn Viên Kỹ thuật bảng băm phân tán mạng ngang hàng: Giải pháp kiến trúc mở ứng dụng dụng OpenDHT Mục đích đánh giá khả triển khai thực tế ứng dụng OpenDHT, tìm hiểu xâu APIs để sử dung xây dựng ứng dụng OpenDHT Xây dựng thuật toán Multicast OpenDHT để phát triển ứng dung khác hồn thiện có chiều sâu Mạc Văn Viên Kỹ thuật bảng băm phân tán mạng ngang hàng: Giải pháp kiến trúc mở ứng dụng Lời cảm ơn Trước tiên, xin bày tỏ lòng cảm ơn đến thầy giáo hướng dẫn TS Nguyễn Khánh Văn Thầy hướng đến đề tài mà tơi cảm thấy thích thú hữu ích cho công việc sau Đặc biệt dẫn khoa học tận tâm hướng dẫn giúp đỡ tơi hồn thành luận văn Xin chân thành cảm ơn thầy cô viện CNTT trường ĐHBK Hà Nội, Viện đào tạo sau đại học trường ĐHBK Hà Nội, trường ĐHBK Hà Nội nơi học tập suốt năm đại học cao học Cuối xin gửi lời cảm ơn đến bạn bè, người thân bạn (các anh chị) lớp CNTT K79 Những người bên cạnh giúp đỡ, động viên suốt chặng đường vừa qua chặng đường tới Mạc Văn Viên Kỹ thuật bảng băm phân tán mạng ngang hàng: Giải pháp kiến trúc mở ứng dụng Danh mục thuật ngữ Tiếng Anh Tiếng Việt Peer-to-peer Mạng ngang hàng Node Một thiết bị nối mạng (một peer) item Một đơn vị liệu Structured Có cấu trúc Overlay Mạng xây dựng mạng khác Hash table Bảng băm Distributed hash table Bảng băm phân tán Join Gia nhập (mạng ngang hàng) Leave Rời khỏi (mạng ngang hàng) Failure Lỗi Churn rate Số lượng peer rời khỏi/gia nhập mạng khoảng thời gian put Lưu trữ liệu vào bảng băm get Truy cập liệu từ bảng băm Mạc Văn Viên Kỹ thuật bảng băm phân tán mạng ngang hàng: Giải pháp kiến trúc mở ứng dụng Bước 6/ Nếu level 0, tức node thực tế join vào đầy dủ level kết thúc q trình join Ví dụ: Như hình trên, giả sử ta có node với địa my_addr_bytes kết hợp địa IP cổng.Ta tính key node sau my_key = bytes2bi (digest.digest (my_addr_bytes)) giả sử level ta tính key trùng với K12 hình level trùng với K5 level trùng với K2 Ở level 3: Đầu tiên ta thực việc get(K12) để lấy địa node join vào K12 Sau thực ping đến node nhận phản hồi thêm vào mảng hàng đợi node level Thức put(K12, my_addr_bytes)- công việc tương đương với việc join vào level Ở level 2: Thực lệnh get(K5) để lấy địa node join vào K5 (bình thường node join vào K11 K12) Duyệt tất node này, thực ping đến node thuộc nhánh K11 nhận phản hồi thêm vào hàng đợi node level 2, đếm số node thuộc nhánh K12 số lượng node nhỏ quy định thực lệnh put(K5, my_addr_bytes)- cơng việc tương đương với việc join vào level khơng việc join thất bại Ở level 1: Thực lênh get(K2) để lấy địa node join vào K2 (bình thường node join vào K5 K6) Duyệt tất node này, thực ping đến node thuộc nhánh K6 nhận phản hồi thêm vào hàng đợi node level 1, đếm số node thuộc nhánh K5 số lượng node nhỏ quy định thực lệnh put(K2, my_addr_bytes)- công việc tương đương với việc join vào level khơng việc join thất bại Ở level 0: thực lệnh get(k0) để lấy địa node join vào K0 (bình thường node join K1 K2) Duyệt tất node này, thực lệnh ping đến node thuộc nhánh K1 nhận phản hồi thêm vào hàng đợi node level 0, đếm số node thuộc nhánh K2 số lượng node cịn nhỏ quy định Mạc Văn Viên 110 Kỹ thuật bảng băm phân tán mạng ngang hàng: Giải pháp kiến trúc mở ứng dụng thực lệnh put(K1, my_addr_bytes)- công việc tương đương với việc join vào level khơng việc join thất bại Như để node join vào mạng phải join vào tất level Việc join thành cơng join thành cơng level Việc xây dựng cấu trúc thêm vào hàng đợi node nhằm thuận tiện cho việc publish thông tin mà ta có tay giao diện đơn giản Ta tìm hiểu chế multicast thông điệp phần 3.2.3 Cơ chế truyền thông điệp Như ta thấy, node có danh sách queue level nodes partition node nằm partition đối diện với Khi muốn truyền thơng điệp khởi tạo đối tượng MulticastMessage multicast thơng điệp đến node mạng MulticastMessage + groupname: BigInteger + sender_id: int + est_rtt: long + begin_time: long + rtt_times: string + transit_times: long + prev_time: long + hop: int + payload: QuickSerializable Tại node join vào mạng, tức node join vào tất level có danh sách hàng đợi node tất level Q trình publish thơng điệp node sau: Mạc Văn Viên 111 Kỹ thuật bảng băm phân tán mạng ngang hàng: Giải pháp kiến trúc mở ứng dụng Bước 1: Khởi tạo thông điệp khởi tạo đối tượng MulticastMessage Bước 2: Tại level cao gửi thơng điệp cho tất node queue Tại level khác gửi thơng điệp cho node “nhanh nhất” (nhanh dựa vào thời gian thực ping trên), gửi đến node nhanh khơng thành cơng gửi đến node nhanh thành công Bước 3: Khi node nhận thông điệp chúng gửi theo danh sách hàng đợi từ level trừ node level cao Ví dụ: tiếp tục với ví dụ trên, ta có danh sách hàng đợi node là: level tất node jon vào nhánh K12, level tất node join vào nhánh K11, level tất nhánh join vào nhánh K6, level tất node join vào nhánh K1 Khi truyền thơng điệp sẽ: truyền đến node nhanh join vào nhánh K1, node nhanh join vào nhánh K6, node nhanh join vào node K11, tất node join vào nhánh K12 Tiếp tục nhánh K1, K6, K11sẽ tiếp tục trình Với nhánh K11 truyền tất node cịn lại nhánh Với nhánh K6 K1 truyền thông điệp xuống nhánh bên theo danh sách hàng đợi node nhận thông điệp Quá trình lặp lại theo quy tắc tất node nhận thông điệp nhận lần 3.3 Triển khai ứng dụng đánh giá Như phần trình bày, để triển khai ứng dụng OpenDHT phải có mạng DHT để cung cấp dịch vụ cho hoạt động ứng dụng OpenDHT Có hệ thống DHT triển khai cấp dịch vụ cho tất ứng dụng tồn giới sử dụng hệ thống DHT triển khai Planet Lab Tuy nhiên hệ thống ngừng cung cấp dịch vụ từ 01/07/2009 Do ta phải tự triển khai mạng DHT Do điều kiện thực tế khơng có nhiều máy tính kết nối mạng internet nên ta triển khai nhiều node máy tính Sau ta triển khai ứng dụng ngang hàng OpenDHT kết nối đến node DHT thông qua nodes có sẵn DHT Mạc Văn Viên 112 Kỹ thuật bảng băm phân tán mạng ngang hàng: Giải pháp kiến trúc mở ứng dụng Hình 3.3 Thông tin node mạng DHT Mạc Văn Viên 113 Kỹ thuật bảng băm phân tán mạng ngang hàng: Giải pháp kiến trúc mở ứng dụng Ứng dung chat Hình 3.4 Hình ảnh ứng dụng chat Người dùng thực chức thay đổi group, tương ứng với việc unsubscribe group subscribe vào group Tại node gửi thơng điệp đến node khác group Mạc Văn Viên 114 Kỹ thuật bảng băm phân tán mạng ngang hàng: Giải pháp kiến trúc mở ứng dụng Ứng dụng Whiteboard Hình 3.5 Ứng dụng Whiteboard Cũng tương tự ứng dụng chat, chúng có chức thay đổi topic Chức Draw, Erase tương ứng với bút vẽ màu đen màu trắng Khi thực chức tồn nét vẽ publish đến node group Do khơng có điều kiện mạng máy tính lớn, nên ta triển khai máy mạng LAN công ty cho kết tốt Thời gian trễ thực Mạc Văn Viên 115 Kỹ thuật bảng băm phân tán mạng ngang hàng: Giải pháp kiến trúc mở ứng dụng truyền thông điệp không đáng kể (gần tức thời) Khi node rời khỏi mạng khơng ảnh hưởng đến node khác Việc test thực tốt với số lượng node 10, tốc độ truyền tin gần tức thời Mặc dù hai ứng dụng thiếu nhiều tính làm cho hồn thiện Nhưng thuật tốn chế multicast theo tơi khoa học ổn định Nó xem tảng ví dụ cho việc phát triển ứng dụng multicast sau Qua ứng dụng cho thấy khả phát triển ứng dụng OpenDHT dễ dàng Mặc dù có đơi chút khó khăn việc triển khai mạng DHT cung cấp dịch vụ, tính chất dịch vụ DHT chia ứng dụng nên cần mạng DHT triển khai ta phát triển nhiều loại ứng dụng Mạc Văn Viên 116 Kỹ thuật bảng băm phân tán mạng ngang hàng: Giải pháp kiến trúc mở ứng dụng PHẦN KẾT LUẬN Sau thời gian thực luận văn hướng dẫn nhiêt tình tận tâm thầy giáo TS Nguyễn Khánh Văn Tơi học tập, tìm hiểu nhiều kinh nghiệm nghiên cứu làm việc Đầu tiên, thầy giáo hướng vào đề tài mà tơi cảm thấy thích thú Mặc dù có kinh nghiệm kiến thức mạng ngang hàng nói chung mạng DHT nói riêng với giúp đỡ thầy giáo tơi cố gắng tìm tịi, học hỏi Đến nắm bắt kiến thức chung mạng ngang hàng, lịch sử hình thành, kiến trúc cách thức hoạt động mạng ngang hàng Đặc biệt, kiến trúc DHT kiến trúc thú vị Ngồi việc tìm hiểu cách thức hoạt động chung mạng DHT, tơi cịn tìm hiểu số mạng DHT cụ thể Chord, Kademlia, Tapestry… đặc biết DHT Bamboo Bamboo DHT mà trực tiếp làm việc phát triển ứng dụng OpenDHT Thứ hai, tơi tìm hiểu đến kiến trúc DHT OpenDHT Đây kiến trúc tiên tiến có tài liệu Cùng với tài liệu thầy giao, tơi tập trung vào tìm hiểu mã nguồn Bamboo, từ tìm hiểu cách thức hoạt động, giao diện để sử dụng Tơi tìm hiểu thuật tốn chia cơng node DHT để cung cấp dịch vụ từ node OpenDHT Tơi tìm hiểu cách thức sử dụng giao diện từ vài ví dụ mẫu Thời gian đầu làm luận văn, lúc node DHT cung cấp dịch vụ triển khai Planet Lab http://www.planet-lab.org tơi tìm hiểu sử dụng chúng Nhưng sau người ta khơng trì node nên tơi phải tự triển khai node DHT Qua cho tơi thêm kinh nghiệm làm việc với DHT thực tế Thứ ba, từ tìm hiểu mặt lý thuyết trên, xây dựng ứng dung multicast Tuy ứng dụng đơn giản chức thuật toán bên chúng hoàn thiện cho ứng dụng multicast dựa giao diện đơn giản mà OpenDHT cung cấp Tôi thực triển khai mạng Mạc Văn Viên 117 Kỹ thuật bảng băm phân tán mạng ngang hàng: Giải pháp kiến trúc mở ứng dụng LAN máy cục cho kết tốt Hy vọng tảng cho ứng dụng multicast khác phát triển sau để phục vụ cho yêu cầu thực tế ứng dụng video conference… Thứ tư, ứng dụng mạng ngang hàng dựa OpenDHT mảng thú vị nghiên cứu có khả ứng dụng thực tế lớn Kỹ thuật để xây dựng ứng dụng OpenDHT đơn giản Vì tận dụng thuộc tính: khả đáp ứng, tin cậy DHT thuộc tính dễ dàng phát triển triển khai ứng dụng OpenDHT Vì tơi tin luận văn tài liệu hữu ích cho bắt đầu tìm hiều mạng ngang hàng, DHT OpenDHT Tuy nhiên hướng tiếp cận khả hạn chế nên chắn có nhiều khuyết điểm Em mong nhận giúp đỡ thầy cô giáo bạn luận văn hoàn thiện Mạc Văn Viên 118 Kỹ thuật bảng băm phân tán mạng ngang hàng: Giải pháp kiến trúc mở ứng dụng TĨM TẮT NỘI DUNG ĐỀ TÀI Tóm tắt tiếng Việt Luận văn tập trung nghiên cứu Kỹ thuật bảng băm phân tán mạng ngang hàng: giải pháp mở ứng dụng Luận văn bao gồm lý thuyết chung mạng ngang hàng, kỹ thuật bảng băm phân tán Bên cạnh đó, người viết sâu tìm hiểu giải pháp kiến trúc mở bảng băm phân tán Trong phần cuối, luận văn trình bày việc phát triển, triển khai ứng dụng dựa kiến trúc mở Với nội dung lý thuyết chung mạng ngang hàng kỹ thuật bảng băm phân tán, người đọc thấy tổng quan khái niệm chung Qua trả lời cho câu hỏi: “mạng ngang hàng gì?”, “kỹ thuật bảng băm mạng gì?”, “kiến trúc chung nào?”, “ưu nhược điểm so với kiến trúc khác?” Từ lý giải kỹ thuật bảng băm phân tán thường dùng để xây dựng hệ thống phân tán có khả mở rộng quy mơ (scalable) có khả tự quản lý (self-managing) Phần giải pháp kiến trúc mở luận văn trình bày kiến trúc nguyên lý hoạt động loại kiến trúc Ngồi tơi trình bày phương pháp khắc phục số thách thức như: công phân bổ lưu trữ client, chống cơng mạng… Từ đó, thấy ưu điểm vượt trội kiến trúc so với bảng băm truyền thống Những ưu điểm tính dễ dàng phát triển triển khai ứng dụng, khả truyền thông vượt qua NAT/Firewall mà tận dụng hầu hết ưu điểm bảng băm phân tán Ứng dụng minh họa chứng minh lý thuyết trình bày phần Đặc biệt, phần trình bày thuật tốn Multicast mà theo tác giả Mạc Văn Viên 119 Kỹ thuật bảng băm phân tán mạng ngang hàng: Giải pháp kiến trúc mở ứng dụng hoàn thiện hiệu Nó tiền đề để phát triển ứng dụng Multicast khác có chiều sâu Đây đề tài thú vị nghiên cứu có khả triển khai thực tế lớn dựa kiến trúc tiên tiến, thuật tốn hiệu nhiều nhà khoa học nghiên cứu phát triển Tác giả cố gắng trình bày cách hệ thống hiểu biết từ khái niệm mạng ngang hàng đến ứng dụng cụ thể Hi vọng tài liệu hữu ích cho quan tâm đến đề tài Mạc Văn Viên 120 Kỹ thuật bảng băm phân tán mạng ngang hàng: Giải pháp kiến trúc mở ứng dụng Tóm tắt tiếng Anh Abstract This thesis mainly focused on “peer-to-peer distributed hash tables: open solutions and applications” The thesis contains general theory of peer-to-peer net and distributed hash table techniques In addition, the study identified solutions to open architecture of distributed hash tables Finally, the thesis discussed how to develop and deploy an application based on open architecture With the general theory of peer-to-peer net and distributed hash table techniques, readers would have the overview of the general concepts which supported to answer the questions: What is peer-to-peer net? What is its general understanding?What are its strengths and weaknesses in comparison with other architectures? Readers would also understand why the theory of distributed hash table techniques is normally used to construct the distributed systems which are scalable and self- managing In the next part, the thesis presented the architecture and working principles of this above one Furthermore, feasible solutions to some challenges such as fair storage allocation among clients and most Internet attack security were also presented From that, readers would realize the remarkable advantages of this architecture comparing with the traditional hash tables These advantages consist of easy development of the applications and communicative capability over NAT or Firewall, whereas, it still makes use of most of the distributed hash tables’ strengths An illustrative application based on the above knowledge would demonstrate the theories which were presented in the previous parts Especially, this part also Mạc Văn Viên 121 Kỹ thuật bảng băm phân tán mạng ngang hàng: Giải pháp kiến trúc mở ứng dụng discussed the algorithm Multicast which is quite perfect and effective (in the author’s viewpoints) It would be the premise to the deep development of the other Multicast applications This issue is considered as an interesting topic in research and it has great capability of development in reality because it is based on an advanced architecture, effective algorithm and more importantly, it is studied by many researchers in the world The author has tried to present systematically all of my knowledge from concepts of peer-to-peer net to a specific application I hope that it will be useful reference materials to people who are interested in it Mạc Văn Viên 122 Kỹ thuật bảng băm phân tán mạng ngang hàng: Giải pháp kiến trúc mở ứng dụng TÀI LIỆU THAM KHẢO [1] OpenDHT http://opendht.org/ [2] Bamboo http://bamboo-dht.org/ [3] Gnutella http://www.gnutella.com [4] Napster http://www.napster.com [5] OceanStore http://oceanstore.cs.berkeley.edu/ [6] Ion Stoica, Daniel Adkins, Shelley Zhuang, Scott Shenker, and Sonesh Surana Internet indirection infrastructure [7] S Rhea, B Godfrey, B Karp, J Kubiatowicz, S Ratnasamy, S Shenker, I Stoica, and H Yu OpenDHT: a public DHT service and its uses [8] Charles Blake and Rodrigo Rodrigues High availability, scalable storage, dynamic peer networks: Pick two [9] A Demers, S Keshav, and S Shenker Analysis and simulation of a fair queuing algorithm [10] Frank Dabek A Distributed Hash Table [11] Ion Stoica, Robert Morris, David Karger, M Frans Kaashoek, and Hari Balakrishnan Chord: A scalable peer-to-peer lookup service for Internet applications [12] A Rowstron and P Druschel Pastry: Scalable, distributed object location and routing for large scale peer-to-peer systems [13] K Aberer, P Cudr´ e-Mauroux, A Datta, Z Despotovic, M Hauswirth, M Punceva, and R Schmidt P-Grid: a self-organizing structured P2P system [14] Ben Y Zhao, Ling Huang, Jeremy Stribling, Sean C Rhea, Anthony D Joseph, and John D Kubiatowicz Tapestry: A resilient global-scale overlay for service deployment [15] John Douceur The Sybil attack Mạc Văn Viên 123 Kỹ thuật bảng băm phân tán mạng ngang hàng: Giải pháp kiến trúc mở ứng dụng [16] Petar Maymounkov and David Mazieres Kademlia: A peer-to-peer information system based on the XOR metric [17] A Gupta, B Liskov, and R Rodrigues Efficient routing for peer-to-peer overlays [18] F Dabek, J Li, E Sit, J Robertson, M F Kaashoek, and R Morris Designing a DHT for low latency and high throughput [19] K Gummadi, R Gummadi, S Gribble, S Ratnasamy, S Shenker, and I Stoica The impact of DHT routing geometry on resilience and proximity [20] A Rowstron and P Druschel Storage management and caching in past, a large-scale, persistent peer-to-peer storage utility [21] M F Kaashoek and D R Karger Koorde: A Simple Degree-optimal Distributed Hash Table [22] Timothy Roscoe and Steven Hand Palimpsest: Soft-capacity storage for planetary scale services [23] Matthias Ruhl and David R Karger Simple efficient load balancing algorithms for peer-to-peer systems [24] Gupta, K Birman, P Linga, A Demers, and R van Renesse Kelips: Building an Efficient and Stable P2P DHT Through Increased Memory and Background Overhead [25] P Goyal, H.M Vin, and H Cheng Start-time fair queuing: A scheduling algorithm for integrated services packet switching networks [26] Zhou Hu NAT Traversal Techniques and Peer-to-Peer Applications Mạc Văn Viên 124 ... Viên 18 Kỹ thuật bảng băm phân tán mạng ngang hàng: Giải pháp kiến trúc mở ứng dụng 1.2 Tìm hiểu DHT- Bảng băm phân tán 1.2.1 DHT gì? Một bảng băm phân tán gì? tên cho thấy, bảng băm phân tán máy... ngang hàng: Giải pháp kiến trúc mở ứng dụng Mạc Văn Viên 43 Kỹ thuật bảng băm phân tán mạng ngang hàng: Giải pháp kiến trúc mở ứng dụng Hình 1.15 Minh họa cách chọn bảng định tuyến node Tapestry Hàng. .. nhập mạng khoảng thời gian put Lưu trữ liệu vào bảng băm get Truy cập liệu từ bảng băm Mạc Văn Viên Kỹ thuật bảng băm phân tán mạng ngang hàng: Giải pháp kiến trúc mở ứng dụng Phần I MẠNG NGANG HÀNG

Ngày đăng: 25/02/2021, 16:04

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w