Công nghệ Agent trong quản lý mạng Internet
1. Giới thiệu
Ngày nay, cùng với sự phát triển như vũ bão của công nghệ thông tin, điện tử viễn thông, mạng viễn thông nói chung và mạng Internet nói riêng ngày càng hiện đại và phức tạp. Điều này đòi hỏi người điều hành mạng phải có một kiến thức rất rộng và phải được đào tạo và cập nhật kiến thức thường xuyên. Việc quản lý nhiều loại mạng khác nhau sẽ yêu cầu phải thu thập một khối lượng lớn các số liệu, các số liệu này phải được phân tích xử lý trước khi đưa ra một biện pháp quản lý thực sự, điều này sẽ gặp rất nhiều khó khǎn cho người điều hành nếu không có một công cụ hiệu quả trong tay. Đồng thời với sự phức tạp của mạng thì đối với người sử dụng việc nâng cao độ tin cậy và chất lượng dịch vụ được mong đợi cao hơn. Sự ra đời của công nghệ Agent , đặc biệt là Agent phần mềm có thể là một câu trả lời cho bài toán quản lí mạng hóc búa này. Xu hướng quản lý mạng hiện nay thường theo kiểu tập trung (centralized) do đó phải sử dụng các ứng dụng tương đối lớn thì mới có thể thực hiện được các đặc tính thông minh của hệ thống, người ta sẽ sử dụng một số các hệ thống nhỏ hơn có quan hệ mật thiết với nhau hoặc các Agent có thể giao tiếp được với nhau (điều này không chỉ đơn thuần là chia nhỏ hệ thống, vì nó yêu cầu phức tạp hơn nhiều). Với sự phát triển của trí tuệ nhân tạo, thì một Agent có thể được nhìn nhận theo mô hình BDI (Belift-Desires-Intentions), và được sử dụng để có thể trao đổi thông tin, đưa ra các kết quả hoặc kết hợp các kết quả một cách thông minh, nhưng cũng đơn giản hơn mô hình đang sử dụng hiện tại.
Hiện nay, việc quản lí mạng nói chung đều dựa trên mô hình client/server. Cho dù hệ thống Agent có thể hoạt động với bất kỳ công nghệ client/server nào nhưng nó khác với hệ thống client/server do nó không phân biệt rõ ràng đâu là client đâu là server. Tất cả các Agentđược uỷ quyền một nhiệm vụ hay vai trò do người thiết kế hoặc người sử dụng hoặc một Agent giám sát gán cho. Các hệ thống quản lý mạng khi sử dụng công nghệ Agent với một đặc tính của Agent đó là tính di động sẽ thuận lợi hơn so với mô hình client/server thông thường, cũng như hệ thống dựa trên các Agent tĩnh.
2. Agent di động
2.1. Khái niệm về Agent
Sẽ thật không dễ dàng khi đi tìm một khái niệm chính xác cho Agent. Nó là một khái niệm cực kỳ rộng lớn, bao hàm nhiều vấn đề, theo nhà nghiên cứu Krogh "Agent là gì? Nó là rất nhiều thứ. Nếu cố gắng tìm ra một mẫu thức chung về hoạt động hay lí thuyết về Agent thì bạn có thể gặp sai lầm", và ông đã chỉ ra một số các điểm mâu thuẫn giữa các khái niệm Agent như tính tiên đoán, tính phản ứng, tính suy diễn.
Để có thể hiểu rõ hơn về Agent , ở đây ta nên thu hẹp phạm vi của Agent , đó là Agent phần mềm: "Đó là một thực thể phần mềm, hoạt động theo sự uỷ quyền của các Agent khác, của người điều khiển, nó có khả nǎng tự động, thực hiện tiên đoán, phản ứng và một số khả nǎng như tự học, tự di chuyển, hoạt động theo kiểu cộng tác. Ta có thể coi đây là một mô hình Agent cơ sở.
Ngoài ra Agent phần mềm còn xác định một số khái niệm khác: mô hình vòng đời, mô hình tính toán, mô hình giao tiếp truyền thông, mô hình bảo mật, mà nằm ngoài khuôn khổ bài báo
2.2. Agent di động
Bây giờ thì rất dễ dàng để hiểu được khái niệm Agent di động: là một Agent phần mềm có khả nǎng thay đổi vị trí. Agent di động còn được trang bị thêm một đặc tính nữa đó là mô hình di chuyển. Công nghệ được sử dụng cho Agent di động: code di động (mobile code) hoặc remote object với Agent TCL, Telescript hoặc gần đây là Aglets.
Để có thể sử dụng các Agent di động, thì hệ thống cần có một framework: cung cấp các tính nǎng và hỗ trợ hầu hết các mô hình Agentdi động kể cả cách thức di chuyển của Agent.
Mô hình đời: cần một số tiện ích tạo, huỷ, dừng, tạm dừng, một Agent.
Mô hình tính toán: khả nǎng điều khiển thread, vận hành quản lý dữ liệu
Mô hình bảo mật: đó là các cách để cho Agent có thể truy nhập tài nguyên mạng cũng như các cách để truy nhập tới Agent từ mạng.
Mô hình giao tiếp, truyền thông: xác định cách thức truyền thông giữa các Agent và giữa Agent với các thực thể khác (ví dụ: mạng)
Tất cả các vấn đề liên quan đến việc di chuyển của một Agent(cùng với trạng thái của nó hoặc không) giữa hai thực thể (có thể là hai máy tính) nằm ở hai vị trí khác nhau đều dựa vào mô hình di chuyển. Với những yêu cầu trên, hiển nhiên, framework sẽ phải đáp ứng một số yêu cầu nhất định bao gồm: tǎng dung lượng bộ nhớ đồng thời đáp ứng được các yêu cầu về trễ khi truy nhập hoặc thi hành trên các thiết bị xác định. Tuy nhiên, với sự phát triển nhanh chóng của công nghệ thì vấn đề này dường như không quá khó khǎn. Một ví dụ về vấn đề này, đó là máy ảo Java (JVM-Java Virtual Machine), nó là cơ sở cho hầu hết các framework Agent , nó rất nhỏ và phù hợp cho việc nhúng vào hệ thống.
Và điều cuối cùng về khái niệm Agentdi động, đó là kích cỡ của chúng: không nhất thiết cố định, nó thay đổi tuỳ theo công việc mà chúng phải thực hiện. Với các Agentthông minh tổ chức kiểu tổ ong (swarm intelligent) thì lại có kích cỡ rất nhỏ, nhưng với các Agentcó nhiệm vụ cấu hình hoặc phân tích chẩn đoán thì kích cỡ của chúng khá là lớn (do chúng cần phải mang theo các thuật toán phức tạp, bộ máy phân tích). Điều quan trọng nữa, là các Agentcó thể mở rộng khả nǎng (nếu cần) bằng cách tải về các đoạn mã cần thiết từ tài nguyên mạng.
Tóm lại một Agentdi động sẽ đem lại một số lợi ích :
Tiết kiệm tài nguyên CPU.
Tiết kiệm không gian: Do nó chỉ ở tại mỗi nút mạng trong một thời điểm nhất định.
Giảm được lưu lượng trên mạng: các đoạn mã thường là nhỏ hơn rất nhiều so với khối lượng dữ liệu mà một Agent xử lý
2.3. Chuẩn về cơ cấu tổ chức Agent di động
Cũng như bất kì các hoạt động liên quan đến truyền thông, các khái niệm chung về Agent di động cho quản lí mạng sẽ phụ thuộc rất nhiều vào các tiêu chuẩn đưa ra. Tổ chức OMG (Open Management Group) đã đưa ra được bản phác thảo tiêu chuẩn (trong Bluebook) cho Agentnói chung và Agentdi động nói riêng. Mô hình này được chỉ ra trên hình vẽ [4], với khái niệm quần thể Agent : gồm một nhóm các hệ thống Agentcó thể truy nhập lẫn nhau và có quyền và nhận dạng tương tự nhau. Bản phác thảo này cũng đưa ra được mô hình tổ chức của một Agent thiên về CORBA, với giao thức IIOP được sử dụng như giao thức truyền vận và sử dụng một số dịch vụ có sẵn của CORBA (ví dụ: naming).
3. Ứng dụng của Agent di động trong quản lý mạng
Hệ thống quản lí mạng phức tạp nên còn nhiều vấn đề cần được nghiên cứu thử nghiệm với Agentphần mềm: dữ liệu cần xử lý rất lớn, các môi trường ngày càng hỗn tạp vơi nhiều loại thiết bị, Các sự cố trên mạng luôn luôn có nguy cơ xảy ra: việc tràn dữ liệu trên mạng đòi hỏi người quản lí giám sát cần đưa ra giải pháp xử lí nhanh chóng. Lỗi phải được chẩn đoán một cách nhanh chóng chính xác và được tự động sửa hoặc thông báo đến người điều hành và đưa ra một số khuyến nghị về cách giải quyết. Trong mạng Internet hoặc mạng khác, người điều hành mạng phải làm việc từ xa với rất nhiều thiết bị (thường là ngồi ở trạm điều hành). Để có thể nắm bắt được tính đa dạng của các thành phần mạng thì các ứng dụng quản lí cần làm việc với nhiều giao diện hoặc các công cụ. Các hệ thống quản lí mạng thường là rất lớn và rất khó để duy trì hoạt động, chính vì vậy, chúng ta hãy điểm lại một số lĩnh vực ứng dụng trong quản lí mạng mà các Agent di động có thể sử dụng và cách sử dụng chúng trong từng lĩnh vực như thế nào.
Trước hết ta hãy tìm hiểu một số giao thức quản lí mạng:
Giao thức quản lí mạng SNMP (Simple Network Management Protocol). Giao thức quản lí mạng này được sử dụng để thiết lập các kênh truyền thông giữa NMS (Network Management Station) và nút mạng được quản lí với các nhiệm vụ, gửi đi các yêu cầu và nhận về các bản tin trả lời. Giao thức này tương ứng với tầng ứng dụng trong mô hình TCP/IP, và được sử dụng chính trong mạng Internet, và nó cúng được sử dụng với các giao thức truyền thông khác như IPX, AppleTalk, OSI. Nó gồm một số thành phần chính: thiết bị được quản lí, các Agent , các hệ thống quản lí mạng NM
Các chức nǎng quản lí mạng được tiêu chuẩn trong chuẩn OSI:
- Quản lí về lỗi: nó gồm một loạt các công cụ cho phép phát hiện, cách ly hoặc sửa lỗi: lỗi thực thi, lỗi thiết kế, lỗi quá tải, nhiễu, quá thời gian sống (lifetime). Nó gồm một số chức nǎng:
+ Kiểm tra lỗi, ghi lại lỗi (file .log), bảo dưỡng.
+ Chấp nhận và làm theo chỉ dẫn thông báo về lỗi
+ Nhận dạng lỗi
+ Tiến hành các bài kiểm tra phân tích lỗi.
+ Sửa lỗi.
- Quản lý cước: Gồm một số chức năng.
+ Thông báo với khách hàng về cước
+ Thông báo với khách hàng về cước trong tương lai
+ Giới hạn cước (ví dụ: không cho phép lớn hơn 6 kết nối điện thoại)
+ Tổng hợp cước (tránh cho khách hàng các hoá đơn cước lẻ tẻ).
- Quản lý cấu hình của mạng. Đôi khi còn được gọi là quản lí tên và cấu hình, nó gồm một số chức nǎng:
+ Ghi lại cấu hình hiện tại.
+ Ghi lại các thay đổi về cấu hình.
+ Nhận dạng các thành phần mạng.
+ Khởi tạo và đóng các hệ thống mạng.
+ Thay đổi các thông số trong mạng (ví dụ bảng cấu hình).
- Quản lí hoạt động của mạng. Nó rất cần để nâng cao QoS của mạng. Để thấy được sự thay đổi trong hoạt động của mạng, thì các dữ liệu cần được thu thập và thống kê thông qua các file .log. Điều này mang lại một số ưu điểm:
+ Các dữ liệu được ghi có thể được sử dụng bởi chức nǎng quản lí lỗi để phát hiện lỗi
+ Các dữ liệu được ghi có thể được sử dụng bởi chức nǎng quản lí cấu hính để quyết định khi nào cần thay đổi cấu hình
+ Và cũng có thể được sử dụng cho phần quản lí cước để điều chỉnh hoá đơn
- Quản lí bảo mật: Cho phép quản lí quá trình khởi tạo và thay đổi các chức nǎng bảo mật trong mạng chống lại sự truy nhập trái phép. Một số phần quan trọng được sử dụng: quản lí khoá truy nhập (chứng thực, mã hoá, uỷ quyền), quản lí firewall và tạo các bản ghi bảo mật.
Để có thể thấy hết được tiềm nǎng của việc sử dụng Agentdi động trong một số lĩnh vực quản lý mạng, chúng ta hãy bắt đầu bằng việc nghiên cứu mô hình mạng:
Mô hình hình mạng. Việc tự động tìm kiếm phát hiện là một trong những chức nǎng cơ bản của hệ thống quản lí mạng. Trong trường hợp đơn giản nhất, đó chỉ là tìm các thiết bị cả mạng.
Các đoạn mã di động được ví như một phương tiện thuận lợi nhất để thực hiện nhiệm vụ trên. Trong khi sự tìm kiếm phát hiện cơ bản trong mạng (chỉ đơn giản là phát hiện các nút mạng) không đủ phức tạp cần thiết cho việc sử dụng các đoạn mà di động, sự phức tạp hơn sẽ đem lại lợi ích lớn hơn từ những khả nǎng mới đó. Tuy nhiện việc tìm kiếm phát hiện trong mạng là phương tiện cơ sở cho định hướng mới. Một trong những kĩ thuật tìm kiếm phát hiện được sử dụng thông dụng là việc gửi đi các bản tin ping đến địa chỉ IP trong một vùng nào đó. Và quá trình tìm kiếm phát hiện sẽ đưa ra một cái nhìn tổng quan về mạng thông qua các bản tin trả lời. Nhưng bây giờ, các Agentdi động, được gọi là deglet (delegation-sự uỷ quyền), sẽ được sử dụng, các Agentnày có thể được tạo ra với một nhiệm vụ duy nhất là gửi các ID của nút mạng (mà nó di chuyển đến) đến nơi đã tạo ra nó (xem hình vẽ [6]). Sau đó, deglet này sẽ được đưa vào trong mạng và di chuyển theo các mẫu di chuyển được thực thi. Có nhiều vấn đề tương tự đã được giải quyết như trong thuật toán ping (ví dụ như phạm vi tìm kiếm) tuy nhiên phương thức mới được sử dụng sẽ linh hoạt hơn, chẳng hạn: nó không yêu cầu người sử dụng phải có kiến thức về mạng. Sự kết thúc nhiệm vụ được nhận ra ngay trong deglet, có thể bằng cách đếm các bước nhảy hoặc trung bình số lần kiểm tra của một nút mạng xác định.
Bằng Bằng cách ghép các ràng buộc của các deglet làm nhiệm vụ tìm kiếm chúng ta có thể tạo ra được các mô hình mạng. Các ràng buộc về loại của thiết bị trong các Agentdeglet tìm kiếm phát hiện sẽ cho kết quả một mô hình mạng chứa các thiết bị chỉ thuộc loại xác định ở trên. Những mô hình mạng này có thể được tạo ra một cách tự động, không nhất thiết cố định, chúng có thể thay đổi cho phù hợp với các yêu cầu của ứng dụng.
Nếu nhiệm vụ được uỷ quyền có tính chất không thay đổi, thì chúng ta có thể gọi các Agentthực hiện nhiệm vụ đó là các netlet. Các netlet được coi như là một phần thuộc cơ sở hạ tầng mạng. Và quá trình tìm kiếm phát hiện trở nên liên tục hơn, nhanh hơn khi sử dụng các netlet. Các netlet có thể phát hiện ra các thay đổi trong cấu hình mạng nên mô hình mạng thay đổi. Một số các netlet có thể được gán để thực thi các tác vụ đó, sự thay đổi về cấu hình đó có thể được phát hiện nhanh chậm tuỳ thuộc vào mật độ của các netlet (điều này hoàn toàn có thể điều khiển được), càng có nhiều các netlet trong mạng thì khả nǎng phát hiện sự thay đổi càng nhanh. Tuy nhiên, cũng có một số ràng buộc nhất định về số lượng các netlet trong mạng, ví dụ như khả thông, bǎng thông của mạng. Tương tự như deglet, các netlet có thể sử dụng mặc định về sự di chuyển trong mạng, hoặc có thể sử dụng riêng một mô hình di chuyển nào đó phù hợp với mô hình mạng và với tác vụ thực thi. Một ví dụ đơn giản về điều này, netlet có thể xác định cho mình một phạm vi di chuyển trong một mạng rộng lớn, vì thế nó không thể di chuyển ra ngoài phạm vi phần mạng xác định đó.
3.1. Quản lý lỗi
Phân tích chuẩn đoán hiện trạng mạng. Các phương thức được sử dụng để mô hình hoá mạng đều có thể được sử dụng để phân tích chẩn đoán lỗi trong mạng. Việc phát hiện các lỗi cũng là một quá trình xây dựng một mô hình đặc biệt của mạng. Nếu các ràng buộc cho sự tìm kiếm phát hiện mô tả các xung đột được coi là bình thường của các thành phần mạng, thì các Agentkiểm tra các ràng buộc đó rồi mới thực hiện chức nǎng phát hiện lỗi. Deglet có thể được sử dụng để phản ứng lại kết quả phát hiện hoặc đưa ra các vấn đề nghi vấn. Chúng cố gắng thu thập thêm các thông tin, thực hiện các bài kiểm tra mở rộng hoặc thi hành các tác vụ khôi phục.
Các ràng buộc không hạn chế cho một thiết bị mạng đơn lẻ nào. Chúng có thể mã hoá các thuật toán phức tạp với chức nǎng tìm kiếm phát hiện lỗi, và chỉ có giới hạn về kích cỡ của netlet là liên quan trực tiếp đến khả nǎng di chuyển và khả thông của mạng. Vấn đề đó có thể được giảm thiểu bằng cách tận dụng các ưu điểm của Java, các kĩ thuật nén mã, và các phương thức thông minh. Các cơ sở về lý thuyết hỗ trợ kĩ thuật cho hoạt động Agentdi động cũng đang được các tổ chức quan tâm xúc tiến nghiên cứu.
Với sự phân bố Agent , chúng ta có một "xã hội" các Agentcó mối quan hệ với nhau mà nhu cầu cần thiết là phối hợp để phân chia mức độ thông minh cần thiết cho việc phân tích và phát hiện lỗi trong mạng. Một số lượng nhất định các loại Agenttí hon được đưa vào mạng, mỗi một loại có thể nghiên cứu giải quyết một vấn đề nào đó, và được giải quyết bằng cách tǎng cường giả thuyết theo sự quan sát của một số lượng lớn các Agentcùng loại. Như vậy để có giải pháp giải quyết vấn đề trong mạng cần kết hợp các giả thuyết được đưa ra bởi mỗi loại Agent.
Cả hai loại Agent netlet và deglet cùng tuân theo một cách bảo mật cung cấp trước nào đó có thể được cho phép thực hiện các hoạt động trên các thiết bị mạng [hình 3]. Mỗi một netlet "tích cực" có thể được sử dụng để giải quyết một vấn đề nào đó một cách tự động theo cách khôi phục ngay tức thì khi có thể. Người quản lí mạng sẽ được thông báo về sự kiện xảy ra hoặc được cảnh báo nếu như sự khôi phục tự động của Agentkhông thực hiện được hoặc yêu cầu sự trợ giúp từ phía người điều hành. Mức độ kĩ thuật của mạng sẽ giảm được phần nào các lỗi xuất hiện trên mạng. Trong khi với các deglet, mà các tác vụ được uỷ quyền khi cần thiết thông qua sự giao tiếp của Agentvới thực thể uỷ quyền thì với netlet, chúng có thể được gán cho các tác vụ dựa theo quyền ưu tiên do người thiết kế tự đặt hoặc được khởi động tự động như là một phần trong mạng, kết cấu tổ chức và mật độ các netlet được điều khiển bởi các kĩ thuật bảo mật nào đó (ví dụ, tần suất di chuyển đến các nút mạng có thể được đo và sử dụng để tái tạo hoặc kết thúc các netlet).
Sự bảo dướng duy trì từ xa với các thành phần mạng hỗn hợp Các Agentdi động cần phải tương tác với các nút mạng thông qua một giao diện mà tại đó cung cấp đầy đủ các phương tiện: bảo mật, truy nhập gián tiếp đến tài nguyên của nút mạng và một số dịch vụ đi kèm khác. Giao diện này được gọi là thành phần quản lý ảo (VMC-Virtual Managed Component): được thiết kế bởi nhà cung cấp thiết bị. Nó có thể nằm ngay trong thiết bị hoặc trên proxy trong trường hợp thiết bị không có khả nǎng chấp nhận Agentdi động. Trong thực tế, nhà cung cấp thiết bị mạng thường trang bị một phương tiên cho VMC là khả nǎng tải được các dữ liệu về trình điều khiển thiết bị (driver), và điều này làm cho việc quản lý các thiết bị được dễ dàng hơn. Khi thiết bị được nối mạng, nó sẽ biết được các phương tiện có sẵn được quảng bá trong mạng. Ví dụ, một Agentlàm nhiệm vụ tìm kiếm có thể sẽ yêu cầu một danh sách các thiết bị được hỗ trợ trong mạng, người sử dụng dựa vào danh sách các thiết bị này để kiểm tra một thiết bị cụ thể [hình 3], nếu như thiết bị có trong danh sách thì nó được cài đặt ngay trạm. Nó có thể thi hành trên trình duyệt Web hoặc như một chương trình độc lập. Applet cung cấp dữ liệu và các chức nǎng thành phần mà nhà cung cấp đã trang bị phù hợp với thiết bị: có thể đơn giản chỉ là danh sách thiết bị đơn giản hoặc đồ hoạ của thiết bị phần cứng hoặc các dịch vụ.
Nếu thiết bị không cung cấp một applet đại diện, thì người điều hành phải điều khiển thiết bị hoặc một thiết bị chung nhất (thường gọi là mặc định) được sử dung thay thế. Đây cũng là giải pháp mà hiện nay các hệ thống quản lý mạng đang áp dụng trong các Agent . Một thiết bị không chỉ có phần đại diện được thực thi mà chúng còn phải thực thi một giao thức truyền thông chẳng hạn như SNMP với người quản lí, để có thể nhận được hoặc truyền đi các thông số về thiết bị. Chính điều này một lần nữa đã góp phần làm cho việc quản lí mạng càng thêm lớn, phức tạp và bất tiện hơn. Chúng ta có thể kết luận giải pháp các applet có thể tải về được không bị những ràng buộc trên.
Một khía cạnh hấp dấn nữa cho xu hướng trên được cung cấp bởi các kho chứa các applet trên máy chủ, ví dụ như máy chủ của nhà cung cấp thiết bị. Và giao diện VMC được đóng gói cùng thiết bị sẽ chứa một con trỏ trỏ đến applet trên máy chủ. Một điều hiển nhiên là nhà cung cấp có thể duy trì kho chứa applet, cập nhật và làm cho nó thuận tiện hơn, ví dụ bằng cách sử dụng các phần mềm. Đó cũng là một trong những xu hướng hiện nay với các thiết bị plug-n-play.
Một ví dụ khác sử dụng Agentdi động để duy trì bảo dưỡng thiết bị từ xa: cung cấp dịch vụ video theo yêu cầu. Cùng với sự phát triển của mạng trong tương lai, mà không phát triển về việc quản lí mạng thì một điều không thể giải quyết được đó là việc phải gửi các nhà kĩ thuật để giải quyết các lỗi về thiết bị, do có nhiều các thiết bị được cài đặt nằm rải rác nhiều vùng địa lý-> gây khó khǎn cho việc quản lí mạng. Để giải quyết vấn đề này chúng ta chỉ cần gửi đi các Agent , nó sẽ thực hiện các bài kiểm tra phù hợp và sẽ cố gắng đưa ra các phương án giải quyết vấn đề nếu có thể, nếu không nó sẽ thông báo để con người can thiệp. Với khả nǎng tự học thì Agentcó thể tự bồi đắp, làm giàu thêm thư viện kiến thức của mình với các tác vụ đã thực hiện.
3.2. Quản lí cấu hình
Các dịch vụ. Việc cung cấp dịch vụ (tất nhiên ở đây ta không xét khía cạnh cấp dịch vụ đến người sử dụng) trong mạng viễn thông cũng như mạng Internet hiện nay tương đối phức tạp và liên quan đến nhiều thành phần. Công việc này sẽ được giảm nhẹ khi sử dụng các Agentdi động. Ví dụ, cung cấp PVC trong mạng ATM (giả sử có mạng IPoATM). Người điều hành sẽ mất rất nhiều thời gian với các khái niệm phức tạp của PVC để có thể thiết lập được kết nối giữa hai tổng đài ATM, đặc biệt là hai tổng đài do hai hãng khác nhau cung cấp. Một hệ thống Agent(hình vẽ [4]) có thể làm nhiệm vụ này một cách tự động: yêu cầu thiết lập PVC được gán cho deglet. Các dữ liệu cần thiết được trao đổi giữa các EP (endpoint) deglet lấy thông tin đó qua VMC sử dụng một loại ontology xác định trứơc. Deglet khác lại thông tin với người điều hành, các dữ liệu cần thiết được thu gom và hoàn thành kết nối.
Các thành phần mạng. Cấu hình một thiết bị yêu cầu một số các thuộc tính trong mạng và ở thiết bị phải được đặt tương tự như các thành phần mềm được cài đặt. Ví dụ, một máy in cần có trình điều khiển nằm trên các trạm làm việc để các trạm này sử dụng chúng. Hiện nay, người quản lý mạng phải thực hiện tất cả các tác vụ trên một cách thủ công. Với sự phát triển của công nghệ Agentthì việc sử dụng các Agentdi động sẽ đem lại một viễn cảnh các thành phần mạng được thực thi theo xu hướng cắm và chạy (plug-n-play)
Bây giờ ta phân tích kĩ hơn ví dụ nêu ở trên, cài đặt máy in trong mạng. Tác vụ này liên quan đến mạng doanh nghiệp gồm một số các trạm làm việc với các yêu cầu khác nhau: các trình điều khiển cần thiết cho máy in sẽ khác nhau giữa các máy tính sử dụng Windows và OS/2, giữa các máy Maccintosh và Unix. Bây giờ ta lại giả sử rằng mạng này lại được nối đến Internet. Để sử dụng được máy in thì các trạm làm việc cần được cung cấp các trình điều khiển hợp lý. Nếu như máy in có đi kèm tất cả các trình điều khiển yêu cầu hoặc hệ điều hành đã chứa các trình điều khiển đó thì công việc cài đặt máy in trên mạng không có gì đáng nói cả, và hoán toàn có thể quản lí được. Còn trong trường hợp không có các trình điều khiển máy in phù hợp, thì toàn bộ quá trình cài đặt sẽ gặp nhiều khó khǎn. Sự biến đổi về topo mạng cần được quản lí ngay cả khi các máy in và các trạm làm việc được thêm vào: các máy in phải được cho cấp phép dịch vụ, các hệ điều hành được cập nhật.
Ở đây, chúng ta mô tả việc sử dụng các Agent động và các Agent tĩnh. VMC của thiết bị mới, ở đây là máy in, bao gồm cả Agentlàm nhiệm vụ cung cấp dịch vụ. Trên kết nối tới mạng, một số các deglet hoặc netlet được gửi đi để tìm kiếm phát hiện các thiết bị mạng đang cần trình điều khiển máy in, sau đó nó liên hệ với trang Web của nhà cung cấp máy in và phiên bản mới nhất của máy in sẽ được tải về. VMC của máy in có thể chứa danh sách các thiết bị sử dụng máy in, vì vậy nó có thể kết hợp để cài đặt các trình điều khiển mới khi cần. Máy in sẽ đǎng kí với nhà cung cấp, khi có trình điều khiển mới, nó sẽ được tự động gửi cho Agentcung cấp dịch vụ cho máy in. Cũng giống như các Agentlàm nhiệm vụ phân tích lỗi, việc quản lí cấu hình cũng cần sự kết hợp của nhiều loại Agentđơn giản.
3.3 Quản lí hoạt động mạng
Chúng ta đều biết rằng, các khái niệm về đo kiểm đánh giá chất lượng mạng là rất khó khǎn khi mà sử dụng một máy chủ tập trung. Trễ trên mạng là một vấn đề đối với việc đưa ra các quyết định đo kiểm mạng. Thay vì dùng các thành phần thǎm dò từ xa, một Agentdi động được gửi đi để thực thi sự phân tích ngay tại thành phần được đo. Các thông tin theo cách này sẽ đúng và chính xác hơn, bởi vì chúng không chịu ảnh hưởng của trễ trên mạng. Một kết quả tương tự có thể nhận được khi mà tiến trình điều khiển là một phần của thành phần kiểm tra và cũng là một phần tĩnh nằm ngay trong thành phần kiểm tra. Song giải pháp với Agentdi động là đáng quan tâm hơn cả, do nó không đòi hỏi một tài nguyên cố định trên trạm cần đo. Và tất nhiên việc quản lí sẽ càng đơn giản, do chúng ta hoàn toàn dễ dàng sử dụng các Agenttiên tiến nhất mà không mất mấy công sức, trong khi chúng ta sẽ phải rất khó khǎn để cập nhật cho các Agenttĩnh nằm ngay tại nơi cần đo.
Các công nghệ hot-swapping (trao đổi thông tin nóng) cũng có thể dựa trên các đoạn mã di động. Các bảng trao đổi đựoc áp dụng để cập nhật cho các Agentquản lí giám sát mạng tĩnh. Nếu các Agentnày là các ứng dụng có thể mở rộng, thì các module chứa các đoạn mã động (extlet) được sử dụng để cập nhật mà không tạm ngưng các dịch vụ mà ứng dụng đang cung cấp. Các module di động này không nhất thiết phải nằm ở thành phần cập nhật, mà chỉ tải về khi cần, không giồng như việc sử dụng các applet trong các trình duyệt Web. Một lần nữa, Agentdi động lại chứng tỏ ưu điểm: yêu cầu ít tài nguyên hơn, thêm nữa là quá trình xử lí phân tán, cách xử lí thông minh phối hợp từ các nguồn tài nguyên khác nhau trong quá trình đo kiểm, đánh giá.
Một ví dụ cho công nghệ trên, đó là khi server được di chuyển đến môi trường thực thi tốt hơn, việc quyết định di chuyển sẽ yêu cầu một loạt các phân tích thông minh của nhiều nhân tố như: yêu cầu dịch vụ, tải trên mạng, tỉ lệ lỗi, chẳng hạn người điều hành có thể di rời dịch vụ khi nhận thấy tỉ lệ lỗi xuất hiện khi truy nhập dịch vụ của nó là không chấp nhận được. Một trường hợp khác, server cung cấp các dịch vụ truyền thông trong một hệ thống phân tán có thể được di chuyển nếu như các yêu cầu dịch vụ tǎng trong một vùng nào đó. Trong tất cả các trường hợp đó, server là một Agentdi động không có ràng buộc về kích cỡ, có thể là rất lớn.
Tuy nhiên, khi sử dụng Agentdi động trong việc quản lí hoạt động của mạng, chúng ta sẽ gặp phải một số vấn đề. Khi sử dụng tràn lan các Agentdi động, mà không được điều khiển, sẽ gây hiện tượng đầy tràn mạng, chiếm một tỉ lệ lớn trong tài nguyên mạng. Chính vì thế phần nền cho các Agentdi động hoạt động cần có một số qui tắc ràng buộc về mật độ Agent .
3.4 Mạng plug-n-play
Việc sử dụng Agentdi động mở ra một hướng mới cho một mạng thống nhất: mạng plug-n-play, nó có thể tự động xác định được các thiết bị, các thành phần trong mạng và các yêu cầu của người sử dụng. Như chúng ta đã phân tích ở trên, các Agentdi động hoàn toàn có thể can thiệp vào các quá trình cấu hình thiết bị mạng, cung cấp dịch vụ. Nếu xet một ví dụ thực tế, các applet được sử dụng để lấy các dữ liệu trên mạng về thông tin lưu trữ của thiết bị và của người sử dụng, và khi mạng phát triển hơn (thêm các dịch vụ, các thiết bị), thì mạng có thể phát hiện và thay đổi dữ liệu cấu hình. Sử dụng các Agentdi động với tác vụ uỷ quyền: cấu hình và cung cấp dịch vụ, ta hoàn toàn có thể thực hiện được điều này. Ngoài ra mạng plug-n-play còn có khả nǎng phát hiện ra lỗi, hoặc các khả nǎng xảy ra ảnh hưởng tới chất lượng dịch vụ hoặc vấn đề bảo mật, nó có thể tự động sửa chữa.
4. Kết luận
Việc sử dụng công nghệ Agentcho quản lí mạng là phù hợp và là nhu cầu tất yếu. Trong thực tế hiện nay, các giao thức quản lí mạng như SNMP, CMIP (OSI), TNM đều đang sử dụng công nghệ hướng đối tượng (OO-Object Oriented) và một phần khái niệm Agent . Hơn thế, các Agentthông minh một lần nữa được chứng tỏ trong việc thực thi quản lí mạng. Tuy nhiên, do còn là một công nghệ mới, đang hoàn thiện nên công nghệ Agentnói chung và Agentdi động nói riêng cần được đầu tư nghiên cứu hơn nữa. Ví dụ, Agentdi động đối mặt với vấn đề bǎng thông trong mạng client/server, với việc quản lí các Agentdi động như thế nào cho tối ưu
Các nhà nghiên cứu phát triển hệ thống quản lí mạng đều tin tưởng quản lí mạng dựa trên mạng Internet sẽ mang lại kết quả hơn, và nhiều hơn khi sử dụng công nghệ Agent . Một xu hướng mới đang phát triển dựa trên Jini, một công nghệ tổng hợp giữa các công nghệ remote object (điển hình là CORBA), mã di động và Agent .
Tài liệu tham khảo
[1] O'Hare, G. and Jenning, N, Foundations of Distributed Artificial Intelligence
[2] Mobile Agents. FIPA: http://www.fipa.com (http://www.fipa.com/)
[4] Agent technology, Blue book, OMG:www.omg.org (http://internet.vdc.com.vn/www.omg.org)
[5] Rima Abdul-Mobile Agent for Network Management.
[6] Ichiro- A mobile agent-based framework for active networks
[7] OMG- CORBA: www.omg.org (http://internet.vdc.com.vn/www.omg.org)
[Biên soạn, sưu tập với nguồn từ đồng nghiệp]