a. Mô tả giải pháp
Trong giải pháp này mô hình bài toán đƣợc mô tả nhƣ sau: ServerAgent
SchAgent SchAgent … SchAgent
SchAgent ServerAgent SchAgent ServerAgent SchAgent ServerAgent … Tạo ra Tạo ra Tạo ra Di chuyển Di chuyển Di chuyển
Giao tiếp Giao tiếp Giao tiếp
Mỗi thành viên cũng có một lịch biểu cá nhân đƣợc lƣu trữ ngay tại máy tính cá nhân của chính họ. Tại mỗi máy tính sẽ đƣợc cài đặt một con tác tử đại diện cho chủ nhân của nó.
Khi một ngƣời đề xuất một cuộc họp, họ sẽ cử tác tử của mình đi thông báo với các thành viên.
Khi nhận đƣợc thông báo từ ngƣời tổ chức cuộc họp, các tác tử của các thành viên sẽ tìm đến nhau, kết hợp với nhau để tạo ra tác tử mới, sau đó chúng lại di chuyển về vị trí cũ của nó.
Tác tử mới đƣợc sinh ra là tác tử chứa thông tin về thời gian mà các tác tử tạo ra nó cung cấp. Nó sẽ không phân biệt là thông tin của ai.
Các tác tử mới sinh ra lại kết hợp với nhau để tao ra tác tử mới, sau đó chúng tự hủy mình đi. Cứ nhƣ vậy, sau khi đã kết hợp đƣợc đầy đủ các thông tin của các thành viên cuộc họp chúng sẽ tính toán tìm ra các thời điểm phù hợp cho cuộc họp và báo cáo lại cho chủ nhân của nó.
b. Mô hình hoạt động của các tác tử
Mô hình hoạt động của các tác tử theo giải pháp này đƣợc mô tả nhƣ trong hình vẽ 3.5 sau:
Hình 3.5: Mô hình hoạt động của các tác tử theo giải pháp 2
Quá trình trao đổi thông tin giữa hai tác tử cũng giống nhƣ quá trình trao đổi thông tin giữa hai tác tử trong giải pháp một: chúng không tiết lộ nội dung lịch biểu của chủ nhân của mình.
DS khách mời Lịch biểu ServerAgent SchAgent ServerAgent Lịch biểu ServerAgent Lịch biểu ServerAgent Di chuyển Kết hợp Kết hợp Kết hợp Kết hợp Di chuyển Lịch biểu
Khi hai tác tử của khách đã kết hợp với nhau để tạo ra tác tử mới chúng sẽ tự đổi trạng thái của mình thành một trạng thái mới (đánh dấu là đã đƣợc thăm). Nhƣ vậy thuật toán sẽ dừng lại khi tất cả các tác tử của các thành viên đã đƣợc đổi sang một trạng thái mới (tức là tất cả các thành viên của cuộc họp đã đƣợc ghé thăm). Khi các tác tử này nhận đƣợc tín hiệu chuẩn bị một cuộc họp mới chúng sẽ lại chuyển trạng thái của mình về trạng thái ban đầu.
Danh sách các tác tử, vai trò của các tác tử và quá trình đi mời họp cũng tƣơng tự nhƣ giải pháp một nên chúng tôi không trình bày chi tiết ở đây.
c. Nhận xét
Với giải pháp 2 chúng ta thấy có đầy đủ ƣu điểm của giải pháp một, ngoài ra giải pháp hai còn giải quyết đƣợc triệt để bảo mật thông tin riêng tƣ về lịch biểu vì:
Khi giao tiếp các tác tử của các thành viên chỉ cung cấp các thông tin về thời gian của chủ nhân của nó, nhƣ vậy sẽ đảm bảo đƣợc không bị lộ nội dung lịch biểu.
Mặt khác các tác tử kết hợp với nhau để tự sinh ra một tác tử mới, tác tử mới đƣợc sinh ra sẽ hòa trộn dữ liệu thời gian của các tác tử sinh ra nó vì vậy sẽ không thể biết đƣợc ai bận vào thời điểm nào, ai không bận vào thời điểm nào.
Nhƣ vậy giải pháp hai đã đảm bảo an toàn tuyệt đối về bảo mật dữ liệu lịch biểu cả về khía cạnh nội dung lịch biểu, cả về khía cạnh thời gian của các thành viên.
Tuy nhiên theo giải pháp này các tác tử sẽ phải di chuyển trên mạng nhiều hơn, tiêu tốn nhiều tài nguyên đƣờng truyền hơn. Mặt khác việc cài đặt theo giải pháp này cũng phức tạp hơn nhiều so với giải pháp một.