Chương 1 trình bày các kiến thức nền tảng có liên đến việc nghiên cứu của luận án. Nội dung của chương này đề cập đến các vấn đề của mạng ngang hàng như khái niệm mạng ngang hàng, các đặc trưng của mạng ngang hàng, phân loại mạng ngang hàng, các ứng dụng trên mạng ngang hàng, bảng băm phân tán, giao thức mạng ngang hàng có cấu trúc Chord (đây là giao thức được sử dụng trong các nghiên của cứu luận án); Chương 2 trình bày thuật toán cân bằng tải trong mạng ngang hàng có cấu trúc. Nội dung của chương này giới thiệu tổng quan về cân bằng tải trong mạng ngang hàng có cấu trúc, đánh giá các nghiên cứu liên quan và đề xuất thuật toán cân bằng tải nâng cao tỷ lệ thành công các câu truy vấn qua đó nâng cao hiệu năng hoạt động của mạng ngang hàng có cấu trúc. Kết quả nghiên cứu của chương 2 được công bố trong công trình khoa học [V5].
Chương 3 trình bày thuật toán điều khiển tắc nghẽn trong mạng ngang hàng có cấu trúc. Nội dung của chương giới thiệu về điều khiển tắc nghẽn và một số nghiên cứu liên quan về điều khiển tắc nghẽn trong mạng ngang hàng có cấu trúc và đề xuất thuật toán điều khiển tắc nghẽn trong mạng ngang hàng có cấu trúc dựa trên cơ chế thay đổi bảng định tuyến của một nút để nâng cao tỷ lệ thành công của các câu truy vấn, qua đó nâng hiệu năng hoạt động của mạng ngang hàng có cấu trúc. Kết quả nghiên cứu của chương 3 được công bố trong công trình khoa học [V2]. Chương 4 trình bày thuật toán sao lưu dữ liệu đảm bảo tính sẵn sàng của dữ liệu trong mạng ngang hàng có cấu trúc.
Nội dung của chương giới thiệu khái quát về sao lưu dữ liệu trong mạng ngang hàng có cấu trúc, đánh giá các nghiên cứu liên quan về sao lưu dữ liệu từ đó đề xuất thuật toán sao lưu dữ 11 liệu nâng cao tính sẵn sàng của dữ liệu, qua đó hiệu năng hoạt động của mạng ngang hàng có cấu trúc. Kết quả nghiên cứu của chương 4 được công bố trong công trình khoa học [V1], [V3], [V4]. Phần kết luận đánh giá các kết quả đã đạt được, những hạn chế và hướng nghiên cứu tiếp theo. KIẾN THỨC NỀN TẢNG 1.
Mạng ngang hàng Với sự phát triển mạnh mẽ của Internet, kiến trúc mạng ngang hàng được quan tâm nghiên cứu, phát triển và đưa vào ứng dụng. Kiến trúc này thích hợp cho các hệ thống nhiều người dùng. Mạng ngang hàng ra đời cho phép người dùng tương tác và sử dụng các nội dung đa phương tiện như âm thanh, hình ảnh, video, v. Băng thông Internet được sử dụng bởi các ứng dụng mạng ngang hàng ngày càng tăng, đặc biệt với các ứng dụng chia sẻ tệp tin, các ứng dụng truyền hình, các ứng dụng game, v.
Con số này tăng lên rất nhanh khi ngày càng có nhiều các thiết bị cầm tay di động tham gia mạng với các kết nối internet tốc độ cao. Mạng ngang hàng được định nghĩa là một cấu trúc mạng phân tán, các thành phần tham gia (nút mạng) cùng nhau chia sẻ tài nguyên như năng lực xử lý, bộ nhớ lưu trữ, tốc độ đường truyền, v. Các tài nguyên chia sẻ tạo nên dịch vụ và nội dung chia sẻ trong mạng ngang hàng. Các nút mạng truy cập và sử dụng trực tiếp tài nguyên từ các nút khác mà không thông qua các nút trung gian.
Các nút tham gia mạng vừa đóng vai trò là nút cung cấp tài nguyên, vừa đóng vai trò là nút yêu cầu tài nguyên [4]. Mô hình mạng ngang hàng khác với mô hình khách/chủ bởi vai trò của các thành phần tham gia mạng. Mỗi thành phần trong mạng ngang hàng gọi là Servent (Server + Client). Tại mỗi thời điểm, một nút trong mạng vừa đóng vai trò máy chủ và vừa đóng vai trò máy khách.
Điều này khác với mô hình khách/chủ tại một thời điểm một nút tham gia chỉ có thể đóng vai trò là máy chủ hoặc vai trò máy khách. 13 Các mạng ngang hàng là các mạng ảo, được xây dựng trên đỉnh (top) các mạng vật lý, gồm tập hợp các nút mạng liên kết với nhau. Các nút mạng có sự khác nhau về băng thông đường truyền, tốc độ xử lý, bộ nhớ lưu trữ, dữ liệu chia sẻ, v. Các mạng ngang hàng có tính ổn định không cao.
Một nút tham gia và rời mạng một cách tự nhiên, không có thông báo trước. Khác với các hệ thống khách/chủ, mạng ngang hàng không có thành phần trung tâm để điều khiển, tổ chức, quản trị, duy trì hệ thống trong thời gian mạng hoạt động. Các nút tham gia tạo thành mạng phủ ảo mà không cần quan tâm đến vị trí địa lý. Đặc tính và mục đích thiết kế của mạng ngang hàng [3] phù hợp với nhiều ứng dụng trong thực tế.
Các đặc tính/mục đích đó bao gồm: - Truyền thông đối xứng (Symmetric communication): Các nút trong mạng ngang hàng có vai trò như nhau, cộng tác với nhau theo cùng một mục đích. Không có sự phân biệt giữa nút đóng vai trò là khách và nút đóng vai trò là chủ (nút phục vụ). Truyền thông giữa các nút là đối xứng, các nút tham gia mạng một cách tự nguyện. - Điều khiển phân tán (Decentralized control): Phân tán là một đặc tính quan trọng của mạng ngang hàng.
Mạng ngang hàng thuần túy không có thành phần trung tâm chứa thông tin về toàn bộ hệ thống để phục vụ quản lý và tổ chức mạng. - Tự tổ chức (Self-organizing): Các nút tham gia tự tổ chức thành một mạng thông qua quá trình tự khám phá. Trong mạng không tồn tại thư mục chứa thông tin các nút hoặc tài nguyên toàn bộ mạng. - Tính mạnh mẽ (Robustness): Các mạng ngang hàng có thể tạo ra một thuật toán ứng dụng mạnh mẽ, không bị ảnh hưởng bởi vấn đề điểm sự cố duy nhất như trong mô hình khách/chủ.
Các nút tham gia mạng chia sẻ tài nguyên 14 với các nút khác và vấn đề sự cố của một vài nút có thể tồn tại tuy nhiên nó không ảnh hưởng đến chức năng tổng thể của toàn hệ thống. - Khả năng mở rộng (Scalability): Tài nguyên trong mạng ngang hàng được cung cấp bởi tất cả các nút tham gia mạng do đó mạng ngang hàng có khả năng mở rộng cao. - Ẩn danh (Anonymity): khác với mô hình khách/chủ, kiến trúc mạng ngang hàng có thể giúp cho các nút tham gia có tính riêng tư. Ứng dụng mạng ngang hàng Mạng ngang hàng được sử dụng nhiều cho việc phân phối nội dung dựa trên các mạng khác nhau.
Kiến trúc này không chỉ được dùng để xây dựng ứng dụng phân phối, chia sẻ tệp tin mà còn được dùng để phát triển một số lượng lớn các ứng dụng khác. Phần này trình bày tóm tắt về các ứng dụng của mạng ngang hàng. Phân phối nội dung dựa trên mạng ngang hàng Mục tiêu chính trong việc thiết kế kiến trúc mạng ngang hàng là hỗ trợ phân phối nội dung giữa cộng đồng người sử dụng và làm giảm tải trên các máy chủ trung tâm. Tuy nhiên mỗi hệ thống lại có vai trò và cách thức chia sẻ nội dung khác nhau.
Các ứng dụng tiêu biểu cho phân phối nội dung bao gồm: KaZaA, Morpheus, Napster, eDonkey/eMule, Akamai, BitTorrent. Mỗi nút trong hệ thống là một kho nội dung phân tán để phân phối và chia sẻ nội dung cho các nút khác. Việc truy cập nội dung được kiểm soát chặt chẽ và chỉ có nút được cấp quyền mới có thể truy cập được nội dung. Tính phổ biến của các ứng dụng này đã thay thế hệ thống chia sẻ nội dung sử dụng máy chủ chuyên dùng và nâng cao khả năng mở rộng mạng cho vấn đề phân phối nội dung.
Các hệ thống chia sẻ nội dung chú trọng vào nâng cao tính bảo mật để hạn chế các truy cập trái phép đến nội dung chia sẻ. 15 Truyền thông đa phương tiện thời gian thực là một lĩnh vực chia sẻ nội dung phổ biến khác dựa trên mạng ngang hàng. Đã có nhiều nghiên cứu đưa ra các giải pháp cho truyền thông đa phương tiện qua mạng ngang hàng. Một số kiến trúc được đề xuất để giải quyết các vấn đề như quản lý nút, tính mạnh mẽ của hệ thống, khả năng thích ứng của hệ thống đối với tính ổn định của các nút và chất lượng dịch vụ (QoS) để truyền thời gian thực hiệu quả qua mạng ngang hàng.
Các kiến trúc phổ biến cho truyền thông đa phương tiện bao gồm: CoopNet, SpreadIt, ZIGZAG, PALS. IPTV là một dịch vụ mới dựa trên mạng ngang hàng trong lĩnh vực truyền thông đa phương tiện thời gian thực. IPTV cung cấp dịch vụ truyền tải Video theo yêu cầu (VoD). Các ứng dụng đặc trưng của IPTV bao gồm TVUPlayer, Joost, CoolStreaming, Cybersky-TV, TVants, PPLive, LiveStation, GridMedia, và iGridMedia.
Truyền thông dựa trên mạng ngang hàng Kiến trúc mạng ngang hàng được sử dụng rộng rãi để xây dựng nhiều ứng dụng truyền thông khác nhau. Các ứng dụng này cung cấp cơ sở hạ tầng cho các nút cộng tác, truyền thông thời gian thực và trực tiếp với nhau, điển hình như một số ứng dụng: Skype, AOL, AIM, ICQ, Yahoo, MSN, NetNews và Jabber. Xử lý và tính toán phân tán dựa trên mạng ngang hàng Ý tưởng phía sau các ứng dụng xử lý và tính toán phân tán là dựa trên kiến trúc của mạng ngang hàng để phối hợp sức mạnh xử lý có sẵn (khả năng CPU) của mỗi nút. Trong hệ thống xử lý và tính toán phân tán, nhiệm vụ tính toán ban đầu được chia thành nhiệm vụ nhỏ hơn, các nhiệm vụ nhỏ được gán cho các nút khác nhau xử lý và sau đó kết quả được tổng hợp lại.
Trong tính toán, cần có sự kiểm soát tập trung cho việc phối hợp và đồng bộ hóa giữa các 16 nút. Kiến trúc mạng ngang hàng cho phép con người có thể sử dụng các máy tính cá nhân để xử lý một bài toán dành cho siêu máy tính với chi phí thấp. Seti@Home[23] và Genome@Home [24] là những ứng dụng xử lý phân tán phổ biến. SETI @Home gán công việc cho các máy tính nhàn rỗi thông qua một chương trình điều khiển.
Trong hệ thống cần một máy chủ trung tâm để duy trì thông tin của tất cả các nút. Mỗi công việc cần thời gian khoảng để xử lý, tuy nhiên dữ liệu truyền có kích thước không lớn, đường truyền được sử dụng không thường xuyên. SETI@Home sử dụng phổ biến cho nhiều dự án tính toán khoa học trong đó có tin sinh học, dự báo thời tiết, v. Hệ thống có khả năng mở rộng cao tuy nhiên nó không cung cấp nền tảng chung cho các ứng dụng khác.