1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Luận văn thạc sĩ VNU UET nghiên cứu mô hình tác tử tầng trung gian hỗ trợ tùy biến nội dung mạng

86 3 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Nghiên Cứu Mô Hình Tác Tử Tầng Trung Gian Hỗ Trợ Tùy Biến Nội Dung Mạng
Tác giả Nguyễn Thị Minh Khuê
Người hướng dẫn TS. Lê Anh Cường, TS. Nguyễn Việt Hà
Trường học Đại học Quốc gia Hà Nội
Chuyên ngành Công nghệ thông tin
Thể loại luận văn thạc sĩ
Năm xuất bản 2009
Thành phố Hà Nội
Định dạng
Số trang 86
Dung lượng 2,64 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Danh mục ký hiệu, từ viết tắtTừ APS Agent Proxy Server Máy chủ Proxy có sử dụng tác tử Software Agent Tác tử phần mềm Web Application Server Máy chủ ứng dụng web Database Server Máy

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ -

NGUYỄN THỊ MINH KHUÊ

NGHIÊN CỨU MÔ HÌNH TÁC TỬ TẦNG TRUNG GIAN HỖ TRỢ TÙY BIẾN

NỘI DUNG MẠNG

LUẬN VĂN THẠC SĨ

Hà Nội 2009

Trang 2

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ -

NGUYỄN THỊ MINH KHUÊ

NGHIÊN CỨU MÔ HÌNH TÁC TỬ TẦNG TRUNG GIAN HỖ TRỢ TÙY BIẾN

Trang 3

Lời cảm ơn

Trước hết tôi xin gửi lời cảm ơn đặc biệt nhất tới TS Lê Anh Cường, Bộ môn Khoa học máy tính, và TS Nguyễn Việt Hà, Bộ môn Công nghệ phần mềm, Khoa Công nghệ thông tin, Trường Đại học Công nghệ, Đại học Quốc Gia Hà Nội, những người đã định hướng đề tài và tận tình hướng dẫn chỉ bảo tôi trong suốt quá trình thực hiện luận văn cao học này

Tôi xin được gửi lời cảm ơn sâu sắc tới Khoa Sau đại học và Nghiên cứu khoa học cùng các thầy cô giáo trong Khoa Công nghệ thông tin, Trường Đại học Công nghệ, Đại học Quốc Gia Hà Nội và Viện Công Nghệ thông tin, Viện Khoa học Việt Nam đã tận tình giảng dạy và truyền đạt những kiến thức, những kinh nghiệm quý báu cho tôi trong suốt thời gian tôi học Cao học

Tôi xin bày tỏ lòng cảm ơn chân thành tới ThS Nguyễn Thị Thu Trang và các bạn sinh viên Khoa Công nghệ thông tin, Trường Đại học Bách Khoa Hà Nội đã nhiệt tình giúp đỡ tôi trong suốt thời gian thực hiện luận văn này

Cuối cùng tôi xin dành một tình cảm biết ơn tới gia đình và bạn bè, những người

đã luôn luôn ở bên cạnh tôi, động viên, chia sẻ cùng tôi trong suốt thời gian học Cao học cũng như quá trình thực hiện luận văn Cao học

Hà Nội, tháng 6 năm 2009

Nguyễn Thị Minh Khuê

Trang 4

Lời cam đoan

Tôi xin cam đoan: luận văn “Nghiên cứu mô hình tác tử tầng trung gian hỗ

trợ tùy biến nội dung mạng” 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 6 năm 2009

Nguyễn Thị Minh Khuê

Trang 5

MỤC LỤC

Lời cảm ơn i

Lời cam đoan ii

MỤC LỤC iii

Danh mục ký hiệu, từ viết tắt v

Danh mục bảng vi

Danh mục hình vẽ, đồ thị vii

Tóm tắt viii

MỞ ĐẦU 1

1 Đặt vấn đề 1

2 Nội dung nghiên cứu 2

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

CHƯƠNG 1 NHẬN DẠNG THIẾT BỊ 4

1.1 Tổng quan về độc lập thiết bị 4

1.2 Các kỹ thuật nhận dạng thiết bị 6

1.2.1 User Agent Request Header 6

1.2.2 Accept Request Header 7

1.2.3 Đặc tả khả năng thiết bị Composite Capabilities/Preferences Profile 8

1.3 Kết chương 19

CHƯƠNG 2 TÁC TỬ PHẦN MỀM VÀ MÁY CHỦ PROXY 20

2.1 Tổng quan 20

2.2 Tác tử phần mềm (Software Agent) 20

2.2.1 Khái niệm 20

2.2.2 Các loại Agent 21

2.2.3 Khả năng ứng dụng của tác tử 23

2.2.4 Đánh giá một số Framework hỗ trợ Agents 26

2.3 Proxy Server 32

2.3.1 Khái niệm Proxy 32

2.3.2 Tại sao ta phải cần proxy? 35

2.3.3 Proxy được thực hiện như thế nào? 36

2.3.4 Một số loại Proxy Server 37

2.4 Kết chương 43

CHƯƠNG 3 KIẾN TRÚC PROXY XỬ LÝ ĐỘNG 44

3.1 Tổng quan 44

3.2 Các mô hình xử lý dữ liệu mạng 46

3.2.1 Mô hình xử lý phía máy khách 46

3.2.2 Mô hình xử lý phía máy chủ 47

3.2.3 Giải pháp xử lý phía Proxy 47

3.3 Kiến trúc Proxy động đề xuất 49

Trang 6

3.4 Quy trình xử lý của hệ thống 52

3.5 Các thành phần chính trong kiến trúc 53

3.5.1 Bộ quản lý thực thi 53

3.5.2 Tác tử dịch vụ và Tác tử xử lý 54

3.5.3 Bộ quản lý tác tử và Bộ chứa tác tử 55

3.5.4 Bộ xử lý và lưu trữ thông tin khả năng thiết bị và sở thích người dùng 55

3.5.5 Bộ quản lý và lưu trữ dữ liệu đã xử lý 56

3.6 Kết chương 56

CHƯƠNG 4 THỰC NGHIỆM 57

4.1 Kiến trúc hệ thống thực nghiệm 57

4.2 Xây dựng các thành phần hệ thống 58

4.2.1 Tác tử dịch vụ HTTP (HTTP Service Agent) 58

4.2.2 Tác tử chuyển mã HTML thành WML 60

4.2.3 Tác tử chuyển mã ảnh (Image Transcoding Processing Agent) 62

4.2.4 CC/PP Processing 64

4.3 Công nghệ và môi trường xây dựng mô hình thực nghiệm 66

4.3.1 J2EE 66

4.3.2 Eclipse 67

4.3.3 JADE 67

4.4 Kết quả thực nghiệm 68

4.4.1 Hệ thống chuyển mã ảnh 68

4.4.2 Hệ thống chuyển mã HTML sang WML 69

4.5 Đánh giá kết quả 70

KẾT LUẬN 71

1 Kết quả đạt được 71

2 Định hướng phát triển 72

TÀI LIỆU THAM KHẢO 73

Trang 7

Danh mục ký hiệu, từ viết tắt

Từ

APS Agent Proxy Server Máy chủ Proxy có sử dụng tác tử

Software Agent Tác tử phần mềm

Web Application Server Máy chủ ứng dụng web

Database Server Máy chủ cơ sở dữ liệu

Device Independence Độc lập thiết bị

Delivery Context Phôi phối thông tin dựa trên ngữ cảnh

PC Personal Computer Máy tính cá nhân

HTML Hypertext Markup Language Ngôn ngữ đánh dấu siêu văn bản

HTTP Hypertext Tranfer Protocol Giao thức truyền tải siêu văn bản

DP & UP Device Profile & User

Preference Hồ sơ thiết bị và sở thích người dùng CC/PP Composite Capabilities/

Preference Profile

Chuẩn Hồ sơ mô tả khả năng thiết bị

do W3C cung cấp

RDF Resource Description

J2EE Java 2 Enterprise Edition Phiên bản Java dành cho các ứng dụng

WSP Wireless Secsion Protocol Giao thức phiên không dây

WAP Wireless Application Protocol Giao thức ứng dụng không dây

WAP Gateway Wireless Application Protocol Gateway Proxy phục vụ cho kết nối không dây WML Wireless Markup Language Ngôn ngữ đánh không dây

GIT GAIA Image Transcoder Bộ chuyển mã ảnh GAIA

Trang 8

Danh mục bảng

Bảng 2.1 So sánh một số hệ thống hỗ trợ Agent hiện có 31

Bảng 4.1 Mô tả lớp HttpHeader 59

Bảng 4.2 Mô tả lớp HttpRequest 60

Bảng 4.3 Mô tả lớp HttpResponse 60

Bảng 4.4 Các bộ lọc hỗ trợ trong hệ thống chuyển mã ảnh GAIA 64

Trang 9

Danh mục hình vẽ, đồ thị

Hình 1.1 Nội dung tùy biến cho các thiết bị khác nhau 5

Hình 1.2 Các thành phần của CC/PP profile 9

Hình 1.3 Các thành phần của CC/PP profile trong XML 10

Hình 1.4 Ví dụ hoàn chỉnh về CC/PP profile 11

Hình 1.5 Ví dụ hoàn chỉnh về CC/PP profile trong XML 12

Hình 1.6 CC/PP profile sử dụng các giá trị mặc định 14

Hình 1.7 CC/PP profile trong XML sử dụng các giá trị mặc định 16

Hình 1.8 Ghi đè một giá trị mặc định 17

Hình 1.9 Ghi đè một giá trị mặc định trong XML 18

Hình 2.1 Kiến trúc hệ thống mạng có triển khai Proxy Server 33

Hình 2.2 Proxy Server cho nhiều máy khách với các dịch vụ khác nhau 34

Hình 2.3 Triển khai Proxy Server trong mạng cục bộ 35

Hình 2.4 Sử dụng Proxy Server để ẩn danh máy khách 35

