CHƯƠNG 1 TỔNG QUAN VỀ CÔNG NGHỆ TÁC TỬ DI ĐỘNG 1. Giới thiệu Tác tử di động là một trong những hướng nghiên cứu thu hút nhiều sự quan tâm nhất từ những năm 90 đến nay với những đặc điểm rất thích hợp cho việc phát triển các ứng dụng phân tán. Chương này sẽ điểm lại một số khái niệm cơ bản về Tác tử di động đồng thời đề cập đến những ứng dụng phù hợp với mô hình tác tử di động đã và đang được nghiên cứu và phát triển. Khái niệm Tác tử di động Tác tử di động là một đối tượng, có khả năng di chuyển một cách tự trị từ nút mạng này tới nút mạng khác để thực hiện một số công việc thay mặt người dùng.
Khi di chuyển giữa các nút mạng, các tác tử di động đóng gói mã lệnh, dữ liệu và trạng thái thi hành. Vì vậy, nó có thể dừng việc thực thi đang thực hiện tại nút mạng này và khôi phục lại sự thực thi tại nút mạng nó di chuyển đến [5]. Sự tiến hóa từ các mô hình ứng dụng phân tán Dựa trên sự phân tán của các tài nguyên, phương pháp xử lý tài nguyên tại nơi mã lệnh được thực thi, có thể phân lớp các mô hình ứng dụng phân tán như sau [3]: - Mô hình Client – Server. - Mô hình Code – in – Demand - Mô hình Mobile Agent.
Trong mô hình Client – Server thì tại Server có phương pháp xử lý + khả năng xử lý + tài nguyên. Các Client phải biết tìm ra các Server cung cấp dịch vụ mà nó cần. Việc giao tiếp giữa Client và Server thông qua cơ chế truyền thông điệp hoặc các lời gọi hàm từ xa, sự liên lạc tương tác giữa Client và Server là liên tục. Trong mô hình này Client phải tạm ngưng hoạt động của mình trong thời gian gửi yêu cầu của mình đến Server và đợi cho đến khi nhận được kết quả hồi đáp.
Trong mô hình REV (Remote Evaluation), 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 có thể di trú giữa các nút mạng, mang theo mã của chương trình để thực thi tại những nút mạng đó. 3 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Trong mô hình Code – in – Demand, Server có phương pháp xử lý, Client có khả năng xử lý tài nguyên nhưng không biết phương pháp xử lý. Client cần yêu cầu Server gửi cho phương pháp xử lý để có thể tiến hành xử lý tài nguyên.
Đối với mô hình Mobile Agent, mỗi trạm làm việc trong mạng có khả năng linh hoạt cao trong việc chấp nhận sự kết hợp cả phương pháp xử lý, khả năng xử lý và tài nguyên. Các Tác tử di động mang theo phương pháp xử lý và dữ liệu không bị gắn chặt với một trạm, mà được chuyển đi trong toàn mạng. MA di trú MA: Server-1 Server-2 Mobile Agent Code+Data+Context 1. MA di trú 4.
MA di trú Client Server-3 Hình 1. Sự tiến hóa của mô hình ứng dụng phân tán [15] Như vậy, có thể thấy Tác tử di động là mô hình tiến hóa tiên tiến nhất, trong đó cả phương pháp xử lý, tài nguyên, ngữ cảnh xử lý đều có thể di chuyển trong mạng cùng với các tác tử và do đó tận dụng được khả năng xử lý của nhiều nút mạng. Các đặc tính của Tác tử di động Tác tử di động bao gồm một số các đặc tính sau [2]: 1. Tính tự trị Tính tự trị (autonomous): Là khả năng tự kiểm soát của tác tử sau khi được giao nhiệm vụ mà không cần sự can thiệp nào của người dùng hoặc của tác tử khác.
Có nhiều hướng đánh giá về sự tự trị của tác tử, phổ biến là hai đặc tính hướng đích (goal-oriented) và tính chủ động (pro-activeness) thường được dùng để đánh giá mức độ tự trị của tác tử. Khả năng tự trị của tác tử chủ yếu được quyết định bởi tri thức trang bị cho tác tử. 4 LUAN VAN CHAT LUONG download : add luanvanchat@agmail. Tính di động Tính di động (mobility): Là khả năng tự di chuyển từ môi trường thi hành này sang môi trường thi hành khác của một tác tử.
Khả năng di động của một tác tử được phân thành hai loại: Di động yếu (weak - mobility) và di động mạnh; Di động yếu là khả năng di chuyển của hệ thống có thể mang theo mã lệnh và trạng thái dữ liệu, tại điểm đến, sự thi hành phải bắt đầu lại từ đầu; Di động mạnh là khả năng của hệ thống có thể di chuyển cả mã chương trình và trạng thái thi hành của tác tử đến một môi trường khác, tại điểm đến, sự thi hành có thể tiếp tục tại điểm mà nó đã dừng trạng thái trước đó. Tính thích ứng Tính thích ứng (reactiveness): Là khả năng của tác tử có thể thực thi trên những môi trường lạ và cảm nhận được sự thay đổi của môi trường. Khả năng cộng tác Khả năng cộng tác (Collaboration): Là khả năng liên lạc, phối hợp hoạt động của các tác tử với các tác tử của cùng môi trường hay với các loại đối tượng khác trong những môi trường khác. Tiêu chí phân loại tác tử Để phân loại tác tử chúng ta có thể căn cứ theo các tiêu chí sau [9][14]: - Theo tính di động của tác tử - Theo khả năng suy luận hay phản xạ của tác tử - Theo tính chất đặc thù của tác tử - Theo vai trò của tác tử - Theo tính lai tạp của tác tử + Phân loại tác tử theo tính di động: Theo tiêu chí về khả năng di chuyển giữa môi trường này sang môi trường khác, giữa nút mạng này sang nút mạng khác chúng ta có thể phân chia tác tử làm hai loại: tác tử tĩnh và tác tử động.
+ Phân loại theo khả năng suy luận hay phản xạ: Tác tử có thể được phân lớp theo tính suy luận hoặc theo tính phản xạ của chúng. Theo tiêu chí này, tác tử được phân làm hai loại: tác tử suy luận và tác tử phản xạ. Các tác tử suy luận bắt nguồn từ mô hình tư duy suy luận: các tác tử có một tập trạng thái trong, mô hình tư duy và chúng hoạt động một cách có kế hoạch và có sự hợp tác với các tác tử khác. Các tác tử phản xạ thì không có tập trạng thái trong, chúng hoạt động theo hình thức đáp ứng lại trạng thái hiện thời của môi trường.
5 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com + Phân loại theo tính chất đặc thù của tác tử: Tác tử có thể được phân thành bốn loại: tác tử hợp tác, tác tử hợp tác học tập, tác tử giao diện và tác tử thông minh. Tác tử có khả năng tự động là các tác tử có khả năng tự thi hành các hành động mà không cần có sự can thiệp của con người, thậm chí đôi khi điều này là không thể đánh giá được. Các tác tử loại này có tập trạng thái trong cũng như tập mục đích riêng và chúng hoạt động thay mặt cho người dùng theo một phương thức nào đó nhằm đạt được mục đích. Điểm chốt yếu của tính tự động là khả năng chủ động, như chúng có khả năng tự khởi tạo công việc chứ không chỉ đơn thuần đáp ứng lại trước các trạng thái hiện thời của môi trường.
Khả năng hợp tác của tác tử là đặc điểm hết sức quan trọng, để có thể hợp tác được các tác tử cần sở hữu các khả năng xã hội. Ví dụ khả năng tương tác với các tác tử khác có thể là cả con người thông qua một số ngôn ngữ nào đó. Cuối cùng, để các tác tử thực sự thông minh thì ngoài khả năng phản xạ hay tương tác với môi trường thì chúng phải có khả năng học tập. Quá trình học tập cũng có thể giúp nâng cao hiệu năng hoạt động của tác tử.
+ Phân loại theo vai trò của tác tử: Chúng ta cũng có thể phân loại các tác tử theo vai trò riêng của nó do người dùng thiết kế. ví dụ các tác tử tìm kiếm thông tin mạng, tác tử báo cáo, tác tử biểu diễn, tác tử phân tích và thiết kế, tác tử kiểm tra, tác tử đóng gói và tác tử trợ giúp, vv… + Phân loại theo lai tạp của tác tử: Trên thực tế, để nâng cao hiệu năng của tác tử ta thường kết hợp hai hay nhiều mô hình tác tử khác nhau trong cùng một tác tử để tạo ra các tác tử lai. Việc phân biệt các tác tử theo tiêu chí trên cũng mang tính chất tương đối, có những tác tử trong hoàn cảnh này thì coi chúng là tác tử di động, trong hoàn cảnh khác thì coi chúng là tác tử tính,… vì vậy, tùy từng trường hợp cụ thể mà ta phân loại tác tử và sử dụng các tiêu chí phân loại cho phù hợp. Các loại tác tử Dựa vào các tiêu chí phân loại trên ta có các loại tác tử sau [13]: - Tác tử di động: Tác tử di động là các phần mềm tính toán có khả năng di chuyển trong các mạng diện rộng, tương tác với các máy trạm khác, thay mặt cho người dùng thu thập thông tin và thực hiện các tập công việc, sau đó quay trở lại báo cáo các kết quả đã đạt được cho người chủ.
Tập công việc có thể ở mức đơn giản như truy xuất thông tin hoặc phức tạp như việc điều hành một mạng điện thoại. Tuy nhiên, nếu chỉ có tính chất di động thì cũng chưa đủ thể hiện của một tác tử. Các tác tử di động là tác tử vì chúng còn có tính tự động và 6 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com tính hợp tác, mặc dù khác với các tác tử hợp tác. Ví dụ chúng có thể hợp tác hoặc trao đổi thông tin thông qua một tác tử khác, chúng có các phương pháp biết được các tác tử khác.
Bằng cách này, một tác tử có thể trao đổi thông tin với các tác tử khác mà không phải truyền đi tất cả các thông tin về mình. Điều này hết sức quan trọng vì việc nhận biết công cộng về các tác tử cũng đồng nghĩa với các tác tử di động. Các chức năng của tác tử di động được mô tả như trong hình vẽ: User Observes Communicate Application Imitates Feedback User’s Asks Other Agent Agent Interacts with Hình 1.2: Chức năng của các tác tử di động - Tác tử hợp tác: Các tác tử hợp tác nhấn mạnh vào tính tự động và cộng tác với các tác tử khác để thực hiện nhiệm vụ được giao.