1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nghiên cứu phát triển và ứng dụng công nghệ Mobile Agent cho hệ thống đa cơ sở dữ liệu phân tán

116 29 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 116
Dung lượng 1,18 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Nghiên cứu phát triển và ứng dụng công nghệ Mobile Agent cho hệ thống đa cơ sở dữ liệu phân tán Nghiên cứu phát triển và ứng dụng công nghệ Mobile Agent cho hệ thống đa cơ sở dữ liệu phân tán Nghiên cứu phát triển và ứng dụng công nghệ Mobile Agent cho hệ thống đa cơ sở dữ liệu phân tán luận văn tốt nghiệp,luận văn thạc sĩ, luận văn cao học, luận văn đại học, luận án tiến sĩ, đồ án tốt nghiệp luận văn tốt nghiệp,luận văn thạc sĩ, luận văn cao học, luận văn đại học, luận án tiến sĩ, đồ án tốt nghiệp

Trang 1

TR¦êNG §¹I HäC B¸CH KHOA Hµ NéI

Trang 2

Danh sách các từ viết tắt i

Danh sách các hình vẽ ii

Lời mở đầu 1

Chương 1: Mobile agent 3

1.1 Tổng quan 3

1.1.1 Một số khái niệm 4

1.1.1.1 Mobile agent là gì ? 4

1.1.1.2 Agency (agent server) 7

1.1.1.3 Quá trình phát triển từ truyền thông điệp đến mobile agent 8

1.1.2 Đặc điểm của mobile agent 10

1.1.2.1 Tính di động 10

1.1.2.2 Sự thu thập dữ liệu 11

1.1.2.3 Xác định đường đi 11

1.1.2.4 Truyền thông 12

1.1.2.5 Bảo mật 13

1.1.3 Lợi ích của mobile agent 16

1.1.3.1 Hỗ trợ tốt hơn cho các máy khách di động 16

1.1.3.2 Truyền thông phân tán và không đồng nhất 16

1.1.3.3 Giảm tải của mạng 17

1.1.3.4 Tương tác không đồng bộ 17

1.1.3.5 Tìm kiếm và chọn lọc từ xa 18

1.1.3.6 Tạo điều kiện thuận lợi cho việc thu thập thông tin có ngữ nghĩa 19

1.1.3.7 Tạo điều kiện thuận lợi cho sự tương tác thời gian thực với máy chủ 20

1.1.3.8 Cho phép khả năng định đường có ngữ cảnh 20

1.1.4 ứng dụng 21

1.1.4.1 Thu thập thông tin từ nhiều địa điểm 22

1.1.4.2 Tìm kiếm và chọn lọc thông tin 22

Trang 3

1.1.4.5 Đàm phán và giao dịch thương mại 24

1.1.4.6 Xử lý cho agent 25

1.2 Cấu trúc hoạt động một hệ thống mobile agent 25

1.2.1 Tổng quan 25

1.2.2 Agent miền 27

1.2.3 Agent tài nguyên 28

1.2.4 Mobile agent 29

1.2.5 Agent giao diện người dùng 31

1.2.6 Agent cổng 32

1.3 Một số hệ thống mobile agent hiện nay 33

1.3.1 Agent TCL 33

1.3.2 TACOMA 36

1.3.3 Telescript 38

1.3.4 Grasshopper 40

1.3.5 Aglets 42

Chương 2: Hệ thống đa cơ sở dữ liệu phân tán 45

2.1 Tổng quan 45

2.2 Kiến trúc 47

2.3 Các vấn đề đặt ra 49

2.4 Một số hệ thống đa cơ sở dữ liệu phân tán 50

2.4.1 Hệ thống Pegasus 51

2.4.2 Hệ thống TCMMDB 52

2.4.3 Hệ thống ACQUIRE 53

2.5 Một số công cụ hỗ trợ truy vấn các nguồn dữ liệu khác nhau 54

2.5.1 OmniConnect 54

2.5.2 Heterogeneous service 54

Chương 3: Xây dựng mô hình hệ thống đa cơ sở dữ liệu thuần nhất sử dụng mobile agent 56

3.1 Đặt vấn đề 56

Trang 4

3.4 Nguyên tắc hoạt động 60

3.5 Thiết kế hệ thống 61

3.5.1 Đăng ký agent 61

3.5.2 Xử lý agent 62

3.5.3 Xử lý truy vấn tổng thể 62

3.5.4 Xử lý giao dịch tổng thể 64

3.5.5 DB agent 70

3.5.6 Phân tích yêu cầu 70

3.5.7 Global metadatabase 72

3.5.8 Metadatabase 72

3.6 Lựa chọn ngôn ngữ 72

3.7 Môi trường phát triển 73

3.7.1 Xử lý giao dịch phân tán 74

3.7.2 Quản lý một phiên làm việc 75

3.7.3 Bảo mật 76

3.7.3.1 Bảo mật mạng 76

3.7.3.2 Bảo mật người dùng 76

3.7.3.3 Kết nối mạng 79

3.8 Phát triển chương trình 82

3.8.1 Xử lý việc di cư 82

3.8.2 Xử lý yêu cầu người dùng 86

3.8.3 Xử lý thao tác với cơ sở dữ liệu 87

3.8.4 Giao diện người dùng 88

3.8.5 Xử lý bảo mật 88

Chương 4: Triển khai thử nghiệm cho các ứng dụng xử lý và khai thác thông tin trên hệ thống thông tin phân tán của Công ty Dịch vụ tiết kiệm Bưu điện 90

4.1 Thực trạng hệ thống mạng Công ty Dịch vụ tiết kiệm Bưu điện 90

4.2 Giải pháp 92

Trang 5

KÕt luËn 107 Tµi liÖu tham kh¶o 108

Trang 6

Danh s¸ch c¸c tõ viÕt t¾t

ACID Atomicity, Consistency, Isolation and Durability API Application Programming Interface

Trang 7

Danh sách các hình vẽ

Hình 1.1: Mô hình máy khách/máy chủ 3

Hình 1.2: Mô hình mobile agent 4

Hình 1.3: Mô hình Agency 7

Hình 1.4: Cấu trúc hoạt động của hệ thống mobile agent 26

Hình 1.5: Kiến trúc hệ thống Agent TCL 33

Hình 1.6: Kiến trúc hệ thống TACOMA 37

Hình 1.7: Kiến trúc hệ thống Telescript 39

Hình 1.8: Kiến trúc hệ thống Grasshopper 40

Hình 2.1: Kiến trúc một hệ thống đa cơ sở dữ liệu phân tán 48

Hình 2.2: Kiến trúc hệ thống Pegasus 51

Hình 2.3: Kiến trúc hệ thống TCMMDB 52

Hình 2.4: Kiến trúc hệ thống ACQUIRE 53

Hình 3.1: Mô hình hệ thống đa cơ sở dữ liệu phân tán sử dụng mobile agent 58

Hình 3.2: Nguyên tắc hoạt động 61

Hình 3.3: Kiến trúc bên trong của thành phần xử lý truy vấn tổng thể 63

Hình 3.4: Kiến trúc bên trong của thành phần xử lý giao dịch tổng thể 65

Hình 3.5: Kiến trúc bên trong của phân tích yêu cầu 71

Hình 3.6: Hệ thống phân tán 74

Hình 3.7: Kiến trúc phiên 75

Hình 3.8: Các role người dùng trong Oracle 78

Hình 3.9: Kết nối theo mô hình máy khách/máy chủ 80

Hình 3.10: Oracle JDBC Driver 81

Hình 4.1: Mô hình hiện thời của Công ty Dịch vụ tiết kiệm Bưu điện 91

Hình 4.2: Mô hình hệ thống mới của Công ty Dịch vụ tiết kiệm Bưu điện 92

Trang 8

Lời mở đầu

Ngày nay các hệ thống mobile agent cho phép các agent di cư một cách

