Công nghệ tác tử trong quản lý mạng Internet (Phần 1)

Sự ra đời của công nghệ tác tử, đặc biệt là tác tử phần mềm có thể là một câu trả lời cho các bài toán quản lí mạng hóc búa. 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 tác tử 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).

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ệ tác tử, đặc biệt là tác tử 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 tác tử 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 tác tử 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 tác tử 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 tác tử đượ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 tác tử giám sát gán cho. Các hệ thống quản lý mạng khi sử dụng công nghệ tác tử với một đặc tính của tác tử đó 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 tác tử tĩnh.

2. Tác tử di động

2.1. Khái niệm về tác tử

Sẽ thật không dễ dàng khi đi tìm một khái niệm chính xác cho tác tử (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 "Tác tử 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ề tác tử 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 tác tử 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ề tác tử, ở đây ta nên thu hẹp phạm vi của tác tử, đó là tác tử 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 tác tử 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 tác tử cơ sở.

Ngoài ra tác tử 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. Tác tử di động

Bây giờ thì rất dễ dàng để hiểu được khái niệm tác tử di động: là một tác tử phần mềm có khả nǎng thay đổi vị trí. Tác tử 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 tác tử di động: code di động (mobile code) hoặc remote object với Agent TCL, Telescript hoặc gần đây là Aglets.
public abstract class Agent implements Serializable {
// methods to hook the change of
// its state in the life-time
void create(); // after creation
void destroy();// before termination
void arrive(); // after accepted a child
void leave(URL dst); // before dispatched to dst
void clone(); // before duplication
void parent(); // after duplication at the original
void child(); // after duplication at the copy
....
// APIs for Mobile Agents
void go(URL dst) throws
NoSuchLocationException ... { ...}
URL duplicate(URL dst) throws
NoSuchLocationException ... {...}
void setTimeout(int time) // the life-span
....
}

Để có thể sử dụng các tác tử 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 tác tử di động kể cả cách thức di chuyển của tác tử:

- Mô hình vòng đời: cần một số tiện ích tạo, huỷ, dừng, tạm dừng,… một tác tử
- 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 tác tử có thể truy nhập tài nguyên mạng cũng như các cách để truy nhập tới tác tử 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 tác tử và giữa tác tử 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 tác tử (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 tác tử, 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 tác tử di độ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 tác tử thô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 tác tử có 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 tác tử có 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 tác tử di độ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 tác tử xử lý


2.3. Chuẩn về cơ cấu tổ chức tác tử 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ề tác tử 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 tác tử nói chung và tác tử di độ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ể tác tử: gồm một nhóm các hệ thống tác tử có 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 tác tử 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 tác tử 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 tác tử phầ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 tác tử 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 tác tử, các hệ thống quản lí mạng NMS, được mô tả như hình vẽ [5].

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 tác tử di độ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 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 tác tử di động, được gọi là deglet (delegation-sự uỷ quyền), sẽ được sử dụng, các tác tử nà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 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 tác tử deglet 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 tác tử thự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 đó.

(còn tiếp)
Biện Vǎn Quang

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
[3] OSI network management model, IEEE comm, May 1993.
[4] Agent technology, Blue book, OMG: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

Thứ Ba, 24/02/2004 03:14
11 👨 3.383
0 Bình luận
Sắp xếp theo