.10 Điều kiện xử lý yêu cầu

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 32)

cầu có độ ưu tiên khác nhau.

Trường hợp (a), yêu cầu được xử lý bởi một proxy không bận. Proxy này có thể chứa agent xử lý yêu cầu hoặc không. Nếu không, nó sẽ phối hợp với proxy chứa agent có khả năng xử lý yêu cầu để agent này thực thi và đáp ứng yêu cầu. Trường hợp (b), một lượng lớn các yêu cầu được gửi tới một proxy tại một thời điểm và mỗi yêu cầu được gán một độ ưu tiên khác nhau. Những yêu cầu này cần được lập lịch để chuyển đến agent xử lý.

Chúng tôi đưa ra một số giá hàm để kiểm chứng sự tồn tại của proxy có chứa agent xử lý yêu cầu của client.

Khả năng đáp ứng d  [0, 1] được định nghĩa:

    0 1 d

Hàm đáp ứng Sij được định nghĩa:

    0 i Sij Proxy có sẵn agent Proxy lấy agent từ Server

Hồi đáp từ proxy thứ i chứa agent Hồi đáp từ Server

  j ij js w Uij

Trong đó, wj[0,1] là độ ưu tiên của yêu cầu thứ j với: w = 1: yêu cầu của client đang được xử lý; w = 0: Hệ thống đang tìm kiếm giá trị ưu tiên trên toàn mạng.

Tổng thời gian được chỉ ra trong công thức:

tag uij

T

i.

Kết hợp 2.2 và 2.3 ta có tổng thời gian đáp ứng được tính:

      i ag resp req resp t t t T ( ) Trong đó:        time t avail a t cs w s ws w cos 0

Không tồn tại agent

Chương 3

PHỐI HỢP CÁC AGENT

3.1. Agent quảng bá dịch v

3.1.1. DF agent

Một dịch vụ trang vàng cho phép các agent đưa ra mô tả các dịch vụ mà mình cung cấp theo thứ tự mà các agent khác có thể dễ dàng tìm thấy và khai thác chúng được cung cấp bởi nền tảng JADE được mô tả như hình 3.1

Hình 3.1. Dịch vụ trang vàng [6]

Mỗi agent khi được tạo lập sẽ đăng ký các dịch vụ mà mình cung cấp với trang vàng và sửa đổi hoặc xóa dịch vụ bất cứ lúc nào trong thời gian sống của mình. Dịch vụ trang vàng này được cung cấp bởi một agent đặc biệt gọi là DF (Directory Facilitator).

3.1.2. Công bố dịch vụ

Các tương tác giữa Agent và DF agent được thực hiện qua thông điệp ACL sử dụng một ngôn ngữ nội dung thích hợp như trong các đặc tả của FIPA.

Một agent muốn đưa ra một hoặc nhiều dịch vụ phải cung cấp DF với một mô tả bao gồm AID riêng của mình, danh sách các dịch vụ cung cấp, tùy chọn ngôn ngữ và ontology để các agent khác sử dụng để tương tác với nó. Mỗi mô tả dịch vụ bao gồm loại dịch vụ, tên dịch vụ, các ngôn ngữ và ontology được yêu cầu để sử dụng dịch vụ và tập các thuộc tính đặc trưng của dịch vụ dưới dạng cặp giá trị khóa.

3.1.3. Tìm kiếm dịch vụ

Một agent muốn tìm kiếm dịch vụ phải cung cấp DF mô tả mẫu. Kết quả tìm kiếm là một danh sách tất cả các mô tả phù hợp với mẫu mà agent cung cấp. Tức là một mô tả phù hợp với mẫu

nếu tất cả các lĩnh vực được đặc tả trong mẫu cũng được diễn tả trong mô tả và có giá trị như nhau.

Liên lạc với agent cung cấp dịch vụ được thực hiện dựa trên những mô tả nhận được. JADE cũng cung cấp một co chế cho phép thông báo tới các agent khi có agent đăng ký dịch vụ mới, sửa đổi hoặc xóa dịch vụ.

3.2. T chức và di chuyển agent

Cả server và proxy đều được cài đặt nền tảng JADE là môi trường hoạt động của agent. Toàn bộ agent được sinh ra tại server. Mỗi agent sinh ra đăng ký dịch vụ mình cung cấp với DF agent. Trước khi di chuyển về proxy chúng có thể tạo một bản sao để lại tại server, bản sao này có thể ngủ khi chưa được gọi tới hoặc tự hủy sau một khoảng thời gian.