Hình 2.5 Kiến trúc hệ thống mạng dùng Dual Homed Host 36

Hình 2.6 Kiến trúc HTTP Proxy Server 37

Hình 2.7 Mô hình HTTP Proxy Server với chức năng đệm dữ liệu 39

Hình 2.8 Mô hình triển khai WAP Gateway 40

Hình 2.9 Trình tự thực hiện chuyển đổi tiêu đề gói tin WSP và HTTP 41

Hình 2.10 Hệ thống tùy biến nội dung đáp ứng với khả năng thiết bị 42

Hình 3.1 Mô hình kiến trúc tổng thể hệ thống 45

Hình 4.2 Mô hình xử lý dữ liệu phía Client 46

Hình 3.3 Mô hình xử lý dữ liệu phía Server 47

Hình 3.4 Mô hình xử lý dữ liệu phía Proxy 48

Hình 3.5 Biểu đồ của proxy chuyển mã cố định 48

Hình 4.6 Biểu đồ của proxy chuyển mã heuristic 49

Hình 3.7 Mô hình kiến trúc của Máy chủ Proxy sử dụng tác tử 50

Hình 4.1 Kiến trúc tổng thể của mô hình thực nghiệm 57

Hình 4.2 Sơ đồ các lớp xử lý giao thức HTTP 59

Hình 4.3 Kiến trúc triển khai hệ thống 61

Hình 4.4 Các thành phần và luồng xử lý chuyển tài liệu HTML về WML 61

Hình 4.5 Hệ thống chuyển mã ảnh GAIA 63

Hình 4.6 Sơ đồ lớp Profile 65

Hình 4.7 Ảnh gốc hiển thị trên trình duyệt của PC 68

Hình 4.8 Ảnh kết quả khi sử dụng hoặc không sử dụng APS 69

Hình 4.9 Truy cập website không hỗ trợ WML 70

Trang 10

Với nhu cầu truyền tải nội dung phù hợp cho thiết bị di động, tổ chức W3C đã thành lập một nhóm làm về độc lập thiết bị Tổ chức này đã định nghĩa thuật ngữ

“phân phối nội dung theo ngữ cảnh” (Delivery context) Phân phối nội dung theo ngữ cảnh là một tập các thuộc tính mô tả khả năng của thiết bị truy cập và sở thích của người dùng Khả năng của thiết bị bao gồm nền tảng phần cứng và phần mềm cho phép người dùng thiết bị tương tác với Web thông qua các phương tiện tương tác (hình ảnh, âm thanh, bàn phím, giọng nói…) Máy chủ web, máy chủ proxy, các ứng dụng thực hiện việc chuyển đổi nội dung phù hợp với thiết bị cần phải hiểu được thông tin về khả năng của thiết bị

Trong luận văn này, chúng tôi mô tả chi tiết ba phương pháp được sử dụng để nhận dạng thiết bị Với mục đích định hướng chuẩn hóa, luận văn tập trung vào mô

tả công nghệ CC/PP, công nghệ này cung cấp một phương thức chuẩn cho thiết bị truyền khả năng thiết bị và sở thích người dùng Mô tả thiết bị này được sử dụng để cho các máy chủ web, máy chủ Proxy có thể tùy biến nội dung cho thiết bị, phục vụ cho độc lập thiết bị

Luận văn cũng đưa ra một cái nhìn tổng quan về công nghệ tác tử và máy chủ Proxy, nghiên cứu và phân tích các điểm mạnh của hai công nghệ, tiến hành kết hợp hai công nghệ để đề xuất một kiến trúc mô hình gọi là Agent Proxy Server (APS) phục vụ cho việc đáp ứng nội dung Internet cho các loại thiết bị với những khả năng

và ưu tiên khác nhau

Trong kiến trúc đề xuất, proxy có khả năng chuyển mã dữ liệu cho phù hợp với ngữ cảnh Kiến trúc đề xuất cũng cung cấp khả năng chuyển mã dữ liệu tùy ý nhờ vào việc cho phép proxy có thể tải các mô đun phần mềm chuẩn từ Internet và kết nối vào hệ thống như một plug-in Cuối cùng, luận văn trình bày về mô hình thực nghiệm, đưa ra một số kết quả đã đạt được, chỉ ra một số ưu và nhược điểm của hệ thống, đồng thời đưa ra hướng phát triển tiếp theo cho hệ thống

Trang 11

Abstract

With the revolution of mobile communication technology, users can access the Internet anywhere, anytime, with heterogeneous mobile devices, such as handheld PCs, personal digital assistants (PDAs), and WAP-enabled cellular phones These devices are different from one another in their computing capability, network connectivity and screen size

Also, due to the limited bandwidth of mobile communication, the traditional content of a web object for desktop computers might not be suitable for a mobile device Delivery context, as defined by the W3C Device Independence Working Group, is a set of attributes that characterizes the capabilities of the access mechanism and the preferences of the user An access mechanism is a combination

of hardware (including one or more devices and network connections) and software (including one or more user-agents) that allows a user to perceive and interact with the Web using one or more interaction modalities (sight, sound, keyboard, voice etc.) Web servers, Proxy Server, applications that adapt content for multiple access mechanisms must be sensitive to delivery context

This thesis explains three methods that web servers, proxy servers and applications are using to recognize devices in detail Especially, I focus on CC/PP technology that provides a standard way for devices to transmit their capabilities and user preferences It was originally designed to be used when a device requests web content via a browser so that servers and proxies can customize content to the target device, i.e support device independence

This thesis also gives an overview of Agent technology and Proxy Server This thesis did research and analyzed strong points of two technologies and then combined them together to propose the architecture The proposed architecture is called Agent Proxy Server (denoted by APS) that is used for Internet content adaptation In this architecture, the proxy can transform the corresponding data to the delivery context

In addition, the proposed system architecture is designed to provide the capability of supporting arbitrary type of data by utilizing the well-defined software modules in which the new plug-in components can be automatically downloaded from the Internet Finally, this thesis shows some results that obtain from the practice, advantages and disadvantages of the practice and the reality of the proposed architecture

Trang 12

MỞ ĐẦU

1 Đặt vấn đề

Ngày nay, ngành Công nghệ thông tin ngày càng phát triển, nhu cầu sử dụng Internet ngày càng cao và đa dạng như các ứng dụng thương mại điện tử, tìm kiếm, chia sẻ video, các ứng dụng thông minh… Người sử dụng có thể truy cập Internet qua nhiều thiết bị khác nhau như các máy tính cá nhân cầm tay , thiết bị số hỗ trợ cá

nhân (Personal Digital Assistants - PDAs) và điện thoại di động có hỗ trợ WAP [1]

Với sự phát triển đa dạng của Internet, các máy phục vụ (server) cần phải có khả năng xử lý một khối lượng lớn thông tin yêu cầu từ các máy trạm (client) và có khả năng chứa đựng các thông tin dùng cho tất cả các kiểu thiết bị máy trạm khác nhau Những thiết bị này khác nhau về khả năng tính toán, kết nối mạng , và kích thước màn hình Ngoài ra , vì băng thông giới hạn của truyền thông di động nên nội dung truyền thống của một đối tượng web cho máy tính để bàn không thể phù hợp với một thiết bị di động Vấn đề đă ̣t ra là làm thế nào đ ể thu được các kết quả phù hợp với các “khả năng” (capability) của mỗi loại thiết bị đó và “sở thích”

(preference) của người dùng

Việc xử lý các đối tượng web để thu được kết quả mong muốn được thực hiện

ở phía máy trạm hay máy phục vụ đều gặp phải những vấn đề đáng kể như giới hạn

về hiệu năng xử lý nếu xử lý tại máy trạm; quá tải khi có quá nhiều yêu cầu từ máy trạm, không linh loạt với nhiều loại yêu cầu nếu xử lý tại máy phục vụ Vì thế, mô hình sử dụng Proxy như tầng trung gian để “ti ền xử lý” các nội dung web trước khi trả về cho các thiết bị được đề xuất và nghiên cứu nhiều hơn cả [3][5]

Giải pháp đầu tiên được đưa ra là sử dụ ng proxy cố định (fixed proxy), chẳng hạn như với việc chuyển mã , proxy chuyển mã chỉ đơn thuần chuyển mã cho đầu vào thành đầu ra mà không có bất kỳ quá trình xử lý liên quan đến ngữ cảnh nào

Một ví dụ cho loại này là bộ chuyển đổi HTML-WML [6] Các đặc trưng ưu việt

Trang 13

của loại proxy chuyển mã này là tính đơn giản trong cấu trúc và hiê ̣u năng của hệ thống Tuy nhiên, hệ thống proxy chuyển mã này sẽ thiếu tính mềm dẻo và có thể không có khả năng hỗ trơ ̣ những yêu cầu đa da ̣ng từ nhiều kiểu thiết bị khác nhau

Mô ̣t giải pháp khác được đưa ra là một proxy xử lý mang tính kinh nghiệm (heuristic proxy ), chẳng ha ̣n như với viê ̣c chuyển mã , proxy chuyển mã có khả năng đọc được hiện trạng về khả năng từ thiết bị khách và cố gắng biến đổi nội dung theo khả năng của thiết bị [1][8] Tuy nhiên, do proxy không có bất kỳ hiểu biết nào về việc thông tin nào là quan trọng, nên nó khó khăn trong việc xác định chiến lược biến đổi nội dung [9][10] Hơn nữa, phương pháp giải quyết theo kinh nghiệm từ hệ thống proxy chuyển mã có xu hướng đưa ra những kết quả không thể

dự đoán trước

Trong đề tài luận văn này, chúng tôi đề xuất kiến trúc proxy động sử dụng các tác tử - Agent Proxy Server [4] - có khả năng xử lý thông tin động , giúp giảm tải việc xử lý tại các máy chủ và xử lý nhanh thông tin đồng thời giúp “tiền xử lý” các kết quả trả về từ máy chủ nhằm đưa ra các kết quả phù hợp với khả năng và sở thích của các thiết bi ̣ khác nhau