độc lập, thông minh và tự do trong mạng phân tán nhằm tìm kiếm thông tin hay thực hiện một tính toán nào đó đã trở thành hiện thực Có rất nhiều hệ thống hỗ trợ mobile agent mức cao như Agent TCL, TACOMA, Telescript, Aglets, Grasshopper Chúng là câu trả lời cho các thách thức đặt ra là phải tìm công nghệ mới để giải quyết vấn đề lưu lượng mạng tăng do xu hướng kích thước mạng công ty, Internet tăng ý tưởng chủ đạo của công nghệ mobile agent là đem agent tới gần dữ liệu của nó tới mức có thể Điều này giúp cho : (1) tiết kiệm được băng thông; (2) giúp cho các máy khách có thể tự do làm việc khác và không nhất thiết phải kết nối liên tục; (3) thời gian xử lý giảm Một ví dụ sau đây sẽ làm ta thấy rõ điều này: một agent truy vấn thông tin phân tán rõ ràng sẽ phải truy nhập vào nhiều cơ sở dữ liệu trên các máy chủ khác nhau Agent này sẽ di cư từ máy chủ cơ sở dữ liệu này tới máy chủ cơ sở dữ liệu khác để thực hiện lệnh truy vấn và không mang các thông tin kết quả trung gian trên mạng Đồng thời tính di động của mobile agent sẽ cho phép agent di cư tới máy chủ nơi dữ liệu lưu trữ vật lý Nó trong suốt đối với người

sử dụng Những lợi điểm này cho phép ta khai thác một cách có hiệu quả dữ liệu phân tán trên một hệ thống cơ sở dữ liệu tự trị, phân tán trên các máy chủ không đồng nhất nền tảng (platform) - hệ thống đa cơ sở dữ liệu phân tán (multidatabase)

Luận văn "Nghiên cứu, phát triển và ứng dụng công nghệ mobile agent cho hệ thống đa cơ sở dữ liệu phân tán" nhằm mục đích nghiên cứu, thử nghiệm tích hợp công nghệ mobile agent trong việc giải quyết bài toán truy vấn tổng thể, quản lý giao dịch tổng thể khi xây dựng một hệ thống đa cơ sở dữ liệu phân tán tích hợp các cơ sở dữ liệu đang có Đồng thời, áp dụng

Trang 9

nghiên cứu đó để phát triển và ứng dụng trong hệ thống thông tin phân tán của Công ty Dịch vụ Tiết kiệm Bưu điện

Cấu trúc luận văn gồm:

 Chương 1: Giới thiệu tổng quan về mobile agent, kiến trúc của một hệ thống mobile agent theo quan điểm agent và một số các hệ thống hỗ trợ mobile agent hiện nay

 Chương 2: Giới thiệu khái quát về hệ thống đa cơ sở dữ liệu phân tán, mô hình kiến trúc và một số hệ thống đã phát triển gần đây

 Chương 3: Xây dựng mô hình hệ thống ứng dụng mobile agent giải quyết các bài toán trong đa cơ sở dữ liệu thuần nhất

 Chương 4: ứng dụng mô hình ở chương 3 để thử nghiệm xây dựng ứng dụng xử lý và khai thác số liệu trong hệ thống đa cơ sở dữ liệu phân tán của Công ty Dịch vụ Tiết kiệm Bưu điện

Trang 10

bộ tức là máy khách sau khi gửi yêu cầu đi tới máy chủ sẽ đợi cho đến khi kết quả của yêu cầu đó trả về Mô hình này có một số nhược điểm sẽ được trình bày chi tiết ở phần sau khi ta so sánh mô hình này với mô hình mobile agent

Từ khi công nghệ mobile agent ra đời thì việc xây dựng các ứng dụng phân tán theo mô hình mobile agent (hình 1.2) cũng đã được nghiên cứu và ứng dụng

Trang 11

Hình 1.2: Mô hình mobile agent

Vậy công nghệ mobile agent là gì và tại sao người ta lại quan tâm nghiên cứu

và ứng dụng nó trong việc xây dựng ứng dụng phân tán? Các phần sau đây sẽ phần nào giải thích được câu hỏi này

1.1.1 Một số khái niệm

1.1.1.1 Mobile agent là gì ?

Agent bắt nguồn từ tiếng Hy lạp "agein" có nghĩa là "dẫn dắt" ở mức

độ cơ sở và khái niệm nó được coi là thực thể có thể thực hiện các công việc thay cho con người Ví dụ chúng ta dự định đi nghỉ mát và mệt mỏi khi phải làm các thủ tục như mua vé máy bay, đặt chỗ khách sạn, Ta có thể đến các

đại lý du lịch có khả năng và ủy thác trách nhiệm cho họ làm các công việc

Trang 12

trên Trong lĩnh vực phần mềm agent được hiểu là một phần mềm có khả năng thực hiện các công việc thay cho con người

Mobile agent là một tiến trình (ví dụ: một chương trình chạy) có khả năng di cư từ một máy của một hệ thống này sang một máy khác (thông thường trong cùng hệ thống) để đáp ứng các yêu cầu tạo ra bởi các máy khách của chúng Về bản chất, một mobile agent sẽ thực hiện trên máy mà nó khởi tạo khi máy này hỗ trợ những tài nguyên cũng như dịch vụ mà agent yêu cầu

để thực hiện công việc của nó Nếu trên máy đó không chứa các tài nguyên/dịch vụ cần thiết hay nó yêu cầu tài nguyên/dịch vụ trên máy khác thì thông tin trạng thái của mobile agent sẽ được lưu lại theo định dạng cho trước

và được truyền tới máy chứa tài nguyên hay dịch vụ cần thiết đó Tại đó mobile agent sẽ được khởi tạo và sau đó nó sẽ thực hiện tại máy mới đó Có thể nói mobile agent bao gồm bốn thành phần sau:

 Phần code: các đoạn mã lệnh để xử lý

 Phần dữ liệu: nội dung các tham số của các đối tượng

 Phần trạng thái xử lý: mỗi một agent sẽ thực hiện trong một hay nhiều luồng (thread) Mỗi luồng sẽ có thanh ghi đếm riêng và các danh sách kết nối riêng để lưu trữ các biến và các dữ liệu kết quả cục bộ

 Phần khởi tạo ban đầu: trong một số trường hợp phần này được thêm vào

Mô hình mobile agent là sự mở rộng của mô hình máy khách/máy chủ Trong mô hình máy khách/máy chủ, các thực thể giao tiếp với nhau đều có các vai trò rõ ràng và cố định, máy chủ (server) cung cấp các dịch vụ và các máy khách (client) sử dụng các dịch vụ đó nên phụ thuộc chặt chẽ vào các máy chủ cung cấp các dịch mà nó cần Cơ chế giao tiếp máy khách và máy chủ thông qua giao thức truyền thông điệp Tuy nhiên cơ chế này bắt buộc người lập trình phải xác định được các địa chỉ mạng và các điểm đồng bộ

Trang 13

Mô hình mobile agent giải quyết được những vấn đề trên Những đặc

điểm điển hình của mobile agent là khả năng di chuyển được, tính tự trị trong hành động, trao đổi điểm - điểm (peer to peer) và khả năng xử lý độc lập với mạng và vị trí ban đầu

Tính di chuyển là một đặc điểm mong muốn vì những lý do sau:

 Hiệu quả: nếu một agent có khả năng di chuyển trong mạng tới vị trí của tài nguyên thì mật độ truyền thông của mạng máy tính sẽ được giảm đáng kể vì các agent có thể tiền xử lý dữ liệu, xác định dữ liệu nào là quan trọng nhất Điều này sẽ càng quan trọng hơn đối với các người dùng sử dụng đường truyền với băng thông thấp

 Tính bền bỉ (persistence): khi một nút mạng tạo ra một agent thì agent

đó không bị phụ thuộc vào nút mạng, không bị ảnh hưởng nếu nút mạng bị hỏng Việc agent di chuyển giữa các nút mạng có nghĩa là agent có khả năng sống sót và sử dụng các tài nguyên tới mức tối đa

Điều này rất có ích đối với những người dùng máy tính di động: họ có thể truy cập vào mạng, sinh ra một agent hoạt động trong mạng, thoát khỏi mạng và kiểm tra kết quả sau một khoảng thời gian nào đó

 Trao đổi điểm - điểm (peer to peer communication): nhược điểm của mô hình máy khách/máy chủ là các máy chủ không có khả năng giao tiếp với nhau Những mobile agent được xem là các thực thể cùng cấp

và như vậy chúng có thể chấp nhận bất cứ vai trò nào thích hợp cho nhu cầu hiện tại của chúng Chẳng hạn, khi một mobile agent đang truy cập vào tài nguyên, nó đóng vai trò khách Tuy nhiên, khi một Mobile agent khác đang truy vấn nó thì nó thành vai trò máy chủ

 Tính chịu lỗi (fault tolerance): thông thường trong mối quan hệ máy khách/máy chủ, trạng thái của giao dịch được phân đều trên máy khách và máy chủ Trong khi thực hiện yêu cầu, mạng hoặc máy chủ

có thể bị hỏng và khi đó việc phục hồi và đồng bộ lại với máy chủ là

Trang 14

rất khó khăn đối với máy khách Ngược lại, các mobile agent không cần thiết duy trì kết nối trong suốt giao dịch, trạng thái được tập trung tại bản thân các agent, do đó sẽ dễ dàng hơn cho việc xử lý và phục hồi dữ liệu khi gặp lỗi

1.1.1.2 Agency (agent server)

Một agency (tác sở) nắm giữ các thông tin, thuộc tính về bản chất và hành vi của các agent Thông thường, người dùng sẽ tin tưởng và sử dụng agent có bản chất hoàn chỉnh và hành vi có thể kiểm soát được

Một agency đáp ứng được nhiều tác vụ như tạo, xử lý, truyền, hủy bỏ các agent Hơn nữa agency còn hỗ trợ một môi trường an toàn, truyền thông khả dụng và một số dịch vụ khác như truy nhập cơ sở dữ liệu Mỗi một agency trên mạng đều có một số định danh duy nhất Agency có thể được biểu diễn như hình 1.3:

Hình 1.3: Mô hình Agency

Trang 15

1.1.1.3 Quá trình phát triển từ truyền thông điệp đến mobile agent

Truyền thông giữa các thực thể trong hệ thống phân tán có thể được hỗ trợ bởi nhiều kiểu mô hình khác nhau Truyền thông điệp là mô hình được đưa

ra đầu tiên, cho phép các tiến trình có thể truyền thông với nhau bằng việc gửi

và nhận các thông điệp (message), bao gồm cả truyền đồng bộ và không đồng

bộ Đặc biệt, việc truyền thông điệp không đồng bộ là rất linh hoạt và do đó

hỗ trợ được rất nhiều loại truyền thông khác nhau Tuy nhiên nó lại bộc lộ rằng việc phát triển các ứng dụng phân tán dựa trên truyền thông điệp là rất phức tạp và dễ gây lỗi, đồng thời chương trình khó phân tích và gỡ rối

Một mô hình truyền thông bậc cao hơn là gọi thủ tục từ xa (Remote

Procedure Call – RPC) Trong mô hình này, để truyền thông, các tiến trình gọi các thủ tục từ xa thay vì gửi và nhận các thông điệp RPC hỗ trợ kiểu tương tác máy khách/máy chủ, trong đó máy khách đưa ra các yêu cầu tới máy chủ, máy chủ thực hiện thủ tục được yêu cầu và trả về kết quả Đa số các cơ chế RPC hỗ trợ các lời gọi đồng bộ và không đồng bộ Rõ ràng, một yêu cầu tiên quyết cho một RPC có thể hoạt động là thủ tục được gọi phải có ở trên máy ở xa (mà nó lời gọi đến) Yêu cầu này làm hạn chế khả năng sử dụng của RPC trong các hệ thống phân tán mở lớn Trong nhiều trường hợp, người

ta mong muốn có thể mang theo một thủ tục tới một nút ở xa và thực hiện thủ tục này tại nút đó Ví dụ như mang một bộ lọc tới một cơ sở dữ liệu ở xa để truy cập và nén dữ liệu một cách cục bộ tại nút đó đó mà không cần đến người quản trị hệ thống ở đó Khi đó, một tiến trình không chỉ truyền tham số của thủ tục được gọi mà còn truyền cả mã nguồn của chính thủ tục đó Tổng quát hoá lên, ta có thể thấy rằng việc truyền mã nguồn của thủ tục không chỉ từ phía máy khách lên máy chủ mà cả chiều ngược lại, được gọi là di chuyển

đẩy-kéo” Ví dụ, Java applets hay ActiveX control là các công nghệ cho phép

máy khách kéo mã nguồn từ máy chủ về, trong khi đó Servlets lại cho phép

Trang 16

đẩy mã nguồn lên máy chủ Cơ chế cho phép thực hiện việc kéo và đẩy mã

nguồn này (cùng với các tham số) từ nút này đến nút khác được biết đến với khái niệm thực hiện từ xa (remote execution)

Trong khi thực hiện từ xa chỉ cho phép di chuyển mã nguồn (code

mobility) thì mobile agent hỗ trợ cho di chuyển tiến trình, ở đó các quá trình thực hiện chương trình có thể di trú từ máy này sang máy khác trong mạng

Rõ ràng việc di cư agent không chỉ là với mã nguồn mà còn với cả thông tin trạng thái của agent Thông tin trạng thái của agent bao gồm dữ liệu (các biến toàn cục và giá trị) và trạng thái thực hiện của agent (các biến cục bộ và các luồng) Dựa trên khả năng di trú có thể mang theo được những thông tin nào

mà người ta chia ra hai loại di cư : di cư mạnh (strong migration) và di cư yếu (weak migration)

Trong di cư mạnh, toàn bộ dữ liệu trạng thái (dữ liệu và trạng thái thực hiện) được di chuyển theo Ngay khi agent đến đích nó sẽ tự động khôi phục lại trạng thái của mình Điều này là rất hấp dẫn đối với người lập trình vì toàn

bộ công việc như bắt, di chuyển và phục hồi trạng thái cho agent là trong suốt nhờ hệ thống nền Tuy nhiên, để cung cấp được mức độ trong suốt này trong môi trường không đồng nhất thì đòi hỏi phải có ít nhất một mô hình chung cho các trạng thái của agent cũng như là cú pháp di chuyển các thông tin này Ngoài ra, do toàn bộ trạng thái của agent là khá lớn nên việc di trú mạnh có thể sẽ tốn thời gian và chi phí cao

Việc hạn chế những khó khăn nêu trên dẫn đến việc phát triển loại di cư yếu, trong đó chỉ có dữ liệu được di chuyển Khi đó thông tin phải di chuyển

là nhỏ nhưng người lập trình lại phải chịu trách nhiệm mã hoá các trạng thái thực hiện tương ứng của agent trong các biến chương trình và làm cho công việc lập trình trở nên khá phức tạp

Trang 17

1.1.2 Đặc điểm của mobile agent

1.1.2.1 Tính di động

Tính di động là đặc điểm cho phép agent di chuyển giữa các nút mạng Nhưng sự di chuyển và chức năng kiểm soát tính chuyển động của nó được thực hiện như thế nào? Về cơ bản, mobile agent cũng là sự thực hiện các tiến trình, tuy nhiên nhân tố quan trọng để phân biệt mobile agent với các tiến trình thông thường là không phải tất cả các lệnh của tiến trình đều được thực hiện trên cùng một nút mạng Và như vậy, vì mobile agent khác với các tiến trình thông thường nên sự di chuyển của chúng cũng khác so với sự di chuyển của các tiến trình thông thường: chúng khác nhau về chủ thể quyết định trong việc xác định không gian và thời gian di chuyển Đối với các tiến trình thông thường, một tiến trình của hệ thống sẽ điều khiển sự di chuyển của các tiến trình khác vì một số lý do như vị trí tài nguyên, cân bằng tải trọng Thao tác

điều khiển này tương đối phức tạp Đối với mobile agent, thì chính agent là chủ thể quyết định trong việc thời gian di chuyển, và hệ thống phải hỗ trợ và

có khả năng thực hiện yêu cầu này

Agent di chuyển giữa các nút mạng theo hai cách:

 Hướng trạng thái: agent có thể di chuyển tại bất cứ bước nào trong quá trình thực hiện của chúng thông qua các lệnh di chuyển như: go, jump, move Khi các lệnh này được gọi, trạng thái hiện tại của agent