Tất cả các agent được quản lý bởi AMS agent tại Main-container của server. Khi có yêu cầu agent từ phía proxy, trong lần đầu tiên, một remote container sẽ được tạo tại proxy. Sau đó, một hoặc nhiều agent sẽ được di chuyển về proxy, chúng thực thi riêng lẻ hoặc phối hợp với nhau để trả lại kết quả cho phần quản lý dịch vụ của proxy thông qua JADE Gateway agent, bộ phận này sẽ trả lại kết quả cho client.

Sau một khoảng thời gian, agent có thể ngủ hoặc tự hủy tại proxy.

3.3. Phi hợp các agent

3.3.1. Khái niệm

Số lượng agent nhiều ít tùy thuộc từng hệ thống, mỗi agent được trang bị khả năng tự chủ để giải quyết vấn đề, nhiệm vụ được giao. Nếu tất cả các agent đều hoạt động riêng rẽ độc lập mà không tương tác hợp lý với các agent khác sẽ rất tốn tài nguyên hệ thống, lãng phí bộ nhớ, tăng thời gian xử lý hoặc có thể gây cản trở lẫn nhau. Do đó, việc phối hợp cộng tác giữa các agent với nhau là cần thiết. Theo Nwana at al 1996, Phối hợp là một tiến trình mà trong đó các agent tham gia nhằm đảm bảo rằng một cộng đồng các agent đơn lẻ hành động một cách chặt chẽ. Nói cách khác, phối hợp là tổ chức, quản lý quan hệ phụ thuộc trong hành động của các agent sao cho toàn bộ hệ thống hoạt động một cách thống nhất. Quá trình phối hợp phải đáp ứng được các yêu cầu:

- Đảm bảo mỗi nhiệm vụ trong công việc chung được giao cho ít nhất một agent - Các agent tương tác với nhau để đạt được mục tiêu chung của hệ thống

- Các yêu cầu phải được thực hiện trong khoảng thời gian hữu hạn với số lượng tài nguyên hợp lý.

3.3.2. Sự cần thiết phải phối hợp

Có nhiều lý do để agent cần phối hợp với nhau, một số lý do quan trọng là:

- Các mục đích của agent có thể phụ thuộc lẫn nhau. Sự phụ thuộc này có thể là quyết định cho mục đích của agent này ảnh hưởng tới agent khác.

- Các mục đích của agent có thể gây ra xung đột giữa các hành động của agent. Trong hệ thống gồm nhiều agent, mỗi agent chỉ biết về môi trường và hành động cục bộ của mình nên phối hợp cho phép tránh được những xung đột cũng như tình trạng hỗn loạn.

- Các agent có khả năng và tri thức khác nhau

- Các mục đích của agent có thể nhanh chóng đạt được nếu có sự cộng tác, phối hợp giữa các agent.

 Một số đặc điểm của sự phối hợp

Phối hợp trong hệ đa agent xuất hiện trong thời gian hệ thống hoạt động. Do vậy agent phải có khả năng phát hiện yêu cầu phối hợp và thực hiện phối hợp như một phần trong hoạt động của mình. Đặc điểm này khác với các hệ thống phân tán truyền thống trong đó quá trình phối hợp giữa các thành phần được dự đoán trước trong quá trình thiết kế.

Phối hợp và hợp tác không nhất thiết phải đi cùng với nhau. Nhiều agent hợp tác với nhau trong công việc chung không được phối hợp tốt có thể dẫn tới hỗn loạn, thiếu thống nhất. Để có thể hợp tác hiệu quả, agent cần lưu trữ mô hình về agent khác cũng như hình dung về các agent trong tương lai. Trong khi đó, phối hợp có thể thực hiện cho các agent không hợp tác với nhau. Thậm chí, phối hợp có thể thực hiện đối với hệ thống bao gồm những agent cạnh tranh với nhau.

Để thực hiện phối hợp, agent có thể liên lạc với nhau. Tuy nhiên liên lạc không phải là điều kiện bắt buộc cho phối hợp. Phối hợp không thông qua liên lạc có thể thực hiện nếu mỗi agent có được mô hình của agent khác.

 Quan hệ giữa các hành động

Như đã nói ở phần trên, hành động của agent trong hệ thống có thể có những mối quan hệ phụ thuộc với nhau. Quan hệ giữa hành động thực hiện bởi các agent khác nhau được chia thành hai loại chính: tiêu cực và tích cực.

