Chương 1. Tổng quan về tác tử di động và ứng dụng phân tán cập nhật phần mềm. Ở chương này sẽ trình bày nội dung giới thiệu về Tác tử di động, các nguyên lý hoạt động và lợi ích của nó, các lĩnh vực ứng dụng của Tác tử di động. Đồng thời cũng giới thiệu tổng quan về ứng dụng phân tán cập nhật phần mềm.
Một số thuật toán trên tác tử di động gắn với ứng dụng phân tán cập nhật phần mềm. Chương này sẽ phân tích kĩ hơn về hệ thống tác tử di động và trình bày một số thuật toán đối với tác tử di động, mỗi thuật toán trình bày chi tiết các bước, sơ đồ khối và viết giả mã. Bên cạnh đó cũng nêu các tình huống sẽ sử dụng thuật toán trong ứng dụng cập nhật phần mềm. Thiết kế và xây dựng ứng dụng phân tán cập nhật phần mềm ~4~ Chương này trình bày về yêu cầu của ứng dụng, bao gồm các yêu cầu về chức năng và phi chức năng.
Phân tích chi tiết bài toán, từ đó có thiết kế kiến trúc hệ thống, thiết kế chi tiết chức năng, thiết kế cơ sở dữ liệu. Dựa vào nội dung phân tích, thiết kế và kết quả thực nghiệm, nội dung chương này sẽ nêu kết quả đạt được. Cuối cùng là phần kết luận và hướng phát triển. TỔNG QUAN VỀ TÁC TỬ DI ĐỘNG VÀ ỨNG DỤNG PHÂN TÁN CẬP NHẬT PHẦN MỀM 1.
Giới thiệu về tác tử di động 1. Giới thiệu 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 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. Có thể kể đến các khuynh hướng chính yếu sau: Người dùng di động (Mobile users): Ngày nay người dùng thường có nhu cầu truy xuất, tìm kiếm thông tin ở mọi nơi, mọi lúc từ các thiết bị di động (Mobile devices). Vì vậy việc hỗ trợ kết nối và trên mọi thiết bị là một thách thức được đặt ra.
Nhu cầu chuyên biệt hoá: Việc khai thác thông tin, sử ụng dịch vụ đã không còn thỏa mãn với các cơ chế thụ động, mà người dùng thường có khuynh hướng muốn chuyên biệt hoá nhu cầu của mình một cách chủ động. Internet là cơ sở để thực hiện mong muốn này. Vì vậy, cần hỗ trợ khả năng chuyên biệt hoá các ứng dụng mạng dành cho người dùng. Nguồn tin đa dạng, khối lượng cực lớn: Đã xuất hiện sự bùng nổ thông tin trên mạng với sự xuất hiện của nhiều kho dữ liệu khổng lồ.
Các kho dữ liệu này lại được cung cấp từ nhiều nguồn nên thường không đồng nhất về tổ chức, cấu trúc. Đây sẽ lại là một khó khăn mới đối với người dùng khi truy vấn. Việc các mạng Intranet được xây dựng phổ biến là một điều kiện tốt để triển khai các kỹ thuật mới trong việc xây dựng các ứng dụng mạng. Vì các mạng Intranet cho phép thiết lập an toàn hệ thống dễ dàng hơn trong một tập hợp mang tính cộng tác và tin cậy.
Môi trường không đồng nhất: Khi kết nối các máy tính, các mạng cục bộ vào Internet, các ứng dụng và người dùng phải đối mặt với một môi trường ~6~ không đồng nhất về phần cứng, kiến trúc, hệ điều hành…Và bài toán tương thích cần phải giải quyết. Sự khập khiễng về đường truyền: Mặc dù ngành viễn thông đã đạt đến những tiến bộ đáng kinh ngạc, và cho ra đời các loại cáp quang với tốc độtruyền tải nhanh đáng kể. Đa số người dùng vẫn bị giới hạn với các thiết bị kết nối như modem hay các đường truyền băng thông thấp với mạng không dây. Với tất cả các đặc điểm trên đây, 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.
Tác tử di động là một mô hình trong đó các tiến trình - được gọi là tác tử có tính tự trị và khả năng di động từ máy chủ này sang máy chủ khác để hoàn tất tác vụ. Ý tưởng chủ đạo của Tác tử di động là di chuyển xử lý đến gần nguồn dữ liệu, nhờ đó có thể giảm tải mạng, khắc phục tình trạng trễ, hỗ trợ xử lý không đồng bộ và tạo ra sự tương thích mạnh trên các môi trường không đồng nhất. Tác tử di động với các ưu điểm này hứa hẹn một giải pháp mới, hiệu quả và dễ dàng hơn trong việc phát triển ứng dụng phân tán, đặc biệt tìm kiếm thông tin mới nhất. Sự tiến hóa từ các mô hình ứng dụng phân tán Theo truyền thống, các ứng dụng phân tán có cấu trúc theo mô hình Client/Server sẽ thực hiện việc giao tiếp qua các cơ chế gọi hàm từ xa.
Yêu cầu các mô hình giao tiếp phải đồng bộ. Một kiến trúc tiến bộ hơn là Remote Evaluation (REV) do Stamos và Gifford đư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 khác 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 ~7~ chương trình để thực thi tại những vị trí này.
Tác tử di động là mô hình tiến hóa tiên tiến nhất so với các mô hình trước đó. Sự tiến hóa của mô hình tác tử di động 1. Khái niệm về tác tử di động Tác tử di động là giải pháp mạng và là công nghệ lập trình hướng tác tử, tiến hóa hơn các mô hình phát triển ứng dụng phân tán trên mạng máy tính truyền thống. Tác tử di động được xây dựng dựa trên nhiều công nghệ hiện đại, không dựa vào nguyên lý Client/Server và cũng không theo các phương thức triệu gọi từ xa truyền thống.
Tác tử di động rất thích hợp cho bài toán tìm kiếm, khai phá, trích rút thông tin trên mạng Internet Một tác tử di động có thể di chuyển từ một thiết bị đầu cuối lên mạng Internet và hoạt động không phụ thuộc vào môi trường và kết nối, thậm chí User tắt máy hay ngắt kết nối khỏi mạng. Phát triển các ứng dụng phân tán dựa trên Tác tử di động có thể “giấu các kênh truyền”, loại trừ khả năng phát hiện và quản lý hoạt động của chúng. Tác tử di động không đòi hỏi phải cài đặt lại các phần mềm ở mỗi site. Kết hợp với phương pháp lập trình hướng đối tượng đã tạo ra một phương pháp phát triển mới.
Phương pháp lập trình hướng tác tử. Các hệ thống phân Phục hồi thông tán tin Tác tử di động AI & Khoa học Mã nguồn di động (Mobile Agent) nhận dạng Cơ sở dữ liệu và cơ sở tri thức Máy học Hình 1. Tác tử – phương pháp lập trình Máy học nghiên cứu cách thức để mô hình hóa bài toán cho phép máy tính tự động hiểu, xử lý và học từ dữ liệu để thực thi nhiệm vụ được giao cũng như cách đánh giá giúp tăng tính hiệu quả. Có rất nhiều định nghĩa khác nhau, thậm chí khác nhau về tác tử di động, nhưng có một định nghĩa thường được sử dụng như sau: Định nghĩa: Tác tử di động - Mobile Agent là danh từ ghép giữa Agent (trợ lý) và Mobile (di động).
Là một phần mềm có khả năng di chuyển một cách tự trị từ nút này sang nút khác trên mạng và thực hiện các giao dịch theo ủy quyền của chủ nhân để đạt được mục tiêu giao phó. Có khả năng giao tiếp với nhau và hoạt động không phụ thuộc vào môi trường. Khi di chuyển, tác tử di động đóng gói mã nguồn, dữ liệu và trạng thái thi hành. Vì vậy nó có thể dừng việc thi hành tại nút này, tiếp tục thi hành trên nút khác.
~9~ 2-Tác tử di động di trú S S 1- Tác tử di động 3- Tác tử di động (Code, Data, di trú State) 4- Tác tử di động trả kết quả S Hình 1. Mô hình hoạt động tác tử di động - Mobile Agent Tác tử di động là một mô hình hiệu quả cho các ứng dụng phân tán. Đặc biệt thích hợp và rất hiệu quả trong trong các giải pháp tìm kiếm thông tin cập nhật mới nhất. Có thể thực hiện trên các môi trường khác nhau, trên các thiết bị đầu cuối khác nhau, như các máy tính di động laptop, máy tính tại nhà và máy di động cầm tay.
Các thiết bị này thường disconnect trong một khoảng thời gian dài, thường có băng thông trễ, kết nối mạng không tin cậy, và thường thay đổi địa chỉ mạng qua mỗi lần kết nối. Các đặc tính của tác tử di động Các đặc tính cơ bản của tác tử di động bao gồm: a) Tính tự trị (autonomous): là khả năng tự kiểm soát bản thân của tác tử di động sau khi được giao việc mà không cần sự can thiệp của người dùng hoặc của tác tử khác [3]. Có hai đặc tính thường được dùng để đánh giá về sự tự trị của tác tử di động. Đó là đặc tính hướng đích (goal-oriented) và tính chủ động (pro-activeness).
Khả năng tự trị của tác tử di động chủ yếu được quyết định bởi tri thức trang bị cho tác tử di động. ~ 10 ~ b) 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 tác tử. Đồng thời giữ nguyên trạng thái và khả năng hoạt động của nó. Các tác tử có đặc điểm này được gọi là tác tử di động.
Việc thiết kế và cài đặt tác tử di động đặt ra các yêu cầu đặc biệt về vấn đề an ninh hệ thống [1]. c) 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. d) Khả năng cộng tác (collaboration): Tác tử di động có khả năng tương tác với người dùng hoặc các tác tử khác để thực hiện nhiệm vụ của riêng mình hoặc để giúp đỡ các đối tác khác. e) Khả năng tự học: Tự học hoặc học tự động là khả năng của tác tử thu thập các kiến thức mới từ kinh nghiệm thu lượm được, chẳng hạn qua các lần thành công và thất bại.
Kết quả tự học phải làm cho các tác tử hành động tốt hơn, hiệu quả hơn. Phân loại tác tử di động a) Phân loại theo tính năng Tác tử tĩnh: Là các tác tử chỉ làm việc trên một hệ thống, nơi mà tác tử bắt đầu vòng đời.