được đóng gói và truyền tới một nút khác trong mạng Tại nút này, quá trình thực hiện của agent được tiếp tục tại bước mà chúng đã di chuyển Việc khôi phục lại trạng thái của agent tại nút đích có thể

được thực hiện bởi bản thân agent hoặc bởi hệ thống

 Không có trạng thái: agent có thể di chuyển tại bất cứ bước nào trong quá trình thực hiện nhưng trạng thái của chúng lại bắt đầu lại từ đầu

Trang 18

Điều này có nghĩa là trước khi agent chuẩn bị di chuyển, các thông tin về trạng thái của chúng được lưu vào một bộ lưu trữ hoặc một cơ

sở tri thức Bộ lưu trữ dữ liệu hoặc cơ sở tri thức này được bao gói và gửi đi cùng với agent Tại nút đích, nếu cần thiết thì agent phải tự khôi phục lại trạng thái của mình từ bộ lưu trữ dữ liệu này Những hệ thống này có khả năng di chuyển dễ dàng nhưng việc tạo ra các agent

là tương đối khó khăn vì việc tạo agent gắn liền với thao tác lưu giữ/khôi phục trạng thái

1.1.2.2 Sự thu thập dữ liệu

Mobile agent thu thập các thông tin cần thiết từ môi trường cục bộ để thực hiện mục đích của mình Những thông tin này cần phải được lọc bởi các agent trước khi chúng được lưu hoặc gửi đi tiếp cùng với chúng Do đó các hệ thống mobile agent cần phải có khả năng đánh giá các tài nguyên mà chúng cần

1.1.2.3 Xác định đường đi

Có 3 phương pháp để xác định đường đi cho các agent:

 Xác định trước (predetermination): đường đi của agent được xác định ngay khi agent được sinh ra Phương pháp này thích hợp trong trường hợp các hành động của agent cần được kiểm soát, thứ tự các nút mà agent thăm là quan trọng

 Xác định động (dynamic determination): agent được tự do di chuyển giữa các nút mạng Việc lựa chọn nút mạng tiếp theo để di chuyển có thể được thực hiện một cách ngẫu nhiên, hay có thể dựa trên cơ sở tri thức về các nút mạng mà bản thân agent có hoặc là các thông tin thu

được từ các agent khác Phương pháp này phù hợp với các agent khai phá dữ liệu (data mining agent)

Trang 19

 Xác định hỗn hợp (hybrid determination): kết hợp hai phương pháp trên Các nút đích của agent đã được định nghĩa nhưng agent vẫn có khả năng quyết định xem các dịch vụ và tài nguyên của các nút khác trong mạng có thích hợp với mục đích của mình hay không Hay nói một cách khác là agent chứa một tập các tiêu chuẩn dùng để xác định xem một nút mạng có phù hợp với mục đích của mình hay không Phương pháp này thường được sử dụng trong các trường hợp khi mà tốc độ trả về của các dữ liệu là quan trọng hơn so với độ phức tạp của dữ liệu được xử lý

 Hướng nút (node oriented): các agent giao tiếp thông qua cơ chế truyền thông cục bộ giữa các tiến trình, chẳng hạn thông qua tệp, chia

xẻ bộ nhớ Với phương pháp này, các agent phải ở trên cùng một mạng

Ngoài ra, truyền thông có thể thực hiện theo hai cách:

 Đồng bộ: các agent phải sắp xếp thời gian cho việc truyền thông và phải thực hiện đồng bộ với nhau trước khi dữ liệu được truyền Phương pháp này thường được sử dụng khi truyền những dữ liệu quan trọng, cần được xác nhận

Trang 20

 Không cần đồng bộ: các agent có thể giao tiếp với nhau bất cứ lúc nào Dữ liệu sẽ được nhận khi các agent kiểm tra nó Phương pháp này thường được dùng khi trao đổi các dữ liệu mang tính chất thông tin

Mobile agent có thể truyền thông với nhiều thực thể khác nhau:

 Tương tác với agent dịch vụ: mỗi một agent dịch vụ đáp ứng một số yêu cầu cụ thể như truy nhập hệ thống file, truy nhập cơ sở dữ liệu, Kiểu tương tác này là kiểu máy khách/máy chủ điển hình nên nó sử dụng phương thức truyền thông giống như RPC

 Tương tác với các mobile agent khác: nó không dựa vào dòng thông tin hai chiều như trong truyền thông hỏi/đáp thông thường Nó được

định nghĩa như là sự trao đổi tri thức Các agent trao đổi các tri thức

về mạng, về các tài nguyên

 Tương tác với người dùng: trong một số trường hợp như tìm kiếm thông tin, các agent cần gửi kết quả thu được về cho người sử dụng đã tạo ra agent Mobile agent thường ghi lại dữ liệu của chúng bằng một agent khác hoạt động trên nút mạng của người dùng Agent này sẽ thu thập, sắp xếp và tổ chức thông tin theo khuôn dạng phù hợp với người dùng

1.1.2.5 Bảo mật

Những nhà quản trị hệ thống cũng như những người có trách nhiệm với mạng máy tính luôn lo ngại trong việc sử dụng các chương trình có khả di chuyển Trong môi trường máy khách/máy chủ thông thường việc thực thi một chương trình sẽ được gán cho một người được hệ thống xác thực Điều này có nghĩa là chỉ có những người được hệ thống chấp nhận và có đủ quyền mới có thể thực thi chương trình Hơn nữa việc bảo mật được hỗ trợ bởi hệ điều hành

Trang 21

và chương trình chỉ có thể chạy trên một hệ điều hành riêng biệt Ngược lại, trong môi trường mobile agent, một agent thực thi một số hành động từ một máy chủ ở xa nên không thể gán cho một người dùng nào cả Do đó hệ thống không thể kiểm tra các quyền truy nhập vào tài nguyên Nó cũng có thể không biết người sở hữu của agent Hơn nữa là agent thường xuyên vượt qua sự kiểm soát của hệ thống bởi nó có khả năng tự quản lý việc di chuyển, việc tái tạo lại cũng như di chuyển qua nhiều hệ điều hành khác nhau Do đó việc bảo mật không chỉ do riêng hệ điều hành mà còn cả của môi trường tính toán cũng như của cả agent Nếu thực hiện được vấn đề bảo mật thì việc sử dụng mobile agent là rất có lợi trong nhiều trường hợp

1.1.2.5.1 Bảo vệ tài nguyên máy chủ

Trong một mạng mở chúng ta cần phải bảo vệ môi trường tính toán cũng như tài nguyên của nó Chúng ta không thể bảo đảm rằng chỉ có các agent thân thiện trong hệ thống Có rất nhiều loại tấn công sử dụng các agent

ác ý Các agent này do thám các thông tin nhạy cảm (mật khẩu, thông tin nhạy cảm của người dùng, thói quen người dùng ) hoặc có thể khởi tạo tấn công từ chối dịch vụ khiến cho máy chủ bị khóa và từ chối cho các agent khác di cư

đến Như vậy rõ ràng rằng các môi trường tính toán cần phải quan tâm tới việc triển khai công tác bảo mật Các máy chủ cần có các cơ chế để định danh các agent và các nút gốc của agent Nếu định danh không được xác thực thì agent

đó bị loại hoặc chỉ được cấp quyền truy cập ở mức tối thiểu Thêm vào đó, các agent cần được nhúng vào trong môi trường tính toán Tất cả việc truyền thông

và truy nhập tài nguyên chỉ nên thực hiện duy nhất thông qua môi trường tính toán và phải được xác thực

1.1.2.5.2 Bảo vệ agent

Sau khi di cư từ máy chủ này sang máy chủ khác agent cũng rất dễ bị tấn công Có nhiều kiểu tấn công xảy ra:

Trang 22

 Đơn giản nhất là nó có thể bị hủy do máy chủ có sự cố hay không có tiến trình xác nhận giữa hai máy chủ khiến nó không đến được máy chủ kia

 Tiếp nữa là môi trường tính toán có thể ăn trộm thông tin nhậy cảm từ agent mà agent và các ứng dụng máy khách không biết

 Môi trường tính toán thậm chí còn có thể thay đổi dữ liệu Ta xem xét

ví dụ sau:

Ta có một hệ thống các đại lý du lịch Khi có yêu cầu đặt tour, một agent sẽ di chuyển tới các máy chủ của các đại lý để thu thập thông tin giá cả Sau khi thu thập được giá cả của tour đó nó sẽ quyết định chọn đại lý nào Trong quá trình đó một đại lý nào đó sửa đổi dữ liệu khiến cho giá cả của nó trở nên không còn thấp hơn so với các đại lý khác hay nó trở thành đại lý có giá thấp nhất

 Có một khả năng khác là môi trường tính toán có thể thay đổi mã lệnh của agent Nó có thể thêm vào các đoạn mã mà sau khi agent đi tới các máy chủ khác hay quay về máy chủ gốc nó sẽ đánh cắp các thông tin, phá hủy tài nguyên hay khởi tạo các hành động có hại khác Điều này đặc biệt nguy hiểm khi các máy chủ gốc xử lý các agent này như là các thực thể đã được tin tưởng (trusted entity)

Các hệ thống mobile agent cần có các cơ chế để giải quyết các vấn đề trên như:

 Cơ chế phân quyền: quy định các quyền mà agent có quyền thực hiện

 Cơ chế xác thực: khi agent di chuyển tới một nút mạng nào nó hệ thống cần phải thẩm định bytecode của agent để đảm bảo agent đó không thực hiện các hành động bị cấm hoặc hư hại

 Cơ chế truyền agent: sử dụng các cơ chế bảo mật khi truyền agent như áp dụng các phương pháp mã hóa PGP (Pretty Good Private), SSL (Secure Socket Layer)

Trang 23

1.1.3 Lợi ích của mobile agent

 Khi kết nối, chúng chỉ sử dụng các kết nối có băng thông tương đối hẹp Tuy nhiên, agent thực hiện cả hai công việc thu nhận và chọn lọc thông tin tại máy chủ và trả về máy khách chỉ là thông tin có liên quan – không có thông tin dư thừa Do đó thông tin di chuyển qua mạng là tối thiểu

 Khả năng lưu trữ và xử lý bị hạn chế Tuy vậy, các thiết bị không phải tốn nhiều tài nguyên hệ thống cho việc lưu trữ và xử lý vì các công việc thu thập và chọn lọc thông tin đã được agent thực hiện tại máy chủ và các thông tin gửi về không bị dư thừa và là tối thiểu

1.1.3.2 Truyền thông phân tán và không đồng nhất

Mobile agent có thể giải quyết các vấn đề về sự không tương thích về ngôn ngữ và định dạng dữ liệu cũng như là sự không đồng nhất về môi trường thực hiện Lý do là vì chúng chứa cả mã nguồn trong quá trình truyền thông,

Trang 24

do đó agent có thể được dùng để ánh xạ các giao diện trên các hệ thống không

đồng nhất với nhau Yêu cầu duy nhất là các dịch vụ nguyên thuỷ của ngôn ngữ agent phải có thể thực hiện được trên mỗi hệ thống đó

Mobile agent là một chương trình phân tán vì agent có thể di trú đến máy đích và thực hiện nhiệm vụ đã được đưa vào lịch trình Hệ thống mobile agent cung cấp hạ tầng cần thiết cho truyền thông giữa các nhiệm vụ trong môi trường không đồng nhất Hệ thống mobile agent cũng hỗ trợ cho việc biên dịch và khởi tạo agent một cách độc lập nhờ đó mà agent được gán với một nhiệm vụ ngay trong thời gian thực hiện Hơn thế, nhiều thuật toán có thể

được biểu diễn một cách tự nhiên nhờ vào tính di động trên toàn mạng hơn là bằng cơ chế truyền thông điệp

1.1.3.3 Giảm tải của mạng

Trong truyền thông dựa trên RPC, thường phải có nhiều luồng giữa máy khách và máy chủ để thực hiện dù chỉ là một giao dịch đơn giản Với việc sử dụng mobile agent, các luồng này sẽ được giảm về một mobile agent nhờ đó giảm tải mạng một cách tương ứng

Mặt khác, các thao tác thu thập và chọn lọc thông tin đều được thực hiện tại máy chủ, thông tin đưa về chỉ là thông tin đã được xử lý và không dư thừa nên giảm được khối lượng dữ liệu phải chuyển từ máy chủ về máy khách

1.1.3.4 Tương tác không đồng bộ

Đây là đặc điểm chung của các hệ thống dựa trên thông điệp

Trang 25

Theo mô hình này, trong quá trình xử lý cho từng yêu cầu thì máy khách phải luôn sẵn sàng để nhận kết quả trả về và xử lý tiếp nó Đặc biệt với các thiết bị di động thì đây là một vấn đề nan giải bởi vì việc giữ kết nối liên tục là rất tốn kém và nhiều khi là không thực hiện được

Với công nghệ mobile agent, vấn đề này đã được giải quyết

Từ góc nhìn của người sử dụng thì không chỉ yêu cầu mà toàn bộ công việc đã được chuyển lên mạng nơi mà nó được thực hiện một cách không

đồng bộ Một khi yêu cầu đã được truyền đi thì máy khách hoàn toàn có thể ngắt kết nối khỏi mạng Sau đó vài ngày thậm chí vài tuần máy khách kết nối lại vào mạng để nhận kết quả

Tất nhiên, để làm được điều này, hạ tầng hệ thống mạng phải đảm bảo khả năng định dạng các agent, lưu trữ agent và không đánh mất agent

1.1.3.5 Tìm kiếm và chọn lọc từ xa

Trang 26

Nếu tất cả các thông tin đều được lưu trữ trong cơ sở dữ liệu có cấu trúc, hoàn toàn có thể gửi một thông điệp chứa câu lệnh SQL tới máy chủ và

có thể thực hiện việc chọn lọc cuối cùng ngay trên kết quả tìm được Tuy nhiên điều đó không luôn đúng Do nhiều dữ liệu ở dạng text đơn thuần nên việc tìm kiếm và chọn lọc từ xa đòi hỏi khả năng mở, đọc, chọn lọc và có thể

là lập chỉ mục Các chương trình agent là một phương thức hợp lý và đáng tin cậy để thực hiện dịch vụ này

1.1.3.6 Tạo điều kiện thuận lợi cho việc thu thập thông tin có ngữ

nghĩa

Bởi vì việc tìm kiếm và chọn lọc thông tin là vấn đề chủ chốt của lập trình agent nên chúng ta cần xem xét nó ở một mức phức tạp hơn, đó là hệ thống thu thập thông tin có ngữ cảnh (Semantic Retrieval) Trong hệ thống này, người sử dụng nhập một truy vấn tại thiết bị vào Hệ thống sẽ thông dịch truy vấn này một cách có ngữ nghĩa, có thể có sự hỏi đáp với người sử dụng để làm sáng tỏ hơn về câu truy vấn Tiếp đó, câu truy vấn đã được định dạng lại này được truyền qua một agent tới một hay nhiều máy chủ có khả năng thu thập thông tin và đưa cho agent Có thể cần thêm các phản hồi về truy vấn đó

và chất lượng mong muốn về thông tin cần thu thập

Để có thể làm tốt điều này, hệ thống cần phải có khả năng tương tác với cả người sử dụng và nguồn thông tin Việc tương tác với người sử dụng là tương đối đơn giản bởi vì người sử dụng đưa vào không nhiều thông tin Tương tác với môi trường đa máy chủ thì không dễ dàng như vậy Trước hết, các nguồn thông tin phân tán trên nhiều vị trí khác nhau Thứ hai, khối lượng thông tin liên quan (bao gồm cả các thông tin thực sự và thông tin không liên quan đến truy vấn nhưng vẫn phải qua chọn lọc mới loại bỏ được) là rất lớn

Hệ thống lý tưởng sẽ có nhiều tri thức chuyên về lĩnh vực mà nó thao tác và dành riêng cho nhu cầu của người sử dụng, cũng như là có khả năng

Trang 27

chọn lọc dữ liệu dựa trên tri thức này Tri thức này sẽ dựa vào sự nghiên cứu, học hỏi trên dữ liệu hiện thời trong lĩnh vực chuyên môn Các chương trình cần trích tách các dữ liệu đó Điều này sẽ giúp chúng làm việc hiệu quả hơn bằng cách đi thẳng tới nguồn dữ liệu thay vì gửi dữ liệu tới chương trình, nhất