Hai hoặc nhiều hành động có quan hệ tiêu cực hay quan hệ mâu thuẫn với nhau nếu việc thực hiện hành động này gây cản trở cho việc thực hiện đồng thời hành động khác. Nguyên nhân của quan hệ tiêu cực có thể do mâu thuẫn về mục tiêu hành động hay do hạn chế về tài nguyên. Ngược lại, quan hệ tích cực là quan hệ cho phép hành động này được lợi từ việc thực hiện hành động khác. Việc kết hợp hành động có quan hệ tích cực cho kết quả tốt hơn so với thực hiện các hành động một cách độc lập. Quan hệ tích cực được phân chia tiếp thành một số dạng như hình 3.2:

Hình 3.2 Các dạng quan hệ giữa các hành động

- Quan hệ bình đẳng là quan hệ khi một hành động không gắn với một agent cụ thể và do đó có thể được thực hiện bởi bất cứ agent nào.

- Quan hệ gộp là quan hệ khi hành động A của một agent X là một phần trong hành động B của agent Y, do vậy khi Y thực hiện hành động B của mình, hành động A cũng được thực hiện theo.

- Quan hệ giúp đỡ là quan hệ trong đó việc thực hiện hành động này có lợi cho việc thực hiện hành động khác.

3.3.3. Các phương pháp điều khiển phối hợp

3.3.3.1. Phối hợp bằng chia sẻ công việc

Một trong các chiến lược thường được sử dụng để phối hợp các agent để thực hiện bài toán phân tán là chia sẻ công việc. Ý tưởng chính chia công việc lớn thành các công việc nhỏ hơn đến khi có thể giao cho một số lượng hợp lý các agent thực hiện. Tiến trình thực hiện gồm:

 Phân rã công việc: Công việc được chia thành các phần việc nhỏ hơn mà các agent khác có thể thực hiện. Nếu cần thiết, phần việc còn lại được phân rã tiếp để tạo thành các phần việc nhỏ hơn. Quá trình này có thể tiếp tục cho đến khi từng phần việc đủ nhỏ để từng agent riêng lẻ có thể thực hiện được.

 Phân phối công việc: Các phần việc sau khi phân chia được phân phối đến những agent thích hợp để thực hiện.

 Thực hiện công việc: Agent tương ứng thực hiện phần việc được giao. Mỗi agent sau khi nhận phần việc của mình lại có thể tiếp tục phân chia thành những phần việc nhỏ Quan hệ

tích cực

Mâu thuẫn về tài nguyên Quan hệ giữa các hành động Mục tiêu khác nhau Quan hệ tích cực Quan hệ gộp Quan hệ bình đẳng Quan hệ giúp đỡ

hơn và giao cho agent khác thực hiện và quá trình này tiếp tục cho đến khi không cần chia sẻ tiếp.

 Tổng hợp kết quả: Sau khi thực hiện xong phần việc của mình, agent gửi kết quả cho agent gốc (agent giao nhiệm vụ). Agent gốc kết hợp kết quả thành phần để nhận được kết quả chung.

3.3.3.2. Phối hợp bằng chia sẻ kết quả

Một chiến lược khác cho phép phối hợp các agent hợp tác là chia sẻ kết quả. Chia sẻ kết quả là phương pháp giải quyết vấn đề phân tán trong đó các agent trao đổi thông tin về kết quả thực hiện công việc của mình. Quá trình trao đổi thông tin bắt đầu từ thông tin về những kết quả đơn giản và tiếp tục bằng việc trao đổi những kết quả lớn hơn với độ phức tạp cao hơn. Một trong những lý do phải trao đổi kết quả là kết quả thực hiện công việc của từng agent phụ thuộc vào trạng thái và khả năng agent đó, do vậy kết quả thực hiện cùng một công việc trên những agent khác nhau có thể khác nhau. Ví dụ cùng một bài tập, những sinh viên khác nhau có thể cho lời giải khác nhau. Chia sẻ kết quả cho phép cải thiện kết quả chung của cả nhóm agent trên những phương diện sau:

 Tăng độ tin cậy: Kết quả sinh ra độc lập bởi các agent khác nhau cho cùng một công việc có thể dùng để kiểm tra lẫn nhau, củng cố ủng hộ nhau và sinh ra giải pháp tập thể có độ tin cậy cao hơn.

 Tăng độ trọn vẹn của lời giải: Thông thường, mỗi agent chỉ thực hiện một phần công việc. Chia sẻ kết quả cho phép tổng hợp kết quả các phần việc để có lời giải tổng thể và trọn vẹn cho toàn bộ công việc.

 Tăng độ chính xác: Để hiệu chỉnh kết quả của mình, agent cần biết kết quả các phần việc do agent khác thực hiện. Ví dụ trong trường hợp nhiều tác giả cùng tham gia viết sách, mỗi tác giả cần biết đồng nghiệp của mình viết gì để điều chỉnh nội dung viết của mình cho phù hợp.

 Gảm thời gian thực hiện: Ngay cả khi agent có thể thực hiện công việc một mình, thực hiện các phần việc song song và chia sẻ kết quả thường cho kết quả với thời gian ngắn hơn.

