Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
ĐẠ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
Ha 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À
Ha Nội – 2015
2
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” la 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 nay la trung thực va chưa từng được ai
công bố trong bất cứ công trình nao khác.
Hà Nội, tháng 10 năm 2015
Phạm Bá Binh
3
MỤC LỤC
LỜI CAM ĐOAN ...................................................................................................... 1
MỤC LỤC .................................................................................................................. 3
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 va 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 thanh 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 va 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
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
4
3.1.3. Tìm kiếm dịch vụ .................................................................................... 35
3.2. Tổ chức va 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 va 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 va 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ả va đánh giá .......................................................................... 50
4.2. Xây dựng hệ thống ......................................................................................... 56
4.2.1. Công nghệ va môi trường xây dựng ........................................................ 56
4.2.2. Xây dựng các thanh 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
KẾT LUẬN .............................................................................................................. 60
TÀI LIỆU THAM KHẢO ........................................................................................ 62
PHỤ LỤC ................................................................................................................. 64
DANH MỤC TỪ VIẾT TẮT
Từ viết tắt Từ/Cụm từ đầy đủ
AID Agent Identify
AMS Agent Managerment System
5
CT Container Table
DF Directory Factor
GADT Global Agent Description Table
J2ME Java 2 Micro Edition
NS2 Network Simulator 2
SOAP Simple Object Access Protocal
TCL Tool Command Language
TCP Transmission Control Protocol
UDDI Universal Description, Discovery and Intergration
UDP User Datagram Protocol
W3C World Wide Web Consortium
WSDL Web Service Definition Language
XML EXtensible Markup Language
6
DANH MỤC BẢNG BIỂU
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 va dung lượng đến Proxy va Server trong mô
hình Client-Proxy-Server .............................................................................. 58
7
DANH MỤC HÌNH VẼ
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 thanh 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 va 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 vang [6] ............................................................................. 34
Hình 3.2 Các dạng quan hệ giữa các hanh độ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
8
MỞ ĐẦU
1. Đặt vấn đề
Vai 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, nha thông minh... mạng internet đã thực sự trở thanh
mạng toan cầu va 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 ma đô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 cang lớn thì tỉ lệ
lỗi cang tăng, tốc độ cang giảm nhất la 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 nay la 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 va 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 va 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 bai thi, kiểm tra kết quả của mỗi
Client la 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ụ nay. 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 nay
đều phải đưa đến Server để tính toán va trả lại kết quả thì thật la một sự lãng phí về băng
thông mạng, chi phí xử lý va thời gian chờ đợi. Giải quyết vấn đề nay, 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 va 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ở va thuận tiện cho các ứng dụng
mạng cũng như người sử dụng. Va cũng với lý do có hang 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ệ nay 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 nay giúp giải quyết vấn đề đường truyền va 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 la sử dụng hệ thống các agent 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 nay giúp giảm tải cho máy chủ web cũng như giảm lưu lượng trên toan mạng, giảm
9
lỗi mạng. Phần lõi của kiến trúc la 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ụ nay 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 va những dịch vụ ma 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 va quá tải Server cũng được ngăn
chặn va giảm thiểu. Trong luận văn nay, tôi xin trình bay 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 vao 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 va một ứng dụng minh họa cũng sẽ được trình bay.
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 nay thuộc lĩnh vực mạng máy tính va
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 va
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 vao agent di động va 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 va 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 va 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 va
cách thức hoạt động phục vụ cho nghiên cứu nay. Chương 2 trình bay 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 va 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 bay chi
tiết về hai thực nghiệm để đánh giá hiệu quả của mô hình đề xuất. Đầu tiên la mô phỏng
mô hình bằng công cụ mô phỏng mạng. Sau đó la triển khai hệ thống va 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 va đá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 đề tai.
Hình 2.9 Mô hình dịch chuyển agent
Trong hình 2.9, mỗi máy chủ proxy được kết nối với một nhóm client thông qua
mạng cục bộ. Do đó, nó sẽ đáp ứng gần như ngay lập tức yêu cầu của client. Kết nối giữa
máy chủ proxy va máy chủ web thông qua internet. Thời gian đáp ứng của hệ thống la tổng
10
TÀI LIỆU THAM KHẢO Tiếng Việt
1. Lê Tấn Hùng, Từ Minh Phương, Huỳnh Quyết Thắng (2006), Tác tử - Công nghệ phần
mềm hướng tác tử, NXB Khoa học va Kỹ thuật, Ha Nội
2. Trần Hạnh Nhi, Lê Đình Duy, Nguyễn Đông Ha, Thái Trí Hùng, Văn Trọng Nam,
Huỳnh Tấn Năng, Nguyễn Huy Thẩm, Nguyễn Thái Huy, phan Đình Thế Huân, Hồ Thị
Mỹ Huyền, Lê Văn Triều (2004), Tổng quan về Mobile Agent, Đại Học Khoa học Tự
nhiên, Đại học Quốc gia TP. HCM
3. Đỗ Văn Nhơn, Nguyễn Trần Minh Khuê (2007), Xây dựng một mô hình hệ thống multi-
agent va ứng dụng trong e-Learning, Tạp chí BCVT & CNTT kỳ 3 10/2007, Trang 100-
107
4. Trần Đình Quế, Nguyễn Mạnh Sơn, Nguyễn Mạnh Hùng (2005), Nghiên cứu phát triển
kỹ thuật va kiến trúc hệ phần mềm dựa trên agent cho thương lượng tự động trong thương
mại điện tử thế hệ thứ 2, Báo cáo đề tai nghiên cứu 58-04-KHKT-RD, Tổng công ty Bưu
chính Viễn thông.
5. Trần Đình Quế (2010), Phát triển phần mềm hướng agent, Bai giảng danh cho sinh viên
nganh Công nghệ Thông tin, Học viện Công nghệ Bưu chính Viễn thông, Trang
Tiếng Anh
6. Fabio Bellifemine –Giovanni Caire–Dominic Greenwood (2007), Developing multi-
agent systems with JADE, John Wiley & Sons Ltd, England
7 J. Cao, Y. Sun, X. Wang, and S. K. Das (2003) Scalable load balancing on distributed
web servers using mobile agents. Journal of Parallel and Distributed Computing, 996-1005
8. G. Chen, J. Lu, J. Huang, and Z. Wu (2010). Saaas – the mobile agent based service for
cloud computing in internet environment, In Proc. Sixth Int Natural Computation (ICNC)
Conf, volume 6, 2935-2939
9. L. Cherkasova, (2000). Flex: load balancing and management strategy for scalable web
hosting service, In Proceedings of the Fifth International Symposium on Computers and
Communications.
10. M. Conti, E. Gregori, and F. Panzieri (1999). Load distribution among replicated web
servers: a qos-based approach, In Proceedings of the Second ACM Workshop on Internet
Server Performance.
11. E. Denti and A. Omicini (2000), A coordination infrastructure for agent-based internet
applications, IEEE 9th
International Workshops on Enabling Technologies: Infrastructure
for Collaborative Enterpries
12. J. L. Hsiao, H. P. Hung, and M. S. Chen (2008). Versatile transcoding proxy for
internet content adaptation. IEEE Transaction on Multimedia, 646-658.
13. V.-H. Nguyen, T. D. Bui, Q.-D. Vu, N. T. T. Hien (2010), Towards scalable agent
based web service systems, Proc, 4th
Int New Trens Information Science and Service
Science (NISS) Conf, 210-213
14. Omicini, A., Zambonelli, F. (2000), Coordination infrastructure for agent-based
internet application, IEEE 9th
International Workshops on Enabling Technologies,
Infrastructure for Collaborative Enterprises, 251-269
15. Kiet T. Tran (2013) Introduction to Web Service with Java, 1st edition
16. M. Wooldridge (2009), An Introduction to Multiagent Systems, John Wiley & Sons,
England
11
17. Quang-Dung Vu, Ba-Binh Pham, Dinh-Hieu Vo, Viet-Ha Nguyen (2011), Performance
evaluation of scalable mobile agents based web service systems, The 13th
International
Conference on Information Integration and Web-based Applications & Services, Ho Chi
Minh, Viet Nam.
18. Z. Zhu, J.-Y. Wang, Z. Yang, and F. Lei (2005), Internet information retrieval system
based on mobile agent, Proc. Int Machine Learning and Cybernetics Conf, volume 1,
pages 62-66