là các chương trình có chức năng chính là chọn lọc và tổng hợp dữ liệu Theo cách đó, một agent có thể lập chỉ mục tự động cho các tài liệu, chỉ mục này bao gồm cả việc xác định một số ít các tài liệu phù hợp nhu cầu trong một lượng lớn các tài liệu Nó cũng xác định các tài liệu có tiềm năng thoả mãn nhu cầu của các agent khác và thông báo điều này cho chúng

Mobile agent là một cách tiếp cận mới và rất thú vị để giải quyết vấn đề tìm kiếm thông tin trên mạng rộng lớn Nếu môi trường thực hiện agent có thể trở nên phổ biến trên toàn mạng, đấy sẽ là giải pháp tốt cho nhu cầu này

1.1.3.7 Tạo điều kiện thuận lợi cho sự tương tác thời gian thực với

máy chủ

Một lý do khác cho việc thực hiện công việc tại máy chủ là mỗi máy

đều có một giao diện với mỗi phần xác định các thiết bị bên ngoài Nếu như

độ trễ truyền thông trong mạng cao hơn ràng buộc về thời gian thực chịu bởi thiết bị bên ngoài thì tốt hơn là gửi chương trình điều khiển để thực hiện từ xa tại máy chủ Một ví dụ nổi bật của trường hợp này là phần mềm điều khiển cho các tàu thăm do vũ trụ thám hiểm hệ mặt trời Một chương trình có thể thực hiện cục bộ, dù là thông dịch, sẽ có độ trễ là tương đối thấp và hạn chế

đồng thời có thể cung cấp nhiều cơ hội hơn cho việc sửa lỗi

Trang 28

phóng được những trở ngại này Một người sử dụng muốn yêu cầu một thông tin nào đó hay bấy kỳ dịch vụ gì đều có thể biểu diễn yêu cầu đó dưới dạng ngôn ngữ tự nhiên rồi sau đó truy vấn đó sẽ được gửi tới một agent cố vấn Agent cố vấn này sẽ định dạng lại truy vấn theo ngôn ngữ tự nhiên đó về dạng

có cú pháp của ngôn ngữ truyền thông agent Sau đó, tự nó hoặc nhờ agent cố vấn khác nó sẽ xác định một hay nhiều máy chủ có khả năng thoả mãn truy vấn đó Agent cố vấn sẽ chuyển tiếp truy vấn tới các máy chủ này Kết quả có thể trả về trực tiếp từ máy chủ cho máy khách có yêu cầu hoặc là gián tiếp qua một agent cố vấn khác Agent cố vấn này có thể thực hiện hởi đáp hay tạo giao diện (hộp thoại …) với người sử dụng để chọn lọc thêm kết quả thu được Như vậy truy vấn khởi đầu đã được định đường trong quá trình thực hiện dựa trên nội dung ngữ cảnh của nó

Ngoài ra việc đinh đường có ngữ cảnh còn thể hiện ở hành vi xử lý của agent ở máy chủ đích Trong nhiều trường hợp máy chủ này có dịch vụ yêu cầu nhưng lại không đáp ứng được mong muốn của người sử dụng hoặc là dịch vụ mà máy chủ này đang cung cấp có trục trặc thì mobile agent hoàn toàn có khả năng khôi phục lại trạng thái để trở về hoặc hơn nữa là có thể kết hợp các thông tin vừa thu được ở máy chủ này để quyết định việc đi đến các máy chủ khác

1.1.4 ứng dụng

Có một sự tăng trưởng tương hỗ giữa công nghệ mạng truyền tin và công nghệ mobile agent Một mặt, mạng truyền tin càng nhanh và có độ tin cậy càng cao thì tác dụng của các agent càng được phát huy, mặt khác chính những dịch vụ cơ bản của mạng thông tin cũng sẽ được hỗ trợ bởi công nghệ mobile agent Cũng như có một sự tăng trưởng tương hỗ khác giữa chất lượng của công nghệ thông tin (mạng truyền tin cộng với thiết bị tin học và phần mềm) và nhu cầu của người sử dụng

Trang 29

Với mạng Internet hiện nay thì các dịch vụ mà công nghệ mobile agent

có thể đáp ứng là rất phong phú Có rất nhiều hệ thống mobile agent có thể lựa chọn để phát triển

1.1.4.1 Thu thập thông tin từ nhiều địa điểm

Một đặc trưng khá nổi bật của mobile agent là chúng có một lịch trình, nghĩa là, chúng có thể tuần tự di chuyển đến nhiều trạm, chứ không chỉ dừng lại ở việc đi từ trạm A đến trạm B Do vậy, một ứng dụng tự nhiên của mobile agent đó là thu thập thông tin phân bố trên nhiều trạm trong hệ thống mạng

Một ví dụ của loại ứng dụng này là một công cụ sao chép dự phòng trên mạng Công cụ này định kỳ xem xét ổ đĩa của mọi máy tính kết nối với hệ thống mạng ở đây, một mobile agent có thể lang thang khắp hệ thống mạng, sưu tập thông tin về trạng thái sao chép dự phòng của mỗi ổ đĩa Sau đó nó trở lại điểm xuất phát và lập một báo cáo về kết quả chuyến đi thực tế này

Những mobile agent có thể giám sát chất lượng và thông lượng của các nút và các kênh trong mạng và đem về kịp thời những thông tin báo động, thậm chí có thể tự thay đổi các cấu hình của mạng thông tin để phản ứng nhanh trước các sự cố Đây là những đề tài nghiên cứu có thể trở thành hiện thực trong tương lai gần

1.1.4.2 Tìm kiếm và chọn lọc thông tin

Sự bùng nổ về số lượng và chủng loại thông tin trên mạng khiến cho quá trình tìm kiếm thông tin có giá trị trở nên rất khó khăn Chỉ với một từ khoá nhỏ, ta có thể nhận tới hàng nghìn trang thông tin có liên quan, nhưng không phải tất cả trong số chúng đều có giá trị Lọc bỏ những thông tin không phù hợp có thể là một quá trình vừa tốn kém vừa vô vị Với tư cách của một người sử dụng, mobile agent có thể thăm rất nhiều trạm, tìm kiếm trong những

Trang 30

thông tin sẵn có trên trạm đó và tạo một danh sách liên kết tới những mục tin phù hợp với những tiêu chuẩn định trước

Một ví dụ tương đối mới mẻ là trong các hoạt động hành chính của chính phủ, các agent có thể giúp bạn tìm kiếm các văn bản luật pháp, văn bản sửa đổi hay tìm các thông tin liên quan tới địa phương sở tại ,… Chính phủ có thể dùng nhiều mobile agent để tiến hành thăm dò dư luận Ngày nay, người ta

đang nói rất nhiều về chính phủ điện tử trong đó các công việc hành chính sẽ

được “bàn giao” cho các mobile agent

Tìm kiếm và chọn lọc thông tin thể hiện một thành phần chung, tiềm ẩn trong các ứng dụng của mobile agent, đó chính là tri thức về sở thích của người sử dụng Nói cách khác, nó là một biểu hiện về tính thông minh của mobile agent ở đây, mỗi agent được trang bị tri thức về sở thích của người sử dụng, biểu diễn dưới dạng các điều kiện tìm kiếm và lịch trình di chuyển Agent sau đó hoạt động với tư cách của một người sử dụng trên mạng Nó tiến hành sàng lọc trong hàng núi dữ liệu những mẩu thông tin mà người sử dụng

đặc biệt quan tâm Tại một vị trí nào đó, nó sẽ gửi trả về bản tường trình về kết quả tìm kiếm

1.1.4.3 Theo dõi thông tin

Đôi khi thông tin không chỉ được dàn trải về mặt không gian (trên đĩa của các máy tính khác nhau có kết nối với cùng một hệ thống mạng), mà còn

bị dàn trải về mặt thời gian Các thông tin mới được sản sinh và phát hành liên tục trên hệ thống mạng Do vậy, đôi khi agent phải nằm phục sẵn ở đâu đó để thu thập ngay những thông tin quan tâm khi nó vừa mới được sinh ra