Mặc dù lợi ích của chia sẻ kết quả là rất rõ ràng nhưng để agent có thể chia sẻ kết quả và sử dụng kết quả được chia sẻ cần giải quyết hai vấn đề sau. Thứ nhất, xử lý kết quả được chia sẻ thế nào để giúp ích cho công việc của riêng agent. Thứ hai, do thông tin về kết quả có thể rất nhiều, nên việc trao đổi thông tin để lựa chọn lời giải cần có chọn lọc để tránh chi phí truyền thông cao và quá tải mạng.

3.3.3.3. Phối hợp bằng lập kế hoạch

Trong phương pháp này, các agent sẽ xây dựng một kế hoạch chi tiết hóa toàn bộ những hành động và tương tác trong tương lai để đạt được mục đích. Các kế hoạch này có thể bổ sung sửa

đổi hoặc lập lại trong quá trình thực thi. Lập kế hoạch có thể áp dụng cho các agent tập trung hoặc phân tán. Trong trường hợp các agent tập trung, thường có một agent tổ chức nhận được một phần hoặc tất cả các kế hoạch từ các agent đơn lẻ, phân tích chúng để xác định những tương tác không phù hợp hoặc xung đột có thể xẩy ra. Theo đó, agent tổ chức sẽ cố gắng chỉnh sửa các kế hoạch thành phần và kết hợp chúng thành một kế hoạch chung cho hệ thống (Georgeff, 1983). Trong lập kế hoạch phân tán, cần cung cấp cho mỗi agent mô hình kế hoạch của tất cả agent khác. Các agent sẽ giao tiếp để xây dựng và cập nhật lại kế hoạch cá nhân của mình và thông báo cho các agent khác về sự thay đổi này.

3.3.3.4. Phối hợp bằng cấu trúc tổ chức

Cấu trúc tổ chức hay đơn giản tổ chức trong hệ đa agent bao gồm các quy định về chức năng, trách nhiệm, phạm vi quan tâm và thẩm quyền của từng agent trong hệ thống. Cấu trúc tổ chức gán cho mỗi agent một số loại công việc mà agent có thể thực hiện, cũng như thứ tự ưu tiên khi agent đồng thời nhận được nhiều công việc thuộc về những loại khác nhau. Ví dụ, trong một đội bóng nhiệm vụ của thủ môn là bảo vệ khung thành của đội mình do vậy trong đa số trường hợp thủ môn không cần chạy lên phía trước để ghi bàn.

Do mỗi agent có một trách nhiệm nhất định, agent đó cần nhận được thông tin về các kết quả thành phần có ảnh hưởng đến việc hoàn thành trách nhiệm của mình, trong khi không cần quan tâm đến những kết quả không liên quan đến việc thực hiện trách nhiệm đó.

Như vậy cấu trúc tổ chức cho phép xác định agent nào quan tâm đến một kết quả thành phần nào đó. Cấu trúc tổ chức cũng quy định mức độ hành động của agent khi nhận được kết quả thành phần (chẳng hạn agent có độ ưu tiên cao hơn có thể thay đổi kết quả của agent mức dưới, trong khi agent mức dưới không có quyền này).

Cấu trúc tổ chức có nhiều điểm tương tự tổ chức trong các cơ quan của con người đó là mỗi người có trách nhiệm thực hiện một số loại công việc, mỗi người đều biết cần gửi kết quả cho ai, nhận kết quả từ ai và có quyền phản ứng lại kết quả nhận được như thế nào.

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 32)

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

(61 trang)