Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 16 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
16
Dung lượng
430,73 KB
Nội dung
Ứng dụng thử nghiệm Mobile Agent vào xây dựng Workflow Nguyễn Hoàng Linh Phương GVHD: GVC Cao Đăng Tân Nguyễn Văn Thoại 12 1.3.7. 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 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. Các agent thường có kích thước nhỏ, bản thân agent không phải là một ứng dụng hoàn chỉnh, khi hoạt động trên 1 máy, agent cần phải kết hợp với 1 chương trình chạy nền sẵn trên máy mà ta gọi là AgentHost mới có thể hoạt động được. Ngoài ra có 1 số agent sẽ kết hợp với 1 số chương trình khác để hoạt động. 1.4. Phân loại agent 1.4.1. Phân loại theo tính năng 1.4.1.1. Agent tĩnh (Stationary agent) : 9 Đặc tính: Chỉ làm việc trên 1 hệ thống, nơi mà agent bắt đầu vòng đời. 9 Nếu stationary agent cần thông tin ở 1 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 1 trong các cơ chế truyền thông khác như RPC, RMI, DCOM… 1.4.1.2. Mobile Agent: 9 Không lệ thuộc vào hệ thống nơi chúng bắt đầu làm việc 9 Có khả năng di chuyển từ nơi này sang nơi khác trong hệ thống mạng máy tính tại những thời điểm và vị trí do agent lựa chọn Ứng dụng thử nghiệm Mobile Agent vào xây dựng Workflow Nguyễn Hoàng Linh Phương GVHD: GVC Cao Đăng Tân Nguyễn Văn Thoại 13 9 Khi mobile agent di chuyển, nó có thể mang theo mình trạng thái và mã chương trình. 1.4.2. Phân loại theo mục đích: Hình 2: Phân loại agent theo mục đích 1.4.2.1. Collaborative agents Collaborative agent là 1 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 hoặc 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 1 giao diện người dùng có sẵn, ví dụ như các chương trình giả lập hoặc tích hợp vào thiết kế của 1 dụng cụ phần cứng m ới, ví dụ như đồ gia dụng. 1.4.2.2. Interface agents Collaborative Agents Interface Agents Collaborative Learning Agents Cooperative Adaptive autonomous Intelligent Agents Ứng dụng thử nghiệm Mobile Agent vào xây dựng Workflow Nguyễn Hoàng Linh Phương GVHD: GVC Cao Đăng Tân Nguyễn Văn Thoại 14 Interface agent là 1 chương trình có thể ảnh hưởng đến giao diện thao tác 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 cá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ể là sự thay đổi đó không phải diễn ra ngay ứng với hành độ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 1 khỏang thời gian nào đó trước khi quyết định thực hiện 1 hành động. 1.4.2.3. Smart/Intelligent agents Có đầy đủ cả 3 mục đích: giao tác, tự động và dễ thích nghi và đây chính là tên gọi khác của software agent. 2. Mobile Agent và nguyên lý hoạt động Những hệ thống phân tán truyền thống được xây dựng trên những chương trình tĩnh, chuyển dữ liệu đi về trên mạng. Còn mobile agent (gọi tắt là MA) thì ngược lại. 2.1. Khái niệm Mobile Agent Định nghĩa: Mobile agent 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 và có thể tự mình di chuyển từ nơi này sang nơi khác Mobile agent chính là 1 dạng của mobile code. (Mobile code là những chương trình chuyển mã đến client và thực thi ở đó. Ví dụ cho mobile code: chương trình appletcó thể gây nguy hiểm cho máy tính do trong applet có thể chứa những đoạn code ko đáng tin cậy, gây hại.) Mobile agent ngoài những tính năng cơ bản của mobile code còn có thể : mang theo mình dữ liệu và tr ạng thái thực thi, di trú trong mạng dưới sự kiểm soát của chính nó. Vì vậy, có thể nói mobile agent an toàn hơn mobile code nhiều. Ứng dụng thử nghiệm Mobile Agent vào xây dựng Workflow Nguyễn Hoàng Linh Phương GVHD: GVC Cao Đăng Tân Nguyễn Văn Thoại 15 2.2. Tính chất mobile agent: 9 Có khả năng di trú từ nơi này sang nơi khác 9 Liên lạc được với nhau, nhân bản, nhập lại, tổng hợp tính toán 9 1 số agent có khả năng cung cấp dịch vụ hoặc interface cho các ứng dụng kế thừa 9 Có kích thước nhỏ 9 Có khả năng xác định và dùng những tài nguyên trên các máy tính đang chứa nó. 2.3. Một số hệ thống MA: 2.3.1. Aglets Aglets được xây dựng và phát triển bởi D. B. Lange và IBM Tokyo Research Laboratory. Xem thêm ở phần 1.3 2.3.2. Voyager Voyager là một môi trường thương mại hỗ trợ phát triển các ứng dụng agent được hãng Object Space phát triển từ giữa năm 1996. Voyager đã trải qua nhiều lần nâng cấp và thay đổi từ phiên bản 1.0 cho đến bây giờ là phiên bản 4.5. Tháng 03.2002 sản phẩm Voyager được nhượng lại cho Recursion Software, một công ty chuyên về các sản phẩm viết trên C++ và Java để đm bo cho việc phát triển Voyager sau này. Các phiên bản từ 1.0 đến 3.3 Voyager được phân phối cho các nhà phát triển như một freeware. Hi ện tại Voyager đã có phiên bản 4.5 Evaluation hoàn toàn tương thích với JDK1.3, JDK1.2 và JDK1.1. Phiên bản này bao gồm 6 sản phẩm, trong đó sản phẩm chính yếu dùng cho các ứng dụng mobile agent là Voyager ORB Professional. Voyager sử dụng ngôn ngữ lập trình Java với cú pháp chuẩn để tạo dựng các đối tượng ở xa một cách rất dễ dàng, cho phép các đối tượng này trao đổi thông điệp với nhau, và di chuyển các đối tượng giữa các máy tính có hỗ trợ môi Ứng dụng thử nghiệm Mobile Agent vào xây dựng Workflow Nguyễn Hoàng Linh Phương GVHD: GVC Cao Đăng Tân Nguyễn Văn Thoại 16 trường Voyager. Voyager hỗ trợ mạnh về tính di động với khả năng mang toàn bộ mã chương trình và dữ liệu di chuyển từ máy ảo Java này sang máy ảo Java khác nếu các máy ảo có hỗ trợ Voyager. Trạng thái hoạt động của agent cũng sẽ được bảo toàn và tiếp tục thực thi tại nơi agent đến. Một trong những đặc điểm nổi trội khác của Voyager là tính phổ quát. Các chương trình viết trong Voyager có thể trao đổi thông tin hai chi ều với các chương trình viết bằng SOAP, CORBA, RMI và DCOM. Các dạng thông tin được trao đổi có thể là các lời gọi hàm từ xa, các dịch vụ đặt tên, dịch vụ thư mục. Voyager có thể được xem là một cửa ngõ, một cầu nối làm cho các chương trình theo chuẩn khác trở nên liên thông với nhau. Hơn nữa, tất cả các chương trình và đối tượng có thể được tổ chức thành một không gian chung, nhờ vậy việc liên lạc sẽ trở thành m ột–nhiều một cách tự động. Phiên bản 4.5 của Voyager đã được bổ sung thêm các tính năng rất quan trọng hỗ trợ cho các chuẩn dịch vụ Web. SOAP và WSDL cũng đã được phát triển trong phiên bản này giúp cho các nhà phát triển có khả năng triển khai các ứng dụng truy cập tới các dịch vụ Web từ xa và các chương trình Voyager có thể truy cập nhau thông qua các dịch vụ Web. Thế mạnh thật sự của Voyager nằm ở sự đơn gi ản và dễ dùng. Sự “trong suốt” hay cách mà Voyager che dấu các kỹ thuật lập trình phân tán phức tạp đã làm cho việc xây dựng các ứng dụng mobile agent trở nên dễ dàng hơn rất nhiều. Việc tích hợp các công nghệ mới và các chuẩn mới vào cùng một sản phẩm tạo cho Voyager sự hấp dẫn rất riêng biệt. 2.3.3. Mole Mole là hệ thống Mobile Agent được xây dựng với ngôn ngữ Java tại đại học Stuttgart (CHLB Đức). Phiên bản đầu tiên (Release 1.0) đã hoàn thành vào năm 1995, năm 1997 phiên bản Release 2.0 được hoàn thành, bản Release 3.0 được hoàn tất vào năm 1998 và đề án đã kết thúc với kết quả là môi trường ổn định để xây dựng ứng dụng theo mô hình agent trên các hệ phân tán. Được xây Ứng dụng thử nghiệm Mobile Agent vào xây dựng Workflow Nguyễn Hoàng Linh Phương GVHD: GVC Cao Đăng Tân Nguyễn Văn Thoại 17 dựng trên Java, Mole có khả năng thực thi trên tất cả các môi trường có hổ trợ JDK1.1.x (Jdk1.1.7 và Jdk1.1.8), sử dụng giao thức TCP/IP trong quá trình giao tiếp. Mole hỗ trợ di chuyển yếu- weak migration. Để thực hiện giao tiếp giữa các agent Mole sử dụng các cơ chế truyền thông điệp, gọi hàm từ xa RPCs, và cơ chế đặc trưng của Mole là session , badge. Ngôn ngữ giao tiếp giữa các agent được Mole hỗ trợ là KQML. Việc trao đổi dữ liệu giữa các agent được th ực hiện theo nghi thức TCP/IP. Mole cho phép đa tiểu trình/agent và quản lí tài nguyên và lập lịch các tiểu trình trong hệ thống thông qua bộ lập lịch trung tâm MCP. Khả năng bảo mật của Mole được đánh giá khá tốt trong các hệ thống agent. Mole tuân theo mô hình bảo mật sandbox của java. Agent trong hệ thông Mole được chia làm hai loại: user agent và system agent. User 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 dược phát triển trên môi trường Mole: AIDA - Infrastructure for Mobile Agents, ASAP, ATOMAS, FESTIVAL (Mole office, Mole shopping), HAWK. Với hệ thống mã nguồn mở của Mole, ta có thể tiến hành cải tiến, nâng cấp những chứ c năng hiện có, và bổ sung những chức năng mới như các chức năng về công cụ hổ trợ lập trình agent để Mole trở thành hệ thống agent hiện đại hổ trợ tốt cho việc phát triển các ứng dụng dựa theo mô hình agent. 2.3.4. ZEUS Zeus là môi trường do British Telecommunication phát triển để hỗ trợ xây dựng các hệ thống đa agents. Ngoài các tính năng thông thường trong việc tạo lập và quản lý các agent, Zeus đặc biệt chú trọng việc hỗ trợ một phương Ứng dụng thử nghiệm Mobile Agent vào xây dựng Workflow Nguyễn Hoàng Linh Phương GVHD: GVC Cao Đăng Tân Nguyễn Văn Thoại 18 pháp luận và một bộ công cụ mạnh để phát triển ứng dụng đa agent trên môi trường phân tán. Zeus định nghĩa một phương pháp luận để phân tích, thiết kế, triển khai hệ thống và còn kèm theo các công cụ cho phép người phát triển có thể bắt lỗi hệ thống cũng như phân tích sự thực hiện của mình. Hai giai đoạn phân tích và thiết kế được miêu tả chi tiết trong nhưng chưa được hỗ trợ bởi các công cụ. Zeus Toolkit hỗ trợ hai giai đoạn cài đặt và bảo trì Zeus toolkit qua các công cụ Zeus Agent Generator và Zeus Agent Visualiser. Zeus cung cấp nhiều Editor để định nghĩa agent và các thuộc tính của agent. Code Generator sẽ tự động phát sinh mã nguồn cho agent từ những thuộc tính đã đặc tả. Hai đặc tính quan trọng của các Zeus agents là tính tự trị và cộng tác. Bộ phận Planner trong mỗi agent sẽ hỗ trợ agent thể hiện tính tự trị. Khả năng thương lượng và cộ ng tác giữa các agent cũng được Zeus tích hợp vào trong toolkit thông qua một thư viện các giao thức, cùng các chiến lược thương lượng và cộng tác. Do có mã nguồn mở, người dùng có thể thêm vào thư viện này các chiến lược riêng phù hợp với ứng dụng của mình. Các Zeus agent truyền thông theo point-to-point socket TCP/IP với mỗi message là một chuỗi các kí tự mã ASCII. Ngôn ngữ truỵền thông Zeus sử dụng là FIPA ACL (http://www.fipa.org). Nhằm cung cấp khả năng “hiểu” lẫn nhau cho các agent, Zeus cung cấp các công cụ cho việc định nghĩ a các ontology-cơ sở khái niệm chung cho cộng đồng agent. Các agent của Zeus được phân tán qua mạng và có thể thực hiện các tác vụ đồng thời. Chính vì thế, việc quản lí các agent cũng là một vấn đề mà môi trường đặt ra. Visualiser của Zeus cung cấp các công cụ để kiểm tra các quan hệ giao tiếp giữa các agent, trạng thái tác vụ những agent đang thực hiện và trạng thái bên trong của agent. Đồng thời, Zeus Statistic Tool cho phép người dùng so sánh các thống kê khác nhau về cộng đồng agent, ch ẳng hạn những loại thông điệp nào agent đã gửi và tỉ lệ là bao nhiêu, một cách trực quan dưới những dạng đồ thị khác nhau. Cũng nhằm quản lí agent, Zeus cung cấp những agent tiện ích Ứng dụng thử nghiệm Mobile Agent vào xây dựng Workflow Nguyễn Hoàng Linh Phương GVHD: GVC Cao Đăng Tân Nguyễn Văn Thoại 19 như Agent Name Server hoạt động như một Yellow Page, Facilitator như một White Page, Visualiser và Database Proxy. Một hạn chế của Zeus là tuy được liệt kê vào một trong những môi trường mobile agent nhưng hiện hướng nghiên cứu về tính di động của Zeus chỉ mới ở bước đầu, chưa được cài đặt. Do đó mà tính bảo mật của Zeus cho các agent hầu như không có. Điều này có thể sẽ được khắc phục trong các phiên bản sau. Zeus đã và đ ang được triển khai trong một số ứng dụng như Agent Based Work-flow Management, PTA: Personal Travel Assistance, Personal Computer Manufacture, Agent-based Electronic Commerce, Network Management (VPNP), Home Shopping. 2.4. Nguyên lý hoạt động 2.4.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 : 2.4.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 thực thi, cho ra kết quả ở client. Thao tác gồm 3 bước : Bước 1 : máy client gửi yêu cầu đến server Hình 3: Kĩ thuật Pull code – Bước 1 server code client request code Ứng dụng thử nghiệm Mobile Agent vào xây dựng Workflow Nguyễn Hoàng Linh Phương GVHD: GVC Cao Đăng Tân Nguyễn Văn Thoại 20 Bước 2 : server gửi code cho client Hình 4: Kĩ thuật Pull code – Bước 2 Bước 3 : code được thực thi ở client Hình 5: Kĩ thuật Pull code – Bước 3 Ví dụ : Các Java applet được thực thi theo phương pháp này Chú ý : trong mô hình này, 1 bản sao của code sẽ được server gửi tới client và thực thi ở client. Server vẫn lưu trữ code. 2.4.1.2. Kĩ thuật push code Khi có yêu cầu từ người dùng, 1 máy (1 node) trong mạng sẽ gửi code tới 1 máy (1 node) khác trong cùng môi trường mạng và thực thi ở máy đó. Thao tác này gồm 2 bước : Bước 1 : tự bản thân máy A gửi code đến máy B mà không có yêu cầu từ phía B. Trong mô hình này, A chỉ là 1 máy có nối mạng với B chứ không cần điều kiện A phải là server server code client request code code code execute code server client Ứng dụng thử nghiệm Mobile Agent vào xây dựng Workflow Nguyễn Hoàng Linh Phương GVHD: GVC Cao Đăng Tân Nguyễn Văn Thoại 21 Hình 6: Kĩ thuật Push code – Bước 1 Bước 2 : code được thực thi ở máy B Hình 7: Kĩ thuật Push code – Bước 2 Chú ý : ở A vẫn lưu trữ 1 bản sao của code. Như vậy, trong 2 mô hình trên, nơi gửi code đi vẫn giữ lại 1 bản sao của code. 2.4.1.3. Kĩ thuật autonomous code Code tự quyết định sẽ đi và thực thi ở đâu Bước 1 : code sau khi thực thi ở máy A sẽ tự đóng gói và di trú tới máy B Hình 8: Kĩ thuật Autonomous code – Bước 1 code node A node B remote exec code Code A execute code node A node B node A node B execute code migrate code [...]... Thoại 22 GVHD: GVC Cao Đăng Tân Ứng dụng thử nghiệm Mobile Agent vào xây dựng Workflow 2. 4 .2 Đời sống 1 agent : Creation Serialize Migrate Host Deserialize Execute Destroy or sleep Migrate Request Yêu cầu di trú từ nguồn Serialize Migrate Hình 10: Vòng đời agent Creation : Khởi tạo agent, phát sinh ID cho agent, tuỳ biến cấu hình cho agent Serialize: Lưu lại trạng thái agent trước khi di trú đến AgentOS... gian hoạt động thì agent sẽ bị hủy 2. 4.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 Nguyễn Hoàng Linh Phương Nguyễn Văn Thoại 24 GVHD: GVC Cao Đăng Tân Ứng dụng thử nghiệm Mobile Agent vào xây dựng Workflow 2. 5 Agent Host : 2. 5.1 Khái niệm Agent không thể tồn tại một mình... dụng lại về sau Bảo mật: AgentOS phải có cơ chế chống lại những agent được tạo ra với ý đồ xấu nhằm ngăn chặn việc bị đánh cắp thông tin hoặc bị tấn công từ chối dịch vụ… Có thể mở rộng được Nguyễn Hoàng Linh Phương Nguyễn Văn Thoại 25 GVHD: GVC Cao Đăng Tân Ứng dụng thử nghiệm Mobile Agent vào xây dựng Workflow 2. 6 Ích lợi của mobile agent 2. 6.1 Giảm bandwidth Kĩ thuật mobile agent cho phép người dùng... pháp mobile agent giải quyết vấn đề này bằng cách nhúng những tác vụ cần thực hiện vào mobile 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 lại để đón agent trở về Nguyễn Hoàng Linh Phương Nguyễn Văn Thoại 26 GVHD: GVC Cao Đăng Tân Ứng dụng thử nghiệm Mobile Agent vào xây dựng Workflow 2. 6.5.. .Ứng dụng thử nghiệm Mobile Agent vào xây dựng Workflow Bước 2 : code thực thi ở máy B, lúc này code hoàn toàn không còn ở A nữa execute node A code node B Hình 9: Kĩ thuật Autonomous code – Bước 2 Ví dụ : mobile agent hoạt động theo phương pháp này Tự quyết định đóng gói, không để lại bản sao và di trú đến đâu là điểm khác biệt của mobile agent với 2 kĩ thuật trên Nguyễn Hoàng... Migrate: Di trú agent kèm tình trạng của nó đến 1 nơi khác Deserialize: Tái tạo lại trạng thái trước khi di trú của agent Execute: Truy cập vào các dịch vụ của host, liên lạc với các agent khác, hoàn thành nhiệm vụ của agent Migrate Request: Yêu cầu được di trú đến 1 host khác Nguyễn Hoàng Linh Phương Nguyễn Văn Thoại 23 GVHD: GVC Cao Đăng Tân Ứng dụng thử nghiệm Mobile Agent vào xây dựng Workflow Destroy... mobile agent, các agent 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 2. 7 Môi trường ứng dụng mobile agent Mobile agent hích hợp với những loại ứng dụng sau: 2. 7.1 Thu thập dữ liệu 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 quan đến nhiều nguồn dữ liệu không đồng nhất, việc cử các mobile. .. được agent và trạng thái của nó : Agent có thể yêu cầu host di trú agent tới host khác và thực thi Có cơ chế cho các agent trong host giao tiếp được: AgentOS phải cung cấp khả năng liên lạc thông qua sự kiện giữa các agent trong cùng 1 node cũng như giữa các agent ở các node khác nhau Tái sử dụng agent: AgentOS phải cung cấp cho người dùng khả năng phân loại, lưu trữ agent để có thể lấy ra sử dụng. .. host hay AgentOS để sống và hoạt động Chính host sẽ tạo ra agent từ đọan code đã có, thực thi agent, chuyển nó đến host khác hay hủy đi agent Khi host bị hủy thì agent đang hoạt động dựa trên host đó cũng bị hủy theo 2. 5 .2 Các yêu cầu cho AgentOS : Độc lập flatform : AgentOS phải có khả năng hỗ trợ agent trong môi trường mạng không đồng nhất Multithreaded: AgentOS phải có khả năng cho phép nhiều agent. .. thiểu lỗi 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 agent giúp việc xây dựng hệ thống mạnh mẽ và chịu lỗi cao được dễ dàng hơn 2. 6.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 ( độc lập với phần cứng và hệ điều hành ) và tầng . Ứng dụng thử nghiệm Mobile Agent vào xây dựng Workflow Nguyễn Hoàng Linh Phương GVHD: GVC Cao Đăng Tân Nguyễn Văn Thoại 23 2. 4 .2. Đời sống 1 agent : Hình 10: Vòng đời agent . cho những agent khác Ứng dụng thử nghiệm Mobile Agent vào xây dựng Workflow Nguyễn Hoàng Linh Phương GVHD: GVC Cao Đăng Tân Nguyễn Văn Thoại 25 2. 5. Agent Host : 2. 5.1. Khái. Ứng dụng thử nghiệm Mobile Agent vào xây dựng Workflow Nguyễn Hoàng Linh Phương GVHD: GVC Cao Đăng Tân Nguyễn Văn Thoại 26 2. 6. Ích lợi của mobile agent 2. 6.1. Giảm bandwidth