Chẳng hạn như, một agent có thể tới một trạm chủ giao dịch chứng khoán, đợi cho tới khi một loại cổ phiếu nào đó đạt tới mức giá phù hợp thì thay mặt người sử dụng mua loại cổ phiếu đó Một ví dụ khác là việc thu thập những thông tin cá nhân Một agent có thể giám sát nhiều nguồn tin khác

Trang 31

nhau về một loại thông tin đặc biệt nào đó mà người sử dụng quan tâm, sau đó báo cáo về mỗi khi có những thông tin mới

1.1.4.4 Phân phát thông tin có chủ đích

Một ứng dụng đầy tiềm năng khác của mobile agent là phân phối tin tức hoặc quảng cáo tới những đối tượng được quan tâm Mobile agent giúp tạo ra những quảng cáo hình động thông minh Nó giúp các nhà sản xuất, kinh doanh nắm bắt sở thích của khách hàng một cách nhanh chóng

Thật không may, điều này cũng có nghĩa là mobile agent, giống như thư

điện tử, có thể bị sử dụng cho mục đích truyền bá thông tin một cách bừa bãi, chẳng hạn như quảng cáo Cũng từ đó làm xuất hiện một mảng thị trường đối với agent, trong đó agent được sử dụng như những bộ lọc spam

1.1.4.5 Đàm phán và giao dịch thương mại

Bên cạnh hoạt động tìm kiếm cơ sở dữ liệu và file, các agent còn có thể thu thập thông tin từ việc liên lạc với các agent khác Chẳng hạn, nếu bạn muốn lập lịch cho một cuộc họp trong đó có nhiều người tham gia, bạn có thể gửi một mobile agent tới tương tác với các agent của mỗi nhân vật mà bạn muốn mời tới dự cuộc họp Các agent này có thể đàm phán và thoả thuận về thời gian tiến hành cuộc họp

Trong trường hợp này, mỗi agent sẽ mang những thông tin về lịch làm việc của mỗi người sử dụng Để thoả thuận về cuộc họp, các agent sẽ trao đổi thông tin đó với nhau

Thương mại điện tử là một lĩnh vực rất phù hợp với công nghệ mobile agent Một mobile agent có thể mua sắm thay bạn, bao gồm cả việc lập bản yêu cầu và thậm chí cả việc chi trả Chẳng hạn, nếu bạn muốn bay từ Paris tới New York, một agent có thể tham khảo cơ sở dữ liệu về lịch bay và giá cả của

Trang 32

nhiều hãng hàng không, để tìm ra hãng có giá vé thấp nhất và thời gian phù hợp nhất, đặt chỗ trước cho bạn, và chi trả theo số thẻ tín dụng của bạn

Thương mại điện tử có thể thực hiện giữa các agent Chẳng hạn, có một máy chủ thực hiện việc mua và bán ô tô Nếu muốn mua một chiếc xe, bạn có thể cung cấp những tri thức về sở thích của bạn cho agent, bao gồm cả phạm

vi giá cả cũng như chiến lược đàm phán Agent này sẽ được gửi tới máy chủ

định trước kia Tại đó, agent này sẽ đàm phán, thương lượng với những agent trên máy chủ có nhiệm vụ bán xe

1.1.4.6 Xử lý cho agent

Dựa vào khả năng di chuyển của agent từ nút này qua nút khác, và có thể sản sinh ra những agent con, một ứng dụng nhiều triển vọng của công nghệ mobile agent là thực hiện những công việc đòi hỏi tiến hành song song Các tính toán cồng kềnh sẽ được chia thành các đơn vị rời rạc để phân tán cho các máy chủ hay các bộ vi xử lý bằng cách dùng các agent để gửi tới các agency nơi công việc đang được thực hiện Sau khi hoàn thành công việc, mỗi agent có thể quay về nhà và tổng hợp, tóm tắt các kết quả

1.2 Cấu trúc hoạt động một hệ thống mobile agent

1.2.1 Tổng quan

Cấu trúc hoạt động dựa trên phương pháp mô hình hoá hướng agent Mọi thành phần của hệ thống đều được trừu tượng hoá theo agent Hệ thống bao gồm agent tĩnh và mobile agent Agent tĩnh cung cấp tài nguyên và phương tiện cho mobile agent, Mobile agent di chuyển giữa các miền (domain), sử dụng các tài nguyên tại các miền để thực hiện mục đích của mình

Trang 33

Hình 1.4: Cấu trúc hoạt động của hệ thống mobile agent

Trang 34

1.2.2 Agent miền

Nút mạng, agent, tài nguyên được phân thành những thực thể gọi là các miền Agent miền (domain agent) là agent tĩnh giám sát mọi hành động xảy ra trong một miền Agent miền có một số chức năng sau:

 Cung cấp dịch vụ di chuyển (migration service) cho các mobile agent muốn rời khỏi miền đó Agent miền phải đảm bảo agent đó sẽ được truyền đi thành công Để cho người dùng có thể theo dõi được agent của

họ, agent miền phải có cơ chế thông báo cho nút gốc của agent

 Cung cấp cơ chế xác nhận (authentication and validation) cho các agent muốn di chuyển vào miền đó Tương tự như trên, agent miền phải có cơ chế thông báo

 Khi các agent di chuyển vào trong miền, agent miền phải khởi động các agent đó trong một môi trường thích hợp dựa trên độ tin tưởng của agent đó Agent đến từ các nút mạng đáng tin sẽ được phép truy cập nhiều tài nguyên hơn so với các agent đến từ các nút mạng lạ Môi trường hoạt động đó còn phụ thuộc vào ngôn ngữ lập trình mà agent

được thực hiện, mức truy cập cấp phát cho agent và những chức năng

mà agent cần thực hiện

 Dàn xếp sự truy cập tới các tài nguyên thông tin Agent miền có nhiệm

vụ cấp quyền cho các mobile agent Các mobile agent phải được cấp quyền trước khi chúng truy cập các tài nguyên thông tin

 Cung cấp cơ chế tìm đường tập trung cho các thông điệp Các agent tĩnh

và mobile agent giao tiếp với nhau thông qua các thông điệp Các thông

điệp này đều được gửi qua agent miền Phương pháp này giúp các agent

có thể giao tiếp với nhau theo phương thức không đồng bộ Tuy nhiên các agent cũng có thể giao tiếp đồng bộ trực tiếp với nhau

Trang 35

 Cung cấp cơ chế đăng ký tập trung: các agent tĩnh và mobile agent có thể đăng ký tài nguyên mà chúng có thể cung cấp hoặc những tài nguyên, dịch vụ mà agent cần Tuy nhiên cần phải giới hạn về số lượng agent có thể tồn tại trong miền trong một khoảng thời gian nhất định

 Agent miền cần phải quảng cáo những tài nguyên thông tin chung cũng như sự xuất hiện của các mobile agent khác Nhờ đó, các mobile agent khác có thể truy vấn được những thông tin cần thiết cho việc quyết định

có di chuyển tới miền đó hay không hoặc các thông tin về các mobile agent khác

 Các agent miền phải định kỳ thông báo cho nhau về sự tồn tại của mình Nhờ đó, các agent miền có thể xác định được một danh sách các miền

có thể sử dụng bởi các mobile agent (khi các mobile agent có nhu cầu

di chuyển)

 Agent miền phải đảm bảo vấn đề an ninh được thi hành trong miền, nhờ

đó các mobile agent có thể giao tiếp với nhau và với tài nguyên thông tin

1.2.3 Agent tài nguyên

Agent tài nguyên (resource agent) là một agent tĩnh trong một miền có nhiệm vụ cung cấp các tài nguyên cho các agent khác Mục đích của agent này là dàn xếp sự truy cập vào các tài nguyên thông tin, agent tài nguyên hiểu phải truy vấn các tài nguyên như thế nào cũng như các quyền liên quan đến tài nguyên đó Agent tài nguyên có một số chức năng:

 Toàn bộ tài nguyên phải được truy cập thông qua agent tài nguyên Sự truy cập trực tiếp vào tài nguyên thông tin là không cần thiết

