Agent & Mobile Agent Tác tử & tác tử di động

Tính toán di động

Nội dung

I. Tổng quan II. Tác tử di động cho tính toán di động III. Mở rộng UML cho tác tử di động IV. Tác tử di động áp dụng vào các ứng dụng di

động

V. Giải quyết các vấn đề của tính toán di động

bằng tác tử di động

VI.Các kỹ thuật của phần mềm dựa trên tác tử

28/09/2011 @Hà Quốc Trung 2011 2

1. Tổng quan

I. Cơ chế hoạt động của tác tử phần mềm II. Kết hợp giữa tác tử phần mềm và client-

server

III. Phân chia các chức năng cần thực hiện

28/09/2011 @Hà Quốc Trung 2011 3

I. Cơ chế hoạt động của các tác tử phần mềm

• Strong mobility (tính di động chặt) • Weak Mobility (tính di động lỏng) • Cơ chế hoạt động của Mobile Agent • Công cụ thực hiện mobile agent • Biểu diễn mobile agent bằng UML

28/09/2011 @Hà Quốc Trung 2011 4

Khái niệm tác tử di động

• Tác tử

– mã+dữ liệu+trạng thái – Tự chủ, tự kích hoạt, tự điều khiển – Tác tử<> đối tượng

• Di động

– Dữ liệu có thể được dịch chuyển theo mô hình clien-server,

theo mô hình tệp, sau đó được gắn kết lại tại đích

– Mã và trạng thái cần có cơ chế phức tạp hơn

• Tính di động

– Yếu: chỉ dịch chuyển mã và dữ liệu – Mạnh: dịch chuyển mã, dữ liệu và trạng thái

@Hà Quốc Trung 2011 5 28/09/2011

Cơ chế hoạt động của tác tử di động

• Tác tử đến một host. Host khởi động tiến trình mới • Mã, dữ liệu và trạng thái được cài đặt trên host. Tác tử

thực hiện lệnh tiếp theo

• Tác tử kết thúc quá trình thực hiện hoặc di chuyển: kết

thúc tiến trình hiện tại

• Đóng gói mã, dữ liệu và trạng thái theo dạng không phụ

thuộc vào máy

• Host tiếp theo được xác định, thông báo được chuyển

tới host

• Trở lại bước đầu tiên

28/09/2011 @Hà Quốc Trung 2011 6

II. Mô hình lai MA và Client-Server

• Client-server: bộ đệm chuyển dịch tương tác

về cục bộ

• Agent: client và server có thể dịch chuyển

thành cục bộ

• Tối ưu: lựa chọn cơ chế phù hợp cho từng

trường hợp – Có kết nối: client-server – Kết nối không ổn định: MA – Client agent-server

28/09/2011 @Hà Quốc Trung 2011 7

Client-agent

• Hoạt động như server cục bộ • Client chỉ tương tác với agent trên máy client

– Hiệu năng, thời gian thực

• Client-agent sẽ tính toán để “định cư” tại client

hay servers

• Client-agent thực hiện trao đổi thông tin với

server để đảm bảo QoS

28/09/2011 @Hà Quốc Trung 2011 8

III. Phân tách chức năng

• Đa tầng: Giao diện, logic, dữ liệu • Chia cho nhiều loại MA: UIA, UPA, PA, DA • Giảm kích thước của MA • Giảm thiểu việc MA phải dịch chuyển • Tăng độ mềm dẻo của MA • Tái sử dụng mã của MA

28/09/2011 @Hà Quốc Trung 2011 9

Phân tách chức năng

• Càng nhiều MA nhỏ càng tốt? • Độ trễ tương tác • Độ trễ dịch chuyển • Giao diện, logics, dữ liệu

28/09/2011 @Hà Quốc Trung 2011 10

2. Tác tử di động cho tính toán di động

• Đặc điểm của tác tử di động • Những điểm phù hợp với tính toán di động • Những điểm không phù hợp • Một số công cụ thường gạp

28/09/2011 @Hà Quốc Trung 2011 11

I. Đặc điểm của tác tử di động

• Mã, dữ liệu và trạng thái là di động • Tự chủ, không đồng bộ

