Phối hợp agent trong kiến trúc đề xuất

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu mô hình kiến trúc và phối hợp agent cho các dịch vụ web (Trang 44 - 48)

3. Cấu trúc luận văn

3.4. Phối hợp agent trong kiến trúc đề xuất

Bài toán đặt ra là một yêu cầu từ phía client cần được đáp ứng bởi một số agent. Ví dụ, khi cần dịch một văn bản ta có thể chia văn bản này thành các phần nhỏ và dịch từng phần sau đó tổng hợp lại. Như vậy sẽ cần tới việc phân chia văn bản, dịch và kết hợp lại các phần văn bản. Việc dịch từng phần nhỏ được chia cho các người dịch. Trong nghiên cứu này, tôi sử dụng phương pháp cơ cấu tổ chức kết hợp với chia sẻ công việc để phối hợp các agent.

3.4.1. Phân rã yêu cầu và tổng hợp kết quả

Yêu cầu từ client có thể là những yêu cầu đơn được thực thi bởi một agent hoặc là một yêu cầu phức tạp đòi hỏi nhiều tiến trình, agent khác nhau. Loại yêu cầu này cần phân rã thành những yêu cầu nhỏ hơn có thể thực thi bởi từng agent riêng lẻ. Những yêu cầu nhỏ sau khi phân rã có thể thực hiện độc lập hoặc phải được thực hiện theo một trình tự nhất định do những ràng buộc về kết quả.

Trong luận văn này, phần phân rã công việc ở mức quản lý dịch vụ chưa được thực hiện mà chú trọng vào khả năng và kinh nghiệm của agent. Khi một agent nhận công việc, nếu

các agent khác để cộng tác. Quyết định phối hợp với agent nào dựa trên bài toán cụ thể và kinh nghiệm tích lũy của agent. Trường hợp đơn giản nhất, agent có thể chia công việc thành nhiều phần sau đó tự nhân bản và thực hiện công việc. Việc phát hành hợp đồng hay đàm phán có thể thực hiện như [4].

3.4.2. Mô hình phối hợp

Tại proxy, các agent phối hợp với nhau qua thông điệp ACL được cung cấp bởi nền tảng JADE, mô hình tổ chức phối hợp được thể hiện trong hình 3.5

Hình 3.5. Mô hình phối hợp agent đề xuất

Khi bộ quản lý và điều khiển dịch vụ cần xử lý một yêu cầu bởi agent, nó sẽ gửi yêu cầu này cho JADE Gateway Agent qua phương thức SOAP, JADE Gateway Agent sẽ chuyển yêu cầu này thành thông điệp ACL, tìm kiếm agent cung cấp dịch vụ trên trang vàng JADE DF và gửi thông điệp tới agent tìm thấy. Một agent khi nhận được yêu cầu dịch vụ sẽ xem xét khả năng đáp ứng của mình trong thời gian cho phép. Nếu agent này nhận thấy cần phối hợp với các agent khác để đảm bảo thời gian cho phép hay phối hợp để thực hiện yêu cầu nhanh hơn nó sẽ phân tích yêu cầu và phân rã yêu cầu thành các phần nhỏ. Tiếp theo, agent này sẽ tìm kiếm các agent có thể thực hiện nhiệm vụ trên JADE DF và liên lạc với các agent tìm thấy để thực hiện yêu cầu. Việc tổng hợp kết quả được thực hiện bởi chính agent đã phân chia công việc hoặc một agent khác có chức năng tổng hợp kết quả được chọn bởi agent ban đầu.

3.4.3. Phương pháp phối hợp

Việc phối hợp các agent được thực hiện bằng cách kết hợp giữa cơ cấu tổ chức và chia sẻ công việc. Giả sử JADE Gateway Agent đã nhận được một yêu cầu agent từ bộ quản lý dịch vụ Manager Service và cần tìm agent để giao công việc. Tiến trình thực hiện được mô tả như hình 3.6

Hình 3.6. Tiến trình phối hợp agent

0. Các agent đăng ký (sửa đổi, hủy) dịch vụ với DF agent

1. Khi nhận được yêu cầu, JADE Gateway Agent sẽ tìm agent cung cấp dịch vụ thông qua DF agent và thực thi agent này, giả sử là agent 1.

2. Agent 1 nhận công việc, nó phân tích thấy cần nhân bản thêm một số agent. Agent 1 cần tới dịch vụ phân chia công việc và dịch vụ tổng hợp công việc, nó sẽ tìm trên DF. Giả sử có agent 2 và agent 3. Sau đó, dựa trên những thông tin lấy được từ DF, Agent 1 sẽ gửi thông điệp yêu cầu hợp tác tới agent 2 và agent 3.

3. Agent 2 và agent 3 xem xét yêu cầu hợp tác, giả sử 2 agent này đều đã có tại proxy và sẵn sàng hợp tác chúng sẽ gửi thông điệp chấp thuận tới agent 1.

4. Agent 1 phân tích công việc, giả sử cần chia thành N phần, nó sẽ gửi yêu cầu và dữ liệu này tới agent 2 kèm theo các thông tin về agent sẽ nhận lại (là các bản sao của agent 1) . Đồng thời gửi thông tin này tới Agent 3 để agent này dựa trên đó thực hiện kết nối khi có kết quả từ các agent 1.

5. Agent 1 thực hiện nhân bản

6. Agent 2 thực hiện chia công việc và gửi lại các agent 1 đã được nhân bản. 7. Các agent 1 thực hiện công việc và chuyển kết quả tới agent 3

8. Agent 3 tổng hợp lại kết quả và gửi lại proxy service thông qua JADE Gateway Agent. Sau đó, kết quả sẽ được gửi lại client.

 Các tiến trình khác có thể có: (i) Khi một agent chưa có tại proxy, một yêu cầu agent sẽ được proxy gửi tới server. (ii) Khi một agent tại proxy được yêu cầu mà đang bận, chúng có 2 lựa chọn hoặc không chấp nhận đề nghị, khi đó agent đề nghị sẽ lấy agent từ server hoặc tạm dừng công việc để thực hiện nhân bản và các agent được nhân bản thực hiện yêu cầu. (iii) Khi có nhiều agent có thể đáp ứng yêu cầu, agent ban đầu sẽ chọn agent phù hợp nhất. (iv) Khi không còn yêu cầu từ client proxy có thể giữ kết nối trong một khoảng thời gian. (v) Khi không còn kết nối giữa proxy và server, container tại proxy sẽ tồn tại trong một khoảng thời gian nhất định, khi đó các agent sẽ thực hiện ngủ. Sau khoảng thời gian đó, nếu không có yêu cầu từ client, container này sẽ bị hủy bởi Main-Container tại Server.

Chương 4 THỰC NGHIỆM

Phần thực nghiệm được tôi tiến hành qua hai giai đoạn. Đầu tiên là xây dựng mô hình mạng đề xuất trên công cụ mô phỏng mạng. Mục đích chính là để kiểm tra khả năng giảm tải của mô hình với những thông số cụ thể. Sau đó, tôi tiến hành cài đặt hệ thống trên máy tính thực và đếm số lượng yêu cầu đến server trên hệ thống đề xuất và hệ thống client-server để so sánh khả năng đáp ứng của hai hệ thống.

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu mô hình kiến trúc và phối hợp agent cho các dịch vụ web (Trang 44 - 48)

Tải bản đầy đủ (PDF)

(61 trang)