Tài liệu TỔNG QUAN VỀ MOBILE AGENTS - Pdf 84

TỔNG QUAN VỀ MOBILE AGENTS

Trần Hạnh Nhi, Lê Đình Duy, Nguyễn Đông Hà
Thái Trí Hùng, Văn Trọng Nam, Huỳnh Tấn Năng, Nguyễn Huy Thẩm,
Nguyễn Thái Huy, Phan Đình Thế Huân, Hồ Thị Mỹ Hiền, Lê Văn Triều

Bộ môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin, Trường ĐH Khoa Học Tự Nhiên Tp.HCM
Email: (thnhi, ldduy)@fit.hcmuns.edu.vn
TÓM TẮT
Mobile agents 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
90s đến nay với những đặc điểm rất thích hợp cho việc phát triển các ứng dụng phân tán. Trong bài
báo này, chúng tôi điểm lại những khái niệm cơ bản về mobile agent đồng thời đề cập đến những loại
ứng dụng phù hợp với mô hình mobile agents đã 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 ứng dụng dựa trên mobile agents, bài báo 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 mobile agents vào ứng
dụng trong thực tế.
ABSTRACT
Mobile agents is one of exciting research areas attracting a great number of consideration from 90’s to
now due to features especially suitable for developing distributed applications. This paper reviews
basic conceptions of mobile agents and deals with kinds of mobile agent based applications that have
been doing research and developing over the world. It also considers some current mobile agent
systems and presents difficulties and challenges in desiginng and implementing mobile agent
applications in practice.
1. GIỚI THIỆU
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 [KOT-99]:

trễ thấp và cuối cùng là các dịch vụ thiếu linh động, khó thay đổi hay bổ sung. Mobile Agent là một
mô hình trong đó các tiến trình - được 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 mobile agent 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 [LAN-99]. Mobile agent 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 ứng dụng phân
tán.
Trong bài báo này này chúng tôi sẽ giới thiệu các khái niệm cơ bản về mobile agent trong phần tiếp
theo. Phần 3 sẽ trình bày về các lợi thế của các ứng dụng dựa trên mobile agents và các lĩnh vực ứng
dụng đầy tiềm năng của mobile agents. Phần 4 trình bày các khảo sát về một số môi trường dựa trên
Java hỗ trợ phát triển ứng dụng mobile agents. Phần thảo luận sẽ bàn đến các vấn đề mở đang được
tiếp tục nghiên cứu trong lĩnh vực hiện nay về mobile agents. Cuối cùng là kết luận.
2. MOBILE AGENTS
2.1. Sự tiến hóa từ các mô hình ứng dụng phân tán
Theo truyền thống, một ứng dụng phân tán có cấu trúc xây dự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 [STA-90] đư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. Mobile agents là mô hình tiến hóa tiên tiến nhất so
với các mô hình trước đó.
Mobile agent [LAN-98] là danh từ ghép giữa agent (trợ lý) và mobile (di động). Một 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ự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 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à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 cho thấy sự khác biệt của Mobile agents so với RPC và REV.

robot, quy trình sản xuất ...Khi đó, giải pháp mobile agents tỏ ra hữu ích trong việc khắc phục độ trễ
nhờ vào việc 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.
3.1.3.1. Đóng gói các giao thức
Khi dữ liệu được trao đổi trong hệ thống phân tán, việc truyền và nhận dữ liệu phải được mã hóa bởi
các giao thức cần thiết. Các giao thức này được sở hữu bởi mỗi máy trong hệ thống. Tuy nhiên, một
khi các giao thức phải tiến hóa để phù hợp với những yêu cầu mới về sự bảo mật hoặc tính hiệu quả,
chúng bắt đầu trở nên cồng kềnh, nặng nề và trở thành vấn đề nan giải. Riêng với giải pháp mobile
agents, các agents có thể mang trên mình các giao thức thích hợp và di chuyển tới các máy ở xa để
thiết lập các kênh truyền nhận thông tin tương ứng.
3.1.4. Thi hành không đồng bộ và tự trị
Thông thường, các thiết bị di động thường phụ thuộc vào các kết nối mạng đắt tiền nhưng rất yếu ớt.
Vì thế, những tác vụ cần có kết nối liên tục giữa thiết bị di động và mạng cố định có thể sẽ không có
tính kinh tế hoặc không khả thi về mặt kỹ thuật. Giải pháp mobile agents giải quyết vấn đề này bằng
cách nhúng tác vụ cần thực hiện vào agent, rồi gửi lên mạng. Sau khi được gửi đi, agent trở nên độc
lập thi hành không đồng bộ và có khả năng tự trị. Các thiết bị di động sau đó có thể kết nối trở lại để
đón agent về.
3.1.5. Thích ứng nhanh
Các agent có khả năng cảm nhận những thay đổi của môi trường thi hành và tác động trở lại những
thay đổi ấy một cách tự động.
3.1.6. Khắc phục tình trạng không đồng nhất
Việc xử lý tính toán trên mạng cơ bản là không đồng nhất vì sự đa dạng về phần cứng và phần mềm
được sử dụng. Do mobile agent độc lập với máy tính (phần cứng và hệ điều hà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ố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.
3.1.7. Mạnh mẽ và có khả năng chế ngự lỗi cao
Với khả năng phản ứng năng động với các sự kiện và những thay đổi bất lợi, mobile agents giúp cho
việc xây dựng hệ thống mạnh mẽ và chịu lỗi cao được dễ dàng hơn.
3.2. Các lĩnh vực ứng dụng tiềm năng của mobile agents
Hiện nay, theo các nghiên cứu về agents, chưa có một ứng dụng nào có thể được xem như là ứng dụng

hình này giúp cho nhà sản xuất chủ động hơn trong việc phục vụ khách hàng để bảo đảm chất lượng
dịch vụ của mình. Mặc khác, các ứng dụng thuộc loại này cũng tỏ ra hiệu quả đối với các mạng cục bộ
hay các chương trình quản lý qui trình hoạt động, sản xuất…để giúp người quản trị giám sát các hệ
thống con. Có thể tham khảo các dự án Banking Dartflow [CAI-96], Autopilot [FOS-99] để hiểu thêm
về loại ứng dụng này.
3.2.5. Xử lý song song
Vì các mobile agent có thể tạo ra nhiều bản sao của nó trên mạng, một ứng dụng đầy tiềm năng của
mobile agent là quản trị các tác vụ song song. Một ứng dụng đòi hỏi quá nhiều tài nguyên bộ xử lý có
thể được phân bố cho các mobile agent mang đi thực hiện trên nhiều máy tính khác nhau để tận dụng
các tài nguyên rảnh rỗi và cân bằng tải. Hệ mobile agents không đồng nhất [HER-99] là một minh họa
khai thác ưu điểm này của mô hình mobile agents .
3.2.6. Quản trị hệ thống mạng
Đối với những hệ thống mạng lớn, việc chẩn đoán lỗi, duy trì sự ổn định của hệ thống là các công việc
rất khó khăn. Việc ứng dụng mobile agent vào việc quản trị mạng sẽ giúp cho các công việc chẩn đoán
lỗi và duy trì từ xa sự ổn định của hệ thống được dễ dàng hơn [BIE-98].
3.2.8. Hỗ trợ các thiết bị di động
Do đặc điểm tài nguyên hạn chế và không kết nối thường xuyên, việc xây dựng các ứng dụng dựa trên
mobile agent với khả năng di chuyển đến các máy tính có cấu hình mạnh hơn để hoạt động (truy vấn
cơ sở dữ liệu, tìm tin…) rồi trả kết quả về sẽ là một giải pháp tốt cho người dùng các thiết bị di động.
Trong số đề án về loại ứng dụng này có thể kể đến Sony Magics Link PDA (xây dựng trên Telescript),
TACOMA [JAC-97], Mobile Agent Middlerware tại Darmouth College [GRA-96], và đề án Docking
Laptop tại University of Maryland [LAZ-98].
4. ĐÁNH GIÁ MỘT SỐ HỆ THỐNG MOBILE AGENTS
Các hệ thống được lựa chọn để khảo sát ở đây bao gồm Aglets và Voyager (sản phẩm thương mại),
cùng với Mole và Zeus (kết quả nghiên cứu). Cả bốn môi trường này đều sử dụng Java để hỗ trợ phát
triển ứng dụng, nhưng mỗi hệ thống có những đặc thù riêng.
4.1. Các hệ thống mobile agents
4.1.1. Aglets
Aglets [LAN-98] được xây dựng và phát triển bởi D. B. Lange và IBM Tokyo Research Laboratory.
Hiện nay, bộ Aglets Software Development Kit (ASDK) do IBM phát triển đã dừng lại ở phiên bản


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status