Trang 36

 Cung cấp các hàm chuẩn: các mobile agent có thể sử dụng các hàm này

để truy cập tài nguyên thông tin Các hàm phải được cung cấp sao cho chúng có thể được kết hợp để giải quyết những vấn đề phức tạp

 Dàn xếp sự truy cập tài nguyên thông tin dựa trên cơ sở từng agent Khi một agent đã được cấp quyền truy cập tài nguyên, agent tài nguyên có nhiệm vụ đảm bảo tính toàn vẹn và tính riêng tư của tài nguyên thông tin Khi một agent di chuyển tới một miền, agent miền phải cấp cho agent đó một tập quyền, nhờ đó agent tài nguyên có thể kiểm soát được

sự truy cập vào tài nguyên

 Cung cấp sự chuyển đổi giữa sự biểu diễn thông tin của mobile agent và

sự biểu diễn thông tin của tài nguyên thông tin mà agent tài nguyên quản lý

 Đăng ký tài nguyên với agent miền, nhờ đó các mobile agent có thể biết

được những thông tin nào là sẵn sàng trong miền trước khi di chuyển tới miền đó

1.2.4 Mobile agent

Mobile agent là một thành phần của cấu trúc hoạt động có thể di chuyển giữa các nút mạng Sử dụng các mobile agent, người dùng có thể kiểm soát các tài nguyên của mình cũng như truy cập vào những tài nguyên khác Mobile agent thường đi kèm với các mục đích riêng của người dùng, do đó agent thường bị hạn chế bởi các chức năng mà người dùng gán cho nó Ngoài

ra agent có bị hạn chế bởi một số cơ chế của miền làm việc (an ninh, xác nhận, .) Trong một vài trường hợp, những hạn chế này sẽ ảnh hưởng đến mục đích đã định của mobile agent

Các mobile agent được phối hợp với nhau theo hai phương pháp chính:

Trang 37

 Hệ thống đơn agent (single-agent system): chức năng của hệ thống

được thể hiện qua các agent đơn lẻ Các chức năng được gán cho các agent, các agent phải hoàn thành công việc một cách cá nhân, mặc dù vẫn tương tác với các agent khác Phương pháp này có thể hạn chế chức năng mà agent có thể thực hiện, hoặc có thể gây ra độ trễ trong hoàn thành công việc, tuy nhiên phương pháp này dễ dàng thực hiện hơn Nếu cấu trúc hoạt động được thực hiện theo phương pháp này thì một

điều cần quan tâm duy nhất là truyền thông giữa các agent

 Hệ thống đa agent (multi-agent system): điểm khác biệt của hệ thống này so với hệ thống đơn agent là bản thân các agent có thể sinh ra các agent có liên quan khác Từ đó tạo ra một hệ thống phân tầng phối hợp các agent tĩnh và mobile agent trợ giúp cho agent ban đầu hoàn thành mục đích Hệ thống này phù hợp với nguyên lý của trí tuệ nhân tạo và thường được dùng để giải quyết các vấn đề phức tạp

Trong cấu trúc hoạt động, các mobile agent có những tương tác chính sau:

 Mobile agent xác định vị trí tiếp theo: mobile agent sẽ truy vấn agent miền cục bộ để xác định được danh sách các miền Mobile agent sử dụng những thông tin này để liên hệ và quyết định miền nào có những tài nguyên tương thích với nó

 Mobile agent có thể được xác thực bởi chữ ký điện tử Chữ ký điện tử

được mã hoá và có thể thẩm định bởi máy chủ sinh ra agent Ngoài ra, agent cần phải được kiểm tra để đảm bảo là chúng không bị hư hại trên

đường truyền và những mục đích của chúng là không bị thay đổi so với thời điểm chúng được tạo ra

 Mobile agent có đặc tính bền (persistence): agent cập nhật cơ sở tri thức của mình từ những miền chúng di chuyển đến, những hành động mà

Trang 38

chúng thực hiện, những kết qủa mà chúng nhận được Như vây, một agent tồn tại càng lâu thì càng thu được nhiều kinh nghiệm

 Mobile agent có thể giao tiếp với các agent khác để thực hiện mục đích của mình Phương pháp này có một số ưu điểm: một số agent có thể thực hiện các công việc tương tự nhau, và như vậy một agent này có thể

sử dụng lại kết quả của một agent khác Hay một agent có thể cung cấp các dịch vụ cho các agent khác, chẳng hạn một agent có thể cung cấp kinh nghiệm về các miền có ích trong một lĩnh vực nào đó Tuy nhiên, phương pháp này có nhược điểm về độ tin cậy Chẳng hạn, khi các agent trao đổi với nhau thông tin về tiền điện tử, một câu hỏi luôn được

đặt ra là “Liệu thông tin này có đáng tin không?” hoặc “Độ chính xác của thông tin này là bao nhiêu?”

 Mobile agent nên định kỳ gửi những kết qủa của việc tìm kiếm và những hành động về nút gốc Nhờ đó, người dùng có thể đảm bảo được agent có thao tác đúng hay không hoặc kiểm soát được agent (chăng hạn, kích thước của agent là quá lớn để di chuyển hoặc khối lượng công việc là vượt quá mức cho phép của agent)

1.2.5 Agent giao diện người dùng

Agent giao diện người dùng (user interface agent) là agent thường trú trong miền và cung cấp giao diện tới các mobile agent cho người dùng Agent này có những khả năng sau:

 Thay mặt người dùng khởi tạo các mobile agent và theo dõi sự hoạt

động, vị trí của chúng

 Đóng vai trò điểm truyền thông qua đó các mobile agent có thể gửi những kết quả hành động về cho người dùng Agent giao diện cũng có

Trang 39

thể có khả năng di chuyển (mobility) đề phòng trường hợp nút mạng bị hỏng

 Tổ chức và tiền xử lý những kết quả mà các agent trả về cho phù hợp với người dùng: loại bỏ những thông tin trùng lặp, sắp xếp các thông tin theo tính ưu tiên, quan trọng và biểu diễn thông tin bằng những công cụ thận thiện của người dùng

 Cung cấp thông tin cần thiết (tên, mật khẩu) để agent miền có thể xác thực mobile agent của người dùng

Agent giao diện cung cấp cho người dùng một cửa sổ tới agent của họ, tới trạng thái của những agent đó, kết quả công việc của agent

1.2.6 Agent cổng

Agent cổng (gateway agent) này là một thực thể tĩnh trong miền, cung cấp sự truy cập tới một mạng khác hoặc tới những miền hạn chế Agent cổng phải cung cấp được những dịch vụ sau:

 Mạng hỗn hợp: để có được dịch vụ này, các mobile agent phải được trang bị các giao thức trao đổi, nhờ đó các agent có thể di chuyển giữa các giao thức mạng Agent cổng có nhiệm vụ cấp quyền truy cập mạng mới cho các agent, thay giao thức mạng cũ bằng giao thức của mạng mới giúp các agent có thể thực hiện truyền thông trong mạng mới

 Tường lửa: một miền hoặc một tập các miền có thể tồn tại trong cùng một mạng nhưng được bảo vệ khỏi sự truy cập của những agent ẩn danh (anonymous) ở mức cao hơn Agent cổng có nhiệm vụ lọc những agent vào và agent ra của miền (tập miền) để đảm bảo những agent đó không bao gồm những agent gây hại cũng như không đem đi những thông tin quan trọng

Trang 40

1.3 Một số hệ thống mobile agent hiện nay

1.3.1 Agent TCL

Hệ thống Agent TCL là một mô hình hỗ trợ các mobile agent, được phát triển tại khoa Khoa học máy tính, trường Đại học Darthmouth Kiến trúc của Agent TCL dựa trên mô hình máy chủ của Telescript, hỗ trợ phiên bản có sửa đổi của ngôn ngữ TCL (Tool Command Language) Kiến trúc bao gồm bốn lớp: (hình vẽ 1.5)

Hình 1.5: Kiến trúc hệ thống Agent TCL

Tầng thấp nhất là một giao diện lập trình ứng dụng (Application Programming Interface: API) cho các cơ chế truyền tải hiện có như TCP/IP,

Ngày đăng: 12/02/2021, 15:25

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w