Khả năng và sở thích của thiết bị được đặc tả bởi mô tả của thiết bị (device profile) Trong kiến trúc đề xuất này, mô tả thiết bị được gửi theo yêu cầu (request)

từ phía máy trạm gửi qua proxy server đến máy phục vụ Proxy server sẽ đón luồng trả kết quả (response) sau khi xử lý yêu cầu về từ phía máy phục vụ Tại proxy server, các kết quả trả về này sẽ được xử lý dựa vào mô tả thiết bị đã được đón nhận và phân tích trước đó Quá trình xử lý này sẽ trả về kết quả phù hợp với thiết

bị đã gửi yêu cầu lên và được thực hiện bởi các tác tử phần mềm chuyên biệt được cài đặt sẵn trong proxy server

Kiến trúc đề xuất có thể thực hiện nhiều công việc khác nhau để mang lại kết quả phù hợp với mô tả thiết bị Khi cần xử lý một công việc chưa biết trước, proxy server sẽ tự động tải các tác tử phần mềm phù hợp từ kho tác tử trên Internet

2 Nội dung nghiên cứu

Trong thời gian thực hiện luận văn, chúng tôi đã nghiên cứu về mô hình tác tử phần mềm tầng trung gian, xử lý dữ liệu tại tầng trung gian bao gồm:

 Tìm hiểu các vấn đề lý thuyết về kiến trúc phần mềm, về các mô hình ứng dụng trực tuyến

 Tìm hiểu các vấn đề về nhu cầu độc lập thiết bị trong thời đại phát triển công nghệ mạng ngày nay, đồng thời nghiên cứu các kỹ thuật hỗ trợ nhận dạng thiết bị, phục vụ cho mục đích cung cấp nội dung tùy biến với khả năng thiết bị và mong muốn của người dùng

Trang 14

 Tìm hiểu công nghệ phần mềm hướng tác tử, tìm hiểu các framework đã và đang được phát triển để hỗ trợ cho việc phát triển các ứng dụng hướng tác

tử Tìm hiểu framework JADE trong việc phát triển ứng dụng hướng tác tử

 Nghiên cứu các vấn đề cơ sở hỗ trợ việc xử lý thông tin theo các thông tin

về khả năng của thiết bị, mà cụ thể là nghiên cứu chuẩn CC/PP, một chuẩn

mô tả khả năng của thiết bị phía client

 Đề xuất mô hình Agent Proxy Server hỗ trợ các ứng dụng trực tuyến trong việc xử lý dữ liệu ở tầng trung gian

 Nghiên cứu và xây dựng hệ thống thực nghiệm chứng minh tính đúng đắn

và hữu ích của mô hình đề xuất

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

Nội dung các phần còn lại của luận văn có cấu trúc chi tiết như sau:

Chương 2: Giới thiệu về vấn đề độc lập thiết bị và các kỹ thuật nhận dạng thiết

bị của W3C Trong đó, đặc biệt chú trọng tới CC/PP (Composite Capabilities/Preferences Profile), là một phương pháp chuẩn được cung cấp để mô

tả các thiết bị về khả năng của nó và sở thích của người dùng

Chương 3: Trình bày các kiến thức nền tảng liên quan đến tác tử và máy chủ

proxy Cụ thể, nội dung của chương giới thiệu về khái niệm của tác tử, các loại tác

tử và các ứng dụng của tác tử trong thực tế Đồng thời chương này cũng đề cập đến proxy server, các tính năng cơ bản của một proxy server và giới thiệu một số proxy phổ biến

Chương 4: Đề xuất mô hình Agent Proxy Server (Máy chủ Proxy sử dụng tác

tử) là một máy chủ trung gian giúp xử lý dữ liệu từ máy chủ ban đầu để cung cấp nội dung theo đúng nhu cầu và khả năng của thiết bị phía máy khách Trong đó proxy server đón nhận kết quả trả về từ máy phục vụ, bóc tách thông tin rồi xử lý sao cho phù hợp với mô tả thiết bị đã nhận rồi trả về cho máy trạm Các công việc trên đều được thực hiện bởi các tác tử chuyên biệt, nếu cần xử lý một công việc chưa biết, proxy server có thể tự động tải các tác tử phần mềm phù hợp từ kho tác

tử trên Internet

Chương 5: Thiết kế, xây dựng và cài đặt hệ thống thực nghiệm dựa trên mô

hình đề xuất, khẳng định tính hợp lý và khả thi của mô hình Hệ thống thực nghiệm

sử dụng CC/PP để mô tả về thiết bị

Chương 6: Đưa ra các kết luận, đánh giá những việc đã làm được và chưa làm

được trong quá trình thực hiện luận văn, và hướng nghiên cứu tiếp theo của đề tài

Trang 15

CHƯƠNG 1 NHẬN DẠNG THIẾT BỊ

1.1 Tổng quan về độc lập thiết bị

Với sự đa dạng hóa các thiết bị tính toán, nhu cầu về việc truyển tải nội dung phù hợp nhất cho thiết bị đang ngày một gia tăng Các thiết bị khác nhau yêu cầu những định dạng nội dung khác nhau cho cùng một tài liệu Trên thực tế, hầu hết các ứng dụng Web hiện nay đều được các lập trình viên thiết kế phù hợp cho màn hình và trình duyệt trên PC Để có thể kiểm soát tốt nhất khả năng hiển thị của các ứng dụng này trên trình duyệt của máy khách, các lập trình viên thường sử dụng cấu trúc bảng và đặt vị trí của các đối tượng cố định tính theo đơn vị điểm ảnh (pixel) trên màn hình Việc thực hiện chuyển đổi các ứng dụng đó để hiển thị hiệu quả trên các thiết bị khác nhau là một vấn đề rất phức tạp Chính vì vậy, các lập trình viên chọn giải pháp là sẽ tạo ra các ứng dụng khác nhau truyền tải cùng một nội dung nhưng theo những định dạng khác nhau phù hợp cho từng thiết bị [10]

Hình 1.1 cho chúng ta biết việc hiển thị cùng một nội dung trên các thiết bị khác nhau Tuy nhiên, khi số lượng các thiết bị truy cập Internet ngày càng đa dạng thì chi phí cho việc tạo và quản trị một lượng lớn các ứng dụng kiểu này gặp phải vấn

đề rất lớn về kinh tế

Trang 16

Hình 1.1 Nội dung tùy biến cho các thiết bị khác nhau

Bên cạnh việc truyền tải nội dung cho các thiết bị khác nhau là khác nhau, thì

có những tình huống, ngay một thiết bị cũng yêu cầu các dạng nội dung khác nhau của cùng một tài liệu Một ví dụ điển hình là khi một người dùng thiết bị di chuyển trong ôtô, có thể họ muốn chuyển việc hiển thị nội dung bằng dữ liệu văn bản thông thường sang thành dạng âm thanh Hoặc khi những người khuyết tật sử dụng thiết bị, họ cũng yêu cầu các dạng nội dung với định dạng phù hợp nhất với họ

Thông qua việc phân tích một số tình huống ở trên, chúng ta thấy thật sự cần thiết của việc tạo ra các nội dung độc lập thiết bị Độc lập thiết bị (Device Independence) được định nghĩa là khả năng tạo ra các tài liệu và tùy biến các tài liệu đó phù hợp với khả năng của các thiết bị yêu cầu

Để thực hiện được ý tưởng độc lập thiết bị, tổ chức W3C đã thành lập các nhóm nghiên cứu về độc lập thiết bị Hiện tại, W3C có hai hoạt động chính về độc lập thiết bị Một nhóm nghiên cứu các phương pháp tạo ra nội dung, các phương pháp tùy biến nội dung và hiển thị cho các thiết bị Nhóm thứ hai hoạt động để tạo

ra chuẩn CC/PP, chuẩn mô tả khả năng thiết bị CC/PP cung cấp một phương pháp chuẩn cho các thiết bị truyền tải khả năng của nó và sở thích của người dùng

CC/PP được thiết kế để sử dụng khi thiết bị yêu cầu nội dung từ máy chủ web thông qua trình duyệt Dựa vào CC/PP mà các máy chủ hoặc Proxy có thể biên tập lại nội dung được yêu cầu sao cho phù hợp nhất với thiết bị

Trang 17

1.2 Các kỹ thuật nhận dạng thiết bị

Trước khi CC/PP ra đời, các máy chủ web và các ứng dụng phán đoán khả năng của thiết bị thông qua các thông tin của phần tiêu đề (header) trong gói tin HTTP Hai cách tiếp cận phổ biến được mô tả bên dưới bao gồm: User Agent Request Header và Accept Request Header Các cách tiếp cận này vẫn còn tồn tại trên các thiết bị không hỗ trợ CC/PP

1.2.1 User Agent Request Header

Khi các máy khách gửi một yêu cầu HTTP đến máy chủ web, các máy khách này đưa ra thông tin về bản thân chúng thông qua thuộc tính user-agent trong phần

user-agent: Mozilla/4.04 (X11; I; SunOS 5.4 sun4m)

Thuộc tính user-agent đã được sử dụng để thực hiện việc phù hợp hóa nội dung ngay từ những ngày đầu của World Wide Web Ví dụ, khi thẻ frame trong html được đưa ra Chỉ có một số ít các trình duyệt hỗ trợ cho thẻ này Các máy chủ web lúc đó sẽ sử dụng thuộc tính user-agent để xác định xem có truyển tải nội dung được đặt trong thẻ frame cho trình duyệt hay không Tuy nhiên, hiện tại thì hầu hết các trình duyệt đều hỗ trợ tất cả các phần tử html được đưa ra bởi W3C Chúng ta

có hai cách tiếp cận để tạo ra nội dung phù hợp cho thiết bị dựa vào thuộc tính user-agent

