ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Nguyễn Minh Trí NGHIÊN CỨU TRIỂN KHAI CÔNG NGHỆ TÁC TỬ DI ĐỘNG TRÊN CƠ SỞ HẠ TẦNG MẠNG NGANG HÀNG JXTA LUẬN VĂN THẠC SĨ Hà Nội – 2006
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Nguyễn Minh Trí
NGHIÊN CỨU TRIỂN KHAI CÔNG NGHỆ TÁC TỬ DI ĐỘNG TRÊN CƠ SỞ
HẠ TẦNG MẠNG NGANG HÀNG JXTA
LUẬN VĂN THẠC SĨ
Hà Nội – 2006
Trang 2ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Nguyễn Minh Trí
NGHIÊN CỨU TRIỂN KHAI CÔNG NGHỆ TÁC TỬ DI ĐỘNG TRÊN CƠ SỞ HẠ
TẦNG MẠNG NGANG HÀNG JXTA
Ngành:
Mã số:
Công nghệ thông tin 1.0.10
LUẬN VĂN THẠC SĨ
Người hướng dẫn khoa học:
TS NGUYỄN ĐẠI THỌ
Hà Nội – 2006
Trang 4Tóm tắt
Tác tử di động là những chương trình có khả năng di chuyển trên mạng máy tính (mang theo mã lệnh và dữ liệu) để thực hiện một công việc nào đó một cách tự động theo yêu cầu nhưng không cần tới sự can thiệp của người dùng Hạn chế của các hệ thống tác tử di động truyền thống là không thể triển khai tác tử di động trong môi trường mạng bị phân cách bởi các rào cản (tường lửa hoặc NAT) Triển khai hệ thống tác tử di động trên nền công nghệ mạng ngang hàng JXTA với khả năng tham gia vào mạng ngang hàng của các điểm nút bị ngăn cách bởi rào cản đã giải quyết được vấn đề này Triển khai tác tử di động trên cơ sở mạng ngang hàng JXTA để trích rút thông tin về tài liệu trên một số trang Web dạng thư viện điện tử là lĩnh vực mới và mở ra khả năng ứng dụng cho các nhà nghiên cứu tại Việt Nam trong việc tìm kiếm tài liệu Phần thứ nhất của luận văn trình bày những hiểu biết, những khái niệm về tác tử di động, mạng ngang hàng, JXTA và môi trường tác tử di động trên JXTA Phần thứ hai trình bày về thuật toán trích rút thông tin về tài liệu và cài đặt tác tử di động thực hiện trích rút thông tin
Trang 5LỜI CÁM ƠN
Trước tiên, tôi xin gửi lời cám ơn sâu sắc tới người hướng dẫn, thầy giáo, TS Nguyễn Đại Thọ, Bộ môn Mạng và Truyền thông máy tính – người đã trực tiếp hướng dẫn tôi trong suốt quá trình thực hiện luận văn
Tiếp theo tôi xin chân thành cám ơn Bill Yeager và Rita Yu Chen tác giả bài báo
“Java Mobile Agents on Project JXTA Peer-to-Peer Platform” đã hỗ trợ tài liệu và
mã nguồn chương trình Java Mobile Agent
Cuối cùng, xin gửi lời cảm ơn tới gia đình và bạn bè tôi, những người đã luôn ủng
hộ và khuyến khích tôi rất nhiều trong quá trình học tập và nghiên cứu Họ là nguồn động viên vô tận của tôi trong cuộc sống
Hà Nội, tháng 12 năm 2006
Nguyễn Minh Trí
Trang 61
MỤC LỤC
MỤC LỤC 1
MỞ ĐẦU 8
Chương 1 TÁC TỬ DI ĐỘNG 9
1.1 Các mô hình thực hiện phân tán truyền thống 9
1.1.1 Truyền thông báo 9
1.1.2 Gọi thủ tục từ xa 9
1.1.3 Gọi phương thức từ xa 10
1.1.4 Đánh giá từ xa 10
1.1.5 Mã lệnh theo yêu cầu 11
1.1.6 Di chuyển hoạt động 11
1.2 Từ tác tử đến tác tử di động 12
1.3 Nguyên lý hoạt động của tác tử di động 14
1.3.1 Cấu trúc tác tử di động 14
1.3.2 Khởi tạo tác tử di động 14
1.3.3 Thực hiện tác tử di động 15
1.3.4 Di chuyển tác tử di động 17
1.3.5 Theo dấu tác tử di động 17
1.3.6 Khắc phục sự cố tác tử di động 18
1.4 Các hệ tác tử di động 18
1.4.1 Aglet 19
1.4.2 Mole 19
1.4.3 ARA 19
1.4.4 D'agent 19
1.4.5 TACOMA 20
1.4.6 Concordia 20
Chương 2 MẠNG NGANG HÀNG 21
2.1 Các thành phần mạng ngang hàng 21
2.1.1 Điểm nút 21
2.1.2 Nhóm điểm nút 24
2.1.3 Dịch vụ 24
2.1.4 Giao vận mạng 26
2.1.5 Thông cáo 27
2.1.6 Giao thức 27
Trang 72
2.1.7 Định danh 28
2.2 Truyền thông trên mạng ngang hàng 28
2.2.1 Phát hiện các thông cáo 29
2.2.2 Phát hiện các điểm nút môi giới và điểm nút định tuyến 31
2.2.3 Các rào cản 32
2.2.4 Truyền thông báo giữa các điểm nút 33
2.3 So sánh một số giải pháp mạng ngang hàng 35
2.3.1 Napster 35
2.3.2 Gnutella 36
2.3.3 Client/ Server 36
Chương 3 CƠ SỞ HẠ TẦNG JXTA 37
3.1 Nguyên tắc thiết kế JXTA 37
3.2 Đánh giá JXTA 38
3.2.1 So sánh JXTA và JINI 38
3.2.2 Quan hệ giữa JXTA và tác tử 38
3.3 JXTA Shell 39
3.4 Các giao thức JXTA 39
3.4.1 Giao thức phát hiện điểm 40
3.4.2 Giao thức phân giải điểm 41
3.4.3 Giao thức thông tin điểm 42
3.4.4 Giao thức môi giới 43
3.4.5 Giao thức ấn định đường truyền 45
3.4.6 Giao thức định tuyến điểm cuối 46
Chương 4 TRIỂN KHAI TÁC TỬ DI ĐỘNG TRÊN NỀN JXTA 47
4.1 Cơ sở thực tiễn 47
4.2 Các công nghệ liên quan và giải pháp 48
4.3 Môi trường tác tử di động trên JXTA 50
4.3.1 Giao thức tác tử di động đơn giản 50
4.3.1.1 Hành trình của tác tử di động 51
4.3.1.2 Định dạng thông báo giao thức tác tử di động đơn giản 52
4.3.2 Mô tả hệ thống tác tử di động 52
4.4 Thiết kế, cài đặt tác tử di động tìm kiếm và trích rút thông tin 54
4.4.1 Mô hình hệ thống 54
4.4.2 Đơn vị mô tả sản phẩm 55
4.4.3 Trích rút đơn vị mô tả sản phẩm 56
Trang 83
4.4.4 Cài đặt tác tử di động tìm kiếm, trích rút thông tin 58
KẾT LUẬN 62
PHỤ LỤC 63
TÀI LIỆU THAM KHẢO 70
Trang 94
Danh sách các hình vẽ
Hình 2-1 Minh họa điểm nút môi giới 22
Hình 2-2 Minh họa điểm nút định tuyến 23
Hình 2-3 Minh họa điểm nút cầu nối 24
Hình 2-4 Dịch vụ điểm nút 25
Hình 2-5 Dịch vụ nhóm điểm nút 26
Hình 2-6 Ống dẫn giữa các điểm nút 27
Hình 2-7 Phát hiện điểm nút nhờ lưu giữ thông cáo 29
Hình 2-8 Phát hiện điểm nút trực tiếp 30
Hình 2-9 Phát hiện gián tiếp thông qua điểm nút môi giới 31
Hình 2-10 Vượt tường lửa/ NAT 33
Hình 2-11 Truyền thông báo qua một tường lửa 34
Hình 2-12 Truyền thông báo qua hai tường lửa 35
Hình 3-1 Kiến trúc phân lớp của JXTA 37
Hình 3-2 Giao diện JXTA Shell 39
Hình 3-3 Phân cấp các giao thức JXTA 40
Hình 3-4 Trao đổi các thông báo 40
Hình 3-5 Trao đổi các thông báo phân giải 42
Hình 3-6 Trao đổi thông báo thông tin điểm 43
Hình 3-7 Trao đổi các thông báo RVP 44
Hình 3-8 Trao đổi thông báo ấn định đường truyền 45
Hình 3-9 Luồng trong giao thức định tuyến điểm cuối 46
Hình 4-1 Tác tử và hành trình 51
Hình 4-2 Biểu đồ mô tả quan hệ giữa các lớp trong hệ thống tác tử di động 53
Hình 4-3 Mô hình hoạt động của tác tử tìm kiếm, trích rút tài liệu trên Web 54
Hình 4-4 Đơn vị mô tả sản phẩm 55
Trang 105
Hình 4-5 Nội dung trang HTML sau khi phân tích 56
Hình 4-6 Màn hình giao diện sau khi khởi tạo môi trường tác tử di động 59
Hình 4-7 Danh sách các điểm nút đang tồn tại trên mạng 60
Hình 4-8 Peer 1 khởi tạo tác tử di động getExtraction và gửi tới Peer 2 60
Hình 4-9 Peer 2 nhận tác tử di động, thực hiện việc trích rút thông tin và sau đó gửi trả về Peer 1 các kết quả .61
Hình 4-10 Kết quả nhận được tại Peer 1 61