Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 104 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
104
Dung lượng
1,18 MB
Nội dung
GVHD: Thầy Lê Quốc Tuấn SVTH: Nguyễn Tuấn Tài – Hà Thị Bạch Yến MỤC LỤC Chương mở đầu: GIỚI THIỆU ĐỀ TÀI 3 Đặt vấn đề 3 Yêu cầu của đề tài 3 Giải quyết vấn đề 3 Chương 1: TỔNG QUAN VỀ MOBILEAGENT 6 TÓM TẮT 6 1.1. Sự cần thiết của môhìnhMobileAgent 6 1.2. Sự tiến hóa từ các môhìnhứngdụngphântán 8 1.3. Kiến trúc hệ thống MobileAgent 9 1.4. Các đặc tính của MobileAgent 11 1.5. Ứngdụng của MobileAgent 12 1.5.1. Các lợi thế của MobileAgent 12 1.5.2. Các ứngdụng của MobileAgent 14 1.6. Các hệ thống MobileAgent hiện hành 16 1.6.1. Aglets 16 1.6.2. Voyager 17 1.6.3. Mole 19 1.6.4. ZEUS 20 1.6.5. So sánh các hệ thống Aglet, Mole, Voyager và Zeus 21 1.7. Vấn đề khó khăn và thách thức 22 KẾT LUẬN 24 Chương 2: BẢO MẬT TRÊN MOBILEAGENT (MOBILE AGENT SECURITY) 25 TÓM TẮT 25 2.1. Đe dọa sự an toàn bảo mật (Security Threats) 25 2.1.1. Sự tấn công từ một Agent đến Agent Platform (Agent-to-Platform) 26 2.1.2. Sự tấn công từ một Agent đến một Agent khác trong cùng một Platform (Agent to Agent) 28 2.1.3. Sự tấn công từ Platform đối với Agent (Platform-to-Agent) 29 2.1.4. Những thực thể khác tấn công vào hệ thống Agent Platform (Other-to-Agent Platform) 31 2.2. Những yêu cầu về an toàn bảo mật (Security Requirements) 32 2.3. Biện pháp đối phó (Countermeasures) 35 2.3.1. Việc bảo vệ Agent Platform (Protecting the Agent Platform) 35 2.3.2. Việc bảo vệ các Agent (Protecting Agents) 39 KẾT LUẬN 42 Chương 3: CÁC MẪU THIẾT KẾ CỦA AGENT (AGENT DESIGN PATTERNS) 43 TÓM TẮT 43 Trang 1 GVHD: Thầy Lê Quốc Tuấn SVTH: Nguyễn Tuấn Tài – Hà Thị Bạch Yến 3.1. Mẫu thiết kế đặc trưng cho sự di chuyển 43 3.2. Mẫu thiết kế đặc trưng cho sự phân công các tác vụ 44 3.3. Các mẫu thiết kế đặc trưng cho sự tương tác 45 3.4. Một số mẫu thiết kế đặc trưng 46 3.4.1. Mẫu thiết kế Master-Slave 46 3.4.2. Mẫu thiết kế Itinerary 51 KẾT LUẬN 57 Chương 4: KIẾN TRÚC AGLET CỦA IBM 58 4.1. Môhình của Aglet 58 4.1.1. Các yếu tố cơ sở (Basic Elements) 58 4.1.2. Các sự kiện lắng nghe trong Aglet 60 4.2. Aglet API (Aglet - Application Programming Interface) 61 4.3. Giới thiệu về ATP (Agent Transfer Protocol) 67 KẾT LUẬN 71 Chương 5: XÂYDỰNGỨNGDỤNG ĐỊNH THỜI GIAN BIỂU CHO CUỘC HỌP 72 TÓM TẮT 72 5.1. Giới thiệu 72 5.2. Các chức năng chính 73 5.2.1. Chức năng lập lịch tại máy cục bộ 73 5.2.2. Chức năng quản lý danh sách người dùng trong mạng 73 5.2.3. Chức năng lập lịch phântán 73 5.3. Kết quả minh họa ứngdụng 77 KẾT LUẬN 80 Chương 6: CẤU HÌNH HOÀN CHỈNH ỨNGDỤNG 81 6.1. Cài đặt Aglet-2.0.2 (Server Tahiti) 81 6.2. Hoàn chỉnh ứngdụng 82 Chương 7: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 84 7.1. Kết luận 84 7.2. Hướng phát triển 84 TÀI LIỆU THAM KHẢO 86 PHỤ LỤC 87 Trang 2 GVHD: Thầy Lê Quốc Tuấn SVTH: Nguyễn Tuấn Tài – Hà Thị Bạch Yến Chương mở đầu: GIỚI THIỆU ĐỀ TÀI Đặt vấn đề Trong môhình Client-Server, một giao dịch hoặc truy vấn giữa Client và Server sẽ yêu cầu nhiều vòng chu trình để hoàn tất. Mỗi chu trình sẽ tạo ra nhiều lưu thông trên mạng và làm tốn băng thông. Trong một hệ thống có nhiều Client hoặc nhiều giao dịch, tổng băng thông yêu cầu có thể sẽ vượt quá băng thông hiện có, điều đó sẽ làm giảm hiệu suất của ứng dụng. Mà đối với các ứngdụngphân tán, băng thông của mạng rất quan trọng và là một tài nguyên vô giá. MôhìnhMobileAgent ra đời dùng để giải quyết vấn đề này. Nó sẽ quản lý các truy vấn hay giao dịch bằng cách gửi các Agent từ Client đến Server, sau đó Client có thể ngắt nối kết và các Agent sẽ bảo vệ kết quả trả về cho Client khi các nối kết được thiết lập trở lại. Kiến trúc của MobileAgent sẽ làm giảm sự tiêu tốn băng thông. Yêu cầu của đề tài Yêu cầu về lý thuyết: - Tìmhiểu các môhình của ứngdụngphân tán. - Tìmhiểu sâu về môhình tính toán phântánMobile Agents. - Khai thác chuẩn Java Aglet của IBM. Yêu cầu về chương trình: - Xâydựng một ứngdụngphântán minh họa theo môhìnhMobile Agents như: truy xuất nhiều CSDL, định thời biểu cuộc họp phântán - Ngôn ngữ lập trình: Java. Giải quyết vấn đề Dựa trên những yêu cầu đề tài trên nhóm nghiên cứu chúng tôi đã tiến hành triển khai nghiên cứu về lý thuyết cũng như viết chương trình và đã đạt được một số kết quả. Trang 3 GVHD: Thầy Lê Quốc Tuấn SVTH: Nguyễn Tuấn Tài – Hà Thị Bạch Yến Trong luận văn này chúng tôi sẽ trình bày lại toàn bộ kết quả nghiên cứu mà chúng tôi đã triển khai. Do những tài liệu tham khảo hoàn toàn bằng tiếng Anh nên có một số thuật ngữ chuyên ngành không thể dịch sang tiếng Việt được, chúng tôi đã cố gắng chú thích kèm theo. Luận văn bao gồm 5 chương. Chương 1. Giới thiệu tổng quan về MobileAgent Sự cần thiết của môhìnhMobileAgent Sự tiến hóa của các môhìnhphântán Kíến trúc của hệ thống MobileAgent Đặc tính của MobileAgent Các loại ứngdụng trên MobileAgent Các hệ thống hỗ trợ MobileAgent Vấn đề khó khăn và thách thức của MobileAgent Chương 2. Bảo mật trên MobileAgent Vấn đề đe dọa đối với sự an toàn bảo mật trên MobileAgent Nhu cầu bảo mật trên MobileAgent Các phương pháp giải quyết vấn đề bảo mật Chương 3. Các mẫu thiết kế của Agent Mẫu thiết kế đặc trưng cho sự di chuyển Mẫu thiế kế đặc trưng cho sư phân công tác vụ Mẫu thiết kế đặc trưng cho sự tương tác Một số mẫu thiết kế đặc trưng (Master – Slave và Itinerary) Chương 4. Kíến trúc Aglet của IBM Môhình của Aglet Giới thiệu Aglet API (Aglet - Application Programming Interface) Trang 4 GVHD: Thầy Lê Quốc Tuấn SVTH: Nguyễn Tuấn Tài – Hà Thị Bạch Yến Giới thiệu về giao thức ATP (Agent Transfer Protocol) Chương 5. Xâydựngứngdụng định thời gian biểu cho cuộc họp Giới thiệu mô tả ứngdụng Giới thiệu về các chức năng chính Kết quả minh họa ứngdụng Chương 6. Cấu hình hoàn chỉnh ứngdụng Cài đặt Aglet-2.0.2 (Server Tahiti) Cấu hình hoàn chỉnh ứngdụng Chương 7. Kết luận và hướng phát triển Trang 5 GVHD: Thầy Lê Quốc Tuấn SVTH: Nguyễn Tuấn Tài – Hà Thị Bạch Yến Chương 1: TỔNG QUAN VỀ MOBILEAGENT TÓM TẮT MobileAgent là một trong những hướng nghiên cứu thu hút nhiều sự quan tâm nhất từ những năm 90 đến nay với những đặc điểm rất thích hợp cho việc phát triển các ứngdụngphân tán. Trong chương này, chúng tôi điểm lại những khái niệm cơ bản về MobileAgent đồng thời đề cập đến những loại ứngdụng phù hợp với môhìnhMobileAgent đã và đang được nghiên cứu và phát triển trên thế giới. Thông qua việc xem xét các hệ thống hỗ trợ phát triển ứngdụng dựa trên Mobile Agent, chương này cũng bàn tới đến những khó khăn và thách thức cần phải giải quyết để có thể đưa MobileAgentvàoứngdụng trong thực tế. 1.1. Sự cần thiết của môhìnhMobileAgent Sự phát triển không ngừng của các kỹ thuật tiên tiến về máy tính, đặc biệt là các giải pháp mạng, cùng với sự bùng nổ nhanh chóng các dịch vụ và nguồn thông tin trên mạng đã làm gia tăng số người sử dụng Internet đến con số hàng trăm triệu (theo International Data Corp, tính đến cuối năm 2002 sẽ có hơn 600 triệu người trên toàn thế giới kết nối Internet). Các đặc điểm của nguồn thông tin, tổ chức mạng, cũng như việc khai thác, xử lý thông tin ngày càng trở nên phức tạp và đa dạng hơn, có thể kể đến các khuynh hướng chính yếu: - Các thiết bị di động (Mobile devices): Việc cung cấp các phần mềm, các dịch vụ hỗ trợ hiệu quả cho các thiết bị di động (Laptop, PDAs đến điện thoại di động hay sổ tay điện tử ) này vẫn đang phải đối mặt với nhiều khó khăn vì các thiết bị di động thường có tài nguyên hạn hẹp, và thường dựa trên các kết nối với băng thông thấp, độ trễ cao của đường điện thoại, hay mạng không dây. Trang 6 GVHD: Thầy Lê Quốc Tuấn SVTH: Nguyễn Tuấn Tài – Hà Thị Bạch Yến - Người dùng di động (Mobile users): Ngày nay người dùng thường có nhu cầu truy cập vào máy tính của mình, tài khoản của mình từ bất cứ đâu, vì thế việc hỗ trợ kết nối ở mọi nơi, mọi lúc và trên mọi thiết bị là một thách thức được đặt ra. - Nhu cầu chuyên biệt hoá: Việc khai thác thông tin, sử dụng dịch vụ đã không còn thỏa mãn với các cơ chế thụ động, mà người dùng thường có khuynh hướng muốn chuyên biệt hoá nhu cầu của mình một cách chủ động. Internet là cơ sở để thực hiện mong muốn này, vấn đề còn lại là khả năng hỗ trợ chuyên biệt hoá của các ứngdụng mạng dành cho người dùng. - Nguồn tin đa dạng, khối lượng cực lớn: Đã xuất hiện sự bùng nổ thông tin trên mạng với sự xuất hiện của nhiều kho dữ liệu khổng lồ. Các kho dữ liệu này lại được cung cấp từ nhiều nguồn nên thường không đồng nhất về tổ chức, đây sẽ lại là một khó khăn mới đối với người dùng khi truy vấn. - Gia tăng sử dụng mạng cục bộ: Việc các mạng Intranet được xâydựng phổ biến là một điều kiện tốt để triển khai các kỹ thuật mới trong việc xâydựng các ứngdụng mạng, vì Intranet cho phép việc thiết lập an toàn hệ thống dễ dàng hơn trong một tập hợp mang tính cộng tác và tin cậy. - Môi trường không đồng nhất: Khi kết nối các máy tính, các mạng cục bộ vào Internet, các ứngdụngvà người dùng phải đối mặt với một môi trường không đồng nhất cả về phần cứng, lẫn về kiến trúc hệ điều hành…Và bài toán tương thích, dễ mang chuyển sẽ là vấn đề cần giải quyết ở đây. - Sự khập khiễng về đường truyền: Mặc dù ngành viễn thông đã đạt đến những tiến bộ đáng kinh ngạc, và cho ra đời các loại cáp quang với tốc độ truyền tải nhanh đáng kể, đa số người dùng vẫn bị giới hạn với các thiết bị kết nối như modem hay các đường truyền băng thông thấp với mạng không dây. Với tất cả các đặc điểm trên đây, các ứngdụngphântán phát triển theo môhình Client-Server truyền thống tỏ ra một số bất lợi vì đòi hỏi làm việc đồng bộ, đòi hỏi đường truyền băng thông cao, độ trễ thấp và cuối cùng là các dịch vụ thiếu linh động, khó thay đổi hay bổ sung. MobileAgent là một môhình trong đó các tiến trình, được Trang 7 GVHD: Thầy Lê Quốc Tuấn SVTH: Nguyễn Tuấn Tài – Hà Thị Bạch Yến gọi là Agent, có tính tự trị và khả năng di động từ máy chủ này sang máy chủ khác để hoàn tất tác vụ. Ý tưởng chủ đạo của MobileAgent là di chuyển xử lý đến gần nguồn dữ liệu, nhờ đó có thể giảm tải mạng, khắc phục tình trạng trễ, hỗ trợ xử lý không đồng bộ và tạo ra sự tương thích mạnh trên các môi trường không đồng nhất. MobileAgent với các ưu điểm này hứa hẹn một giải pháp mới, hiệu quả và dễ dàng hơn trong việc phát triển ứngdụng phân tán. 1.2. Sự tiến hóa từ các môhìnhứngdụngphântánMobileAgent có thể được xem như là sản phẩm kết hợp của kỹ thuật Software Agentvà kỹ thuật xử lý phân tán. MobileAgent khác với môhình xử lý mạng truyền thống. Theo truyền thống, một ứngdụngphântán có cấu trúc xâydựng trên môhình Client-Server sẽ thực hiện việc giao tiếp thông qua cơ chế truyền thông điệp hoặc các lời gọi hàm từ xa (RPCs). Các môhình giao tiếp này thường phải đồng bộ, nghĩa là phía Client tạm ngưng hoạt động của mình trong thời gian gửi yêu cầu đến Server và đợi đến khi nhận được kết quả trả về từ Server. Một kiến trúc tiến bộ hơn là Remote Evaluation (REV) do Stamos và Gifford đưa ra vào năm 1990. Trong môhình REV, thay vì yêu cầu thực hiện các hàm từ xa thì Client chỉ việc gởi mã nguồn các hàm của nó đến Server và yêu cầu Server thực hiện rồi trả về kết quả. Một số hệ thống gần đây cũng đã giới thiệu khái niệm thông điệp chủ động (Active Messages) có thể di trú giữa các vị trí trên mạng, mang theo mã của chương trình để thực thi tại những vị trí này. MobileAgent là môhình tiến hóa tiên tiến nhất so với các môhình trước đó. MobileAgent là danh từ ghép giữa Agent (trợ lý) vàMobile (di động). Một MobileAgent là một chương trình có khả năng di chuyển một cách tự trị từ nút mạng này sang nút mạng khác và thực hiện các xử lý thay thế cho con người để đạt được mục tiêu được giao phó. Khi di chuyển, các MobileAgent đóng gói mã nguồn, dữ liệu và cả trạng thái thi hành, nhờ vậy MobileAgent có thể dừng việc thi hành đang thực hiện tại máy này, di chuyển sang máy khác và khôi phục lại sự thi hành tại máy đích. Hình 1.1 cho thấy sự khác biệt của MobileAgent so với RPC và REV. Trang 8 GVHD: Thầy Lê Quốc Tuấn SVTH: Nguyễn Tuấn Tài – Hà Thị Bạch Yến Hình 1.1 1.3. Kiến trúc hệ thống MobileAgentMobileAgent khác với các xử lý phân tán, vì các xử lý phântán không quyết định địa điểm và khi nào thì nó di chuyển còn MobileAgent có thể di chuyển tới bất kỳ nơi đâu và bất kỳ khi nào. MobileAgent cũng khác với Java Applet, Applet chỉ có thể di chuyển một chiều từ Server đến Client, trong khi MobileAgent thì có thể di chuyển giữa Client và Server và có thể tự định hướng. Thậm chí ngay trong kiến trúc của hệ thống MobileAgent cũng có sự khác biệt, hầu hết tất cả hệ thống MobileAgent đều chứa một MobileAgent (MA) và một MobileAgent Environment (MAE). Như hình 1.2 Trang 9 GVHD: Thầy Lê Quốc Tuấn SVTH: Nguyễn Tuấn Tài – Hà Thị Bạch Yến Hình 1.2 MAE tạo ra một môi trường thực thi chắc chắn và thích hợp cho MA, sau đó cung cấp cho MA các dịch vụ căn bản bao gồm tạo (creation), vận chuyển (transportation) và thực thi (execution). Nó cũng bao gồm các cơ chế như: chiến lược chịu đựng lỗi, điều khiển bảo mật và các kỹ thuật kết nối. Khả năng giải quyết vấn đề của các MA phụ thuộc vào trên các dịch vụ mà nó được MAE cấp. Một cách tổng quát thì MAE có các dịch vụ cơ bản sau: - Business service: các dịch vụ tạo, di chuyển, khả năng chịu đựngvà thực thi trên môi trường phân tán. - Event service: cung cấp các giao thức truyền, kết nối và hỗ trợ các tương tác giữa các Agent. - Directory service: duy trì các thông tin về trạng thái về sự cục bộ của một Mobile Agent, và một thông điệp định tuyến dùng để phân phát các thông định tới Mobile Agent. Trang 10 [...]... chương này chúng tôi đã giới thiệu về môhìnhMobile Agent- một môhình mới cho phép xâydựng nhiều ứngdụngphântánhiệu quả hơn những kỹ thuật cũ Tuy còn những khó khăn trong việc triển khai MobileAgentvào thực tế, nhưng MobileAgent có nhiều tiềm năng trong một số loại ứngdụng phù hợp, và nên là một công cụ cần có khi xâydựng các ứngdụngphântán quy mô lớn Trong vòng năm năm gần đây đã có... được xâydựng với ngôn ngữ Java tại đại học Stuttgart (CHLB Đức) Phiên bản đầu tiên (Release 1.0) đã hoàn thành vào năm 1995, năm 1997 phiên bản Release 2.0 được hoàn thành, bản Release 3.0 được hoàn tất vào năm 1998 và đề án đã kết thúc với kết quả là môi trường ổn định để xâydựngứngdụng theo môhìnhAgent trên các hệ phântán Được xâydựng trên Java, Mole có khả năng thực thi trên tất cả các môi... lĩnh vực MobileAgent đa số tập trung phát triển các hệ thống Agent hỗ trợ khả năng di động và những vấn đề của các môi trường này như tính an toàn, cơ chế tự di chuyển của Agent, cơ chế giao tiếp giữa các Agent Việc vận dụngmôhìnhMobileAgentvào các ứng dụng thực tế gần như vẫn dừng lại ở mức thử nghiệm mà chưa có được những sản phẩm thương mại hoàn chỉnh Nhìn chung, môhìnhMobileAgent vẫn chưa... quyết để có thể đưa môhìnhMobileAgentvào những ứng dụng thực tiễn Trang 24 GVHD: Thầy Lê Quốc Tuấn SVTH: Nguyễn Tuấn Tài – Hà Thị Bạch Yến Chương 2: BẢO MẬT TRÊN MOBILEAGENT (MOBILE AGENT SECURITY) TÓM TẮT Kỹ thuật MobileAgent cung cấp một môhình xử lý mới mà có thể tạm ngưng việc thi hành của nó tại một host và di chuyển nó đến một host khác trên mạng Sự phức tạp của MobileAgent gia tăng theo... dùng trong các ứngdụngphântán đương thời, cũng có ứngdụng trong phạm vi môhìnhMobileAgent Ngoài ra, có một số mở rộng của kỹ thuật thông thường và kỹ thuật được phát minh (devised) đặc biệt cho việc điều khiển mã di động (mobile code) và nội dung có thể thực thi (executable content) mà có thể ứng dụng cho việc bảo mật của hệ thống MobileAgent Chúng ta xem lại các biện pháp đối phó và xem như các... khác trong những môi trường khác 1.5 Ứngdụng của MobileAgent 1.5.1 Các lợi thế của MobileAgent Có bảy lợi ích chính đối với việc ứngdụngMobile Agent: 1.5.1.1 MobileAgent làm giảm tải mạng Kỹ thuật MobileAgent cho phép người dùng đóng gói cuộc trao đổi, gởi nó đến đích và thực hiện xử lý, trao đổi dữ liệu cục bộ tại đó Như thế sẽ góp phần làm giảm những dòng dữ liệu thô trên mạng, và như thế tải... của MobileAgent 1.5.2.1 Thu thập dữ liệu từ nhiều nơi Tìm dữ liệu từ cơ sở dữ liệu phântán là một ứngdụng phổ biến của MobileAgent Thay vì di chuyển một lượng dữ liệu đến bộ xử lý tìm kiếm (search engine) để tạo chỉ mục tìm kiếm, ta sẽ gửi các Agent đến nguồn chứa thông tin từ xa, nơi mà chỉ mục tìm kiếm sẽ được tạo Một trong những khác biệt giữa Mobile code – như là Applets – vàMobileAgent là... để tìm mua chiếc xe cho bạn 1.5.2.6 Xử lý song song Vì các MobileAgent có thể tạo ra nhiều bản sao của nó trên mạng, một ứngdụng đầy tiềm năng của MobileAgent là quản trị các tác vụ song song Một ứngdụng đòi hỏi quá nhiều tài nguyên bộ xử lý có thể được phân bố cho các MobileAgent mang đi thực hiện trên nhiều máy tính khác nhau để tậndụng các tài nguyên rảnh rỗi và cân bằng tải Hệ Mobile Agent. .. và tầng vận chuyển, chỉ phụ thuộc vào tầng thi hành, nên chúng cung cấp một điều kiện tối ưu cho việc liên kết các hệ thống không liên quan gì lại với nhau 1.5.1.7 MobileAgent mạnh mẽ và khả năng chế ngự lỗi cao Với khả năng phảnứng năng động, với những sự kiện và những thay đổi bất lợi, MobileAgent giúp cho việc xâydựng hệ thống mạnh mẽ và chịu lỗi cao được dễ dàng hơn 1.5.2 Các ứngdụng của Mobile. .. tấn công một Agent khác trong một Agent Platform và những thực thể khác tấn công vào hệ thống Agent Trong đó loại cuối cùng bao gồm các trường hợp một Agenttấn công một Agent trên một Agent Platform khác và một Agent Platform tấn công vào các Agent Platform khác Những sự tấn công này tập trung trước hết vào khả năng liên lạc của các Agent Platform để lợi dụng những tiềm năng không được bảo vệ Loại đe . thuyết: - Tìm hiểu các mô hình của ứng dụng phân tán. - Tìm hiểu sâu về mô hình tính toán phân tán Mobile Agents. - Khai thác chuẩn Java Aglet của IBM. Yêu cầu về chương trình: - Xây dựng một ứng dụng. Mobile Agent Sự cần thiết của mô hình Mobile Agent Sự tiến hóa của các mô hình phân tán Kíến trúc của hệ thống Mobile Agent Đặc tính của Mobile Agent Các loại ứng dụng trên Mobile Agent . MOBILE AGENT 6 TÓM TẮT 6 1.1. Sự cần thiết của mô hình Mobile Agent 6 1.2. Sự tiến hóa từ các mô hình ứng dụng phân tán 8 1.3. Kiến trúc hệ thống Mobile Agent 9 1.4. Các đặc tính của Mobile Agent