Cách tiếp cận thứ nhất là ứng dụng sẽ kiểm tra thuộc tính user-agent và tiến hành lựa chọn nội dung phù hợp cho thiết bị Với cách tiếp cận này thì các máy chủ phải chứa rất nhiều phiên bản khác nhau của cùng một nội dung Các phiên bản này

sẽ được dùng để ánh xạ đến các yêu cầu từ các thiết bị khác nhau Nói một cách khác là đã có một cơ chế ngầm định ánh xạ nội dung đã được phù hợp hóa (adapted) cho từng máy khách cụ thể Như vậy, khi máy khách là điện thoại Nokia thì máy chủ sẽ phải lựa chọn một nội dung phù hợp, khi máy khách là PC thì máy chủ sẽ lựa chọn một nội dung khác

Cách tiếp cận thứ hai là chúng ta sẽ có một cơ sở dữ liệu về khả năng của thiết

bị tại máy chủ Khi một máy khách yêu cầu nội dung từ máy chủ Máy khách này

sẽ gửi cho máy chủ thông tin về nó thông qua user-agent Thông tin này là thông tin để định danh thiết bị Phía server sẽ sử dụng định danh của thiết bị để truy vấn trong cơ sở dữ liệu, tìm ra khả năng thiết bị và tiến hành các giải thuật chuyển đổi nội dung phù hợp với khả năng của thiết bị Các tiếp cận thứ hai là “động” hơn cách tiếp cận thứ nhất, tuy nhiên nó vẫn phải sử dụng đến định danh của thiết bị thông qua user-agent Cách tiếp cận này cũng có một phần giống với cách tiếp cận CC/PP, tuy nhiên với CC/PP thì máy chủ sẽ không phải định kỳ cập nhật lại cơ sở

Trang 18

dữ liệu khả năng của các thiết bị mới vì thông tin về CC/PP sẽ được gửi kèm theo yêu cầu của máy khách

Một vấn đề khác gặp phải khi sử dụng cách tiếp cận này là user-agent chỉ ở dạng văn bản, không theo một chuẩn hay một định dạng được định nghĩa trước nào

cả, trong khi đó mỗi nhà cung cấp trình duyệt lại đưa ra định dạng cho chuỗi dữ liệu user-agent khác nhau, vì vậy rất khó để kiểm soát và xử lý nó

1.2.2 Accept Request Header

Bên cạnh việc sử dụng User-Agent, HTTP 1.1 cung cấp thêm bốn trường trong phần Header, phục vụ cho mục đích phù hợp hóa nội dung yêu cầu, và được gọi là các trường đàm phán nội dung “content negociation” Để phục vụ cho việc đàm phán nội dung, các máy chủ phải tạo ra sẵn các dữ liệu phù hợp Chúng sẽ phải lưu trữ ảnh của một đối tượng ở nhiều dạng khác nhau, lưu trữ các tài liệu với nhiều bảng mã khác nhau… Các trường này bao gồm [12]:

 Accept: các loại tệp MIME đọc dược ở phía trên user-agent

 Accept-Charset: Các tập kí tự được phù hợp cho phía máy khách

 Accept-Encoding: Phương pháp mã hóa phù hợp cho phía máy khách

 Accept-Language: Ngôn ngữ mà phía máy khách có thể hiểu được

Ví dụ:

Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, Accept-Language:Fr

Accept-Encoding: gzip, deflate

Để đưa thêm để đưa thêm thông tin cho các máy chủ dễ dàng xử lý hơn Chúng

ta có thể đưa thêm một số tham số khác nữa Chúng ta hãy xem thêm một ví dụ:

Accept-Language: Fr; q=1.0 , en; q=0.5 Với header như trên, user-agent muốn cho chúng ta biết là các tài liệu bằng tiếng pháp sẽ được ưa thích hơn là các tài liệu tiếng Anh Về mặt lý thuyết, chúng

ta có thể hoàn toàn thực hiện được một số các chuyển đổi nội dung đơn giản dựa trên Accept Request Header Ví dụ là chúng ta có thể phân biệt được các thiết bị hỗ trợ HTML và các thiết bị hỗ trợ WML Tuy nhiên, một số lượng lớn các thiết bị không cung cấp đủ và chính xác thông tin về Accept Request Header Một số thiết

bị truyền thông tin:

