ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
PHẠM BÁ BINH
NGHIÊN CỨU MÔ HÌNH KIẾN TRÚC VÀ
PHỐI HỢP AGENT CHO CÁC DỊCH VỤ WEB
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
Hà Nội - 2015
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
PHẠM BÁ BINH
NGHIÊN CỨU MÔ HÌNH KIẾN TRÚC VÀ
PHỐI HỢP AGENT CHO CÁC DỊCH VỤ WEB
Ngành: Công nghệ thông tin
Chuyên ngành: Khoa học Máy tính
Mã số: 60 48 10
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS. NGUYỄN VIỆT HÀ
Hà Nội – 2015
1
LỜI CAM ĐOAN
Tôi xin cam đoan: Luận văn “Nghiên cứu mô hình kiến trúc và phối hợp agent
cho các dịch vụ web” là công trình nghiên cứu của riêng chúng tôi.
Các kết quả nêu trong bản luận văn này là trung thực và chưa từng được ai công
bố trong bất cứ công trình nào khác.
Hà Nội, tháng 10 năm 2015
Phạm Bá Binh
2
MỤC LỤC
LỜI CAM ĐOAN1{ RD "E:\\Luan van 2015\\Writting\\Nghien cuu mo hinh phoi hop cac a
"E:\\Luan van 2015\\Writting\\Nghien cuu mo hinh phoi hop cac agent cho dich
vu web\\11-Danh muc bang bieu.doc" }{ RD "E:\\Luan van
2015\\Writting\\Nghien cuu mo hinh phoi hop cac agent cho dich vu web\\10Danh muc bang bieu hinh ve.doc" }
MỤC LỤC .................................................................................................................. 2
DANH MỤC TỪ VIẾT TẮT ..................................................................................... 4
DANH MỤC BẢNG BIỂU ....................................................................................... 5
DANH MỤC HÌNH VẼ ............................................................................................. 6
MỞ ĐẦU .................................................................................................................... 7
1. Đặt vấn đề ........................................................................................................... 7
2. Phạm vi nghiên cứu ............................................................................................ 8
3. Cấu trúc luận văn ................................................................................................ 9
Chương 1 .................................................................................................................. 10
CÔNG NGHỆ AGENT VÀ DỊCH VỤ WEB ......................................................... 10
1.1. Agent và hệ đa agent...................................................................................... 10
1.1.1. Agent ....................................................................................................... 10
1.1.2. Agent di động .......................................................................................... 11
1.1.3. Hệ đa agent .............................................................................................. 12
1.1.4. Phối hợp giữa các agent .......................................................................... 13
1.2. Nền tảng JADE .............................................................................................. 14
1.2.1. JADE và Agent........................................................................................ 14
1.2.2. Kiến trúc JADE ....................................................................................... 15
1.3. Công nghệ dịch vụ web ................................................................................. 18
1.3.1. Khái niệm ................................................................................................ 18
1.3.2. Cơ chế hoạt động dịch vụ web ................................................................ 19
1.3.3. Các thành phần của dịch vụ web ............................................................. 19
1.3.4. Đặc điểm của dịch vụ web ...................................................................... 20
1.4. Tích hợp agent và dịch vụ web ...................................................................... 21
Chương 2 .................................................................................................................. 23
MÔ HÌNH KIẾN TRÚC .......................................................................................... 23
2.1. Kiến trúc ........................................................................................................ 23
2.1.1. Kiến trúc chung ....................................................................................... 23
2.1.2. Kiến trúc proxy........................................................................................ 25
2.1.3. Kiến trúc Server ...................................................................................... 26
3
2.2. Đánh giá hiệu năng mô hình .......................................................................... 28
2.3. Mở rộng mô hình ........................................................................................... 31
Chương 3 .................................................................................................................. 34
PHỐI HỢP CÁC AGENT ........................................................................................ 34
3.1. Agent quảng bá dịch vụ ................................................................................. 34
3.1.1. DF agent .................................................................................................. 34
3.1.2. Công bố dịch vụ ...................................................................................... 34
3.1.3. Tìm kiếm dịch vụ .................................................................................... 35
3.2. Tổ chức và di chuyển agent ........................................................................... 35
3.3. Phối hợp các agent ......................................................................................... 35
3.3.1. Khái niệm ................................................................................................ 35
3.3.2. Sự cần thiết phải phối hợp ....................................................................... 36
3.3.3. Các phương pháp điều khiển phối hợp ................................................... 38
3.3.3.1. Phối hợp bằng chia sẻ công việc ....................................................... 38
3.3.3.2. Phối hợp bằng chia sẻ kết quả .......................................................... 38
3.3.3.3. Phối hợp bằng lập kế hoạch .............................................................. 39
3.3.3.4. Phối hợp bằng cấu trúc tổ chức ........................................................ 40
3.3.3.5. Phối hợp thông qua ý định chung ..................................................... 41
3.3.3.6. Phối hợp bằng quy tắc và luật ........................................................... 43
3.4. Phối hợp agent trong kiến trúc đề xuất .......................................................... 46
3.4.1. Phân rã yêu cầu và tổng hợp kết quả ....................................................... 47
3.4.2. Mô hình phối hợp .................................................................................... 47
3.4.3. Phương pháp phối hợp ............................................................................ 48
Chương 4 .................................................................................................................. 50
THỰC NGHIỆM ...................................................................................................... 50
4.1. Mô phỏng mô hình......................................................................................... 50
4.1.1. Công cụ Network Simulator 2 (NS2) ...................................................... 50
4.1.2. Môi trường mô phỏng ............................................................................. 50
4.1.3. Các kết quả và đánh giá .......................................................................... 50
4.2. Xây dựng hệ thống......................................................................................... 56
4.2.1. Công nghệ và môi trường xây dựng ........................................................ 56
4.2.2. Xây dựng các thành phần hệ thống ......................................................... 56
4.2.2.1. Phía Server ........................................................................................ 56
4.2.2.2. Phía Proxy ......................................................................................... 56
4.2.2.3. Phía Client......................................................................................... 56
4.2.3. Hoạt động ................................................................................................ 57
4.3. Kết quả thực nghiệm ...................................................................................... 58
4.4. Một số hạn chế của mô hình .......................................................................... 59
4
KẾT LUẬN .............................................................................................................. 60
TÀI LIỆU THAM KHẢO ........................................................................................ 62
PHỤ LỤC ................................................................................................................. 64
{ RD "E:\\Luan van 2015\\Writting\\Nghien cuu mo hinh phoi hop cac agent cho
dich vu web\\0-Mo dau.doc" }{ RD "E:\\Luan van 2015\\Writting\\Nghien cuu
mo hinh phoi hop cac agent cho dich vu web\\1-Chuong 1_Cong nghe agent va
webservice.doc" }{ RD "E:\\Luan van 2015\\Writting\\Nghien cuu mo hinh phoi
hop cac agent cho dich vu web\\2-Chuong 2_Mo hinh kien truc.doc" }{ RD
"E:\\Luan van 2015\\Writting\\Nghien cuu mo hinh phoi hop cac agent cho dich
vu web\\3-Chuong 3_Phoi hop cac agent.doc" }{ RD "E:\\Luan van
2015\\Writting\\Nghien cuu mo hinh phoi hop cac agent cho dich vu web\\4Chuong 4_Thuc nghiem.doc" }{ RD "E:\\Luan van 2015\\Writting\\Nghien cuu
mo hinh phoi hop cac agent cho dich vu web\\5-Chuong 5_Ket luan.doc" }{ RD
"E:\\Luan van 2015\\Writting\\Nghien cuu mo hinh phoi hop cac agent cho dich
vu web\\6-Tai lieu tham khao.doc" }
DANH MỤC TỪ VIẾT TẮT
Từ viết tắt
AID
AMS
CT
DF
GADT
J2ME
NS2
SOAP
TCL
TCP
UDDI
UDP
W3C
WSDL
XML
Từ/Cụm từ đầy đủ
Agent Identify
Agent Managerment System
Container Table
Directory Factor
Global Agent Description Table
Java 2 Micro Edition
Network Simulator 2
Simple Object Access Protocal
Tool Command Language
Transmission Control Protocol
Universal Description, Discovery and Intergration
User Datagram Protocol
World Wide Web Consortium
Web Service Definition Language
EXtensible Markup Language
5
DANH MỤC BẢNG BIỂU{ RD "E:\\Luan van
2015\\Writting\\Nghien cuu mo hinh phoi hop cac agent cho
dich vu web\\2-Chuong 2_Mo hinh kien truc.doc" }{ RD
"E:\\Luan van 2015\\Writting\\Nghien cuu mo hinh phoi hop
cac agent cho dich vu web\\4-Chuong 4_Thuc nghiem.doc"
}{ RD "E:\\Luan van 2015\\Writting\\Nghien cuu mo hinh
phoi hop cac agent cho dich vu web\\4-Chuong 4_Thuc
nghiem.doc" }{ RD "E:\\Luan van 2015\\Writting\\Nghien
cuu mo hinh phoi hop cac agent cho dich vu web\\2Chuong 2_Mo hinh kien truc.doc" }{ RD "E:\\Luan van
2015\\Writting\\Nghien cuu mo hinh phoi hop cac agent cho
dich vu web\\4-Chuong 4_Thuc nghiem.doc" }
Bảng 2.1. Thời gian đáp ứng của 2 mô hình ................................................. 53
Bảng 4.1. Số lượng yêu cầu và dung lượng đến Proxy và Server trong mô hình
Client-Proxy-Server ...................................................................................... 58
6
DANH MỤC HÌNH VẼHinh
Hình 1.1 Cấu trúc cơ bản của một agent di động [6] .............................................. 11
Hình 1.2. Mối liên hệ giữa các thành phần trong một Platform [6] ......................... 15
Hình 1.3. Biểu đồ mối quan hệ giữa các phần tử trong kiến trúc [6] ...................... 16
Hình 1.4. Mối quan hệ giữa các agent trong một platform [6] ................................ 17
Hình 1.5. Mô hình truyền thông điệp không đồng bộ trong JADE [6] .................... 18
Hình 1.6 Cơ chế hoạt động của dịch vụ web [15].................................................... 19
Hình 1.7 Kiến trúc tích hợp agent và các dịch vụ web [6] ...................................... 21
Hình 2.1 Mô hình mạng Client – Server .................................................................. 23
Hình 2.2. Mô hình mạng Client – Proxy – Server ................................................... 23
Hình 2.3. Mô hình hoạt động của agent [12] ........................................................... 24
Hình 2.4 Kiến trúc Proxy ......................................................................................... 25
Hình 2.5 Kiến trúc Server ........................................................................................ 27
Hình 2.6 Kiến trúc hệ thống Client – Proxy – Server .............................................. 28
Hình 2.7. Mô hình thời gian đáp ứng agent [15] ..................................................... 29
Hình 2.8. Đồ thị so sánh thời gian đáp ứng [15] ...................................................... 30
Hình 2.9 Mô hình dịch chuyển agent ....................................................................... 31
Hình 2.10 Điều kiện xử lý yêu cầu .......................................................................... 32
Hình 3.1. Dịch vụ trang vàng [6] ............................................................................. 34
Hình 3.2 Các dạng quan hệ giữa các hành động ..................................................... 37
Hình 3.3 Mô hình Cohen và Levesque .................................................................... 42
Hình 3.4 Ví dụ quy ước xã hội ................................................................................ 43
Hình 3.5. Mô hình phối hợp agent đề xuất .............................................................. 47
Hình 3.6. Tiến trình phối hợp agent ......................................................................... 48
Hình 4.1. Mô phỏng client-proxy-server trên NS2 ................................................. 51
Hình 4.2. Giao diện kết quả chạy NS2 [15] ............................................................. 52
Hình 4.3. Đồ thị thời gian đáp ứng của mô hình Client – Server ............................ 54
Hình 4.4. Đồ thị thời gian đáp ứng của mô hình Client – Proxy – Server .............. 54
Hình 4.5. Đồ thị so sánh thời gian đáp ứng của 2 mô hình [15] .............................. 55
Hình 4.6. Biểu đồ tuần tự của hệ thống ................................................................... 57
{ RD "E:\\Luan van 2015\\Writting\\Nghien cuu mo hinh phoi hop cac agent cho dich vu web\\1-Chuong
1_Cong nghe agent va webservice.doc" }
{ RD "E:\\Luan van 2015\\Writting\\Nghien cuu mo hinh phoi hop cac agent cho dich vu
web\\1-Chuong 1_Cong nghe agent va webservice.doc" }{ RD "E:\\Luan van
2015\\Writting\\Nghien cuu mo hinh phoi hop cac agent cho dich vu web\\2-Chuong 2_Mo
7
hinh kien truc.doc" }{ RD "E:\\Luan van 2015\\Writting\\Nghien cuu mo hinh phoi hop cac
agent cho dich vu web\\3-Chuong 3_Phoi hop cac agent.doc" }{ RD "E:\\Luan van
2015\\Writting\\Nghien cuu mo hinh phoi hop cac agent cho dich vu web\\4-Chuong 4_Thuc
nghiem.doc" }
8
MỞ ĐẦU
1. Đặt vấn đề
Vài năm trở lại đây, với sự bùng nổ của các loại máy tính cũng như các thiết bị như điện thoại
thông minh, xe thông minh, nhà thông minh... mạng internet đã thực sự trở thành mạng toàn
cầu và kết nối đến những nơi xa xôi nhất. Sự cải thiện về cơ sở hạ tầng mạng dường như chưa
đáp ứng được nhu cầu khổng lồ của các thiết bị truy cập mạng. Do đó, tốc độ truy cập còn hạn
chế, nhiều dịch vụ chưa đáp ứng được nhu cầu của người sử dụng. Lỗi mạng, trễ mạng, tốc độ
chậm không chỉ tiêu tốn thời gian công sức mà đôi khi còn gây những thiệt hại về kinh tế cho
người dùng. Hệ thống có số lượng truy cập càng lớn thì tỉ lệ lỗi càng tăng, tốc độ càng giảm
nhất là khi các truy cập về một dịch vụ được thực hiện tại cùng một thời điểm. Điều này là
một hạn chế lớn của mô hình mạng Client-Server. Hầu hết các tính toán đều được thực hiện
bởi Server rồi gửi kết quả về Client nên tiềm ẩn nhiều rủi ro về quá tải Server hay mất mát
thông tin. Rất nhiều nghiên cứu để cải thiện tốc độ mạng đã được thực hiện. Ý tưởng về việc
sử dụng các máy chủ phân tán được đề xuất trong [7, 10]. Phương pháp mở rộng miền cung
cấp dịch vụ trong [9]. Hay một nền tảng cho việc thiết kết và phát triển các ứng dụng phân tán
dựa trên agent di động trong [8].
Trong thực tế, rất nhiều Client truy cập đến Server từ một mạng con và cùng có yêu
cầu tính toán giống nhau. Ví dụ như một hệ thống thi trực tuyến gồm nhiều địa điểm thi khác
nhau. Tại mỗi điểm thi, yêu cầu về giao diện, tạo bài thi, kiểm tra kết quả của mỗi Client là
tương tự nhau. Hay một hệ thống cung cấp dịch vụ kế toán cho các công ty, mỗi công ty có
nhiều phòng ban, nhân viên sử dụng dịch vụ này. Dễ thấy, sẽ có nhiều tính toán được yêu cầu
lặp lại bởi các phòng ban, nhân viên. Tất cả những tính toán giống nhau này đều phải đưa đến
Server để tính toán và trả lại kết quả thì thật là một sự lãng phí về băng thông mạng, chi phí xử
lý và thời gian chờ đợi. Giải quyết vấn đề này, một mô hình sử dụng đa agent trong giảng dạy
trực tuyến được đề cập trong[3]. Một số kỹ thuật và kiến trúc dựa trên phần mềm agent cho
thương mại điện tử được giới thiệu trong[4]. Cơ sở hạ tầng phục vụ phối hợp agent cho các
ứng dụng web được xây dựng trong [11, 15].
Bên cạnh đó, công nghệ dịch vụ web đang được áp dụng rộng rãi để xây dựng các hệ
thống thông tin phân tán, cung cấp các tiện ích khả mở và thuận tiện cho các ứng dụng mạng
cũng như người sử dụng. Và cũng với lý do có hàng tỉ ứng dụng cùng các thiết bị cùng tham
gia sử dụng dịch vụ nên công nghệ này còn rất nhiều vấn đề cần giải quyết như khả năng đáp
ứng cho các ứng dụng, khả năng phối hợp giữa các dịch vụ, hay hiệu năng của dịch vụ với
việc trợ giúp tăng hiệu năng của hệ thống. Giải pháp cân bằng tải dựa trên chất lượng dịch vụ
đã được đưa ra trong [10]. Hay hướng tiếp cận sử dụng agent di động để chuyển mã nội dung
ảnh được giới thiệu trong [13]. Với mục tiêu tương tự, chúng tôi đề xuất kiến trúc sử dụng các
agent di động trong [17]. Kiến trúc dịch vụ web kết hợp với việc phối hợp các agent này giúp
giải quyết vấn đề đường truyền và giảm tải hệ thống. Đồng thời, cung cấp một số dịch vụ có
tính khả mở cao tương thích với các ứng dụng. Ý tưởng chính là sử dụng hệ thống các agent
9
phối hợp thực thi ở gần phía người dùng để đáp ứng nhanh nhất các yêu cầu dựa trên kiến trúc
mạng gồm ba lớp Client – Proxy – Server. Nền tảng này giúp giảm tải cho máy chủ web cũng
như giảm lưu lượng trên toàn mạng, giảm lỗi mạng. Phần lõi của kiến trúc là một dịch vụ được
thực hiện bởi một hoặc một số agent có khả năng di chuyển để mang dịch vụ này tới máy chủ
proxy được đặt gần các client. Mỗi agent biết khả năng của mình và những dịch vụ mà các
agent khác cung cấp do đó nó sẽ chủ động thực thi hoặc phối hợp với các agent khác để thực
thi tại proxy. Nhờ đó, thời gian đáp ứng yêu cầu dịch vụ giảm đáng kể vì các Client chỉ cần
kết nối tới Proxy thay vì kết nối tới Server ở rất xa. Các vấn đề nút thắt cổ chai và quá tải
Server cũng được ngăn chặn và giảm thiểu. Trong luận văn này, tôi xin trình bày những
nghiên cứu của chúng tôi về kiến trúc hệ thống, sự phối hợp của các agent, đánh giá hiệu năng
của mô hình ba lớp Client-Proxy-Server tập trung vào thời gian đáp ứng yêu cầu dịch vụ. Phần
mô phỏng hệ thống trên công cụ mô phỏng mạng và một ứng dụng minh họa cũng sẽ được
trình bày.
2. Phạm vi nghiên cứu
Trong thời gian thực hiện luận văn, tôi cùng các đồng nghiệp đã tập trung nghiên cứu về mô
hình kiến trúc mạng ba lớp Client-Proxy-Server với sự phối hợp của các agent để đáp ứng yêu
cầu dịch vụ. Những nội dung nghiên cứu này thuộc lĩnh vực mạng máy tính và công nghệ
phần mềm. Trong lĩnh vực mạng mánh tính, chúng tôi đề xuất một mô hình kiến trúc giúp
giảm tải mạng, giảm trễ đường truyền, giảm tải server. Các giao thức mạng và phương thức
truyền cũng như việc đảm bảo chất lượng dịch vụ cũng được xem xét. Phần lõi của kiến trúc
thuộc về lĩnh vực công nghệ phần mềm. Chúng tôi nghiên cứu về công nghệ agent phần mềm,
tập trung vào agent di động và các phương pháp sắp xếp, phối hợp agent. Công nghệ dịch vụ
web cũng được chúng tôi nghiên cứu và tích hợp cùng agent.
3. Cấu trúc luận văn
Phần còn lại của luận văn được tổ chức trong 4 chương và phần kết luận. Chương 1 là phần
giới thiệu về công nghệ agent, công nghệ dịch vụ web, những khái niệm, đặc điểm và cách
thức hoạt động phục vụ cho nghiên cứu này. Chương 2 trình bày tổng quan kiến trúc mạng 3
lớp sử dụng hệ thống agent bao gồm mô hình tổng quát, kiến trúc cụ thể của Server, Proxy;
cách thức tiếp nhận, xử lý, chuyển tiếp, hồi đáp yêu cầu tại Proxy Server. Đánh giá hiệu năng
hệ thống dựa trên mô hình toán học. Chương 3 giới thiệu các phương pháp phối hợp agent và
phương pháp phối hợp agent để đáp ứng yêu cầu dịch vụ trong kiến trúc đề xuất. Những vấn
đề liên quan cũng được đề cập như sự quảng bá tác vụ của một agent, việc chuyển giao yêu
cầu dịch vụ nhờ Gateway Agent, sự giao tiếp giữa các agent hay chiến lược thực thi, phối hợp,
di chuyển của các agent. Chương 4 trình bày chi tiết về hai thực nghiệm để đánh giá hiệu quả
của mô hình đề xuất. Đầu tiên là mô phỏng mô hình bằng công cụ mô phỏng mạng. Sau đó là
triển khai hệ thống và xây dựng một ứng dụng nhỏ trên thực tế. Phần kết luận đưa ra các nhận
xét và đánh giá tổng quát về hiệu quả của hệ thống, những vấn đề còn tồn tại cũng như hướng
nghiên cứu tiếp theo của đề tài.
10
Chương 1
CÔNG NGHỆ AGENT VÀ DỊCH VỤ WEB
1.1. Agent và hệ đa agent
1.1.1. Agent
Các ứng dụng tự động thông minh ngày nay đang phát triển mạnh mẽ nhằm thay thế
con người trong các công việc nguy hiểm, phức tạp hay cả những công việc thường ngày cũng
như giải trí. Công nghệ agent phần mềm ra đời và ngày càng khẳng định được hiệu quả cũng
như lợi ích mà nó mang lại. Có rất nhiều khái niệm về agent phần mềm, nhưng tựu chung lại
chúng đều mang ý nghĩa: Agent phần mềm là một chương trình có thể tự thực hiện công việc
một cách độc lập khi được giao [5].
Các đặc trưng cơ bản của Agent bao gồm:
Tính tự trị: agent có thể tự kiểm soát các hành động của nó sau khi được giao
việc mà không cần sự can thiệp của người dùng hay các agent khác. Mỗi agent
chứa một trạng thái nào đó của riêng nó, các agent khác không thể truy cập được
vào trạng thái này. Agent tự quyết định các hành động của mình dựa trên trạng
thái hiện thời mà không cần sự tác động của con người hay các agent khác. Có
thể nói, tính tự trị là đặc trưng quan trọng nhất của agent.
Tính phản ứng: là khả năng agent có thể nhận biết được môi trường và dựa vào
nhận biết đó, agent đáp ứng kịp thời những thay đổi xảy ra trong môi trường.
Phản ứng của agent với môi trường bên ngoài đều hướng tới việc thực hiện mục
tiêu của Agent đó.
Tính chủ động: Khi có sự thay đổi của môi trường, agent không chỉ phản ứng
một cách đơn giản mà nó còn xác định chuỗi các hành động cần thực hiện, bản
thân agent sẽ chủ động trong việc khởi động và thực hiện chuỗi hành động này.
Tính xã hội: các agent không chỉ hướng tới mục đích riêng của nó mà còn có khả
năng tương tác với các agent khác trong hệ thống để hướng tới mục đích chung
của hệ thống. Các hoạt động tương tác này bao gồm phối hợp, cạnh tranh,
thương lượng ...
Khả năng tự học: Các agent có thể tự học thông qua kinh nghiệm từ các lần thực
thi. Khả năng này giúp agent thông minh hơn.
Khả năng di chuyển: agent có thể di chuyển từ vị trí này đến vị trí khác để thực
thi nhiệm vụ. Đây cũng là một trong những khả năng quan trọng của agent.
Với những đặc trưng trên, agent được ứng dụng vào trong rất nhiều lĩnh vực khác nhau. Từ
các hoạt động quản lý sản xuất đến việc xử lý thông tin, sự xuất hiện của tác tử và các hệ tác
11
tử đã làm cho việc quản lý, xử lý thông tin dễ dàng hơn, và đạt được nhiều kết quả khả quan
hơn.
1.1.2. Agent di động
Agent di động là agent mang đầy đủ đặc tính của agent thông thường và có thêm khả năng di
chuyển trong một nền tảng hay giữa các nền tảng khác nhau. Các thành phần cơ bản của một
agent di động bao gồm mã nguồn, trạng thái và dữ liệu.
Hình 1.1 Cấu trúc cơ bản của một agent di động [6]
Tùy theo yêu cầu của đích đến mà trạng thái và dữ liệu có thể được di chuyển hoặc không,
trong các hệ thống agent di động có thể chia thành hai loại di chuyển cơ bản là di chuyển
mạnh và di chuyển yếu. Di chuyển mạnh là sau khi đến vị trí mới agent tiếp tục công việc vừa
tạm dừng ở vị trí cũ. Di chuyển yếu đơn giản hơn là agent luôn khởi động lại công việc từ đầu
khi đến vị trí mới. Agent có thể chỉ di chuyển tới vị trí xác định tại thời điểm khởi tạo hoặc
đích đến được xác định trong quá trình hoạt động của agent. Tại vị trí mới, agent có thể chỉ
cần gửi kết quả về cho agent quản lý mà không cần giữ liên lạc thường xuyên trong quá trình
hoạt động. Agent di động được ứng dụng nhiều trong các lĩnh vực như:
Thương mại điện tử: Agent di động rất thích hợp với thương mại điện tử. Nó đại
điện cho chúng ta thực hiện các công việc được giao với các hệ thống thương
mại điển tử như các loại dịch vụ mua sắm, đặt vé máy bay, đặt vé xem phim...
Đặc điểm nổi bật của agent di động trong các ứng dụng thương mại điện tử là đại
diện cho người dùng, thực hiện các giao dịch thương mại và đưa ra kết quả.
Thu thập thông tin phân tán: trong trường hợp các nguồn dữ liệu cần thiết là
những nguồn dữ liệu phân tán, không đồng nhất
Theo dõi và cập nhật thông tin: được phát triển dựa trên tính chất không đồng bộ
của các agent di động. Agent có thể được gửi đến nơi có nguồn tin, hoạt động
theo dõi nguồn tin và cập nhật sự thay đổi.
Hỗ trợ các thiết bị di động: do đặc điểm tài nguyên hạn chế và không kết nối
thường xuyên, việc xây dựng các ứng dụng dựa trên agent di động với khả năng
di chuyển đến các máy tính có cấu hình mạnh hơn để hoạt động (truy vấn cơ sở
12
dữ liệu, tìm kiếm ...) rồi trả kết quả về sẽ là một giả pháp tốt cho người dùng các
thiết bị di động.
1.1.3. Hệ đa agent
Hệ đa agent là một tập hợp các agent cùng hoạt động trong một hệ thống, mỗi agent có
thể có một mục tiêu khác nhau nhưng đều phục vụ cho mục tiêu chung của toàn hệ thống [1].
Quá trình tính toán xử lý thông tin trong hệ đa agent được cho là có khá nhiều ưu điểm.
Nó cung cấp khả năng tính toàn hiệu quả hơn nhờ quá trình tính toán được phân chia cho các
agent khác nhau. Có thể xử lý được những bài toán phức tạp trong điều khiển tự động, thương
mại điện tử. Hệ thống dễ bảo trì hơn do mỗi agent được thiết kế riêng rẽ và có tính tự chủ cao.
Theo đó là khả năng tái sử dụng cao vì mỗi agent có khả năng riêng và có thể dùng cho nhiều
ứng dụng khác nhau.
Các hệ thống đa agent đang ngày càng được sử dụng rộng rãi trong rất
nhiều ứng dụng, từ các hệ hống tương đối nhỏ để hỗ trợ cá nhân đến các hệ
thống mở, phức tạp, và đặc biệt quan trọng dành cho các ứng dụng công nghiệp.
Ứng dụng công nghiệp là những ứng dụng rất quan trọng cho các hệ thống đa
agent bởi vì chúng là nơi mà công nghệ đa agent đầu tiên được thử nghiệm và
chứng minh tiềm năng ban đầu của nó. Các ví dụ về việc áp dụng các hệ thống
đa agent trong lĩnh vực công nghiệp bao gồm kiểm soát tiến trình, chẩn đoán hệ
thống, dịch vụ vận tải, và quản lý mạng. Một trong những lĩnh vực ứng dụng
quan trọng nữa của hệ thống đa agent là quản lý thông tin [5].
Internet đã chứng tỏ là một miền lý tưởng cho các hệ thống đa agent nhờ
bản chất phân tán tự nhiên của nó và khối lượng thông tin sẵn có đang ngày càng
tăng lên mạnh mẽ. Ví dụ, các agent có thể được sử dụng để tìm kiếm và lọc
thông tin, cung cấp những thông tin hữu ích nhất cho người sử dụng. Internet đã
thúc đẩy việc sử dụng công nghệ agent trong lĩnh vực quản lý tiến trình nghiệp
vụ và thương mại điện tử. Giao thông và vận tải cũng là một lĩnh vực ứng dụng
quan trọng của hệ đa agent, nơi mà bản chất phân tán của các tiến trình giao
thông và vận tải và sự độc lập mạnh mẽ giữa các thực thể có liên quan trong các
tiến trình làm cho các hệ thống đa agent trở thành công cụ có giá trị cho việc
thực hiện các giải pháp có hiệu quả. Các hệ thống viễn thông là một lĩnh vực ứng
dụng đã sử dụng thành công các hệ đa agent. Trong thực tế, các hệ thống viễn
thông là các mạng lưới lớn và phân tán gồm các thành phần được kết nối với
nhau. Những thành phần đó cần phải được theo dõi và quản lý trong thời gian
thực. Các hệ thống viễn thông cũng hình thành nên cơ sở của một thị trường
cạnh tranh, nơi các công ty viễn thông và các nhà cung cấp dịch vụ nhắm đến để
13
phân biệt chính họ với đối thủ cạnh tranh của họ bằng cách cung cấp các dịch vụ
tốt hơn, nhanh hơn hoặc đáng tin cậy hơn. Vì vậy, các hệ đa agent được sử dụng
cả trong việc quản lý các mạng lưới phân tán lẫn cho việc cài đặt các dịch vụ
viễn thông tiên tiến.
1.1.4. Phối hợp giữa các agent
Phối hợp có thể được xem là một tiến trình mà theo đó các agent tham gia vào một
cộng đồng vì một mục đích chung [16]. Có nhiều lý do để các agent phối hợp như để nhanh
chóng đạt được mục tiêu, để tăng khả năng và tri thức, hoặc mục tiêu của agent có thể phụ
thuộc lẫn nhau….. Phối hợp trong hệ đa agent chủ yếu dựa vào việc truyền thông giữa các
agent. Cụ thể, các agent tương tác với agent khác bằng cách sử dụng một vài ngôn ngữ giao
tiếp đặc biệt được gọi là ngôn ngữ giao tiếp agent dựa trên lý thuyết lời nói hành động. Hiện
nay, ngôn ngữ giao tiếp agent được sử dụng nhiều nhất là FIPA ACL. Sự phối hợp giữa các
agent có thể được điều khiển bởi nhiều phương pháp tiếp cận khác nhau như cơ cấu tổ chức
phân cấp, lập hợp đồng, lập kế hoạch đàm phán… Mỗi phương pháp có ưu và nhược điểm
riêng, tùy theo đặc điểm ứng dụng mà người thiết kế có thể sử dụng phương pháp phù hợp với
hệ thống.
Sự phối hợp giữa các agent có thể mang lại nhiều lợi ích như độ tin cậy cao do có
nhiều agent cùng tham gia vào giải quyết bài toán, kiểm tra kết quả; Khả năng mở rộng cao vì
đây là một hệ mở có thể thêm hoặc bớt các agent khi hoàn thành nhiệm vụ. Khả năng phản
ứng môi trường tốt vì khi một agent đơn nhận biết được sự thay đổi của môi trường sẽ thông
tin cho cả hệ thống để kịp thời đưa ra hành động tương ứng với sự thay đổi đó.
1.2. Nền tảng JADE
1.2.1. JADE và Agent
Với mục tiêu là cung cấp một nền tảng cho việc tạo lập, môi trường cho việc quản lý thực thi
các agent, JADE (Java Agent DEvelopment framework) được thiết kế dựa trên những đặc
điểm và nguyên lý của agent. Các chức năng được cung cấp ở tầng giữa, độc lập với các ứng
dụng cụ thể và tạo sự đơn giản cho các ứng dụng sử dụng agent [6]. Do đó, JADE đã được
thiết kế để cung cấp cho các lập trình viên những chức năng dễ dàng sử dụng và tùy biến, cung
cấp cho agent môi trường hoạt động đầy đủ:
Một hệ thống hoàn toàn phân tán mà agent cư trú trên đó
Tuân thủ đầy đủ các đặc tả của FIPA
Phương tiện vận chuyển hiệu quả các thông điệp không đồng bộ thông qua
một API trong suốt về vị trí.
Thực thi cả dịch vụ trang trắng và trang vàng.
Quảng lý vòng đời của agent thông qua một tên định danh duy nhất.
Cung cấp tính di động của agent, cả mã và trạng thái.
14
Một cơ chế đặt trước cho mỗi agent.
Một tập hợp các công cụ đồ họa hỗ trợ lập trình viên trong quá trình kiểm
tra và theo dõi hoạt động của agent.
Hỗ trợ các ngôn ngữ hình thức và ngôn ngữ nội dung. Việc kiểm tra ngôn
ngữ hình thức và mã hóa nội dung được thực hiện tự động.
Thư viện các giao thức tương tác, mô hình và mẫu truyền thông đặc trưng.
Tích hợp với các công nghệ khác nhau dựa trên web như Jsp, Servlet,
Applet, và công nghệ dịch vụ web.
Hỗ trợ nền tảng J2ME và môi trường không dây.
Giao diện cho việc khởi chạy, điều khiển một Platform và các thành phần.
Tính khả mở cho phép lập trình viên mở rộng các chức năng của nền tảng
thông qua việc bổ sung các dịch vụ phân tán lõi.
1.2.2. Kiến trúc JADE
Với những lựa chọn thiết kế trên, Telecom Italia (website tilab.com) đã phát triển JADE từ
năm 1998 và trở thành mã nguồn mở năm 2000. Đây là một khung kiến trúc phần mềm cho hệ
thống agent, cho phép tạo lập, sử dụng, kết hợp nhiều agent theo chuẩn FIPA. Các thành phần
kiến trúc chính của một JADE Platform được thể hiện trong hình 1.2
Hình 1.2. Mối liên hệ giữa các thành phần trong một Platform [6]
Một JADE Platform bao gồm các khung chứa agent (Container), agent sống trong khung chứa.
Trong các khung chứa có một khung chứa đặc biệt là khung chứa chính (Main-Container). Nó
được khởi tạo ngay khi khởi chạy nền tảng và tất cả các khung chứa khác phải đăng kí thuộc
về khung chứa chính. Biểu đồ UML trong hình 1.3 mô tả mối quan hệ giữa các thành phần
trong kiến trúc này.
15
Hình 1.3. Biểu đồ mối quan hệ giữa các phần tử trong kiến trúc [6]
Khung chứa chính có những nhiệm vụ đặc biệt sau:
Quản lý bảng khung chứa (Container Table – CT) nơi đăng kí tham chiếu
và địa chỉ của tất cả các khung chứa khác.
Quản lý bảng miêu tả cục bộ (Global Agent Description Table – GADT)
là nơi đăng kí của tất cả các agent trong platform gồm cả trạng thái và vị
trí.
Duy trì hai agent đặc biệt là AMS (Agent Managerment System) và DF
(Directory Facilitator) cung cấp việc quảng lý agen và dịch vụ trang trắng,
dịch vụ trang vàng mặc định của platform. Hình 1.4 mô tả mối quan hệ
giữa hai agent này trong platform và với các agent khác.
16
Hình 1.4. Mối quan hệ giữa các agent trong một platform [6]
AMS là agent quản lý toàn bộ platform. Nó là điểm kết nối cho tất
cả các agent khác muốn tương tác để truy cập trang trắng của
platform cũng như quản lý chu trình sống của agent. Mỗi agent khi
sinh ra phải đăng kí với AMS để có một tên định danh duy nhất
(AID – Agent Identify)
DF là agent triển khai dịch vụ trang vàng. Các agent khi sinh ra phải
đăng kí dịch vụ mình cung cấp với DF, hoặc khi muốn tìm kiếm
dịch vụ do agent khác cung cấp thì cũng phải tìm qua DF.
Mỗi Agent có một tên định danh duy nhất, có những hành vi riêng và giao tiếp với agent khác
qua các thông điệp. Các hành vi của agent được cung cấp bởi JADE gồm có hành vi thực thi
một lần (One-Shot behaviour), hành vi liên tục (Cyclic behaviour), hành vi tùy thuộc trạng
thái. Mỗi agent có một hàng đợi thông điệp riêng. Thông điệp được định dạng theo chuẩn
FIPA-ACL gồm các trường cơ bản như người gửi, danh sách người nhận, các hành động giao
tiếp, nội dung, ngôn ngữ, các ontology và một số trường bổ sung để kiểm soát các cuộc hội
thoại. Cơ chế truyền thông điệp được thể hiện trong hình 1.5
17
Hình 1.5. Mô hình truyền thông điệp không đồng bộ trong JADE [6]
1.3. Công nghệ dịch vụ web
1.3.1. Khái niệm
Theo định nghĩa của W3C (World Wide Web Consortium), dịch vụ web là một hệ thống phần
mềm được thiết kế để hỗ trợ khả năng tương tác giữa các ứng dụng trên các máy tính khác
nhau trong môi trường internet thông qua các giao diện chung và sự gắn kết được mô tả bằng
XML [15].
Các dịch vụ web được coi như những tài nguyên phần mềm có thể xác định bằng địa chỉ URL,
thực hiện các chức năng và đưa ra các thông tin được yêu cầu. Một dịch vụ web được tạo nên
bằng cách lấy các chức năng và đóng gói chúng sao cho các ứng dụng khác dễ dàng tìm thấy
và truy cập tới dịch vụ mà nó thực hiện, đồng thời có thể tìm kiếm và yêu cầu thông tin từ các
dịch vụ khác. Thông thường đó là các mô đun hoạt động độc lập trên máy chủ web.
Dịch vụ web cho phép ứng dụng và phần cung cấp dịch vụ tương tác với nhau trong mọi môi
trường. Việc liên lạc với thế giới bên ngoài được thực hiện qua thông điệp XML. Các ưu điểm
chính của dịch vụ web là:
Có khả năng vượt tường lửa
Hoạt động trong
Có tính linh hoạt cao
Sử dụng các giao thức chuẩn
1.3.2. Cơ chế hoạt động dịch vụ web
Hình 1.6 mô tả cơ chế hoạt động của dịch vụ web
18
Hình 1.6 Cơ chế hoạt động của dịch vụ web [15]
Trong đó có ba thao tác là Tìm kiếm (Find), Công bố (Public), Kết nối (Bind).
Nhà cung cấp dịch vụ (Service Provider) xây dựng và cài đặt đối tượng dịch vụ lên một máy
chủ web và cung cấp bản mô tả dịch vụ lên Service Registry (Publish) để hướng dẫn ứng dụng
khác cách khai thác sử dụng dịch vụ. Ngôn ngữ sử dụng cho việc mô tả dịch vụ là SDL với
cấu trúc cú pháp XML.
Người sử dụng dịch vụ sẽ tìm kiếm (Find) các bản mô tả dịch vụ của nhà cung cấp trên
Service Registry, dựa trên những thông tin này sẽ kết nối (Bind) đến nhà cung cấp dịch vụ để
lấy dịch vụ.
1.3.3. Các thành phần của dịch vụ web
Có ba thành phần chính đó là:
Web Service Definition Language (WSDL)- Ngôn ngữ mô tả dịch vụ web – là một
ngôn ngữ dựa trên XML, được sử dụng để mô tả các dịch vụ web và cách thức truy cập
các dịch vụ đó.
Universal Description, Discovery and Intergration (UDDI)- là thành phần cho phép các
dịch vụ web đăng kí dịch vụ, các ứng dụng tìm và nhận lại những thông tin yêu cầu sử
dụng dịch vụ web.
Simple Object Access Protocal (SOAP) – Giao thức truyên truy cập đối tượng đơn
giản – là một giao thức giao tiếp dùng trong công nghệ dịch vụ web được xây dựng
dựa trên XML. Nó được sử dụng để đặc tả và trao đổi thông tin về cấu trúc dữ liệu
cũng như các kiểu dữ liệu giữa các thành phần trong hệ thống.
19
1.3.4. Đặc điểm của dịch vụ web
Tính độc lập: Dịch vụ web độc lập vì nó không đòi hỏi các tiến trình ở phía client phải
đặt ở bất cứ một thành phần nào ở phía server, yêu cầu để triển khai dịch vụ web chỉ là servlet
engine, EJB container hoặc .NET runtime. Khi dịch vụ web đã được triển khai thì phía client
có thể sử dụng các dịch vụ mà không cần phải cài đặt bất cứ một thành phần nào. Trong khi đó
với các công nghệ như RMI, phía client phải cài đặt client stub trước khi có thể truy cập dịch
vụ.
Tự mô tả: Giao diện của dịch vụ web được mô tả thông qua tài liệu WSDL. Tài liệu
WSDL định nghĩa cấu trúc thông điệp trao đổi và cấu trúc dữ liệu sử dụng trong thông điệp
đó. Để sử dụng dịch vụ, client chỉ cần biết cấu trúc và nội dung của thông điệp và đáp ứng của
dịch vụ web.
Truy cập thông qua Web: Dịch vụ web sử dụng giao thức chuẩn của web. Mô tả dịch
vụ được đưa ra bằng cách sử dụng WSDL, các dịch vụ được xác định với sự giúp đỡ của
UDDI registry và triệu gọi thông qua SOAP. Tất cả những giao thức này đều dựa trên web.
Độc lập về ngôn ngữ, nền tảng, giao thức: Dịch vụ web có cơ sở là tiêu chuẩn mở
XML. Một client được viết bằng bất cứ ngôn ngữ nào cũng có thể truy cập một trang dịch vụ
web được viết bằng bất cứ ngôn ngữ nào khác. Dịch vụ web độc lập nền tảng, client và dịch
vụ web có thể chạy trên hai nền tảng độc lập khác nhau.
Dựa trên chuẩn mở: Những chuẩn này là XML, SOAP, WSDL, và UDDI. Dịch vụ web
cho phép client và server tương tác với nhau mặc dù trong những môi trường khác nhau. Với
UDDI và WSDL thì việc mô tả và phát triển dịch vụ web có thể được tự động hóa. Dịch vụ
web có dạng modun, được sử dụng bởi dịch vụ khác cũng như công bố và gọi thực hiện dễ
dàng qua internet.
1.4. Tích hợp agent và dịch vụ web
Từ cơ chế hoạt động của agent và dịch vụ web ta thấy, các agent công bố dịch vụ của mình
trên JADE DF. Một ứng dụng muốn sử dụng dịch vụ do agent cung cấp cần tham khảo bảng
dịch vụ trên DF và gửi thông điệp yêu cầu dịch vụ tới agent để lấy thông tin dịch vụ thông qua
ACL/SOAP. Còn một dịch vụ web thì công bố dịch vụ của mình trên UDDI, khi ứng dụng
muốn sử dụng dịch vụ sẽ tìm kiếm dịch vụ trên UDDI sau đó lấy thông tin dịch vụ thông qua
http/SOAP. Để các dịch vụ agent cung cấp có thể được sử dụng như các dịch vụ web thông
thường cần một cơ chế tích hợp để dịch vụ agent cung cấp có thể được tìm thấy trên UDDI và
các dịch vụ web cũng có thể được sử dụng bởi các agent. Kiến trúc tích hợp này được thêm
vào nền tảng JADE như là một Add on. Hình 1.7 mô tả kiến trúc tích hợp agent với các dịch
vụ web
20
Hình 1.7 Kiến trúc tích hợp agent và các dịch vụ web [6]
JADE GATEWAY AGENT như là một phiên dịch viên giữa hai dịch vụ thực hiện:
Nhận và dịch các đăng kí dịch vụ của agent từ JADE DF sang mô tả
WSDL tương ứng và đăng kí chúng với UDDI dưới dạng tModel. Điều
này cũng tương tự với việc sửa đổi và hủy bỏ đăng kí dịch vụ.
Nhận và dịch các đăng kí dịch vụ từ UDDI sang mô tả ACL tương ứng và
đăng kí chúng với JADE DF. Tương tự với việc sửa đổi và hủy dịch vụ.
Nhận và xử lý các yêu cầu dịch vụ web từ các agent. Việc xử lý bao gồm
tìm kiếm và lấy dịch vụ phù hợp từ UDDI, dịch thông điệp của agent sang
SOAP và gửi chúng cho dịch vụ web được tìm thấy. Tất cả những hồi đáp
từ phía dịch vụ web sẽ được dịch lại sang ngôn ngữ ACL và gửi cho agent.
Nhận và xử lý các yêu cầu agent từ các dịch vụ web. Việc xử lý bao gồm
lấy các yêu cầu thích hợp từ UDDI, dịch chúng sang ACL và gửi cho
agent được chọn. Tất cả các hồi đáp từ agent sẽ được dịch lại sang SOAP
và gửi lại cho dịch vụ web yêu cầu agent.
Như vậy, các mô tả dịch vụ sẽ được chuyển đối giữa ACL và WSDL, còn các yêu cầu dịch vụ
sẽ được chuyển đổi giữa ACL và SOAP.
21
Chương 2
MÔ HÌNH KIẾN TRÚC
2.1. Kiến trúc
2.1.1. Kiến trúc chung
Như đã đề cập tại phần mở đầu, sự bùng nổ của các thiết bị thông minh và các ứng dụng web
tham gia vào mạng internet và sự thay đổi vị trí của chúng trong quá trình hoạt động cũng như
giữa các mạng nội bộ làm mô hình mạng client-server truyền thống như hình 2.1 bộc lộ nhiều
hạn chế.
Hình 2.1 Mô hình mạng Client – Server
Thứ nhất là sự lãng phí về đường truyền và thời gian đáp ứng với những yêu cầu xử lý giống
nhau từ các client trong cùng một mạng nội bộ. Thứ hai là vấn đề nút thắt cổ chai và quá tải
máy chủ khi có quá nhiều yêu cầu xử lý hay yêu cầu dịch vụ tại một thời điểm.
Do đó, chúng tôi đề xuất một mô hình kiến trúc mạng có khả năng đáp ứng yêu cầu giảm tải
với số lượng lớn truy cập và tăng hiệu năng của hệ thống khi đáp ứng yêu cầu dịch vụ. Kiến
trúc này gồm 3 lớp là server – proxy – client. Mỗi nhóm client sẽ ở cùng một mạng con với
một proxy và nhóm này ở xa máy chủ hệ thống. Hình 2.2 mô tả kiến trúc tổng quan của hệ
thống.
Hình 2.2. Mô hình mạng Client – Proxy – Server
Phần lõi của hệ thống là sự sắp xếp, phối hợp các agent giữa máy chủ server và proxy để
proxy có thể đáp ứng nhanh nhất các yêu cầu từ các client khi có thể. Vì vậy, cả máy chủ web
và proxy đều được cài đặt nền tảng của hệ thống đa agent. Khi có yêu cầu dịch vụ từ client,
22
proxy tương ứng sẽ tiếp nhận yêu cầu này và xử lý. Nếu trong proxy chưa có các agent cung
cấp dịch vụ nó sẽ ngay lập tức chuyển tiếp yêu cầu này đến server hoặc yêu cầu server gửi các
agent mang dịch vụ xuống thực thi tại proxy. Một hoặc nhiều agent sẽ di chuyển xuống proxy,
hoạt động riêng lẻ hoặc phối hợp với nhau để đáp ứng yêu cầu từ client. Sự hoạt động của
agent được mô tả trong hình 2.3
Hình 2.3. Mô hình hoạt động của agent [12]
Agent được thiết kế để mang dịch vụ tương thích với hệ thống dịch vụ web hiện nay và có tính
khả mở cao. Do vậy, nó được thiết kế với các nguyên lý:
1. Chương trình agent: Máy chủ và máy khách có thể không giới hạn việc
gửi nhận, chúng có thể thực thi các điều khiển cơ sở trên dòng dữ liệu
cũng như chuyển tiếp hoặc chú thích các dữ liệu với thông tin được sử
dụng bởi agent.
2. Điều khiển ngoài: Thông tin được mang bởi agent phải được lựa chọn và
cập nhật với máy chủ thường xuyên. Agent phải cho phép một thực thể tin
cậy bên ngoài hoặc đồng ý một giao thức để điều khiển nó theo các luật
cài đặt cho việc chọn lọc hoặc chuyển tiếp thông điệp.
3. Kế thừa kiến trúc: Những nguyên lý được liệt kê trên có thể áp dụng cho
không chỉ một số agent riêng biệt mà cho toàn bộ miền như là giao thức
mạng, dữ liệu trung tâm hoặc thực thi mạng. Nó cho phép định nghĩa việc
23
thực thi ..... tạo điều kiện kết hợp giữa các tổ chức trong việc duy trì kiến
trúc tổng thể.
4. Giao thức điều khiển: Các giao thức giao tiếp có thể được biểu diễn như là
kích hoạt cuộc gọi trong đó client chấp thuận sự điều khiển mà máy chủ
gửi tới.
5. Tái sử dụng: Có thể đặc tả một chính sách cho agent để sử dụng lại khi các
kết nối tới máy chủ tạm ngưng.
Trong kiến trúc đề xuất, một dịch vụ được thực hiện bởi một số agent; Sử dụng agent di động
để mang dịch vụ phân bổ tới proxy và thực hiện tại đó; Proxy tự biết khả năng chứa các agent
và cung cấp cơ chế để agent giao tiếp với agent khác.
2.1.2. Kiến trúc proxy
Hình 2.4 mô tả kiến trúc proxy
Hình 2.4 Kiến trúc Proxy
Các thành phần của proxy bao gồm:
Proxy server: phần chịu trách nhiệm giao tiếp và phân loại yêu cầu
o Giao tiếp với client: lắng nghe các yêu cầu từ client, giữ kết nối
trong quá trình giao tiếp, gửi hồi đáp, đóng kết nối khi kết thúc
phiên làm việc với client.