– Vòng đời riêng, tự quản lý, không có ràng buộc về

thời gian • Thông minh

– Có khả năng đáp ứng trong những trường hợp

không xác định trươcs

• Đệ qui

– Có khả năng sinh ra các MA con

28/09/2011 @Hà Quốc Trung 2011 12

Những điểm phù hợp

• Tác tử di động luôn luôn chủ động (active) – Không cần đến sự kích hoạt hay lời gọi phương

thức, ….

• Sử dụng ít băng thông hơn RPC hay ROI

– Phụ thuộc vào ứng dụng ….

• Thời gian đáp ứng tốt

– Cục bộ (trả giá bằng độ chính xác?)

• Mặc định, hệ thống MA là không đồng nhất

– Môi trường MA cung cấp tính đồng nhất

28/09/2011 @Hà Quốc Trung 2011 13

Những điểm phù hợp

• Có thể hoạt động với kết nối mạng không ổn

định – Do tính chất tự trị và không đồng bộ …

• Tính thích nghi cao

– Khả năng của thiết bị, giao diện nsd, …. – MA phục vụ giao diện có thể thay đổi thích nghi

với tài nguyên sẵn có

• Chú ý tác tử di động <> tính toán di động

28/09/2011 @Hà Quốc Trung 2011 14

Những điểm không phù hợp

• Xây dựng ứng dụng MA khó khăn và phức tạp

hơn ứng dụng client-server

• Các môi trường thực hiện MA của các nhà cung cấp khác nhau hoạt động khác nhau – MASIF nỗ lực để thống nhất

• Vấn đề bảo mật rất phức tạp trong môi trường

MA

28/09/2011 @Hà Quốc Trung 2011 15

Khó khăn của nền tảng MA

• Các thiết bị có cấu hình rất khác nhau

– Khả năng (phi chức năng) của các agent khác nhau – Rất khó có một tập các khả năng phi chức năng cơ

bản phù hợp cho tất cả các thiết bị • Tính di động mạnh: Rất khó thực hiện – Chỉ sử dụng tính di động yếu ? (J2ME) – Ràng buộc về thiết bị để đảm bảo tính di động

mạnh (BREW)

28/09/2011 @Hà Quốc Trung 2011 16

Bảo mật của MA

• Môi trường trên các máy khó hạn chế được việc

sử dụng các tài nguyên của MA

• Không có hạn chế việc MA khởi tạo và sử dụng

các công cụ truyền thông – Nếu có vi phạm tính chất tự trị

• Hệ thống không đồng nhất

– Giao diện bảo mật cần được chuẩn hóa – Cần có các giao diện tùy biến cho các hệ thống khác

nhau

– Phức tạp và khó khăn cho việc chuẩn hóa

28/09/2011 @Hà Quốc Trung 2011 17

II. MASIF (Mobile Agent System Interoperability Facility)

• Chuẩn trao đổi thông tin giữa các hệ thống

MA

• Chức năng

– Quản lý các agent – Chuyển tải các agent – Tên của các Agent – Các dạng agent chuẩn cho các nền tảng hệ thống

khác nhau – Phân giải tên

28/09/2011 @Hà Quốc Trung 2011 18

Một số khái niệm của MASIF

• Agent tĩnh • Kiểu Agent theo hệ thống • Vị trí của Agent • Tên của Agent • Agent system=host • Kết nối giữa các Agent • Code Base • …

28/09/2011 @Hà Quốc Trung 2011 19

Bảo mật của MASIF

– Vấn đề: – DOS , xác thực, nghe trộm

• Giải pháp:

– Bảo mật mức mạng – Xác thực lẫn nhau giữa các agent – Xác thực và ủy quyền giữa các agent – Chính sách bảo mật cho agent và host – Xác thực khi tạo một agent ở xa – Kiểm tra nguồn gốc thông tin (cho kết quả và quyền

truy cập)

28/09/2011 @Hà Quốc Trung 2011 20

III. FIPA (Foundation of Physical Agent)

• Mô tả kiến trúc trừu tượng

– MA, host, trao đổi thông tin giữa các MA