Accept: */*

Dòng Header này chỉ cho chúng ta biết là thiết bị có thể nhận bất kỳ tài liệu nào Điều này có thể tốt cho server, tốt cho nhà cung cấp nội dung; nhưng sẽ rất khó dưới góc độ “đàm phán nội dung”

Trang 19

Chúng ta có thể đưa thêm vào Header của gói tin HTTP các trường khác để phục vụ cho mục đích phù hợp hóa nội dung Các trình duyệt trên PC như Netscape hay các trình duyệt trên các thiết bị như OpenWave, AvantGo, BlackBerry và PocketPC đều gửi kèm các thông tin riêng của nó Tuy nhiên, cách tiếp cận này không tuân theo một chuẩn nào

1.2.3 Đặc tả khả năng thiết bị Composite Capabilities/Preferences

Profile

Các thiết bị di động khác nhau thường không giống nhau về phần cứng, phần mềm, kết nối mạng, đầu vào/đầu ra và khả năng duyệt Khả năng chuyển mã nội dung theo năng lực thiết bị được gọi là quan tâm đến ngữ cảnh

Năm 1999, W3C đã thành lập một nhóm làm việc về CC/PP (Composite Capabilities / Preferences Profile – Đặc tả khả năng, sở thích của thiết bị) Kết quả làm việc của nhóm là đã cho ra đời một bộ khung dựa trên RDF cho việc quản lý thông tin cấu hình thiết bị CC/PP được mô tả trong các tài liệu: Tài liệu theo dõi các ý kiến đóng góp của người dùng [15], Từ vựng và cấu trúc của CC/PP [13], cùng với ba tài liệu ghi chú của W3C: Đặc tả yêu cầu và Kiến trúc CC/PP [14], CC/PP - thuật ngữ và các từ viết tắt và giao thức trao đổi CC/PP sử dụng framework HTTP mở rộng

CC/PP cung cấp một cơ chế chuẩn và một định dạng mô tả (Profile) để các Server nhận biết được thông tin khả năng thiết bị bằng cách thu thập Nhận dạng Profile và các thông tin sở thích khác từ thiết bị cầm tay phía máy khách Các máy chủ có thể truy lục được chi tiết Profile của thiết bị từ một kho của nhà cung cấp thiết bị Dựa trên thông tin khả năng thiết bị nhận được, các máy chủ có thể phân phối nội dung phù hợp tới các máy khách CC/PP cải thiện cách máy chủ thu thập

và duy trì thông tin về các khả năng và sở thích của các máy khách

Một mô tả CC/PP thường được xây dựng như một hệ phân cấp có hai mức:

 Một bản mô tả (profile) có ít nhất một hoặc nhiều thành phần (components),

 Mỗi thành phần có ít nhất một hoặc nhiều thuộc tính (attributes)

a Các thành phần của Profile

Các nhánh đầu của cây CC/PP profile mô tả các thành phần chính của máy khách Ví dụ về các thành phần chính là:

 Nền tảng phần cứng mà phần mềm thực thi trên đó,

Trang 20

 Nền tảng phần mềm mà các chương trình ứng dụng được cài đặt trên đó (Hệ điều hành…), hoặc

 Một ứng dụng riêng, ví dụ như trình duyệt (browser)

Một cách đơn giản, biểu diễn đồ họa phía gốc của một cây CC/PP dựa trên ba thành phần (TerminalHardware, TerminalSoftware và TerminalBrowser) sẽ được biểu diễn như trong hình dưới:

<! TerminalHardware properties here >

</rdf:Description>

</ccpp:component>

<ccpp:component>

<rdf:Description rdf:about="http://www.example.com/profile#TerminalSoftware">

<! TerminalSoftware properties here >

</rdf:Description>

</ccpp:component>

<ccpp:component>

<rdf:Description rdf:about="http://www.example.com/profile#TerminalBrowser">

<! TerminalBrowser properties here >

</rdf:Description>

Trang 21

</ccpp:component>

</rdf:Description>

</rdf:RDF>

Hình 1.3 Các thành phần của CC/PP profile trong XML

Lưu ý: RDF/XML [19] chấp nhận các cú pháp khác nhau nhưng phải tương

đồng về ngữ nghĩa, được sử dụng trong CC/PP 2.0 profiles phù hợp

b Các thuộc tính của thành phần

Một hồ sơ CC/PP mô tả khả năng và sở thích của máy khách dưới dạng một số

“thuộc tính CC/PP” cho mỗi thành phần

Mô tả của mỗi thành phần là một cây con mà các nhánh của nó có các khả năng hoặc sở thích liên kết với thành phần đó Mặc dù RDF có thể mô hình hóa được rất nhiều các cấu trúc dữ liệu, bao gồm cả đồ thị tùy ý (arbitrary graphs), tuy nhiên các cấu trúc dữ liệu phức tạp thường không được sử dụng để mô tả giá trị cho các thuộc tính của mô tả Một khả năng thường có thể được mô tả bằng cách sử dụng một hoặc một số ít các thuộc tính của CC/PP, mỗi thuộc tính có một giá trị đơn giản (dữ liệu nguyên tử) Trong trường hợp đòi hỏi các giá trị phức tạp hơn, các thuộc tính này có thể được xây dựng như là một đồ thị con của RDF Chúng ta cũng có thể mô

tả các thuộc tính phức tạp bằng cách biểu diễn nó bằng các giá trị thay thế (alternative values), ví dụ: một trình duyệt có thể hỗ trợ nhiều phiên bản của mã HTML Một profile đặc trưng có thể biểu diễn như sau:

Trang 22

<rdf:type rdf:resource="http://www.w3.org/2006/09/20-ccpp-schema#Client-profile" />

<ccpp:component>

<rdf:Description rdf:about="http://www.example.com/profile#TerminalHardware">

<rdf:type

Trang 23

<rdf:type rdf:resource="http://www.example.com/schema#SoftwarePlatform" />

<rdf:type rdf:resource="http://www.example.com/schema#BrowserUA" />

Cách sử dụng một profile mặc định được xác định bên ngoài có phần tương tự với những ý tưởng thừa kế động Điều này thực hiện được một số tối ưu hóa quan trọng Vì nó là một tài liệu riêng biệt, nó có thể nằm ở một vị trí riêng biệt và có thể được lưu trữ (cached) riêng rẽ Điều này đặc biệt hữu ích trong các môi trường không dây, chẳng hạn như các mạng di động, ở đó các mô tả của thiết bị có thể có

Trang 24

dung lượng lớn, trong khi các kết nối mạng khách hàng rất chậm chạp và tốn kém

Khi sử dụng giá trị mặc định, chỉ một phần nhỏ các giá trị thuộc tính của mô tả được gửi qua mạng

Các giá trị mặc định cho một thành phần của một Hồ sơ CC/PP được chỉ định bởi một thuộc tính ccpp:defaults

Hình dưới cho ta một cái nhìn tổng quan về việc sử dụng về việc sử dụng giá trị mặc định trong mô tả CC/PP của thiết bị ở dạng cây phân cấp, cũng như mã XML

Trang 25

Hình 1.6 CC/PP profile sử dụng các giá trị mặc định

Trang 26

Mã XML tương ứng có thể có nội dung như sau:

Device profile referencing defaults:

<rdf:type rdf:resource="http://www.w3.org/2006/09/20-ccpp-schema#Client-profile" />

<ccpp:component>

<rdf:Description rdf:about="http://www.example.com/profile#TerminalHardware">

<rdf:type rdf:resource="http://www.example.com/schema#HardwarePlatform" />

<ccpp:defaults rdf:resource="http://www.example.com/hardwareProfile#HWDefault" />

</rdf:Description>

</ccpp:component>

<ccpp:component>

<rdf:Description rdf:about="http://www.example.com/profile#TerminalSoftware">

<rdf:type rdf:resource="http://www.example.com/schema#SoftwarePlatform" />

<ccpp:defaults rdf:resource="http://www.example.com/softwareProfile#SWDefault" />

</rdf:Description>

</ccpp:component>

<ccpp:component>

<rdf:Description rdf:about="http://www.example.com/profile#TerminalBrowser">

<rdf:type rdf:resource="http://www.example.com/schema#BrowserUA" />

<ccpp:defaults rdf:resource="http://www.example.com/terminalProfile#UADefault" />

Trang 27

<rdf:type rdf:resource="http://www.example.com/schema#HardwarePlatform" />

<rdf:type rdf:resource="http://www.example.com/schema#SoftwarePlatform" />

<rdf:type rdf:resource="http://www.example.com/schema#BrowserUA" />

Hình 1.7 CC/PP profile trong XML sử dụng các giá trị mặc định

Nếu một giá trị thuộc tính được áp dụng trực tiếp đến một thành phần tài nguyên (component resource), và cũng xuất hiện trên một tài nguyên được tham chiếu bởi thuộc tính ccpp:defaults, giá trị áp dụng trực tiếp sẽ chiếm ưu tiên:

Trang 28

Hình 1.8 Ghi đè một giá trị mặc định

Trong ví dụ này, thành phần mặc định biểu thị bộ nhớ 16 Mb, nhưng giá trị này

Mã XML tương ứng có thể có nội dung như sau:

Device profile referencing defaults:

<rdf:type rdf:resource="http://www.w3.org/2006/09/20-ccpp-schema#Client-profile" />

<ccpp:component>

<rdf:Description rdf:about="http://www.example.com/profile#TerminalHardware">

<rdf:type rdf:resource="http://www.example.com/schema#HardwarePlatform" />

<ccpp:defaults rdf:resource="http://www.example.com/hardwareProfile#HWDefault" />

<ex:memoryMb>32</ex:memoryMb>

</rdf:Description>

</ccpp:component>

Trang 29

<rdf:type rdf:resource="http://www.example.com/schema#HardwarePlatform" />

d Khả năng mở rộng và không gian tên

CC/PP được mở rộng chủ yếu là thông qua việc giới thiệu các từ vựng (vocabularies) thuộc tính mới

Bất cứ ứng dụng hoặc môi trường hoạt động nào sử dụng CC/PP đều có thể định nghĩa vốn từ vựng riêng của mình Nếu các từ vựng được định nghĩa là có thể được sử dụng nhiều hơn thông thường thì khả năng tương tác sẽ được nâng cao, ví dụ: mở rộng vốn từ vựng tiêu chuẩn cho các thiết bị chuyên về hình ảnh, hoặc thiết

bị tin nhắn bằng giọng nói, hoặc các thiết bị truy cập không dây, v.v Theo đó, đặc

tả này định nghĩa một số từ vựng cốt lõi của các tính năng được áp dụng nhiều, như

áp dụng cho tác nhân in ấn và hiển thị Từ vựng cốt lõi này được dựa trên đặc tả IETF specification RFC2534 [20], và phục vụ như một ví dụ về cách các từ vựng thuộc tính CC/PP có thể được định nghĩa Một ví dụ khác là đặc tả UAProf 2.0 của OMA [21]

Một hồ sơ CC/PP bất kỳ có thể sử dụng các điều khoản trích ra từ một số tùy ý các từ vựng khác nhau, do đó, việc tái sử dụng không hạn chế các điều khoản từ một vốn từ vựng hiện có sẽ hữu ích hơn là định nghĩa các tên mới để nhận biết cùng một thông tin Mỗi từ vựng được liên kết với một không gian tên XML, như

là các tên mô tả cho các cấu trúc RDF và CC/PP cơ bản

Các không gian tên XML[22] định nghĩa một ký hiệu cho các mẫu tên liên kết thuận tiện với các arbitrary URIs [23] Những cú pháp biểu đồ RDF không sử dụng đặc biệt các không gian tên, nhưng XML serializations của một đồ thị RDF thì lại

Trang 30

thực hiện điều đó W3C cũng sử dụng các tiền tố không gian tên khi trình bày RDF trong ký hiệu đồ thị được mô tả ở trên

Mặc dù các tên của không gian tên được xác định bởi các tham chiếu URI, nhưng không bắt buộc phải có sẵn một giản đồ (schema) tại URI đó, dù trong thực

tế, thường mong muốn rằng một schema tương ứng tồn tại ở địa chỉ URI được sử dụng để xác định một không gian tên

e Các giao thức truyền CC/PP

Hiện tại có ba giao thức được xây dựng để truyền CC/PP, bao gồm: CC/PP-ex, W-HTTP và WSP Cả ba giao thức đều có những đặc điểm chung Chúng đều gửi thông tin về CC/PP dưới hai dạng: tham chiếu đến mô tả (reference profiles) hoặc đính kèm mô tả (profile diffs) Việc truyền CC/PP dưới dạng tham chiếu thì máy khách sẽ gửi cho máy chủ một địa chỉ (URI) của tài liệu CC/PP Máy chủ sẽ sử dụng URI để truy vấn đến mô tả của thiết bị Việc truyền CC/PP dưới dạng đính kèm thì máy khách sẽ gửi một đoạn dữ liệu XML mô tả khả năng thiết bị kèm với yêu cầu dịch vụ Đoạn dữ liệu XML này có thể nằm trong hoặc ngoài tiêu đề của gói tin tùy theo từng giao thức

1.3 Kết chương

Các nhà sản xuất thiết bị, người dùng thiết bị và các nhà cung cấp nội dung có những nhu cầu và mong đợi khác nhau khi tiếp cận với các nội dung thông tin trên Web Các nhà sản xuất luôn cố gắng tạo ra sự khác biệt giữa các sản phẩm của họ với thị trường bằng cách đưa thêm rất nhiều khả năng và sự hỗ trợ cho thiết bị của

họ, tuy nhiên có rất ít nhà cung cấp nội dung tạo ra các nội dung phục vụ cho những khả năng và hỗ trợ đó một cách độc lập Người sử dụng muốn truy cập cùng một nội dung từ nhiều thiết bị Khi khả năng của thiết bị khác nhau, người dùng mong muốn truy cập được nội dung đã được tùy biến cho phù hợp với khả năng của thiết bị Độc lập thiết bị là một hướng nghiên cứu và cũng có thể coi là công nghệ để thực hiện được công việc đó Độc lập thiết bị giúp cho các nhà sản xuất nội dung truyền tải được nội dung phù hợp nhất cho người dùng thông qua việc mô tả khả năng của thiết bị

Trong chương này, chúng tôi đã trình bày về nhu cầu của độc lập thiết bị, và các phương pháp, kỹ thuật nhận dạng thiết bị Và chúng ta cũng đã đi tìm hiểu sâu

về chuẩn CC/PP, chuẩn mô tả khả năng thiết bị CC/PP hiện tại đang được rất nhiều các hãng sản xuất phần cứng và phần mềm lớn quan tâm và cũng xây dựng CC/PP

sẽ là yêu tố quan trọng hàng đầu trong việc thực hiện độc lập thiết bị

Trang 31

Luận văn cũng tiến hành xem xét và đánh giá các framework hỗ trợ phát triển ứng dụng dựa trên tác tử

Với sự phát triển của các kiến trúc mạng sử dụng Proxy Server, nhu cầu tích hợp các dịch vụ và chức năng cho Proxy Server cũng ngày một tăng cao, đặc biệt là trong môi trường di động Trong chương này, chúng tôi cũng đưa ra khái niệm về Proxy Server, phân tích một số nhu cầu cần thiết phải sử dụng Proxy Server, đồng thời cũng phân tích chi tiết hai loại Proxy Server được sử dụng phổ biến hiện nay bao gồm: HTTP Proxy Server và WAP Gateway

Trang 32

hành vi của họ Nó có khả nǎng tự động, thực hiện tiên đoán, phản ứng và một số khả nǎng như tự học, tự di chuyển, hoạt động theo kiểu cộng tác” Ta có thể coi đây

là một mô hình tác tử cơ sở [4]

Thuâ ̣t ngữ Agent là mô ̣t thuâ ̣t ngữ trừu tượng trong công nghê ̣ phần mềm, đó là

mô ̣t ý tưởng , mô ̣t khái niê ̣m , mô ̣t thuâ ̣t ngữ như kiểu OOP (Object – Oriented Programming: Lâ ̣p trình hướng đối tượng ) bao gồm phương thức (methods), hàm (functions) và đối tượng (Objects) Đi ̣nh nghĩa về Agent cho ta mô ̣t cách nhìn nhâ ̣n thuâ ̣n tiê ̣n và ma ̣nh mẽ về thực thể phần mềm phức ta ̣p với đầy đủ các ứng xử với

hê ̣ thống Nếu như các đối tượng được đă ̣c trưng bằng các phương thức và thuô ̣c tính thì Agent lại được đặc trưng bằng các cư xử của nó với môi trường

Có 2 lớp Agent chính: tĩnh (static) và di động (mobile) Sự khác nhau giữa hai lớp này là:

 Tác tử tĩnh (Static agent): thực thi trên hệ thống nơi nó bắt đầu sự thực thi

[4][9] Một static agent thu được các thông tin từ hệ thống khác bằng cách

sử dụng các cơ chế truyền thông có sẵn như Remote procedure call gọi thủ tục từ xa) Điều này khác với một quy trình tĩnh (static processes) trong một hệ thống mà trong đó mã của static agent được tải về từ mạng theo yêu cầu, ngược lại các quy trình tĩnh có mã riêng được lưu trữ cục bộ trong hệ thống

(RPC- Tác tử di động (Mobile agent): có thể ngừng hoạt động của nó trong khi nó

đang chạy trên một hệ thống, có thể di chuyển sang một hệ thống khác, và

có thể tiếp tục thực thi từ điểm ngưng

Agent có những đă ̣c trưng quan tro ̣ng là : tính tự chủ , tính phản xạ , tính chủ

đô ̣ng và tính cô ̣ng đồng

2.2.2 Các loại Agent

Các loại Ag ent đươ ̣c phân chia bằng đă ̣c trưng của nó và có thể chia làm các loại Agent sau

a Tác tử thông minh (Intelligent Agents)

Các nghiên cứa về Agent thông minh là một phần trong các nghiên cứu về Agent nhân ta ̣o Các khả năng của một Agent thông minh như sau:

 Khả năng bắt chước : đó là khả năng cảm nhâ ̣n môi trường xung quanh và

học theo Khả năng này của các Agent thông minh có thể được xây dựng

Trang 33

trên các tâ ̣p các phương thức giải quyết vấn để hay các giải thuâ ̣t Nó có thể bao gồm các khía ca ̣nh khác của Agent như khả năng phu ̣c hồi các xử lý hay khả năng lưu trữ các tài nguyên

 Khả năng học: đó là khả năng cảm về các ứng xử và khả năng tự sản sinh ra các cư xử khác từ cư xử đã có của đối tượng

Từ khái niê ̣m trên người ta còn quan tâm đến khái niê ̣m Intelligent Interface Agent, đó là khái niê ̣m về tính tác tử trong giao diê ̣n của người dùng , là khả năng

tâ ̣n du ̣ng tối đa khả năng của các giao diê ̣n với người sử du ̣ng , điều này làm nảy sinh mô ̣t số câu hỏi liên quan đến vấn đề này như là : vấn đề nào trong giao tiếp của người sử du ̣ng cần được quan tâm nhất ? Các giao tiếp của người sử dụng tham chiếu đến các vấn đề nào?

b Tác tử tự chủ (Autonomous Agent)

Agent tự chủ là các Agent có khả năng tự tồn ta ̣i đô ̣c lâ ̣p , có khả năng ra quyết đinh đô ̣c lâ ̣p , khả năng thực hiện các hành động thỏa mãn mục tiêu của chính nó theo những cảm nhâ ̣n được từ môi trường Tất cả các phần mềm agent đểu được con người xây dựng nhằm mu ̣c tiêu giám sát các hành đô ̣ng và hoàn thiê ̣n khả năng ứng xử cua nó , đồng thời cũng có khả năng cho nó dừng hành đô ̣ng trong trường

hơ ̣p cần thiết

c Agent phân tán (Distributed agents)

Đây là các Agent có khả năng hoa ̣t đô ̣ng trong nhiều môi trường xử lý khác nhau, có khả năng chia sẻ tính toán , có khả năng được triển khai trong hệ thống phân phối và tự linh đô ̣ng

d Tác tử di động (Mobile Agents)

Tác tử di động là một thực thể phần mềm tồn tại trong môi trường phần mềm

Nó thừa hưởng một số đặc tính của một tác tử Mô ̣t Tác tử di động bao gồm các mô hình sau: mô hình tác tử (agent model), mô hình vòng đời (life-cycle model), mô hình tính toán (computational model), mô hình bảo mật (security model), mô hình truyền thông (communication model) và mô hình điều hướng (navigation model)

Trong đi ̣nh nghĩa về tác tử di động, chúng ta cần quan tâm đến môi trường phầ n mềm mà tác tử di động đó tồn ta ̣i

Môi trường tác tử di động được đi ̣nh nghĩa là mô ̣t hê ̣ thống phần mềm được phân phối trong mô ̣t mạng máy tính Trong môi trường đó , tác tử di dộng được

Trang 34

triển khai với đầy đủ các thuô ̣c tính của nó Nó có thể bao gồm các chương trình tương thích, các cơ chế truy nhập, lưu trữ tài nguyên

2.2.3 Khả năng ứng dụng của tác tử

Các tác tử phần mềm (Software agents) được sử dụng trong nhiều lĩnh vực khác nhau trong viễn thông La Porta [17] đề cao tính năng của hai dịch vụ truyền thông điệp hai chiều và các dịch vụ truyền thông cá nhân (Personal Communication services (PCS)) bằng cách tận dụng các tác tử tĩnh (static agents) và các tác tử di động (mobile agents) theo thứ tự định sẵn

 Bằng cách sử dụng một static agent như một cổng vào ra (gateway) giữa các

trang nhớ (pager), kiến trúc của các pager có thể vẫn đơn giản trong khi thu được các khả năng truyền thông điệp song công đầy đủ (full-duplex)

 Các mobile agents được sử dụng trong các hệ thống PCS (hệ thống dịch vụ

truyền thông cá nhân) để duy trì trạng thái của người dùng hiện tại, như thiết

bị của người dùng và hiện trạng dịch vụ của nó Khi một người dùng cuối chuyển từ một cell đến một cell khác, vì agent là di động nên nó có thể tự động theo người dùng đến cell mới và vẫn duy trì được trạng thái của người dùng

Các agents cũng được sử dụng trong việc quản trị mạng Phương thức này làm giảm không những lưu lượng mạng, mà còn giảm tải điện toán trên hệ thống quản

lý, vì các tính toán cần thiết được phân phối giữa các phần tử mạng Phương thức thứ hai là việc sử dụng các mobile agent, trong đó hệ thống quản trị gửi một mobile agent đến mỗi phần tử mạng, khi trở về hệ thống quản trị, mobile agent sẽ báo cáo kết quả

Như có thể thấy từ những ví dụ trên, software agents, ở cả hai dạng là tĩnh và

di động, có thể được sử dụng thành công trong các lĩnh vực viễn thông khác nhau

Do đó, hoàn toàn có khả năng kết nối các tính năng proxy với các tác tử phần mềm

(software agents)

Trên thực tế, tác tử và các hệ tác tử còn có khả năng ứng dụng thành công trong rất nhiều lĩnh vực khác nhau Vác ứng dụng này rất phong phú về cả số lượng, chất lượng cũng như rất đa dạng về chủng loại: 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 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 Dưới đây chúng ta sẽ xem xét những ứng dụng tiêu biểu thể hiện sự ưu điểm của giái pháp sử dụng tác tử cho những miền ứng dụng khác nhau

Trang 35

a Ứng dụng trong quản lý sản xuất

Quá trình sản xuất được đặc trưng bởi nhiều tham số thay đổi như dạng và số lượng sản phẩm, giới hạn thời gian, khả năng của máy móc… thể hiện công việc thực tế và các điều kiện thực tế của xưởng sản xuất Để đồng bộ và quản lý quá trình phức tạp như vậy, hệ thống quản lý được xây dựng dưới dạng một hệ các tác

tử cộng tác Mỗi xưởng và mỗi thành phần của xưởng được biểu diễn bởi một tác

tử Từng tác tử có kế hoạch và khả năng của mình tương ứng với kế hoạch và khả năng của từng thành phần riêng biệt trong phân xưởng Các tác tử tương tác với nhau giống như mối quan hệ giữa các cá thể trong phân xưởng, do đó phản ánh được thực tế hoạt động của các cá thể trong xưởng sản xuất Từ các tác tử mức trên, công việc được phân chia xuống các tác tử mức dưới và xuống tới từng vị trí công việc tùy thuộc vào khả năng Kết quả thực hiện được báo cáo lại cho tác tử mức trên để theo dõi và điều chỉnh phù hợp Điều này diễn ra giống như mô hình quản

lý thực tế của các xưởng sản xuất, do đó từ mô hình này ta có thể xem xét, dự đoán hoạt động sản xuất của xưởng Ngoài ra, công nghệ tác tử còn được sử dụng trong việc lập kế hoạch sản xuất, hỗ trợ thiết kế sản phẩm, quản lý robot trong công nghiệp

b Ứng dụng trong quản lý luồng công việc

Nhiệm vụ của hệ thống quản lý quá trình và luồng công việc là đảm bảo các phần việc khác nhau của một quá trình được thực hiện bởi các nhân viên và bộ phận thích hợp vào thời gian cần thiết Trong giải pháp sử dụng tác tử, mỗi nhân viên hay một bộ phận trong quá trình làm việc tương ứng với một tác tử, các tác tử

sẽ thương lượng với nhau về các điều kiện, khả năng, yêu cầu của chúng, phản ứng với môi trường để hoàn thành công việc của mình Từ đó xây dựng được một hệ thống quản lý luồng công việc thích hợp nhất, tối ưu nhất để áp dụng trong thực tế

c Tác tử thu thập và quản lý thông tin

Do lượng thông tin dư thừa trên Internet là rất lớn và ngày càng tăng lên, nên người sử dụng thông tin gặp khó khăn trong hai vấn đề sau:

 Vấn đề lọc thông tin: Hàng ngày người sử dụng nhận được một lượng thông tin lớn từ Internet dưới dạng các tin nhắn, email, các báo điện tử Trong đó chỉ có một phần nhỏ các thông tin là có giá trị và cần được quan tâm, còn lại phần lớn trong số đó là những thông tin thừa, vô giá trị và đôi khi còn là những thông tin gây “nhiễu” Việc xác định xem đâu là những thông tin có

Trang 36

giá trị, cần được quan tâm mất rất nhiều thời gian và công sức, đôi khi lại đưa ra những kết quả không như ý muốn

 Vấn đề thu thập thông tin: Mặc dù mạng Internet chứa một lượng thông tin khổng lồ nhưng không phải lúc nào chúng ta cũng có thể tìm được những thông tin mà chúng ta mong muốn Khi có nhu cầu về thông tin cụ thể, người sử dụng khó tìm thấy thông tin mà họ quan tâm do lượng thông tin trên mạng là quá lớn

Tác tử thông tin là loại tác tử được xây dựng để giải quyết hai vấn đề trên Một

ví dụ điển hình là hệ thống Tác tử quản lý hộp thư cá nhân, chứa các tác tử có nhiệm vụ lọc và phân loại thư điện tử Tác tử này có khả năng thực hiện các thao tác gán giá trị ưu tiên, xóa, chuyển tiếp thư, sắp xếp và lưu trữ thư điện tử Trong giai đoạn đầu, tác tử ghi lại hành động của người sử dụng và thông tin về thư như người gửi, người nhận, tiêu đề thư và từ khóa Những thông tin này sau đó được sử dụng để dự đoán hành động khi có thư mới tới Nếu hành động được dự đoán với

độ chính xác cao thì tác tử sẽ gợi ý cho người sự dụng hoặc tự động thi hành luôn

d Tác tử giao diện

Thông thường trong tương tác giữa người và máy tính, giao diện đóng vai trò thụ động và chỉ phản xạ khi có yêu cầu từ người dùng Một chương trình chỉ thực hiện khi người sử dụng gõ một lệnh, chọn một mục, hay nhấp chuột vào menu tương ứng Tác tử giao diện cho phép thay đổi phương pháp giao tiếp này bằng cách làm cho máy tính trở nên chủ động Căn cứ vào hành động của người sử dụng, tác tử giao diện có thể chủ động thực hiện một số thao tác hay đưa ra những gợi ý

e Ứng dụng tác tử và trí tuệ phân tán

Trong tự động hóa công nghiệp cũng như trong nhiều lĩnh vực ứng dụng điều khiển và giám sát khác như các hệ thống giao thông vận tải, các hệ thống phân phối năng lượng và các hệ thống viễn thông, xu hướng điều khiển phân tán đã trở thành tất yếu Các hệ thống cần được điều khiển ngày càng có qui mô lớn và mức độ phức tạp hơn, rất nhiều hệ thống thể hiện tính bất định và mô hình thay đổi, đòi hỏi phải có sự phân chia thành các hệ thống con để có thể dễ làm chủ Các hệ thống con này có một nhiệm vụ riêng và phải có sự hợp tác với nhau trong việc giải quyết nhiệm vụ chung của toàn hệ thống Vì thế, kiến trúc phần mềm điều khiển và giám sát trong hệ thống cũng phải có tính chất như vậy, có nghĩa là phải được phân tán thành các thành phần mềm tương đối độc lập nhưng có khả năng hợp tác cho một mục đích chung của hệ thống Thêm vào đó, các phần mềm này phải có khả năng

Trang 37

thay thế con người trong điều khiển hệ thống với các thông số luôn biến động Yêu cầu đó dẫn đến phải xây dựng được một phần mềm có tính tự động điều khiển, thích nghi với sự biến động của môi trường hoạt động, và có khả năng tương tác với nhau Việc ứng dụng trí tuệ nhân tạo phân tán là một trong những hướng nghiên cứu mới, hứa hẹn nhiều kết quả khả quan Trong nhiều năm gần đây, tác tử (agent) và đa tác tử (multi-agent) được coi là các công nghệ trọng tâm của trí tuệ nhân tạo phân tán, thu hút được sự quan tâm của đông đảo giới nghiên cứu trong lĩnh vực công nghệ thông tin Việc ứng dụng công nghệ tác tử vào các hệ thống trí tuệ nhân tạo đã thu được nhiều kết quả to lớn

2.2.4 Đánh giá một số Framework hỗ trợ Agents

Các hệ thống được lựa chọn để khảo sát ở đây bao gồm Aglets, Voyager, Mole, Zeus và JADE Cả năm môi trường này đều sử dụng Java để hỗ trợ phát triển ứng dụng, nhưng mỗi hệ thống có những đặc thù riêng Trong phần này, luận văn đưa ra đánh giá tổng quan về Aglets, Voyager, Mole và Zeus dựa trên những tìm hiểu sơ

bộ về chúng Phần giới thiệu về JADE sẽ được trình bày ở chương 5

a Aglets

Aglets được xây dựng và phát triển bởi D.B.Lange và IBM Tokyo Research Laboratory Hiện nay, bộ Aglets Software Development Kit (ASDK) do IBM phát triển đã dừng lại ở phiên bản 1.1 Beta3 trên nền JDK1.1 Phiên bản mới nhất của ASDK là 2.0.2 do SourceForge phát triển trên nền JDK1.3 Aglets là một hệ thống Java mobile agent hỗ trợ các khái niệm thi hành tự trị và định tuyến động trên lộ trình của nó Có thể xem aglets như là một khái quát hóa và mở rộng của applet và servlet Aglet server là chương trình cung cấp một môi trường thực thi và một máy

ảo Java cho aglet hoạt động Ngoài ra, Aglet server cũng sử dụng một trình quản lý

để tiếp nhận và kiểm soát aglet một cách an toàn

Aglet API là bộ thư viện bao gồm các hàm chuyên biệt dành cho việc phát triển agent Nhờ vào Aglet API, khả năng nổi tiếng của Java là “viết một lần, thi hành bất cứ đâu” được viết lại là “viết một lần, lưu hành bất cứ đâu” Một khi aglets được tạo ra, nó sẽ chạy trên mọi máy có hỗ trợ Aglet API mà không quan tâm đến nguồn gốc hệ điều hành và phần cứng bên dưới hay nguồn gốc cụ thể của Aglet API được cài trên máy đang chạy

Trong mô hình đối tượng aglets, một aglets là một đối tượng di động có luồng kiểm soát riêng của nó, làm việc theo sự kiện và liên lạc với các agent khác bằng

Trang 38

cách truyền thông điệp Aglets có một cơ chế định danh duy nhất và toàn cục dựa trên URL Aglets hỗ trợ cơ chế di động yếu (weak- mobility) Các aglets giao tiếp với nhau một cách đồng nhất, và độc lập với vị trí lưu trú thông qua đối tượng proxy Suốt chu kỳ sống, các aglets sẵn sàng bắt những sự kiện (clone, mobility, persistence) phát sinh trong môi trường để có phản ứng thích hợp Agent có thể giao tiếp đồng bộ hoặc không đồng bộ thông qua các loại thông điệp: synchronous, one-way, hay future reply Aglets sử dụng ATP (Agent Transfer Protocol) cho việc

di chuyển và giao tiếp Aglets sử dụng 2 loại mẫu thiết kế chính là chủ-tớ Slave) và hành trình (Itinerary) cho việc di chuyển của các agent

(Master-Aglets là một trong những platform được sử dụng nhiều nhất để phát triển các

hệ thống mobile agent Một số đề án thực hiện với Aglet có thể kể đến là TabiCan (http://www.tabican.ne.jp) - chợ điện tử chuyên bán vé máy bay và tour du lịch trọn gói - Cps720 (Artificial Intelligence Topics with Agent) tại đại học Ryerson University, Mỹ, Acme – Hệ thống hỗ trợ Sales Order Processing trong việc mua bán chứng khoán, của Đại học Loughborough, Anh

b Voyager

Voyager là một môi trường thương mại hỗ trợ phát triển các ứng dụng agent được hãng Object Space phát triển từ giữa năm 1996 Voyager đã trải qua nhiều lần nâng cấp và thay đổi từ phiên bản 1.0 cho đến bây giờ là phiên bản 4.5 Tháng 03 năm 2002 sản phẩm Voyager được nhượng lại cho Recursion Software, một công

ty chuyên về các sản phẩm viết trên C++ và Java để đảm bảo cho việc phát triển Voyager sau này Các phiên bản từ 1.0 đến 3.3 Voyager được phân phối cho các nhà phát triển như một freeware Hiện tại Voyager đã có phiên bản 4.5 Evaluation hoàn toàn tương thích với JDK1.3, JDK1.2 và JDK1.1 Phiên bản này bao gồm 6 sản phẩm, trong đó sản phẩm chính yếu dùng cho các ứng dụng mobile agent là Voyager ORB Professional

Voyager sử dụng ngôn ngữ lập trình Java với cú pháp chuẩn để tạo dựng các đối tượng ở xa một cách rất dễ dàng, cho phép các đối tượng này trao đổi thông điệp với nhau, và di chuyển các đối tượng giữa các máy tính có hỗ trợ môi trường Voyager Voyager hỗ trợ mạnh về tính di động với khả năng mang toàn bộ mã chương trình và dữ liệu di chuyển từ máy ảo Java này sang máy ảo Java khác nếu các máy ảo có hỗ trợ Voyager Trạng thái hoạt động của agent cũng sẽ được bảo toàn và tiếp tục thực thi tại nơi agent đến

Trang 39

Một trong những đặc điểm nổi trội khác của Voyager là tính phổ quát Các chương trình viết trong Voyager có thể trao đổi thông tin hai chiều với các chương trình viết bằng SOAP, CORBA, RMI và DCOM Các dạng thông tin được trao đổi

có thể là các lời gọi hàm từ xa, các dịch vụ đặt tên, dịch vụ thư mục Voyager có thể được xem là một cửa ngõ, một cầu nối làm cho các chương trình theo chuẩn khác trở nên liên thông với nhau Hơn nữa, tất cả các chương trình và đối tượng có thể được tổ chức thành một không gian chung, nhờ vậy việc liên lạc sẽ trở thành mối liên hệ một - nhiều một cách tự động

Phiên bản 4.5 của Voyager đã được bổ sung thêm các tính năng rất quan trọng

hỗ trợ cho các chuẩn dịch vụ Web SOAP và WSDL cũng đã được phát triển trong phiên bản này giúp cho các nhà phát triển có khả năng triển khai các ứng dụng truy cập tới các dịch vụ Web từ xa và các chương trình Voyager có thể truy cập nhau thông qua các dịch vụ Web

Thế mạnh thật sự của Voyager nằm ở sự đơn giản và dễ dùng Sự “trong suốt”

hay cách mà Voyager che dấu các kỹ thuật lập trình phân tán phức tạp đã làm cho việc xây dựng các ứng dụng mobile agent trở nên dễ dàng hơn rất nhiều Việc tích hợp các công nghệ mới và các chuẩn mới vào cùng một sản phẩm tạo cho Voyager

Được xây dựng trên Java, Mole có khả năng thực thi trên tất cả các môi trường

có hỗ trợ JDK1.1.x (Jdk1.1.7 và Jdk1.1.8), sử dụng giao thức TCP/IP trong quá trình giao tiếp Mole hỗ trợ di chuyển yếu (weak migration).Để thực hiện giao tiếp giữa các agent Mole sử dụng các cơ chế truyền thông điệp, gọi hàm từ xa RPCs và

cơ chế đặc trưng của Mole là session, badge Ngôn ngữ giao tiếp giữa các agent được Mole hỗ trợ là KQML Việc trao đổi dữ liệu giữa các agent được thực hiện theo nghi thức TCP/IP Mole cho phép đa tiểu trình/agent và quản lý tài nguyên và lập lịch các tiểu trình trong hệ thống thông qua bộ lập lịch trung tâm MCP Khả năng bảo mật của Mole được đánh giá khá tốt trong các hệ thống agent Mole tuân theo mô hình bảo mật sandbox của java Agent trong hệ thống Mole được chia làm

Trang 40

hai loại: user agent và system agent User agent là những agent di động được kích hoạt bởi người dùng và không thể truy cập trực tiếp tài nguyên hệ thống Ngược lại, system agent (service agent) - được khởi động bởi người quản trị - không có tính di động và được phép truy cập tài nguyên hệ thống

Môi trường Mole phù hợp cho phát triển những ứng dụng trong các lĩnh vực:

Truyền thông, ứng dụng thuộc lĩnh vực hệ thống thông tin điện tử Một số ứng dụng dược phát triển trên môi trường Mole: AIDA - Infrastructure for Mobile Agents, ASAP, ATOMAS, FESTIVAL (Mole office, Mole shopping), HAWK

Với hệ thống mã nguồn mở của Mole, ta có thể tiến hành cải tiến, nâng cấp những chức năng hiện có,và bổ sung những chức năng mới như các chức năng về công cụ hỗ trợ lập trình agent để Mole trở thành hệ thống agent hiện đại hỗ trợ tốt cho việc phát triển các ứng dụng dựa theo mô hình agent

hỗ trợ hai giai đoạn cài đặt và bảo trì Zeus toolkit qua các công cụ Zeus Agent Generator và Zeus Agent Visualiser Zeus cung cấp nhiều Editor để định nghĩa agent và các thuộc tính của agent Code Generator sẽ tự động phát sinh mã nguồn cho agent từ những thuộc tính đã đặc tả

Hai đặc tính quan trọng của các Zeus agents là tính tự trị và cộng tác Bộ phận Planner trong mỗi agent sẽ hỗ trợ agent thể hiện tính tự trị Khả năng thương lượng

và cộng tác giữa các agent cũng được Zeus tích hợp vào trong toolkit thông qua một thư viện các giao thức, cùng các chiến lược thương lượng và cộng tác Do có

mã nguồn mở, người dùng có thể thêm vào thư viện này các chiến lược riêng phù hợp với ứng dụng của mình

Các Zeus agent truyền thông theo point-to-point socket TCP/IP với mỗi message là một chuỗi các kí tự mã ASCII Ngôn ngữ truỵền thông Zeus sử dụng là FIPA ACL (http://www.fipa.org) Nhằm cung cấp khả năng “hiểu” lẫn nhau cho

Ngày đăng: 05/12/2022, 16:12

HÌNH ẢNH LIÊN QUAN

Bảng tổng hợp chi tiết - Luận văn thạc sĩ VNU UET nghiên cứu mô hình tác tử tầng trung gian hỗ trợ tùy biến nội dung mạng
Bảng t ổng hợp chi tiết (Trang 8)
Hình 1.1. Nội dung tùy biến cho các thiết bị khác nhau. - Luận văn thạc sĩ VNU UET nghiên cứu mô hình tác tử tầng trung gian hỗ trợ tùy biến nội dung mạng
Hình 1.1. Nội dung tùy biến cho các thiết bị khác nhau (Trang 16)
Hình 1.4 Ví dụ hồn chỉnh về CC/PP profile - Luận văn thạc sĩ VNU UET nghiên cứu mô hình tác tử tầng trung gian hỗ trợ tùy biến nội dung mạng
Hình 1.4 Ví dụ hồn chỉnh về CC/PP profile (Trang 22)
Hình 1.5 Ví dụ hồn chỉnh về CC/PP profile trong XML - Luận văn thạc sĩ VNU UET nghiên cứu mô hình tác tử tầng trung gian hỗ trợ tùy biến nội dung mạng
Hình 1.5 Ví dụ hồn chỉnh về CC/PP profile trong XML (Trang 23)
Cú bảng lương thỏng 3/2008 của phũng kế toỏn Cụng ty như sau: - Luận văn thạc sĩ VNU UET nghiên cứu mô hình tác tử tầng trung gian hỗ trợ tùy biến nội dung mạng
b ảng lương thỏng 3/2008 của phũng kế toỏn Cụng ty như sau: (Trang 24)
Hình 1.6 CC/PP profile sử dụng các giá trị mặc định - Luận văn thạc sĩ VNU UET nghiên cứu mô hình tác tử tầng trung gian hỗ trợ tùy biến nội dung mạng
Hình 1.6 CC/PP profile sử dụng các giá trị mặc định (Trang 25)
Hình 1.7 CC/PP profile trong XML sử dụng các giá trị mặc định - Luận văn thạc sĩ VNU UET nghiên cứu mô hình tác tử tầng trung gian hỗ trợ tùy biến nội dung mạng
Hình 1.7 CC/PP profile trong XML sử dụng các giá trị mặc định (Trang 27)
Hình 1.8 Ghi đè một giá trị mặc định - Luận văn thạc sĩ VNU UET nghiên cứu mô hình tác tử tầng trung gian hỗ trợ tùy biến nội dung mạng
Hình 1.8 Ghi đè một giá trị mặc định (Trang 28)
Hình 1.9 Ghi đè một giá trị mặc định trong XML - Luận văn thạc sĩ VNU UET nghiên cứu mô hình tác tử tầng trung gian hỗ trợ tùy biến nội dung mạng
Hình 1.9 Ghi đè một giá trị mặc định trong XML (Trang 29)
Chuẩn hoá: Đây là một điều kiện quan trọng để đưa mơ hình agent vào ứng - Luận văn thạc sĩ VNU UET nghiên cứu mô hình tác tử tầng trung gian hỗ trợ tùy biến nội dung mạng
hu ẩn hoá: Đây là một điều kiện quan trọng để đưa mơ hình agent vào ứng (Trang 42)
Hình thức giao tiếp - Luận văn thạc sĩ VNU UET nghiên cứu mô hình tác tử tầng trung gian hỗ trợ tùy biến nội dung mạng
Hình th ức giao tiếp (Trang 43)
Hình 2.2 Proxy Server cho nhiều máy khách với các dịch vụ khác nhau - Luận văn thạc sĩ VNU UET nghiên cứu mô hình tác tử tầng trung gian hỗ trợ tùy biến nội dung mạng
Hình 2.2 Proxy Server cho nhiều máy khách với các dịch vụ khác nhau (Trang 45)
Hình 2.3 Triển khai Proxy Server trong mạng cục bộ - Luận văn thạc sĩ VNU UET nghiên cứu mô hình tác tử tầng trung gian hỗ trợ tùy biến nội dung mạng
Hình 2.3 Triển khai Proxy Server trong mạng cục bộ (Trang 46)
Hình 2.5 Kiến trúc hệ thống mạng dùng Dual Homed Host - Luận văn thạc sĩ VNU UET nghiên cứu mô hình tác tử tầng trung gian hỗ trợ tùy biến nội dung mạng
Hình 2.5 Kiến trúc hệ thống mạng dùng Dual Homed Host (Trang 47)
Hình 2.6 Kiến trúc HTTP Proxy Server - Luận văn thạc sĩ VNU UET nghiên cứu mô hình tác tử tầng trung gian hỗ trợ tùy biến nội dung mạng
Hình 2.6 Kiến trúc HTTP Proxy Server (Trang 48)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm