Sự phong phú của các hoat hiện có đẳng nghữa với việc các mô hình sử dụng không: liên tục bởi các host riêng, lẻ không ánh lưởng dễn sự tồn tại phố biển của các file: thông thường có
Trang 1
BO GIAO DUC VA BAO TAO
NGUYVÉN HOÀI ĐỨC
MULTICAST VA GIAI PIIAP TRIEN KIIAT DICTI VU IPTV
TROXG MANG CUA VNPT
LUẬN VĂN THẠC SĨ KHOA HỌC Chuyên ngành - Điện tử viễn thông
NGƯỜI HƯỚNG DÂN KHOA HỌC
NGUYEN VO THANG
Hà Nội — 2007
Trang 2
1.1 Các hệ thông chảa sẽ file giải quyết các vẫn để gì?
1.2 _ Các nhược điểm của các hệ thống chia sẽ file
12.3 Các cộng đồng bị phân chỉa seesseceeeecrrreeee f
143 Mur dich
14 Phuong phip
15 — Những đồng góp
Trang 3151 Cải thiện lim kiếm - - - 9
152 Đơngiảnhóa việc tạo và đò tim công đồng - 10
223 Các cộng đỒng à ie Bia e5)
224 Tim kiểm các hệ thông trung tâm cục hộ - 29
Trang 4243 Các hệ thông c6 cau trie - - - AB
244 Mặc danh và việc
2⁄5 Kết luậi
2.5.1 Các yếu điểm của các phương thúc tìm kiểm đã có 53
25.2 Khó khăn trong việc tạo và đò tìm các cộng đồng, - -4
253 Lỷ dotim kiểm và vẫn để các công đồng - 56 CHUONG 3 KHÁI NIỆM VE CONG BONG CHIA SE FILE
Trang 5
4.2 Tổng quan
4.3 Các lược đỗ và việc lựa chọn lược đỗ XML
44° Metadata được cái tiễn
4.5 _ Thiết kế bộ tương thích Web: tìm kiểm cải tiễn
Trang 6A _ PHỤ LỤC: SƠ LƯỢC VẺ LƯỢC ĐÔ XML
Trang 7DANH MỤC CÁC TỪ VIẾT TAT
‘Te viet tit Tên tiếng Anh
Anrerican Standard Code lor
Information Interchange
Content-Addressable Network
Common Management
Information Protocol
Distributed Hash Tables
Document ‘'ype Definition
Fault-tolerant, Adaptive, Scalable,
Distributed
Tđenufy
Object Oriented Programming Peer Discovery Protocol
Resource Description Framework
Searching and Sharing-Peer to
Peer
‘Time to Live
Lxtensible Markup Language
Uniform Resource Locator Extensible Stylesheet Language Transformations
Tên tiếng Việt
Giao diện lập trình ứng dụng
Chuẩn mã trao dỗi thông tin Hoa Ki
Mạng định địa chỉ nội đưng
Giao thức thông tin quản lý chung Các bảng băm phân tán
Lược dỗ định loại văn bản
TIệ thông chịu lỗi, tương thích, khả
trién, va phan tan
kiểm va chia sé dit liga
'Thời gian tốn tại giới hạn
Ngôn ngữ đánh đầu mở rộng,
Địa chỉ định vị tài nguyên Chuyển đối ngôn ngữ mẫu mở rộng
Trang 8DANH MỤC GÁC HÌNH VE
Hình 1: BO tri bên trơng cũn File được đỉnh thẻ ID3vi [Nilson00]
Hinh 2: Mô hình JxtaSearclh is 2c vn nhọn HH He rước
Hình 3 Ví đụ không gim truy vẫn toxt đổi với các lãi liệu về “SN8-PAP”
Hình 4: Mô hình mạng ngang hàng lai
Tình 5: Mô hình Gnulslfa (Không lập trung)
Hình 6: Hai phương pháp định tuyến truy vẫn S oS S222
Tinh 7: Mô hinh Alpine
Hình §: Mô hình Pccr-lo-pcer liên kết
Linh 9: Tim kign vs Cục bộ
Hình 10: Đình luyển Iruy vẫn FASD
Hình 11: Loại file hé tro wong Kazaa va Limewire
Hình 12: Mô hình Superpcer
Hình L3: Tìm kiếm theo khóa Chơnd dnHrrerhererreirorrroe
TTỉnh 14: Cầu trúc clamg của mô hình đối model [Cointe87]
Hình 15: Mỗi quan hệ giữa các công đồng và các ls s nierie TTỉnh 16: Lược đỗ đơn giản cho các cộng đồng
Hình L7: Truyền thông giữa các client SNS-P2P con eroeeoisrre
Ifink 18: A schema for the "mp3-nap" cornmunity
Hinh 19: An XML file described by the "mp3-nap” seliema -.ccoc is
Hình 20: So sánh SS-P2P với :nô hình tương tác người ding hiện có
Trang 9Hình 21: Mội lược đồ đơn giản - - - 71?
Tĩình 23: Vai trở của XSI, trơng SN8-P2P - 79 Hình 24: Việc tạo ra giao diện tạo mới tử một lược đỗ XML BŨ
Hình 25: Việc tạo ra giao điện hiển thị tử một trường lợp XMI, §I Hình 26: Một lược đỗ cho các công đồng (conmnunity.xsđ) 2- 83)
Hình 27: Cộng đông gốc (eơmmrumiiy.xmÌ) - #4
Hình 2§: File cộng dễng cho cộng đồng “mp3-nap” eccceseeooe BỐ
Hình 30: Các ID nguẻn trong 8N§-P2P ào seereeeeesreesoooeoe Ố Hình 31: Cáo tương tác với nơi lưu rữ series Đ2 Hình 32: Các tương tác với bộ tương thích mạng seo, 100
Hình 34: Trinh tu bin tin tim kiếm - 103
Hình 35: Stamps xsd —Luoc dé cho céng ding Stamp Error! Bookmark not defined
Figure 36: defaull-resourco-creale.xsl: Stylcshcot ruặc định cho việc tạo form Eerort
Bookmark not defined
Tinh 37: Đầu ra ITTML của create jyp duoc tra tai tinh duyét Errer! Baokmark not
defined
1ĩỉnh 38: Lược đỗ lớp cho WzbAdapter và việc thục thi [Arthome02d] Error! Bookmark
not defined.
Trang 10Hình 39: Vai trò của Servicls vi ISPs trong SNS-P2P [Arthome02d] Error! Bapkrnari
not defined
THỉnh 40: Cầu trúc đữ liệu bền Irong đối với việc giải quyét cic TDs tai nguyén Eerort
Bookmark not defined
Hink 41: C4u trite dit ligu bên trong cho các file cuc bd trang server trung tâm Error†
Bookmark not defined
Hình 42: Vai trỏ của DownloadServlet và các thành phân Database Viewer ERror!
Bookmark not defined
Hình 43: Lược để lớp cho nơi hmu trữ việc và việc thực thí [Aztharne02đ] Errort
Bookmark not defined
Hình 44: Sơ đỗ lớp cho PeerXetworkA dapler và thực thủ [Arthorne02d|, Error†
Bookmark not defined
Hình 45: Ví du về bản tin SearchRedusst Error! Boolanark: nai defincd
Hình 46: Vi dụ bản tìn ScarchRcsponse với cac két qui .Errort Bookmark nat defined Hinh 47: Vi du ban tin SearchResponse khong cé két qui Krror! Bookmark not defined Hình 48: Vi dy bin tin RegisterRequest (dang ki kha tio) _ Error! Buokmark not
Trang 11Hình 52: Ví dụ bản lin RcgisterRospons (tài nguyên xác định) Errar! Baokmark not
defined
Think 53: Vi dụ bản tin Register Response (cac tai nguyén lowi bavtai ding i) Eerort
Bookmark not defined
Hinh 54: Thời gian công bỗ mốt phải nghịch đảo với số file Error! Bookmark not
defined
Lfinh 55: Thời gian công bỏ tích lũy - Krror! Bookmark nat defined
Hình 56: Các hoạt động liên quan dần việc công bỏ một file Error! Bookmark not
defined
Hình 57: Thời gian xử lý tải nguyén & client nghich dio véi sé file Error! Bookmark
not defined
Hình 58: Thời gian đễ lưu trữ tài nguyên vào cơ sở dữ liệu clicnt nghich dio voi số Blc
soe Error! Bookmark not defined
Hình 59: Thời gian để công khai từ ChenL tới 8erver ti lệ nghịch với số file Errort
Bookmark not defined
Hình 60: Trình lự bản lim cũng khai Error! Bookmark nat defined
Hinh 61: Théi gian dé tim kiém tai nguyén Server ti 18 nghich voi sé file Error!
Bookmark nai defined
Hình 62: Thời gian để lưu trữ vào cơ sở đữ liệu Server tỉ lệ nghich với số file Error!
Bookmark not defined
Hình 63: So sảnh tổng thời gian công khai và thời gian cho các hoạt động server Error†
Bookmark not defined.
Trang 12Hình 64: Thời gian im kiếm với số file cô định Error! Bookmark nat defined
Hình 65: Théi gian tim kiém ti 1é nghich véi sé file Error! Bookmark not defined
Hinh 66: Các hoại động Tiên đến việc tim kiểm một file Error Boolanark nat defined
Hình 67: Thời gian tim kiếm DB của server so với với tổng thời tìm kiếm Error†
Bookmark not defined
Hình 68: Thời gian công khai với sự hiện diện công đồng Error! Bookmark net defined
Hình 69: Tác động của các cộng đông khác đồn thời gian thêm filzfrrer! Baokmark not
Trang 13DANH MỤC CÁC BẰNG
Bảng 1: Tóm lược các phương pháp đã có đổi với cáo công dông 4
Bảng 2: Các đặc tỉnh máy chủ Error! Bookmark net defined.
Trang 14MỞ ĐÀU
Hai lời khuyên cúa tôi đến những ai đang bắt tay vào luận văn thạc sỹ niên đọc rộng trước
khi lỗ chức và ghí lại một cách đều đặn, sau đó tôm lược nữữing thứ nhận thức được lừ đó
và những công việc gần nhất Người hưởng dẫn làm cho bạn có thể lọc ra được Ý tưỡng
của bạn Sau đỏ sẽ đơn gian hoa rat nhiên nhiệm vụ viết luận văn cười cùng Đổi với
những hiểu biết này và nhiều thứ khác, tôi phải cảm ơn người hướng đẫn tôi, Tiền sỹ
Nguyễn Hữu Thanh Đóng góp của thầy đối với đồ án này là không thé được đánh gia
thập: SX§-P2P là một sản phẩm được tạo ra dựa trên ý tưởng của thấy, với sự hưởng dẫn
nhiệt huyết suốt quá trình trao đổi
Trang 15CHƯƠNG1 GIỚI THIẾU
1.1 Các hệ thống chia sẻ file giải quyết các van dé gi?
Có thể nói các hệ thông chủa sẻ dữ liệu phải xử lý rất nhiều vẫn dễ mà chúng ta
không nhận thây Ví du, lam thé nao đề có thế truy nhập đữ liệu suốt 2⁄4 giờ hay
lam sao tim ra không gian lưu trít hàng triệu ñÏe hoặc giảm tải trên các máy chủ
Giải pháp cho tất cá các vấn dễ trên sẽ mang, lại thuận lợi cho hang ngàn may tính
PC dang được xem ở “tình trạng cập bách của Internet”
Lượng thêng tin có nhiệm vụ chuyển từ các máy chú - máy tính có cầu hinh mạnh
với ö cứng dung lượng lớn và cáo bộ vi xử lý cao đến các PC client cầu hình kém
hen Tuy nhiền các máy tình ở biển Internet cũng có các Š cửng dung lượng lớn,
bộ vi xử lý mạnh, và việc truy nhập intemet băng rộng của nhiều máy tính đó phd biển là có băng thông rộng Sự kết hợp rày đồng nghĩa với việc các máy tính ở
biên phải dược trang bị tốt để tự chủng trỏ thành các máy chủ
Napster [Napstcr02| được xen nhụ khởi đâu van đề bằng việc chuyển mỗi mây tính cấu hình mạnh thành các mảy chủ Napster kết nói tất cả các mày chủ này
thành một siêu máy chủ không 16 với bang thông và không gian luu trữ rồng Tính
phỏ biển của chúng không thể tách rời tỉnh phổ biển của dịnh dạng âm thanh MP3 MP3 đánh dâu một điểm nhân mang tỉnh quy mô và chất lượng: người sử dụng có thể tải một bài hát có chất lượng CD trong khoảng vài phút đến vải giây tuỳ thuộc vào chất lượng kết nổi của chúng
Trang 16Napster cho phép người đũng kết nói với nhau đế mang lại hiệu quã cao hơn Sự
phong phú của các hoat hiện có đẳng nghữa với việc các mô hình sử dụng không:
liên tục bởi các host riêng, lẻ không ánh lưởng dễn sự tồn tại phố biển của các file: thông thường có một vài người truy nhập trực tuyến các file mà bạn muốn Ngoài
ra, ti của mạng giảm vì tốc độ tải tốt nhát từ người sử dụng ở gần bạn trên mạng Vượt trên hàng ngắn người sử dựng mang một máy chú đơn đến điểm nói, yêu cầu được cân bằng trên các nút hưu giữ bản sao của các file Và mỗi lản tải thành céng
sẽ thêm các host khác vào danh sách
Việc hợp nhất mỗi trường chía sẽ dữ liệu Napster phân nhô thành vô số các ứng dụng khác nhau Những ủng đụng phát sinh này sẽ là câu trả lời cho một vải điểm
yéu ctia Napster, quan trọng nhật là điểm lỗi trung tâm được miền tả nhờ có một
máy chủ tìng tâm lưu giữ cơ sở đữ liệu của các lilo và vị trí của chúng Các hệ
thống cũng mớ rộng cao file vốn có thánh hình ánh, tài liệu, Kgảy nay, thể giới
chúa sẽ dữ liệu là sinh động mặc đủ có thuê Napster Nó sẽ di chuyển xa khôi các
van dé ban dâu về sự không tính vị, cân bằng tải và không gian lưu trữ thành một loạt các van đề mới nảy sinh từ thành công to lớn của nó
1.2 Các nhược điểm của các hệ thông chia sé file
Napster béc 16 rat nhiéu nhược điểm với phương pháp tập trưng Gnutella [Kan01]
là một đáp ứng bản năng mang lại phương pháp dối lập với việc loại bố hoàn toàn thất cứ sự kiểm soát tập trung nào Cáo ứng đụng chỉa sẻ đữ liệu khác chiếm giữ vị trí giữa mà ở đỏ các máy tỉnh có cầu lảnh cực mạnh có thể trở nên cân bằng hơn các máy khác hình thành kiểu phản cấp các nút treenet[ClarkeO0] thực hiện phương pháp phí tập trung cũng như chú trọng vảo việc chẳng lại sự kiếm duyệt
và nặc đanh mà lá một phần yếu điểm của các hệ thống khác Ở đây, chúng ta thảo luận vải điểm yếu của các hệ thông chia sẻ đữ liệu liên quan đến đỏ án này,
2
Trang 171.2.1 Tìm kiếm không đầy đú
Napster đựa vào hai trường đơn giản, “artist” và “tife”, như là thẻ xác định về nội dung của dữ liệu Các trường nảy thường được so sảnh với các tên file dễ tỉm ra sự
phủ hợp [Donfest01] 'Tên file, mặc di được tạo và hiểu một cách đơn giản nhưng
khéng phai la nguén metadata higu quả nhật Vài vân đề cơ bản đối với tên file là
không gian bị giới hạn và thiểu cầu trúc
Trái với điều này là khả năng tìm kiếm meladala đối với các định dạng âm lhanh
và hình ảnh trong các hệ thông chia sé dit ligu gan day nhu Kazaa |Kazza03| va Limewire [Limewire03] Cac hé théng nay cho phép người sử đựng xắc định rõ từ
then chốt cho các thuộc Lính riêng biệt của các file nb 1a “artist” va “title”, Khong
may là đối với các định dạng, ít được biết đến thi việc tìm kiếm tên file vẫn là mặc
định Thậm chí đôi với các loại phá biên như MD3 thì không thế tìm được thông
tin quan trong,
1.2.2, Gidi ban cdc dinh dang ph bién
Napster xac dinh yêu cau của một công đồng đặc trưng: mọi người cimg chia sé
cae file am thanh MP3 Kế từ đó, việu hỗ trợ các định đựng khác được thêm vào
trong các ứng đụng liên tiếp: hình ảnh, ứng dụng, tranh, Thiểu may mắn là cáo nhà thiết kế ứng dụng kiểm soát danh sách các định dạng được hỗ trợ Ngày nay không thể tạo ra cộng dòng một cách nhanh chóng nhằm chia sẻ các dịnh dạng
ngoài danh sách nhó bé này
Các ứng đụng như Napster và Kazaa rõ ràng hỗ trợ một vải định đang khác nhau nhưng không thể để dàng được mớ rộng để hỗ trợ các định dạng mới Sự hiểu biết
Trang 18vẻ các định đạng này được gán vào các ứng dựng và các định dang mdi ca thé được thêm vào chỉ bằng cách thay đổi mã nguồn,
Các chương trình chia sẻ đữ liệu như Limewire về mặt kỹ thuật cho phép chia sẽ
bắt cứ loại file nao Limewire hồ trợ việc tìm kiém metadata déi với danh sách các
định dạng, đặc trưng nhưng vẫn dựa vào việc tìm kiếm tên file Việc không đủ khá
năng mở rộng từn kiểm metadata với các định đạng mới cũng là rào cản
1.3 Mục dich
Đổ án nảy dưa ra một khung ứng dụng mới lạ gợi la Ngang hang pho bién- Searching and Sharing Peer-to-Peer (SNS-D2T) tập trimg vào những nhược điểm
trong các hệ thóng chia sẽ đữ liệu dã được trình bảy ở trên Có hai mục tiêu chính:
1 Cải thiện khả năng tim kiểm trong các hệ thông chia sẽ dữ liệu ngang hàng,
2 Vide tao va tim kiểm các cảng đồng chia sẻ dữ liệu mới sẽ dé dang hơn
Sử dụng metadafa cỏ cầu trủc chỉnh lả nẻn táng chỉnh cho cá hai mục tiểu trên
4
Trang 19SNS-P2P chỉ rõ một lớp meladala có thế được thực hiện đầu tiên ủa cơ số lạ tầng: mạng ngang hang No lam cho viée tao metadata dé dang va dam bảo rằng metadata tuan theo mét c4u trac mong mudn 14 mét phan quan trong trong việc
tìm kiến metadata SNS-P2P cải thiên việc tìm kiếm nhờ dưa ra metadata và xứ lý
một loạt các truy vẫn metadata Muc tiéu đầu tiền cúa vẫn đề cải thiện việc tìm
kiêm metadata là điều kiện tiên quyết cho mục tiêu thứ hai, đơn giản hóa việc tạo
và chia sẻ cộng đồng Việc gái thiện năng lực tùn kiếm theo cách khỏng phụ thuộc vào định dạng làm giảm rào căn chơ việc tạo cộng đồng
1.4 Phương pháp
Cúc mục tiêu của văn đề cất thiện việc tìm kiểm và đơn giản hóa việc lạo và đò
tim cộng đồng đạt được qua một vài phương pháp cơ bản
1.4.1 Cái thiện việc fìm kiểm
sẽ dữ liệu Trong SNS-P2P, inetadata dành cho các le có định dạng bắt kỳ có thé
được dọc bằng cách sử dụng các kỹ thuật chuẩn hóa Không cỏ yếu cầu nhằm thực hiện phân mềm theo yêu cầu khách hàng để trích metadata từ mỗi một định dang mới Kết quả này có thế tầng khả nắng tìm kiếm metadala với một loại các định
dang file.
Trang 20Điều này thu được nhờ sử dụng các lile XMT, Thay vi vide tar dung cde [ile nhị phân, tất cả các file dược “đóng, gói” dưới dạng XML, Các Ble nhị phân dược dua
vào như là các đường kết nỗi Mietađata XML, được lưu trữ trong cơ sở dữ liệu va được sơ sảnh dễ cung cấp khả năng tìm kiếm nâng cao cho tất cả các file trong cộng đồng, Từ các ủng dụng đã tồn tai, SNS-P2P chí có thể đổi thánh dạng
“xml” Nhưng một định dạng này là không đủ để thể hiện bắt cứ định dang nao
Sử dụng các lược đỗ
Lược đồ xác định câu trúc của tất cả các ñle XML được chia sẻ trong SNS-P2P Lược đồ được định rõ là sử dụng ngôn ngũ lược để XML chuẩn hóa[W3C01] Mỗi lược đỗ chí rỡ tất cá các trường được đưa ra dưới dạng file XML và các kiểu
đử liệu của chímg Thông tin này là cơ bản để cải thién chat hmong tim kiếm
rước tiên, cỏ thể sử dụng lược đỗ nhằm tự động tạo một giao diện dễ nhập metadata đối với các file mới Điểu này không đâm bảa rằng sẽ nhập điợc
xnetadatz nhưng nẻu không có nó thì gân như sẽ không cỏ cơ hội nhập metadata
Giãn đồ này cũng có thể được sử dụng đảm báo rằng các file là thích hợp giảm khả năng meladata không đúng đạng Cuối cùng, giản đồ có thể được sử dụng nhằm tự động tạo giao diện cho việc tim kiém metadata, cho phép người sử dụng tận đụng được mefadata sẵn có để thực hiện mục tiêu tim kiểm một cách có hiệu
quả
Việc sử dụng định dạng “'text'” chuẩn hỏa làm cho người sử dụng 4é dàng xác
định được định đạng của chính họ Mỗi định đạng đói hỏi một phân mềm tuỷ theo
yêu cầu vita khách hàng, thay vì sử đụng cùng thuật loàn đề thực hiện chúng,
Trang 211.4.2 Don giản việc tạo vả dò tìm cộng đồng
lựa chọn một giao thức và sau de thực hiện với các định dạng được hỗ
Chúng ta nhận thấy các cộng dồng chia sẽ dữ liệu dưới dạng, dơn giản nhật như là một tập (định dạng, giao thức) Nhờ định dạng, chúng ta xác định metadata có cầu trúc cũng như nhị phân trở nên hiệu quả, mỗi công đông chia sẻ dữ liệu hễ trợ việc
tim kiém nuetadata Nhờ giao thức, chứng ta xác định phương thức mà câu béi va trả lời được trao đổi giữa các nút Dịnh đạng và giao thúc là trực giao và có thế
của sẽ cùng định dạng trên tất cả các giao thức khác Trái với các kết quả đã thu
được mà ở đó định dang kém quan trọng hơn giao thức Không thể tạo ra các cộng déng duy nhất từ các ứng đụng nguyên khôi Không thể tải sử dụng cơ sở hạ tầng
mang ngàng hàng với một vải định dạng không được gán vào ứng dụng Giải thích
cho ÿ tưởng tập, khia cạnh “giao thủc” có thể được phân thành các thuộc tính như
tổ chứu mạng, nặc danh, mã hóa, và chứng thực
Khái niệm cộng đồng như một tập (định dang, giao thúc) có thé được kết hợp
thành một ứng dụng đặc biệt chủ yêu là dơn giản hóa việc tạo các công dồng chia
sẻ dữ liệu
Định dạng XMTL cho các cộng đẳng
^
Trang 22Việc thiết kế giải quyết vẫn đề các mg dụng chứa sẻ dữ liệu phổ biển không được
đưa ra cho người sử đựng Thay vì đỏ, chúng được nhúng vào mã ứng dụng, Việc
cho phêp người sử địng tao các công đồng của chính họ đời hồi đưa ra các quyết dinh và cho phép chúng trở thành đặc trưng SNS-P2P dua ra một lược dỗ sắp xép các trường mà công déng bao hàm, Lược đỏ dối với các công đồng chỉ ra một dịnh dang chuẩn (viết dưới dạng XML) cho các file của cộng đồng SN5-P2P Phương thức xác định cộng đồng này mở rộng hơn đổi với người sử dựng — cho phép các công đồng đã tốn tại được sắp xếp lại hoặc ca thé dé dang tao các công đồng mới
Ngoài ra, các đáp ứng được tạo bên ngoài ứng dựng - thay vi mã hóa cửng chúng, riên ứng dụng phổi dược lãm sảng tô và mình chứng chơ cáo đáp ứng đó
Các cộng dồng là các dối tượng
Ý tưởng về cộng đồng trong các ứng dụng đã tổn tại đơm giản là một ý tưởng Viée tao một công dồng xuới là vẫn đẻ thiết kế phần mềm Việc tim kiếm cộng
đồng liên quan đến việc trao đổi với bạn bè, hoặc đọc các bán tin mà dịch vụ là tốt
nhật Y tưởng được thực hiện một cách cụ thế băng cách diễn đạt cộng đồng nhĩ mél file XML Mat [ile e6 thể được thực biện bằng tay nha may lính để đồng hơn xuột ý tưởng,
Ý tưởng công déng la cae ddi Lượng chính là chủa khóa của việc thủ kiếm công
đồng SN8-E2P, Rốt cuộc, công đồng SNS-P2P lả các ứng dụng chia sẽ dữ liệu với
khả năng tìm kiếm va tai các file Như là một đối tượng, cộng đẳng có
8
Trang 23dụng từ củng cơ sở hạ tầng mạng Việc tìm kiểm một cộng đẳng đôi hỏi mô tá
cộng đồng mà ban tim kiểm và gửi việc tìm kiếm tới các nút khác trong mạng
1.8.1 Cải thiện tìm kiếm
SNS-P2P cái thiện việc thực thi ý tưởng trên trong các hệ thống chúa sẻ đữ liệu
bang cach dem viée tim kiểm metadata đến một dãi dụnh dạng rộng hơn Trong các img dụng đã tổn tại thi nói chưng khỏ có khá năng cưng cấp các định dang file
không phó biên Điều nay cho thấy một rào cân đối với việc sử dụng chia sẻ đữ liệu ngang hàng đối với một loạt ứng dung rộng rãi Điểm chính của việc cung cấp
các khả năng tìm kiếm được cải thiện mà không cẩn có việc điều khiển tủy biển
cho mỗi định dạng file chính là một lớp metadats chuẩn,
Lớp metadata chuẩn
Trang 24Việc sử đụng các lược để để xác định các định dang được yêu cầu bởi tật cả cộng
đống SNS-P2P Từ giản để, SNS-P2P co thể tạo ra một ứng đụng Vi giản dé
mang thông tin về dữ liệu nào duge trinh bảy trong file nẻn nỏ được sử dụng cho
cả việc tao và tim kiếm Khi tạo một file mới, SNS-P2P có thể nhắc các trường bắt buộc dé tao một file mới, hoặc sử dụng giản dỗ để làm cho mét file da tan tại có hiệu lực Khi tìm kiếm, SNS-P2P cưng cấp thông tin tìm kiếm về những trường sẵn có để tìm Điều nảy được thực hiện bởi cơ sở đữ liêu có khả năng thực hiện câu trả lời phức tạp về metadata có cầu trúc Tắt cả các chức năng nảy có thẻ dược tạo cho bái cứ giản đỗ nào được viết theo định đạng chuẩn
Chức nẵng này tạo thành một lớp metadata chuẩn do nó không phụ thuộc váo giao thức ngang hảng lớp dưới Như đã tháo luận phía trước, danh sách các định dạng (được hễ trợ băng việc tìm kiếm metađata) thường được quyết định bởi sự hưa chon giao thie Lap metadata SNS-P2P có thể được thực hiện đầu tiên trước các giao thức cho phép bai thông số của chúng biển đổi độc lập nhau
1.8.2 Đơn giản hớn việc tạo và dỏ tìm cộng đồng
Cải thiện việc tìm kiểm đã được mô tả ỡ trên là điều kiện tiên đề cho nhân tỏ thứ
hai: đơn giản hóa việc tạo và tìm kiếm công đồng Các công đồng SKS-T2P là tập duy nhất (định đang, giao thức, ) Định dạng (ví dụ, giân đổ) cho phép mỗi công, đồng cung cấp các dịch vụ cho việc tạo và tìm kiếm các Ble Khả năng nảy là có
Trang 25thé được bản đến nêu người sử đụng không thể tạo va tim kiém quan trong hon
cáo công, đẳng khác nhau
Các cộng đồng được thiết kế cho người dùng
SNS-P2P Ja mét co cầu hợp nhất cho phép bất cứ người nào thiết kế công ding
Khía cạnh này xác dịnh một công dồng hoạt đồng dược lách riêng
'Mội cộng đẳng dành cho vic cậng đồng
Các cộng đông SNS-E2P là các file Điều nảy tạo ra cơ hội chữa sẻ cộng dòng giữa những người sử dụng Khi tắt cả các định nghĩa về cộng đồng được tạo trong củng
cơ câu, người sử đụng có thế dé dàng tim thấy các cộng đồng được tạo bởi các
người sử dụng kháe Kết quã mang tỉnh cần trúc của SNS-P2P đơn giãn hóa rất
nhiều nhiềm vụ lầu kiểm công đồng Một giần đỗ chuẩn hỏa miêu tâ cấu trủc của mỗi cộng đồng Điều này cho phép các công đồng được so sánh và được tìm theo các tiêu chuẩn biến đổi Liễu này đơn gián hơn phương thức ød-hoe (0t mào đầu, các tìm kiếm web) duge ding dé tim kiếm ngày nay,
Trang 26Iiệu năng vả các lợi ích khả triển
Việc tim kiêm trong oác mạng ngang hảng có thẻ khá tổn kém đo số lượng đổi
tượng và nút liên quan Kiểu ngang hàng tập trung đổi hồi cơ sở đữ liệu lớn để duy trì thông tia về nơi các dối tượng được lưu trữ Kiểu phân tán dung hòa giữa yếu tổ kích thước cơ sở đữ liêu với các yêu cầu phải truy vẫn nhiều nút Các cong déng đưa ra phương thức lả chia phan các nguồn tài nguồn một cách thông minh Nghiên cửu hẹp công đồng giảm tải đối với các nguên tải nguyên bên ngoài cộng đồng mà không ảnh hưởng đến chất lượng của kế: quả Kết quả này mang lại khả năng tìm kiểm tối hơn và cho phép các công đông tăng quy mô sử đụng các nguồn
tải nguyên và các núi hơn chúng có thể,
1.6 Tông quan luận văn
Đổ án này dại thể được chia thánh các phản như sau: phan giới thiêu, Mô tả ý tưởng, thiết kế và ước lượng hiệu năng, Phần nảy bao gồm phân mé đầu Phần tiếp theo trình bày chỉ tiết về việc nghiên cửu trường trong các hệ thong chia sé file di
12
Trang 27SNS-T2P Kién trúc và thiết kế các thành phản chính của SNS-P2P được đưa ra
cững như các thách thức nảy sinh
Phân cuối cùng là đánh giá hiệu năng của ứmg dụng SNS-P2P Các yêu cẩu can thiết đối với phương pháp chính được thảo luận Việc giải thích các quá trình được
sử dụng dé đánh giá phương pháp sau việc thảo hiận các kết quả Kết luận tôm Lắt
và hưởng phát triển nghiên cửu trong tương li cũng được đẻ cập đến trong đồ án
Trang 28Chương? — MÔ TẢ Ỷ TƯỞNG
2.1 Giới thiệu
Việc nghiên cứu chúa sẽ dữ liệu ngang bàng dang lrải qua giải doạn bùng nổ tích
cực trong vài năm qua Có nhiều phần quan trạng nhưng ở đây tôi sẽ tập trung vào
các phương pháp cải hign vide tim kiểm và gác ứng đụng hiện có hỗ lrợ việc tạo
và tìm kiểm các cộng dông chia sẽ dữ liệu như thể nào
Một trong những phương pháp dễ dàng nhất nhằm cải thiện chất lượng của các kết quá tim kiếm là sử dụng metadata Nói chung, các ứng dụng chia sẽ dữ liệu ngang
hàng có xu hướng sử đụng metadata nhiều hơn Metadata cũng có thé được sử
dụng trong hệ thống không tập tru: như Gnulella nhằm cải thiện hiệu nẵng:
cũng như chất lượng kết quả Phần nảy cũng thảo luận về các cộng đồng như một phương thức quan trọng để cải thiện việc tim kiểm Chúng ta thảo luậu một vải phương pháp khác nhau dễ chọn các nodc thuộc về mỗi cộng dóng, Cuỗi củng,
chúng ta nói vẻ một lớp các hệ thông được gọi là các hệ thông “trung tâm-cục bộ”
nà tại đó việc tìm kiểm có thể sẽ khó khăn Mặc dù vậy, cổ mội vải để xuất thú vị
thé là rao căn việc tạo mới các cộng đồng chủa sẻ đữ liệu có hiệu quả Chúng ta đặt
Trang 29ra vấn đẻ phân loại các phương pháp hiện có đôi vơi khả năng tạo và đỏ tim các
cộng đồng với sự hỗ trợ cho lim kiểm mieladata có cau trúc
2.2 Tim kiêm
Việc sử dụng metadata sẽ đem lại sự tập trung nghiền cứu mạng ngạng hàng ngày
cảng tăng Metadata là thông tin đơn giản về thông tin Định nghĩa náy bao gồm
tên file, từ khỏa dựa trên bảng băm, metadata gán váo (vi dụ, nhãn 13 trên
MP3s), metadata bên ngoài, câu trúc đường kết nồi, Dễ án này tập trưng vào metadata mang day y nghĩa — meladala được đọc bởi con người mà cũng có thế được sử dụng bằng máy để quyết dịnh liệu rằng một tài liệu có phủ hợp với câu
hỏi đã đặt ra hay không,
‘Tt cA các metadata trong các hệ thống ngang hang theo một vải cách lá có “câu
trúc” nhằm cho phép các máy tỉnh phân tích và so sánh chúng Xu hướng trang
thời gian tới là tăng thông tim và thậm chó làm cho nó trở nên dé hon đế các máy
tỉnh điểu khiến Chúng ta bắt đầu bằng cách thảo luận các mức khác nhau mà metadita được sử dụng trong các ứng dụng hiện nay
2.2.1 Metadata
Như đã tháo lận phía trước, thiết kế Napster ban đầu sử đựng mốt phan metadata duy nhất tên fle để làm thuận lợi công việc ta kiểm Kết quá đơn giản này chứng tỏ có hiệu quả khi thông tin quan trọng về MP3s — “* artist’’ va “‘nitle’’ 66 thé dé ding pha hợp với không gián của lên file Vấn để này được thục biện trên
15
Trang 30rất nhiễu hệ thổng chia sẻ đữ liệu Mặ đù hiệu quả sau đây không phải lã giải pháp mang tính quy mồ
1 ‘Tham chi khéng cỏ quy ước giữa arfist va title nén duge chi 16 nlnt thé nao
trong cac tén file (vi du, artist — tile, title - artist, )
Không có quy ước vẻ việc các trường mới có thẻ được thêm vào hay không
hay chúng được diễn tá ra sao
Cáo tên file phải có độ đài hợp lý giới hạn số lượng trường có thế được biểu diễn
Không có sự thỏa thuận vẻ metadata cha các file ngoại trừ MP3s nên được
biéu dién thir thé nao trong cac tén file
Kazaa xac dinh mét vai méi quan tâm Hệ thống này khai thác một vải thoả thuận metadata phé biển như nhăn ID3 MP3 Nhãn ID3 MP3 lả một đính đạng metadata
Thị phan có thê được gắn vào các file MP3 [Nilsson00| Nó chỉ rõ
trường nào
là sẵn có và chúng dược tìm thấy ở đâu trong nhãn Kazaa xác định cào nhãn và
cho phép người sử dụng thực hiện tìm kiểm thcơ các trường khác nhau Giới hạn
vẻ nhãn 1123 không lĩnh hoạt _ nó chỉ mỏ tá một kiểu đối tượng: MP3 Không có
cách nào để mỗ rộng nó nhằm mô tả các định đạng khác
Trang 31Title Artist
Album Year
Comment
ï eGanre
Hình 1: Bố trí bên trong của Eile được đính thẻ ID3v1[Nilson00|
XML là phương thức biểu diễn metadata phổ biên hơn cả Các trường sẵn có và sự
sắp xếp chủng được câu hình Mặc dù linh hoạt nhưng không đủ sự thoả thuận
rang phan mem dùng đẻ phân tích các tải liệu XML nói chung là khả rông rãi Các thuộc tính này nghĩa là XMIL eó thẻ thích ứng để diễn tả metadata về phạm vi doi
tượng rộng lớn hơn với khả năng xử lý dữ liệu cia may tinh Limewire là một ví
dụ về mạng ngang hàng có sử dụng XML đề điễn tả cầu trúc metadata cho các loại ñle mả nó hỗ trợ
Limewire bao gồm vải giản đổ được viết bằng ngôn ngữ dựa trên XMIL gọi là
Giản đỏ XML [Thadani01] Theo W3C, Giản đồ XML cung cấp một định nghĩa
cho “xác định cầu trúc, nội dung vả ý nghĩa của các tải liệu XML” [W3C01] Giản
đô mô tả metadata của các loại file khác nhau — âm thanh, hình ảnh, tai ligu,
17
Trang 32được biếu điển như thế nào Giản đồ XML cho phép người sáng tạo Limewire định rõ meladats có cần lrức được đọc bằng máy cho một loại c
o dinh dang file
rộng lớn hơn Napster Nhưng không may lả giãn dỗ dược gản vào ứng dụng
Limewire lam cho nó khó mở rộng hễ trợ các loại file mới
Providers register their queryspaces: Consumer queries are dispatched by
with Hub Hub to appropriate Providers
Hinh 2: M6 hinh JxtaSearch
hi các query đến một bub thì chúng được định yến tới các nhà cũng cấp mà đã
dang ky trả lời kiểu query đó Queryspaco dược chỉ rõ trong dịnh dạng 3CML và có
thể được tạo bởi bắt kỹ ai (mặc dù trớ nên hữu ích nhưng cản có các nhà cung cấp
trong không gian)
Trang 33link 3 Ví dụ không gian truy vẫn text đối với các tài liệu vé “SNS-P2P”
JxtaSearch định rõ câu trúc của queryspace, các băn tin đăng nhập, vi dụ như sử
dụng giãn đồ thông thường hơn giãn dé XML
Đảng quan tâm là Jxla tự hỗ trợ ý tưởng công bỗ metadata với khái mệm “quảng bá”, Mặc dù không dược sử dụng rõ ràng cho việc chữa sẽ dữ liệu nhưng quang ba
là các tải liệu co cầu trúc XMIL được sử dụng để công bổ thông tin vẻ các nguồn tải nguyên Jxta (ngang hang, nhom ngang hàng, dịch vụ, .) Một vải quống ba chính được định nghĩa và người sử đụng có thế biên tập lại hoặc gạt bỏ chứng nhờ
sử dung Giãn đỗ XML, mặc cho cơ cầu không rõ ràng từ các đặc điểm Quang ba
có thể thây bằng cách sử dụng Giao thức Tìm kiếm Ngang hàng (Peer Discovery
Prolocol — PRP).
Trang 342.2.2 Định tuyến truy vẫn
Query Routing là một cach quan trong ma metadata có thể được sử dụng để cải thiện chất lượng tìm kiểm Công việc nghiền cửu trong lĩnh vực này được thúc đấy bối vấn đề định rõ trong các hệ thống ngang hàng “thuần tuý” hoặc các hệ thống
không tập trung Trước khi thảo luận chỉ tiết vân đẻ query routing thì trước tiên
chung ta hay đổi chiếu sự trái ngược giữa các hệ thông chúa sẻ dữ liệu ngang hàng,
tập trung và không tập trung trên phương diện tìm kiếm
Ÿ tưởng ding sau Napster da la tan hién nay 1a sit dung cơ sở dữ liệu lập trung đế
dò vết các file bị mỗi peer chiém giữ Ứng dụng ngang hàng khác gần đây, hệ thông bản tin khan cap 1CQ [ICQ03] cũng đựa trên ý tưởng tương tự ICQ sử dụng một danh sách tập trung lưu trữ thông tin về từng vị trí của người sử đụng trong
mạng vả liệu chúng có được thể hiện hay không
Trang 35Central Server
Hình 4: Mâ hình mạng ngang hàng bai
Trong cả hai ứng đụng, thang lin về các nút khác được lưu trữ trong cơ sở đữ liệu
trung tâm Việc tìm kiếm dược phat dén may chủ trung tâm và sau đỏ chuyến thêng tin về nút ngang hang dau xa nơi má file hay người sử dụng có thế được tim thấy Với thông tim nảy, clienl nổi trực tiếp đến nút ngang hàng dẫu xa và thực hiện tải hoặc trao đổi Sự tin cậy vào máy chủ trung tâm làm cho các hệ thông trở
thành tập trung Các hệ thông cũng được xem như “lai” bởi sự kết nối tương tác
giữa chủ - tớ và ngang hàng,
Các hệ thông không dựa vào quyển lực tập tung được coi là các hệ thông ngang, làng “thuần tuý”, Hai vị dụ cụ thể là Giutella và Freenet Trong các hệ thống nảy,
các nút ngang hàng vừa hoạt động là máy chú vừa hoạt như chent, vị vậy chúng
thường được xem như các “đây tỏ”[KanOl ] Trong Grmtella, yêu câu tìm liẻm gửi
21
Trang 36tới các nút lân cận Các nút lần cận đẳng thời gửi trở lại bất kỳ sự phủ hợp do cơ
sở dữ liệu của chúng và gửi tiếp yêu câu đến các nút lân cận của chúng,
Query sent to neighbours which relay to their
neighbours, results return through same path
Hình 5: Mô hình Gnutelia (Không tập trung}
Các quory gửi di nhanh hơn và xa hơn từ các nút ban dẫu với nỗ lực tới cảng
nhiều nút như có có thế Tại mỗi mút, trường thời gian sống — time to live (TTL)
của yêu cầu lại giâm di Cúc yêu cầu với thời gian sống bằng không sẽ bị loại bỏ
khói lưu lượng có giới bạn Thời gian sống 'TTL hạn chế buộc phạm vi tuân theo
sur truyén lan query Cac kêt quả tim kiểm quay trở lại nút ban đâu thông qua củng
một dường Như trong Napster, tải dược thực biện bằng kết nói trục tiếp din các nút ngang hàng đang chiếm giữ
Trang 37Query Routing là một trong những vần đẻ hiện qua nhật của công tác nghiên cửa
việc cải tiện quy md cia Gnutella (va các hệ thống ngàng hàng thuần tuý nói chung) Rö ràng, việc đưa tất cá các mút trong một phạm vi cho phép sẽ rất tổn kém vẻ băng thông Kết quả tối ưu nhất sẽ là cáo query chỉ được chuyển tới các nút mà sẽ mang trở lại sự thích hợp tốt Kỹ thuật này cải thiên việc tìm kiếm: đối với cùng một lưu lượng mạng, chất lượng kết quá được cái thiện Trong các hệ
théng ngang hang lai, query routing khéng được yêu câu khi máy chủ trung tâm
thực hiện tất cả các yêu cầu tìm kiểm,
Việc định tuyên metadata lam co cd che các hệ thống như để xual query routing
ca Limewire [Rohrs02{, Rowung Indiccs |Crespo02|, và Ncurogrid [Ïoscph02| Cũng được xem như “định tuyén ngit nghia”[JosephO2b], các hệ thông sử dụng
chỉnh quoy của bên thân đễ thông bảo các quyết dịnh của chúng Các bộ định
tuyển Internet có thể xác định giao diện mả sẽ mang gói tới đích của chủng, Các
bộ định tuyến cuery sẽ có xác định đối với từ khỏa đã cho núi lần cận nảo sẽ trang: query gần với tài liệu thích hợp Sự gan được dịnh nghĩa như là sự tương tự giữa
metadata được chỉ rõ trong query và metadata của tài liệu
Để xuất query routing cua Limewire giéng với các kết quả định tuyến truyền thống Mỗi nút đuy trì một bảng liệt kê số lượng các hop yêu cầu để tới một nút với tải liện phù hợp với từ khóa đã chỉ rõ đổi với mỗi nút lân cận Việc tim kiếm được định hướng tới nút lân cận quảng bả số lượng hop ít nhất cho tir khóa Các
Tiút học và cập nhật tổng số núi bằng cách tra các bảng định tuyển với mút lân cặn
Kết quả Rouling Trdiccs sử dụng thông tim về số lượng lái liệu có thể truy rhập qua các nút lân cận Khi hai nút thiết lập một kết nói, chúng có thể trao dỗi thông
33
Trang 38tin trên tổng, số tải liệu gộp chung cỏ thể truy nhập qua các nút lần cận Trả lời và
chuyên đền các nút với tỷ lệ tải liệu cao trên một từ khóa đã cho — các nút với sự
thủ thập lớn hơn (không phụ thuộc vào đối tượng) sẽ được ủng hô
‘Query for TopicA only forwarded to Nade2 since i ‘Query for TopicA only forwarded Io Node? since it
hhas higher proporfion of relevant matches advertises lowest number of hops te reach maiching
đúng hoặc sai lạc Neurdrid xác định vẫn dé bằng cách dua vào việc sử đựng phản
héi nhằm đánh giá độ tin cậy của kết quả - ví dụ: “Nếu một máy chủ dầu xa được query với từ khỏa như “automobile” và chuyển quảng bá trở lại cho các sản phẩm
mất trạng lượng thì độ tin cậy của máy chủ này với câu hỏi đó sé giãm” [Joseph02] Mỗi mút làn cận kết hợp với các từ khỏa khác nhau với một sức mạnh
có thẻ được củng có hoặc suy yêu Người sử dụng có thể đặt sự phản hải trên chất
24
Trang 39lượng của sự phù bợp bằng cách tăng lờ chúng, boolenarking chúng hay làm cho
chúng như gpam Các query được chuyển đến các mút được cho rằng lín cậy nhật
Một điểm quan trọng cân lưu ÿ là Limewire, RT và Neurgrid sử đụng metadata nhur Thể nhận đạng ẫn trái ngược với thê nhận dạng hiện Thể nhận dang ân nghĩa là sự
đánh giá múc độ gần nhú thế rào của tài liệu với càu hổi duợc cho ở hoàn toàn bên trải cơ câu định tuyến Không có cách nảo thực hiện mục tiêu câu hỏi rõ ràng cho dến một tập tài liệu được dịnh rõ (vi dụ, “các file ,pdf về mạng ngang hang ” Các query và tài liệu không được cho là có câu trúc Trong trường hợp Limewire
sử đụng các query XML, chimg xem rằng việc tăng XML được tách trước khi
phân tích liệu tai liệu có phủ hợp với quary [Thadani01b]
2.23 Cac cong dong
Kết quả khác nhằm tôi ưu hóa việc từn kiểm là để định nghĩa rõ ràng một tập nhỏ các nút dường như rang sự thích hợp trổ lại và sau đô bạn chế sự tìm kiếm của một nút chỉ tới các nút khác của nó Nhờ định tuyển query đến các mút trong cộng
đồng mà luu lượng sẽ giảm mnà không giảm chất lượng
[Waterhouse01], Associative P2P [Cohen03] va Alpine [AlpineO3] tất cả nằm trong danh sách này, Một sự khác biệt chính giữa các hệ thông này là phương thức
la kết quả IxIaScarch
được dùng dễ định nghĩa công đông
Các hệ thông JxtaSearch ban gồm người tiêu †hụ, nhà cung cấp và hub Người tiểu
thụ phát các yên cầu tim kiểm mà cáo nhà cứng cấp phục vụ Các query được định
25
Trang 40tuyến tới nhà cung cấp thông qua các hub Các mút ngang hàng có thể thực hiện
muội Hay nhiều quy te hon Trong JxIaSeareh, tối quan tầm cộng đồng được định
nghĩa bởi queryspaoe Queryspace xác dịnh “không gian” của các query má một
nhà cung cấp có tư cách trả lời và bao gồm một loạt câu hải và một hoặc nhiều thuộc tỉnh hơn Ví dụ, nhà cung cap có thể quảng, bá rắng họ có thẻ thực hiện loại yêu cầu “conference paper” nơi mà chú để phù hợp với "peer lo peer” Cac query tới phủ hợp với mẫu được định hướng bởi cdc hub dén cộng đồng các nhà cung cập Jxta, môi trường dược sứ dụng dễ thực hiện !xtaSearch, cing bao gdm +khái niệm cộng đồng hoặc “nhóm ngang hàng — peer groups” cai ma duoc sit dung
đề xác đình một tập các nút ngang hàng cùng cấp dich vụ hơn là việc lầm kiếm dịụh tuyến
nodet’s “music” group
nodeO's “music” group
Each node connects directly to the peers they've grouped
Hinh 7: Mé hinh Alpine
26