Trong đó, giữa Proxy – Server có sự tính toánchia sẻ dữ liệu bằng cách sử dụng Agent phần mềm nhằm cải thiện nhữngthiếu sót mà mô hình Client – Server chưa đáp ứng được.. Khi đó, Proxy n
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Chu Văn Minh
NGHIÊN CỨU, ỨNG DỤNG MOBILE AGENT TRONG MÔ HÌNH PROXY – SERVER
KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Khoa: Công nghệ thông tin
HÀ NỘI - 2014
Trang 2ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Chu Văn Minh
NGHIÊN CỨU, ỨNG DỤNG MOBILE AGENT TRONG MÔ HÌNH PROXY – SERVER
KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Khoa: Công nghệ thông tin
Cán bộ hướng dẫn: PGS.TS Nguyễn Việt Hà
Cán bộ đồng hướng dẫn: ThS Vũ Quang Dũng
Trang 3HÀ NỘI - 2014
Trang 4VIETNAM NATIONAL UNIVERSITY, HANOI
UNIVERSITY OF ENGINEERING AND TECHNOLOGY
Chu Van Minh
RESEARCH, APPLICATION OF MOBILE
AGENT
ON THE PROXY – SERVER MODEL Major: Information technology
Supervisor: Assoc Prof Dr Nguyen Viet Ha
Co-Supervisor: MSc Vu Quang Dung
Trang 5HA NOI - 2014
2
Trang 6NGHIÊN CỨU, ỨNG DỤNG MOBILE AGENT TRONG MÔ HÌNH PROXY – SERVER
Chu Văn Minh
Khóa QH-2010-I/CQ, ngành Công nghệ thông tin
Tóm tắt khóa luận tốt nghiệp:
Hiện nay, Internet là một phần không thể thiếu trong xã hội, Internetmang đến nguồn thông tin, tri thức khổng lồ Hơn thế nữa Internet là nơilưu trữ, tính toán, chia sẻ nguồn dữ liệu khổng lồ giữa các máy tính trongmạng với nhau Để thực hiện điều này Internet đã cung cấp các dịch vụứng dụng như: Web, Email, điều khiển từ xa, đều xây dựng dựa trên môhình Client – Server
Mô hình Client – Server: là một mô hình được áp dụng rất rộng dãi và
là mô hình của mọi trang web Trong đó, máy Client sẽ gửi một yêu cầu tớimáy chủ, máy chủ sẽ xử lý yêu cầu và trả kết quả về cho máy khách Tuyvậy, mô hình Client – Server vẫn còn nhiều vấn đề hạn chế khi mà lượngClient tăng về: số lượng, yêu cầu, sẽ đặt ra vấn đề về truyền tải thông tin,
dữ liệu như là quá tải đường truyền, tắc nghẽn mạng Ngoài ra, hiệu suấtcủa Server sẽ giảm xuống và hệ thống thiếu tính mềm dẻo khi nâng cấp
hệ thống hoặc có sự thay đổi từ cơ sở dữ liệu, phương thức truy cập
Trong khóa luận tốt nghiệp này, tôi đã nghiên cứu, xây dưng một môhình Client – Proxy – Server Trong đó, giữa Proxy – Server có sự tính toánchia sẻ dữ liệu bằng cách sử dụng Agent phần mềm nhằm cải thiện nhữngthiếu sót mà mô hình Client – Server chưa đáp ứng được Khi đó, Proxy như
là một Server, được đặt gần Client và nằm trong hệ thống mạng với Client.Agent sẽ mang chương trình, dữ liệu từ Server lên Proxy và thực thi tại đó.Ngoài ra, tôi cũng xây dựng một ứng dụng Web cơ bản dựa trên mô hình
mà tôi đề xuất để chứng minh tính khả thi của mô hình Sau đó đưa ra sự
so sánh, đánh giá mô hình mới sử dụng Agent phần mềm so với mô hìnhtruyền thống Client – Server
Từ khóa: Jade Agent, Client – Server, Proxy.
i
Trang 7A STUDY OF WEB LINKS VISUALIZATION
Chu Van Minh
Course QH-2010 -I/CQ, major in Information technology
Abstract:
Today, Internet is an integral part of society, it’s brings information,knowledge Moreover, the internet is a storage, calculating, sharing thelarge data source among computers The internet provides applicationservice such as: Web, email are based on Client – Server model
Client – Server model is applied in common for every websites In thismodel, Client send request to Server, then Server process these requestand response to Client However, the Client – Server model still has somelimitations when Client raise about quantity or send a lot of requests toServer It will put the issue of information transmission and data asnetwork congestion, overloading transmission lines Addition, performance
of Server reduces and the system lack of flexibility when the systemchange about database, access methods
In my thesis, I’m studying, building a Client – Proxy – Server model Inthis model, between Proxy – Server have a calculation, sharing data byusing sofware Agent to improve some shortages of Client – Server model isnot respond When Proxy is as a Server, it’s placed near the Client andexecuted at that In addition, I also build a application basic Web Service isbased on Client – Proxy – Server model to prove the feasibility of thismodel And then, making comparisons, review new model which usingsoftware Agent compared to the traditional Client – Server model
ii
Trang 8Lời cảm ơn
Lời đầu tiên, tôi xin bày tỏlòng biết ơn sâu sắc nhất tới PGS.TS Nguyễn Việt Hà và ThS.VũQuang Dũng đã tận tình hướng dẫn, giúp đỡ tôi trong suốt quá trìnhthực hiện khóa luận tốt nghiệp này
Tôi xin chân thành cảm ơn các thầy, cô đã tạo điều kiện thuân lờicho tôi trong quá trình học tập, rèn luyện và nghiên cứu tại trườngĐại học Công nghệ
Tôi cũng xin gửi lời cảm ơn tới các anh chị và các bạn sinh viên tạiphòng thí nghiệm công nghệ phần mềm Toshiba-Coltech, anhNguyễn Văn Lân đã giúp đỡ, hỗ trợ tôi trong quá trình xây dựng hệthống và thực nghiệm
Tôi gửi lời cảm ơn tới các bạn trong lớp K55CC và K55CLC đã ủng hộ,khích lệ, giúp đỡ và luôn sát cánh bên tôi trong suốt quá trình họctập, rèn luyện tại trường
Và cuối cùng, tôi xin gửi lời cảm ơn tới gia đình, người thân và bạn bè– những người luôn ở bên tôi những lúc khó khăn nhất, luôn độngviên tôi, khuyến khích tôi trong cuộc sống cũng như học tập, côngviệc
Tôi xin chân thành cảm ơn!
Hà Nội, ngày 02 tháng 05 năm
2014Sinh viên
Chu Văn Minh
iii
Trang 9Lời cam đoan
Tôi xin cam đoan các kếtquả đạt được trong khóa luận này do tôi thực hiện dưới sự hướng dẫncủa PGS.TS Nguyễn Việt Hà và ThS.Vũ Quang Dũng
Tất cả các tham khảo từnhững nghiên cứu liên quan đều được nêu nguồn gốc một cách rõràng từ danh mục tài liệu tham khảo trong khóa luận Khóa luậnkhông sao chép tài liệu, công trình nghiên cứu của người khác màkhông chỉ rõ về mặt tài liệu tham khảo
Các kết quả thực nghiệmcủa khóa luận đều được tiến hành thực nghiệm và thống kê từ kếtquả thực tế
Sinh viên
Chu Văn Minh
iv
Trang 10Mục lục
Danh sách hình vẽ vii
Danh sách bảng viii
Chương 1 MỞ ĐẦU 1
Chương 2 CƠ SỞ LÝ THUYẾT VÀ CÔNG NGHỆ 4
2.1 Agent 4
2.2 Hệ thống đa Agent – Multi Agents System (MAS) 6
2.3 JADE Platform 7
2.4 Ngôn ngữ lập trình Java, JDBC và JSON 9
2.5 IPMS (Inter – Platform Mobility Service) 10
Chương 3 PHÂN TÍCH YÊU CẦU HỆ THỐNG VÀ CƠ CHẾ HOẠT ĐỘNG CỦA AGENT 11
3.1 Xây dựng mô hình tổng quan Client – Proxy – Server 11
3.2 Cơ chế hoạt động của Agent 12
3.2.1 Cơ chế quản lý Agent 12
3.2.2 Cơ chế di trú của Agent 14
3.2.3 Cơ chế cập nhật dữ liệu cho Agent 15
Chương 4 XÂY DỰNG VÀ ĐẶC TẢ HỆ THỐNG 16
4.1 Mô hình thực tế của hệ thống 17
4.2 Các Modul chức năng chính của hệ thống 20
4.2.1 Module kết nối, truy cập cơ sở dữ liệu 20
4.2.2 Module phân tích và xử lý yêu cầu 20
4.2.3 Module cập nhật dữ liệu tự động cho Agent tại Proxy 23
4.3 Xây dựng và cài dặt hệ thống 23
4.3.1 Các thành phần trong Proxy sử dụng Agent 24
4.3.2 Các thành phần trong Server sử dụng Agent 27
Chương 5 THỰC NGHIỆM 30
5.1 Môi trường thực nghiệm 30
5.1.1 Cấu hình máy chủ 30
5.1.2 Cấu hình máy Proxy 30
5.1.3 Công cụ phần mềm 31
5.1.4 Các thư viện được sử dụng 31
v
Trang 115.2 Kết quả thực nghiệm 31
5.2.1 Agent mang dữ liệu và hiển thị cho người dùng 31
5.2.2 Agent cập nhật dữ liệu khi có sự thay đổi từ cơ sở dữ liệu 36
Chương 6 KẾT LUẬN 37
Tài liệu tham khảo 38
vi
Trang 12Danh sách hình vẽ
Hình 3.3: Mô hình di trú Agent từ Server đến Proxy 14
Hình 4.3: Biểu đồ tuần tự của truy xuất dữ liệu 19Hình 4.4: Biểu đồ tuần tự xử lý yêu lặp lại sử dụng Agent tại Proxy 20Hình 4.5: Xử lí các yêu cầu được gửi lên lần đầu 21Hình 4.6: Cập nhật dữ liệu cho Agent tại Proxy 22
Hình 5.4: Dữ liệu hiển thị khi kích vào GetData2 32Hình 5.5: Dữ liệu được hiển thị khi kích vào GetData4 33Hình 5.6: Trường hợp đối với yêu cầu đã được xử lý trước bởi Proxy 33Hình 5.7: Nội dung Layout trước khi cập nhật dữ liệu của Agent 34Hình 5.8: Nội dung Layout sau khi cập nhật dữ liệu của Agent 34
vii
Trang 13Danh sách bảng
Bảng 4.1: Modul kết nối, truy nhập cơ sở dữ liệu 19
Bảng 4.2: Modul phân tích và xử lý yêu cầu lặp lại 20
Bảng 4.3: Modul phân tích và xử lý yêu cầu gửi lên lần đầu 21
Bảng 4.4: Modul cập nhật dữ liệu từ động cho Agent tại Proxy 22
Bảng 4.5: Các thành phần lớp của hệ thống tại Proxy 24
Bảng 4.6: Các thành phần lớp của hệ thống tại Server 27
Bảng 5.1: Thông tin cấu hình máy Server 29
Bảng 5.2: Thông tin cấu hình máy Proxy 29
Bảng 5.3: Công cụ phần mềm được sử dụng 30
Bảng 5.4: Mô tả thư viện được dùng trong thực nghiệm 30
Chương 1 MỞ ĐẦU
Ngày nay, Internet là một phần không thể thiếu trong xã hội, Internet mang đến nguồn thông tin, tri thức Hơn thể nữa, Internet chính là nơi lưu trữ, tính toán, chia sẻ nguồn dữ liệu khổng lồ giữa các máy tính trong mạng với nhau Để thực hiện điều này Internet đã cung cấp các dịch vụ ứng dụng như: Web, Email, điều khiển từ xa … đều được xây dựng trên mô hình Client – Server
Mô hình Client – Server: Là một mô hình được áp dụng rất rộng rãi và là mô hình phổ biến của mọi trang Web, hệ thống Trong đó, máy Client sẽ gửi yêu cầu tới Server, Server sẽ xử lý yêu cầu và trả kết quả về cho máy Client Tuy vậy, mô hình Client – Server vẫn còn nhiều vấn đề hạn chế như:
Thứ nhất, khi nhiều Client gửi yêu cầu đến Server, Server không
có khả năng đáp ứng, xử lý hết các yêu cầu Như vậy, các yêu cầu không được xử lý sẽ gây ra hiện tượng “thắt nút cổ chai” Khi đó, tài nguyên mạng bị chiếm dụng và tắc nghẽn sẽ ảnh hưởng đến tốc độ trong mạng
Thứ hai, Client có thể gửi các yêu cầu giống nhau Khi đó, Server
sẽ phải thực hiện công việc xử lý trùng lặp, gây ra việc tốn thời gian chờ của Client và hiệu suất của Server sẽ giảm xuống
Thứ ba, hệ thống thiếu tính mềm dẻo trong khả năng mở rộng khi có sự thay đổi về cơ sở dữ liệu, phương thức truy nhập…
Trên thực tế đã có nhiều sự quan tâm từ các nhà quản lý mạng
và các chuyên gia phát triển phần mềm Một số giải pháp cũng đã
viii
Trang 14được đưa để giải quyết các vấn đề trên như: Sử dụng các bản saoServer, sử dụng Proxy – Server.
Với mỗi giải pháp đã thể hiện được ưu điểm của mình, thực tếcũng đã được cài đặt và giải quyết phần nào các điểm yếu của môhình Client – Server truyền thống Tuy nhiên, các hệ thống mới chỉdừng lại và áp dụng cho bài toán cụ thể của họ, nhưng chưa là môhình tổng quát mang tính áp dụng cao Một số vấn đề chưa đưa rađược một kiến trúc, giải pháp toàn diện Khả năng dùng lại và tùybiến không cao
Từ thực trạng và những hạn chế trên, tôi muốn tìm hiểu, xâydựng một mô hình Client – Proxy – Server sử dụng Mobile Agentnhằm cải thiện những thiếu xót mà mô hình Client – Server chưa đápứng được Trong đó, Proxy – Server đóng vai trò quan trọng trongviệc tính toán và chia sẻ dữ liệu
Vai trò của Proxy và ưu điểm của Agent phần mềm trong
mô hình Client – Proxy – Server.
Xây dựng mô hình Client – Proxy – Server sử dụng Agent, trong
đó Proxy đóng vai trò như một Server, có thể tiếp nhận và xử lý cácyêu cầu, lưu trữ kết quả của các yêu cầu đã được xử lý được Servertrả về trong đó cụ thể như sau:
Xây dựng Proxy có khả năng:
- Bắt được các yêu cầu từ Client, gửi các yêu cầu tới Server
- Xử lý các yêu cầu với kết quả đã có sẵn Với những yêu cầulặp lại thì chỉ gửi một lần lên Server
- Nhận kết quả, cập nhật sự thay đổi kết quả của các yêu cầukhi có sự thay đổi trên Server bằng cách sử dụng Agent
Xây dựng Server có khả năng:
- Tạo Agent để gửi trả kết quả về cho Proxy
- Có khả năng chia sẻ tính toán, tài nguyên với Proxy
ix
Trang 15Với tính năng như trên, Proxy có khả năng giảm tải cho Server, tận dụng được tài nguyên Proxy, thời gian đáp ứng nhanh hơn do đường đi ngắn hơn, khả năng nâng cấp hệ thống đơn giản, linh hoạt.
Để làm được những điều trên, cả Proxy và Server đều được cài đặt Jade Agent Jade Agent là môi trường để cho các Agent phần mềm hoạt động Các Agent sẽ cài đặt các dịch vụ trên Proxy và
Server Chúng có thể chia sẻ và đảm bảo sự toàn vẹn về bản chất nghiệp vụ khi thực thi phân tán trên các máy tính khác trong mạng với những ưu điểm như: khả năng di chuyển, khả năng tự trị, tính đóng gói… Khả năng tự trị của Agent cho phép nó có thể tự biết cáchgiao tiếp như thế nào để lấy dữ liệu trên Server Tính đóng gói thể hiện cộng việc chia sẻ từ Server được giữ kín mà không phô bày mã hay dữ liệu mang theo
Nội dung Khóa luận này gồm 6 chương
Error: Reference source not found Mở đầu: Nêu thực trạng,
giới thiệu bài toán thực tiễn, vai trò của Proxy trong mô hình, ưuđiểm của Agent phần mềm khi áp dụng và nêu những nội dung sẽđược trình bày
Error: Reference source not found - Cơ sở lý thuyết: Trình
bày các công nghệ, các nền tảng hỗ trợ về Agent Đặc tả về JADE –nền tảng phát triển Agent
Error: Reference source not found – Phân tích yêu cầu hệ
thống và cơ chế hoạt động của Agent
Error: Reference source not found – Xây dựng và đặc tả hệ
thống
Chương 5 - Thực nghiệm: Kết quả, đánh giá quá trình thực
nghiệm
Chương 6 - Kết luận: Tóm lược những kết quả của Khoá luận,
những đạt được và hạn chế, triển vọng và hướng phát triển trongtương lai
x
Trang 16Chương 2 CƠ SỞ LÝ THUYẾT VÀ CÔNG NGHỆ 2.1 Agent
Khái niệm: Agent là một hệ tính toán hoàn chỉnh hay chương
trình được đặt trong một môi trường nhất định, có khả năng hoạtđộng một cách tự chủ và mềm dẻo trong môi trường đó nhằm đạtđược mục đích đã thiết kế
Trong cuốn sách “Developing Intelligent Agent Systems” của LinPadgham – Micheal WiniKnoff – RMIT còn định nghĩa về Agent nhưsau:
“Agent là một hệ thống máy tính được đặt trong các môi trường
và nó tự chủ hành động trong môi trường đó để đạt được mục tiêu thiết kế của nó”.
Các đặc trưng cơ bản của Agent:
- Tính tự chủ (autonomy): Mỗi Agent có trạng thái độc lập riêng,độc lập với các Agent khác, đồng thời nó có thể tự quyết cáchành động của mình Tự chủ ở trạng thái bên trong thể hiện ởchỗ: mỗi Agent chứa một trạng thái nào của riêng nó, cácAgent khác không truy cập được vào các trạng thái này Còntính tự chủ về hành động thể hiện ở chỗ Agent có thể tự quyếtcác hành động của mình dựa trên trạng thái hiện thời màkhông có sự can thiệp của con người hay các Agent khác Đây
là đặc trưng quan trọng nhất của Agent
- Khả năng phản ứng (reactivity): Tính phản ứng là khả năngAgent có thể nhận biết được môi trường và dựa qua nhận biết
đó, Agent đáp ứng kịp thời những thay đổi xảy ra trong môitrường Tính phản ứng thể hiện rõ nhất ở các Agent hoạt độngtrên các môi trường có tính mở và hay thay đổi như Internet,môi trường mạng phân tán, môi trường vật lý,… Phản ứng củamỗi một Agent đối với môi trường bên ngoài đều hướng tới việcthực hiện mục tiêu
- Tính chủ động (pro-activeness): Khi có sự thay đổi môi trường,Agent không chỉ phản ứng một cách đơn giản mà còn xác địnhmột chuỗi hành động cần thực hiện, bản thân mỗi Agent sẽ chủđộng trong việc khởi động và thực hiện chuỗi hành động này
- Khả năng xã hội (social ability): Các Agent không chỉ hướng tớimục đích riêng của mình mà còn có khả năng tương tác với các
xi
Trang 17Agent khác trong hệ thống để hướng tới mục đích chung của hệthống.
Khái niệm: Mobile Agent 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ựchiện các xử lý thay thế cho con người để đạt được mục tiêu giao phó.Khi di chuyển, các Mobile Agent đóng gói mã nguồn, dữ liệu và cảtrạng thái thi hành, nhờ vậy Mobile Agent có thể dừng việc thi hànhtại máy này, di chuyển sang máy đích và khôi phục sự thi hành tạimáy đích
Hình 2.1: Cấu trúc của Mobile Agent.
Cấu tạo của một Mobile Agent gồm ba phần:
- Trạng thái (State): Dữ liệu về môi trường chạy của Agent
- Dữ liệu (Data): Gồm giá trị các biến được sử dụng bởi Agent vàchỉ có nó mới được sử dụng, quyết định các dữ liệu này
- Mã chương trình (Code): Toàn bộ mã thực thi của chương trìnhđược xây dựng bởi lập trình viên và nó sẽ được thực hiện khi dichuyển đến một máy đích
Vòng đời của một Mobile Agent:
Hình 2.2: Vòng đời của một Mobile Agent.
xii
Trang 18Mô tả vòng đời của Agent:
- Create: Khởi tạo một Agent
- Initiated: Khởi động Agent với một AID xác định và có một
nhiệm vụ nhất định
- Active: Agent bắt đầu thực thi nhiệm vụ Trong quá trình thực
thi, Agent có thể sẽ phải di trú từ nút mạng này sang nút mạng
khác Khi đó, nó sẽ tạm ngưng quá trình thực thi, đóng gói toàn
bộ thông tin và di trú sang nút mạng khác Khi di trú xong,
Agent sẽ tái kích hoạt lại toàn bộ hoạt động được thực thi tại
nút mạng trước Qua trình thực thi cũng có thể tạm ngưng, khi
đó Agent sẽ được tạm dừng hoạt động và sẽ được khởi động lại
khi hệ thống cần đến
- Quit: Quá trình thực thi được hoàn thành
- Destroy: Hủy Agent
Ưu điểm của Mobile Agent:
- Giảm tải mạng: Kỹ thuật Mobile Agent cho phép người dùng
đóng gói thông tin, gởi nó đến máy đích và thực hiện xử lý dữ
liệu, trao đổi cục bộ tại đó Như vậy sẽ góp phần giảm dữ liệu
thô trên mạng và tải mạng sẽ giảm đáng kể
- Khắc phục sự trễ mạng: Các Agent có thể được gửi đi từ một
trung tâm điều khiển và hành động cục bộ, tự trị, trực tiếp thi
hành các chỉ dẫn của người điều khiển
- Đóng gói các giao thức
- Thi hành không đồng bộ và tự trị: Thực thi không đồng bộ trên
các máy tính trong mạng
- Thích ứng nhanh: Agent có khả năng cảm nhận sự thay đổi của
môi trường thực thi và tác động trở lại những thay đổi ấy một
cách tự động mà không mất đi các tính chất
- Khắc phục tình trạng không đồng nhất: Xử lý trên mạng cơ bản
là không đồng nhất do sự đa dạng về phần cứng và phần mềm
Do Mobile Agent độc lập với máy tính và tầng vận chuyển, chỉ
phụ thuộc vào môi trường thi hành nên chúng cung cấp một
điều kiện tố ưu cho việc liên kết các hệ thống không liên quan
với nhau lại
- Mềm dẻo trong bảo trì: Việc thay đổi các hành động của Agent
chỉ phải thay đổi mã của chính Agent đó
Với các ưu điểm trên chính là lý do tại sao tôi lại chọn Agent làm giảipháp cho nghiên cứu mô hình Client – Proxy – Server
xiii
Trang 192.2 Hệ thống đa Agent – Multi Agents System (MAS)
Như đã nói Agent có tính xã hội, đó là đặc tính quan trọng chophép ta xây dựng một hệ đa Agent
Ngoài khả năng tự kiểm soát và ra quyết định các hành vi, Agentcũng có thể hợp tác với các Agent khác để hoàn thành nhiệm vụ Một
hệ thống có nhiều Agent hoạt động như thế gọi là hệ thống đaAgent Mỗi Agent có một nhiệm vụ riêng của mình, nhưng tất cả hoạtđộng việc cùng một mục tiêu chung của tổ chức
Ưu điểm của hệ thống đa Agent so với các hệ thống khác[]:
- Khả năng tính toán: Việc tính toán được phân chia cho cácAgent khác nhau và khả năng phối hợp xử lý cùng nhau củacác Agent nên khả năng tính toán hiểu quả hơn
- Độ tin cậy cao: Nhờ vào việc phân chia tính toán và có cơ chếgiao tiếp giữa các Agent nên độ tin cậy tính toán được cho làcao hơn
- Khả năng mở rộng: Việc mở rộng là khá dễ dàng do có thểthêm bớt Agent, giúp hệ thống có tính mềm dẻo và linh hoạt
- Khả năng bảo trì: Do mỗi Agent là một thành phần độc lập, cótính nhiệm vụ khác nhau nên hệ đa Agent dễ bảo trì
- Khả năng phản ứng: Khi môi trường của hệ thống thay đổi, cácAgent trong hệ thống sẽ phối hợp với nhau để đưa ra hànhđộng tương ứng với thay đổi đó
- Tính linh hoạt: Các Agent có thể chủ động tương tác với nhau
để giải quyết một nhiệm vụ của hệ thống
- Khả năng sử dụng lại: Mỗi Agent có chức năng riêng và có thể
sử dụng lại cho nhiều ứng dụng khác nhau
2.3 JADE Platform
JADE (Java Agent DEvelopment Framwork) là một framework
phần mềm được cài đặt hoàn toàn bằng ngôn ngữ JAVA nhằm mụcđích đơn giản hóa việc cài đặt các hệ thống đa Agent Môi trườngJADE gồm có:
- Một môi trường thực thi được cái đặt trên máy để các Agent cóthể làm việc
- Một bộ công cụ cho phép quản lý và theo dõi hành vi của cácAgent đang hoạt động
- Thư viện lớp cho phép lập trình viên sử dụng để phát triển cácAgent
xiv
Trang 20Hình 2.3: Kiến trúc của JADE
Mô tả kiến trúc JADE:
- Mỗi một JADE Platform sẽ có rất nhiều Container, nhưng duynhất chỉ có một Main Container được khởi tạo khi cài đặt JADE.Các Container khác có thể được tạo hoặc được gọi từ máy tínhkhác
- Mỗi Container có thể sẽ chứa hoặc không chứa các Agent Cóhai Agent đặc biệt của hệ thống sẽ sinh ra khi cài đặt JADE đólà: AMS, DF, chúng tồn tại ở Main Container Trong đó, AMScung cấp dịch vụ quản lý Agent và White page, còn DF cungcấp dịch vụ Default yellow page của platform
xv
Trang 21Hình 2.4: Giao diện khởi động của JADE
- Mỗi một Agent chỉ thuộc về một Container Mỗi một Container
sẽ được chạy trên một tiến trình Java
Vai trò của AMS Agent và DF Agent khi Main Container khởi động:
- AMS Agent: Hệ thống quản lý Agent (AMS – Agent ManagementSystem) là một Agent giám sát toàn bộ platform Là điểm liênlạc cho tất cả Agent cần tương tác để truy cập White pages củaplatform cũng như để quản lý vòng đời của nó Mọi Agent đượcyêu cầu đăng ký với AMS (thực hiện một cách tự động bởi JADElúc Agent bắt đầu) để đạt được một AID hợp lệ (định danh củamột Agent)
- DF Agent: Dịch vụ trang vàng của trong JADE, tuân theo đặc tảquản lý Agent của FIPA, được cung cấp bởi một Agent đặc biệtđược gọi là DF (Directory Facilitator) Mọi platform theo chuẩnFIPA đều chứa một DF Agent Một “yellow pages” – trang vàngcho phép Agent công bố các mô tả của một hoặc nhiều dịch vụ
mà nó cung cấp để các Agent khác có thể dễ dàng tìm ra vàkhai thác một cách dễ dàng Trong ví dụ dưới đây có thể thấycác Agent A1, A2, A3 đăng ký với DF Agent các dịch vụ mìnhcung cấp, các Agent A4, A5 tìm kiếm dựa vào DF Agent và khaithác các dịch vụ từ A1, A2, A3
xvi
Trang 232.4 Ngôn ngữ lập trình Java, JDBC và JSON
Java là ngôn ngữ lập trình hướng đối tượng Java có cú pháp
hướng đối tượng đơn giản, dễ sửa lỗi và có khả năng chạy với hiệusuất cao
JDBC là API Java cơ sở, mà nó cung cấp một các lớp và các giao
diện được viết bằng Java để truy xuất và thao tác với nhiều loại hệ cơ
sở dữ liệu khác nhau
JSON – “JavaScript Object Notation” [ CITATION JSO \l 1033 ] là
một chuẩn định dạng dữ liệu, phù hợp để sử dụng với JavaScript vìJSON chính là cách biểu diễn một đối tượng trong ngôn ngữ này.Trong bài toán đặt ra, JSON được dùng để truyền tải dữ liệu trunggian giữa máy chủ và máy khách trực tiếp thông qua Ajax
2.5 IPMS (Inter – Platform Mobility Service)
IPMS là một Jade – add on hỗ trợ xử lý di chuyển Agent
IPMS cho phép Agent di chuyển đến môi trường thực thi tiếptheo, mang theo đó dữ liệu (Data), trạng thái (State) và nối lại thựcthi khi đến đích
xviii
Trang 24Chương 3 PHÂN TÍCH YÊU CẦU HỆ THỐNG
VÀ CƠ CHẾ HOẠT ĐỘNG CỦA AGENT
3.1 Xây dựng mô hình tổng quan Client – Proxy – Server
Xây dựng hệ thống theo mô hình cơ bản dưới đây:
Hình 3.7: Mô hình Client – Proxy – Server
Mô tả mô hình Client – Proxy – Server:
Proxy như một thiết bị trung gian giữa Client và Server Thông thường, Proxy nằm gần Client và trong cùng cấu trúc mạng của Clients Proxy giao tiếp với Server thông qua Internet
Cơ chế hoạt động: Client gửi yêu cầu đến Proxy Tại đây, Proxy
sẽ xử lý một phần yêu cầu sau đó chuyển tiếp các yêu cầu đến
Server thông qua Internet Server sẽ xử lý yêu cầu rồi gửi trả kết quả
xix
Trang 25cho Proxy thông qua Agent và sau đó Proxy gửi lại kết quả cho
Client
Mô tả chức năng cơ bản:
- Client: Gửi các yêu cầu và nhận kết quả của các yêu cầu đượcgửi từ Proxy
- Proxy: Bắt được các yêu cầu từ Client, định tuyến các yêu cầu của Client tới Server Nếu có Agent đáp ứng được yêu cầucủa Client thì trả về luôn cho Client Proxy sẽ nhận kết quả của yêu cầu chính là Agent được di trú từ Server đến
- Server: Xử lý các yêu cầu của Client được chuyển tiếp từ
Proxy và lấy dữ liệu từ cơ sở dữ liệu thông qua Agent Kết quả trả về Proxy cũng thông qua việc tạo các Agent chứa dữ liệu của các yêu cầu
- Agent: Jade Agent được cài đặt trên Proxy và Server Mỗi Agent chứa dữ liệu cụ thể, và tự động cập nhật dữ liệu được.Với mô hình trên, Agent được cài đặt trên Proxy và Server Các Agent được tạo trên Server khi có một yêu cầu lấy dữ liệu được gửi đến và di trú về Proxy Proxy lưu trữ được các Agent Nhớ vậy mà hệ thống sẽ tận dụng được tài nguyên của Proxy, dữ liệu sẽ được lưu trữgần với Client hơn Khi đó, thời gian phản hồi của hệ thống cho Client
sẽ nhanh hơn
Để hiểu rõ cơ chế hoạt động của hệ thống, chúng ta cần phải tìmhiểu rõ các cơ chế hoạt dộng của Agent gồm các cơ chế:
- Cơ chế quản lý Agent
- Cơ chế di trú của Agent tới nút mạng khác
- Cơ chế cập nhật dữ liệu cho Agent
Các cơ chế giúp cho hệ thống hoạt động và là chức năng chính của hệ thống
xx