• Quản lý Agent

– Agent thực hiện các thao tác tùy ý, tuy nhiên cần có một tập các thao tác cơ bản – quản lý, thư mục, trao đổi thông tin, ….

• Đặc tả trao đổi thông báo • Đặc tả cấu hình agent • Đặc tả biểu diễn dữ liệu tầng giao vận (bit, XML) • Đặc tả các hỗ trợ di động • Đặc tả sử dụng HTTP làm tầng giao vận • Đặc tả sử dụng IIOP làm tầng giao vận

28/09/2011 @Hà Quốc Trung 2011 21

III. FIPA (Foundation of Physical Agent)

• Đặc tả ứng dụng di động (“Vô gia cư”)

– QoS, – Thỏa thuận về giao thức tầng giao vận – Hỗ trợ thích nghi các thiết bị

• Đặc tả ACL (Act Communicative Library) – Đặc tả quá trình trao đổi các thông báo – Cấu trúc thông báo – Biểu diễn thông báo dưới dạng XML (DTD) – Biểu diễn thông báo dưới dạng xâu, bít – Đặc tả các dịch vụ truyền thông báo – Đặc tả các tương tác (Agent Interaction Protocol

28/09/2011 @Hà Quốc Trung 2011 22

3. Ứng dụng MA vào triển khai các ứng dụng di động

• Java và MA

– Applets, aglets, middlets – JADE và LEAPS – JINI cho MA

• .NET

28/09/2011 @Hà Quốc Trung 2011 23

4. Giải quyết các vấn đề của tính toán di động bằng MA

• MA và bối cảnh • MA và định vị • MA sử dụng cho giao diện • MA và QoS • MA-Proxy • MA giải quyết các vấn đề về hiệu năng • MA- Thích nghi với thiết bị

28/09/2011 @Hà Quốc Trung 2011 24

MA-khung cảnh

• Tính toán nhận biết khung cảnh • MA xác định bối cảnh, luôn sẵn sàng

– Có kết nối, không kết nối – Có tài nguyên, không tài nguyên

• MA có thể xác định bối cảnh để gửi một MA

khác đến

• Mức độ sẵn sàng cao hơn

28/09/2011 @Hà Quốc Trung 2011 25

MA-định vị

• MA “định cư”-gắn với một máy tính, chuyển

đổi vị trí – MA có thông tin về vị trí – MA thể hiện ánh xạ giữa khái niệm host, hệ thống

vật lý và vị trí vật lý

28/09/2011 @Hà Quốc Trung 2011 26

MA- giao diện NSD

• Sử dụng một agent đặc tả giao diện (client), một tập hợp các agent khác (server-client) cung cấp giao diện – Client agent có thể thu thập các thông tin về thiết

bị và khung cảnh

• Sử dụng một tập các agent cho một chức năng

của ứng dụng – Các chức năng khác nhau được tích hợp vào một

UI-agent

28/09/2011 @Hà Quốc Trung 2011 27

MA-QoS

• Kết nối giữa các agent trên một host là kết nối

cục bộ

• Có khả năng hoạt động với các trạng thái khác

nhau của kết nối

• Phù hợp với môi trường Adhoc

28/09/2011 @Hà Quốc Trung 2011 28

MA-Proxy

• Cho các thiết bị không kết nối được với hệ

thống MA

• Cho các phần mềm trên thiết bị • Chi phí trên server cao

28/09/2011 @Hà Quốc Trung 2011 29

MA-hiệu năng

• Phân tán tải tính toán • Các thao tác trên agent có chi phí cao-> phù

hợp với các hệ thống có nhiều host

• Nền tảng MA có thể không phù hợp với hạ

tầng mạng

• Phụ thuộc vào tập hợp các nền tảng vật lý

28/09/2011 @Hà Quốc Trung 2011 30

MA-Thích nghi thiết bị

• MA thực hiện trên thiết bị: có các thông tin về

thiết bị

• Giảm độ phức tạp của hệ thống (phần thích

nghi được giao cho MA) • Giảm băng thông cần thiết

28/09/2011 @Hà Quốc Trung 2011 31