tìm hiểu về công nghệ tác tử di động (mobile agent)

27 613 4
tìm hiểu về công nghệ tác tử di động (mobile agent)

Đ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

TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN KHOA CÔNG NGHỆ THÔNG TIN ………………………… BÀI TẬP LỚN TRÍ TUỆ NHÂN TẠO ĐỀ TÀI: TÌM HIỂU VỀ CÔNG NGHỆ TÁC TỬ DI ĐỘNG (MOBILE AGENT) Giáo viên hướng dẫn : Sinh viện thực hiện : Hà Nội LỜI NÓI ĐẦ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. 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ác ứng dụng phân tán phát triển theo mô hình client - server truyền thống tỏ ra một số bất lợi vì đòi hỏi làm việc đồng bộ, đòi hỏi đường truyền băng thông cao, độ trễ thấp và cuối cùng là các dịch vụ thiếu linh động, khó thay đổi hay bổ sung.Công nghệ tác tử đã có những bước phát triển mạnh mẽ trong những năm gần đây. Riêng tác tử di động (Mobile agent) đã chứng tỏ được là một biện pháp cực kỳ hữu hiệu trong các vấn đề xử lý phân tán. Để hiểu thêm về vấn đề này em chọn đề tài “Tìm hiểu về công nghệ tác tử di động (Mobile agent)” nhằm nắm được 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. Em chân thành cảm ơn sự hướng dẫn của Ts. Lưu Minh Tuấn - Giảng viên môn Trí tuệ nhân tạo Bộ môn Công nghệ thông tin ĐH Kinh tế Quốc dân đã cho chúng em nhiều kiến thức quý giá về lĩnh vực trí tuệ nhân tạo để em có thể hoàn thành đề tài này một cách tốt nhất. Tuy nhiên, sự hiểu biết của em về lĩnh vực này còn chưa sâu sắc nên chắc chắn sẽ có nhiều sai sót, em mong thầy thông cảm và góp ý thêm. Em xin chân thành cảm ơn thầy ! I. KHÁI NIỆM VỀ TÁC TỬ DI ĐỘNG Tác tử di động là 1 loại tác tử phần mềm (Software agent). Để hiểu rõ về nền tảng của tác tử di động, ta tìm hiểu khái quát về software agent I.1. Tác tử phần mềm (Software agent) I.1.1. Nguồn gốc Tin học ngày càng phát triển dẫn đến việc hình thành nhu cầu tạo ra những tiểu chương trình nhỏ gọn, thông minh, có khả năng hoạt động 1 mình và kết hợp với những tiểu chương trình khác. Năm 1994, khái niệm software agent được đưa ra bởi Mark Sidell và Chuck Knuff và đến năm 1995 thì phiên bản đầu tiên của agent xuất hiện. Năm 1975 kĩ thuật lập trình phổ biến là lập trình có cấu trúc, đến năm 1982, kĩ thuật lập trình phổ biến là phương pháp lập trình hướng đối tượng và đến khi agent ra đời đã tạo ra một phương pháp lập trình mới. I.1.2. Khái niệm Agent là sự kết hợp của nhều kỹ thuật hiện đại: Hình 1: Agent – phương pháp lập trình mới Không có định nghĩa cho software agent, ty nhiên, ta có thể tham khảo định nghĩa sau: Một agent là một thành phần phần mềm hoặc phần cứng mà có khả năng hoạt động chính xác để hoàn thành nhiệm vụ thay mặt chủ nhân của agent. (Nwana,1996) Trên mạng Internet, một agent (có khi được gọi là intelligent agent) là một chương trình thu thập thông tin hoặc thực thi một số dịch vụ khác mà không cần người điều khiển và hoạt động theo thời gian đã được lên lịch sẵn. Một agent đôi khi được gọi là 1 bot ( viết tắt của robot ) Một ví dụ về agent là chương trình Infogate. Chương trình này có chức năng thu thập các tin tức mới về lãnh vực người dùng quan tâm và tự động gửi thông báo đến người dùng khi có tin mới I.1.3. Phân loại agent I.1.3.1. Phân loại theo tính năng • Agent tĩnh (Stationary agent) - Đặc tính: chỉ làm việc trên một hệ thống, nơi mà agent bắt đầu vòng đời. - Nếu Stationary agent cần thông tin ở một hệ thống khác hoặc muốn tương tác với agent nằm ở hệ thống khác thì chúng phải sử dụng một trong các cơ chế truyền thông khác như RPC, RMI, DCOM • Mobile agent - Không lệ thuộc vào hệ thống nơi chúng bắt đầu làm việc. - Có khả năng di chuyển tù nơi này đến nơi khác trong hệ thống mạng máy tính tại những thời điểm và vị tri do agent lựa chọn. - Khi mobile agent di chuyển, nó có thể mang theo mình trạng thái và mã chương trình. I.1.3.2. Phân loại theo mục đích Hình 2: Phân loại agent theo mục đích • Collaborative agent Collaborative agent là một chương trình giúp người dùng giải quyết vấn đề, đặc biệt trong những trường hợp phức tạp không quen thuộc, bằng cách sửa lỗi, đề nghị nên làm gì tiếp theo và chú ý đến những vấn đề ở cấp thấp. Một Collaborative agent có thể được thêm vào một giao diện người dùng có sẵn,ví dụ các chương trình giả lập hoặc tích hợp vào thiết kế của một ứng dụng phần cứng mới như đồ gia dụng • Interface agent Interface agent là một chương trình có thể ảnh hưởng đến giao diện trực tiếp, nhưng không có sự hướng dẫn trực tiếp từ người dùng. Interface agent đọc dữ liệu người dùng nhập vào giao diện và nó có thể tạo ra sự thay đổi tới đối tượng người dùng thấy trên màn hình, mặc dù có thể sự thay đổi đó không phải diễn ra ngay ứng với ứng dụng của người dùng. Interface agent có thể quan sát nhiều tham số nhập vào của người dùng trong một khoảng thời gian nào đó trước khi quyết định thực hiện một hành động. • Smart/Intelligents Có đầy đủ cả 3 mục đích: giao tác , tự động và dễ thích nghi. I.2. Tác tử di động (Mobile agent) 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. I.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 là danh từ ghép giữa agent (tác tử) và mobile (di động). Định nghĩa : Tác tử di động là những thành phần phần mềm, bao gồm mã chương trình, dữ liệu và trạng thái hoạt động 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 tác tử di động đóng gói mã nguồn, dữ liệu và cả trạng thái thi hành, nhờ vậy tác tử di động 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. Tác tử di động chính là một dạng của mã di động (mã di động là những chương trình chuyển mã đến client và thực thi ở đó). Hình dưới cho thấy sự khác biệt của Mobile agents so với RPC và REV. Hình 3: Sự tiến hóa của mô hình mobile agents I.2.2. Tính chất của tác tử di động - Có khả năng di chú từ nơi này đến nơi khác - Liên lạc được với nhau, nhân bản, nhập lại, tổng hợp tính toán - Một số tác tử có khả năng cung cấp dịch vụ hoặc giao diện cho các ứng dụng kế thừa - Kích thước nhỏ - Có khả năng xác định và dùng cá tài nguyên trên các máy tính đang chứa nó I.2.3. Các đặc tính của tác tử di động Các đặc tính chính của tác tử di động bao gồm : Tính tự trị (autonomous): là khả năng tự kiểm soát bản thân của agent sau khi được giao việc mà không cần sự can thiệp nào của người dùng hoặc của agent khác. Có nhiều hướng đánh giá về sự tự trị của agent. 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 agent. Khả năng tự trị của agent chủ yếu được quyết định bởi tri thức trang bị cho agent. Tính di động (mobility): là khả năng di chuyển từ môi trường thi hành này sang môi trường khác khác của một agent. Khả năng di động của một agent được phân thành hai loại. Di động mạnh (strong mobility) là khả năng mà hệ thống có thể di chuyển cả mã chương trình và trạng thái thi hành của agent đến một môi trường khác. Di động yếu (weak mobility) là khả năng của hệ thống chỉ có thể di chuyển mã chương trình giữa các môi trường thi hành với nhau, mã nguồn có thể mang kèm theo một số dữ liệu khởi tạo nhưng trạng thái thi hành thì không thể di chuyển. Tính thích ứng (reactiveness): là khả năng của agent 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 (collaboration): là khả năng liên lạc, phối hợp hoạt động của các agent với các agent của cùng môi trường khác hay với các loại đối tượng khác trong những môi trường khác. II. LỢI ÍCH CỦA TÁC TỬ DI ĐỘNG II.1. Giảm tải mạng Kỹ thuật mobile agents cho phép người dùng đóng gói cuộc trao đổi, 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ư thế sẽ góp phần làm giảm những dòng dữ liệu thô trên mạng và như thế, tải mạng sẽ giảm đáng kể. Phương châm thực hiện của kỹ thuật mobile agents là: mang xử lý đến nơi chứa dữ liệu hơn là mang dữ liệu về chỗ xử lý. II.2. Khắc phục sự trễ mạng Việc điều khiển các hệ thống với quy mô lớn thông qua mạng sẽ phải chấp nhận một sự trễ hạn nhất định. Nhưng điều đó lại không được phép xảy ra trong các hệ thống thời gian thực như điều khiển 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. II.3. Đó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. II.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ề. II.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. II.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. II.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. III. CÁC ỨNG DỤNG CỦA TÁC TỬ DI ĐỘNG 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 đặc trưng dành cho công nghệ tác tử di động. Tất cả những kết quả đạt được hiện nay với tác tử di động cũng đều bằng những công nghệ truyền thống. Tuy nhiên, trong một vài trường hợp, tác tử di động có thể là giải pháp tối ưu. Tác tử di động có thể được áp dụng trong nhiều lĩnh vực như: III.1. Thương mại điện tử Các ứng dụng thương mại điện tử cho phép người dùng thực hiện các giao dịch trong kinh doanh trên mạng. Một giao dịch có thể bao gồm sự thương lượng với các thực thể ở xa và có thể đòi hỏi truy cập nguồn thông tin liên tục thay đổi. Từ thực tế đó nảy sinh nhu cầu thay đổi hành vi của các thực thể để đạt được một nghi thức chung trong việc thương lượng. Hơn nữa, việc di chuyển các thành phần của ứng dụng tiến gần đến nguồn thông tin thích hợp cho giao dịch cũng được quan tâm. Vì thế công nghệ tác tử di động là một giải pháp rất hấp dẫn cho lĩnh vực này. III.2. Thu thập thông tin phân tán Trong trường hợp có nhu cầu truy vấn phức tạp, chuyên biệt và liên qua đến nhiều nguồn dữ liệu phân tán, không đồng nhất, việc cử các tác tử di động di [...]... 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 tác tử di động 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 V ĐÁNH GIÁ MỘT SỐ HỆ THỐNG TÁC TỬ DI ĐỘNG V.1 Các hệ thống tác tử di động V.1.1 Aglets... dụng các tài nguyên rảnh rỗi và cân bằng tải Hệ tác tử di động không đồng nhất là một minh họa khai thác ưu điểm này của mô hình tác tử di động III.6 Quản trị hệ thống mạng Đối với những hệ thống mạng lớn, việc chuẩ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 tác tử di động 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... 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 III.5 Xử lý song song Vì các tác tử di động có thể tạo ra nhiều bản sao của nó trên mạng nên ứng dụng đầy tiềm năng của tác tử di động 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 tác tử di động mang đi thực hiện trên nhiều máy tính... NGUYÊN LÝ HOẠT ĐỘNG CỦA MỘT TÁC TỬ DI ĐỘNG V.1 So sánh với các kĩ thuật khác Để hiểu rõ về nguyên lý hoạt động trong môi trường mạng của Mobile Agent, ta sẽ so sánh nó với nguyên lý hoạt động của các kĩ thuật khác: Có 3 cách thực thi code trong môi trường mạng : V 1.1 Kĩ thuật pull code Áp dụng trong mô hình client-server, bắt đầu khi client gửi yêu cầu đến server, server sẽ gửi code về client và code... giảm nhẹ về môi trường thi hành Do đó việc nghiên cứu để giải quyết những vấn đề tồn đọng của mô hình vẫn là những thách thức cần được đầu tư nghiêm túc TÀI LIỆU THAM KHẢO 1 TỔNG QUAN VỀ MOBILE AGENTS - 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 2 ỨNG DỤNG THỬ NGHIỆM MOBILE AGENT VÀO XÂY DỰNG WORKFLOW - Luận văn Khoa Công nghệ thông tin, Trường ĐH Công nghiệp... quay về với những thông tin cần thiết sẽ cho phép giảm tải mạng và giải quyết tốt hơn bài toán tương thích III.3 Theo dõi và thông báo tin cập nhật Ứng dụng cổ điển này làm nổi bật bản chất không đồng bộ của các tác tử di động Các agent có thể được gởi đi, đến nơi có nguồn tin và hoạt động theo dõi nguồn tin ngay cả khi người dùng ngắt kết nối Sau đó, khi nguồn tin có sự thay đổi , agent sẽ quay về báo... được lệnh để di trú đến 1 host khác nằm trong đường đi của agent, agent sẽ lưu lại trạng thái hiện hành của mình và tiến hành quá trình di trú Nếu quá trình di trú thất bại, agent sẽ tự ngừng hoạt động (deactivate) để rồi nó sẽ tự kích hoạt lại chính mình sau một khỏang thời gian định trước hay được kích hoạt và sẽ tiến hành lại quá trình di trú đến host khác Khi đã di trú đến host mới thành công, agent... agent là những agent di động được kích hoạt bởi người dùng và không thể truy cập trực tiếp tài nguyên hệ thống Ngược lại, system agent (service agent) được khởi động bởi người quản trị - không có tính di động và được phép truy cập tài nguyên hệ thống Môi trường Mole phù hợp cho phát triển những ứng dụng trong các lĩnh vực: Truyền thông, ứng dụng thuộc lĩnh vực hệ thống thông tin điện tử Một số ứng dụng... nhân Những đại di n của loại ứng dụng này Weather Alarm - một chương trình dùng để dự báo thời tiết trên và JobFinder (findjobs.com) - website việc làm và tuyển dụng Các agent có thể được gửi đi để chờ một dạng thông tin nào đó xuất hiện, rồi sau đó báo cho người dùng biết hoặc tự nó có những hành động thích hợp đối với thông tin đó III.4 Giám sát và phổ biến thông tin Các tác tử di động là một minh... di trú đến 1 host khác.Vòng đời agent lại lặp lại theo trình tự như trên cho đến khi nó hoàn thành nhiệm vụ hoặc hết thời gian hoạt động thì agent sẽ bị hủy V.3 Các điều kiện agent phải thỏa mãn - Có 1 mã xác nhận duy nhất - Xác định được những agent khác đang thực thi trong cùng host - Có khả năng nhận và gửi thông điệp cho những agent khác VI KẾT LUẬN Trên đây em đã giới thiệu về mô hình tác tử di . tử di động là 1 loại tác tử phần mềm (Software agent). Để hiểu rõ về nền tảng của tác tử di động, ta tìm hiểu khái quát về software agent I.1. Tác tử phần mềm (Software agent) I.1.1. Nguồn gốc. các vấn đề xử lý phân tán. Để hiểu thêm về vấn đề này em chọn đề tài Tìm hiểu về công nghệ tác tử di động (Mobile agent) nhằm nắm được những khái niệm cơ bản về mobile agent đồng thời đề cập. TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN KHOA CÔNG NGHỆ THÔNG TIN ………………………… BÀI TẬP LỚN TRÍ TUỆ NHÂN TẠO ĐỀ TÀI: TÌM HIỂU VỀ CÔNG NGHỆ TÁC TỬ DI ĐỘNG (MOBILE AGENT) Giáo viên hướng dẫn : Sinh viện

Ngày đăng: 24/11/2014, 22:45

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan