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

Một phần của tài liệu (LUẬN văn THẠC sĩ) 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 (Trang 53)

Hiện nay, với sự phát triển đa dạng của các thiết bị trong môi trường không dây. Số lượng các WAP Gateway cũng ngày một phát triển. Hai trong số các WAP Gateway đang được sử dụng rộng rãi là: Kannel (Open Source and SMS Gateway) và Azcalabs (Free WAP Gateway Connection).

2.4. Kết chƣơng

Chương này đã đưa ra được khái niệm về tác tử phần mềm, các loại tác tử phần mềm và các hướng ứng dụng tiềm năng của công nghệ hướng tác tử, đồng thời cũng so sánh để làm nổi bật khả hỗ trợ các tính chất của tác tử của một số framework hiện có.

Công nghệ phần mềm hướng tác tử là một hướng phát triển tiếp theo của ngành công nghệ phần mềm - công nghệ mới cho phép xây dựng nhiều ứng dụng phân tán hiệu quả hơn những kỹ thuật cũ. Tuy còn những khó khăn trong việc triển khai công nghệ tác tử vào thực tế, nhưng công nghệ tác tử có nhiều tiềm năng trong một số loại ứng dụng phù hợp, và nó sẽ là một công cụ cần có khi xây dựng các ứng dụng phân tán quy mô lớn.

Chương này cũng đã đề cập đến khái niệm Proxy Server, các ứng dụng của Proxy Server và đưa ra hai loại Proxy Server hiện đang được đâu tư phát triển và sử dụng rộng rãi trong hầu hết các kiến trúc mạng hiện nay là: HTTP Proxy Server và WAP Gateway.

Thông qua việc đưa ra các khái niệm về công nghệ hướng tác tử và Proxy Server, đồng thời cũng phân tích các tính chất của tác tử. Chúng tôi xin đề xuất một mô hình Proxy Server có sử dụng công nghệ tác tử để phục vụ cho các xử lý trong môi trường di động. Chi tiết về kiến trúc Proxy Server có sử dụng công nghệ phần mềm hướng tác tử được đề cập chi tiết trong chương tiếp theo của luận văn này.

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

3.1. Tổng quan

Có nhiều cách để thực thi một hệ thống Proxy Server thực hiện xử lý ở tầng trung gian, tuy nhiên hầu hết là các hệ thống xử lý cứng nhắc, nghĩa là chúng chỉ có thể cung cấp các dịch vụ xử lý như chuyển mã hay tìm kiếm… cho kiểu nội dung hoặc giao thức cụ thể, được xác định từ trước. Khi có mong muốn xử lý với một kiểu nội dung hoặc một giao thức truyền thông mới, thì việc nâng cấp toàn bộ kiến trúc đã có là không thể tránh khỏi.

Để khắc phục các vấn đề nêu trên, trong luận văn này, chúng tôi đề xuất kiến trúc của Agent Proxy Server (Máy chủ Proxy sử dụng tác tử), phục vụ cho sự tùy biến nội dung mạng.

Máy chủ ban đầu Máy chủ Agent Yêu cầu 1 Kết quả 1 IP Network Yêu cầu N Kết quả N

Agent Proxy Server Các thiết bị Client MT cá nhân MT xách tay Di động - Mô tả thiết bị - Sở thích người dùng Hình 3.1 Mô hình kiến trúc tổng thể hệ thống

Trong kiến trúc này, proxy có thể tiếp nhận và phân tích các yêu cầu dịch vụ cũng như cấu trúc thông tin mô tả khả năng của thiết bị máy khách và ưu tiên của người dùng để thực hiện các xử lý dữ liệu hoặc giao thức tương ứng, do đó máy chủ Proxy Server có thể cung cấp được nội dung hoàn toàn phù hợp với máy khách. Hơn nữa, kiến trúc hệ thống đề xuất đã được thiết kế để cung cấp sự mở rộng tính năng hỗ trợ kiểu dữ liệu và giao thức tùy ý bằng cách tận dụng các tác tử phần mềm có sẵn trên Internet. Các tác tử này được tự động tải về dựa trên các thông tin chuyển tới Proxy từ máy khách. Với sự đăng ký của chuẩn khả năng thiết bị, trong mô hình này sẽ sử dụng chuẩn CC/PP do W3C cung cấp [14] và bộ phân tích khả năng thiết bị gắn liền, hệ thống được đề xuất sẽ nhận dạng được rõ ràng nội dung, do đó, nó có thể thích ứng với nhiều kiểu thiết bị khác nhau.

Mô hình kiến trúc này hoàn toàn đơn giản và trong suốt với người dùng, người dùng chỉ cần thiết lập Agent Proxy Server như một Proxy thông thường. Khi các thiết bị phía người dùng sẽ gửi các yêu cầu dịch vụ lên máy chủ dữ liệu, thông tin hồ sơ Mô tả khả năng thiết bị (Device Profile) sẽ được gửi kèm, Agent Proxy Server sẽ phân tích các yêu cầu dịch vụ và các thông tin hồ sơ thiết bị, từ đó thực hiện các xử lý cần thiết để trả về thông tin phù hợp cho người dùng.

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

Trước tiên, để phân tích được vì sao cần đưa ra kiến trúc xử lý động tại Proxy Server, chúng ta hãy xem xét một số mô hình xử lý dữ liệu đã được áp dụng, từ đó phân tích và đưa ra so sánh về ưu nhược điểm của các mô hình này.

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

Mô hình xử lý phía máy khách (Client) thể hiện việc phân tích, xử lý các yêu cầu cho phù hợp với người dùng được thực hiện ngay tại thiết bị của người dùng đó. Thiết bị sẽ yêu cầu dữ liệu từ máy chủ, máy chủ nhận yêu cầu, tiến hành phục vụ thiết bị với dữ liệu mà nó yêu cầu. Các dữ liệu này được gửi về cho thiết bị mà hoàn toàn không qua bất kỳ một xử lý nào. Thiết bị sẽ lấy dữ liệu, thực hiện xử lý dữ liệu nhận được cho phù hợp với khả năng của nó thông qua việc so khớp với dữ liệu mô tả về bản thân nó được lưu trữ cục bộ trên thiết bị [13].

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

Việc xử lý theo mô hình này có một ưu điểm là yêu cầu của chính người dùng và khả năng của chính thiết bị hiện tại được hiểu một cách nhanh chóng, chính xác và được xử lý trực tiếp.

Tuy nhiên, thiết bị không hề có thông tin cụ thể về dữ liệu nhận được, nó không hiểu về dữ liệu nhận được, vì vậy các chiến lược tùy biến nội dung là vô cùng phức tạp. Việc xử lý ở đây cũng gặp giới hạn về băng thông, đồng thời phải đối mặt với hạn chế về khả năng xử lý của thiết bị phía người dùng.

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

Giải pháp xử lý tại phía server cũng được đề cập đến, với mong muốn tận dụng được ưu điểm hạ tầng tốt và khả năng hiểu biết về cấu trúc và định dạng dữ liệu gốc của máy chủ. Các thiết bị gửi các yêu cầu dịch vụ cho máy chủ, ngoài các thông tin yêu cầu dịch vụ, thiết bị gửi kèm thông tin mô tả khả năng của nó và sở thích của người dùng. Máy chủ tiến hành truy vấn tạo ra nội dung thiết bị yêu cầu, đồng thời phân tích nội dung thông tin mô tả khả năng thiết bị và sở thích người dùng. Từ đó, thực hiện các xử lý cần thiết, đưa nội dung ban đầu về dạng phù hợp với thiết bị, sau đó gửi trả kết quả về cho thiết bị.

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

Tuy nhiên thực tế cho thấy việc xử lý tương thích ngay tại Server cũng gặp phải những nhược điểm như sau:

 Không linh hoạt để phù hợp với nhiều yêu cầu của nhiều client

 Khi số lượng Client quá lớn thì Server phải làm quá nhiều việc, rất dễ xảy ra quá tải, sẽ ảnh hưởng lớn đến hoạt động của nhiều ứng dụng khác nhau, độ an toàn của hệ thống bị đe dọa nghiêm trọng

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

Để khắc phục những vẫn đề đã nêu ra với hai mô hình trên, người ta đã nghĩ đến việc xây dựng mô hình xử lý trung gian phía Proxy, bằng cách đưa một phần hoặc tất cả các xử lý về máy chủ Proxy (Proxy Server).

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

Với sự kết hợp như vậy, sẽ đáp ứng được các mục tiêu:  Giảm tải xử lý của Server

 Giảm tải đường truyền

 Kết quả trả về phù hợp với mong đợi của client

Tuy nhiên việc xây dựng được một hệ thống Proxy Server xử lý một cách linh hoạt và hiệu quả đến nay vẫn là một bài toán không đơn giản. Đã có nhiều đề xuất mô hình được đưa ra nhằm thực hiện mục đích này, tuy nhiên mỗi mô hình lại có những ưu, nhược điểm khác nhau, và chưa có được mô hình hoàn thiện.

Chúng ta sẽ đánh giá hai loại Proxy chuyển mã dữ liệu đã được thực thi trên ý tưởng của mô hình xử lý dữ liệu tại Proxy là: Proxy chuyển mã cố định (Fixed Transcoding Proxy) và Proxy chuyển mã theo kinh nghiệm (Heuristic Transcoding Proxy).

a. Proxy chuyển mã cố định

Proxy chuyển mã cố định (Fixed Transcoding Proxy) 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 Proxy chuyển mã loại này là bộ chuyển đổi HTML-WML [6]. Các ưu điểm của loại Proxy Server này là tính đơn giản trong cấu trúc và sức mạnh của hệ thống.

Tuy nhiên, hệ thống Proxy 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 dạng từ nhiều kiểu thiết bị client khác nhau.

b. Proxy chuyển mã mang tính kinh nghiệm

Proxy chuyển mã mang tính kinh nghiệm (Heuristic Transcoding Proxy) có khả năng đọc được hiện trạng về khả năng từ thiết bị client và cố gắng biến đổi nội dung theo khả năng của thiết bị [2][8].

Tuy nhiên, do Proxy không thể xác định đượ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. Hơn nữa, phương pháp giải quyết theo kinh nghiệm (heuristics) 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. Mặc dù các nhà nghiên cứu gần đây đã đề xuất nhiều phương pháp heuristics khác nhau [9], những heuristics này vẫn bị mất mát thông tin quan trọng hoặc mất đi cơ hội chuyển mã tốt hơn.

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

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

Máy chủ Proxy sử dụng Tác tử (Agent Proxy Server) được nghiên cứu và đề

xuất xây dựng dựa trên mong muốn cung cấp một hệ thống xử lý tầng trung gian đa năng, hỗ trợ nhiều loại dữ liệu và giao thức khác nhau, nhằm mục đích cung cấp dữ liệu trả về cho các máy khách một cách phù hợp với khả năng của thiết bị cũng như các ưu tiên mà thiết bị muốn. Được xây dựng trên ý tưởng kết hợp những tính ưu việt của công nghệ hướng tác tử và máy chủ Proxy (đã được trình bày ở chương 3), hệ thống Proxy này được thiết kế như một bộ chứa tác tử phần mềm cùng loại, kết

hợp với các hệ chức năng xử lý chuyên biệt giúp nâng cao hiệu quả và tính linh hoạt trong quá trình xử lý.

Hình dưới trình bày một cách chi tiết kiến trúc của hệ thống Agent Proxy Server.

Máy chủ Proxy

1. Yêu cầu ban đầu

11. Kết quả đã xử lý Bộ quản lý thực thi 4. Agent Dịch vụ Bộ QL DL đã xử lý CSDL Cache DP & UP Mạng IP Máy chủ Agent Bộ quản lý Agent 4. C ác A ge nt x ử lý Bộ xử lý DP & UP 2.thông tin DP&UP Bộ chứa Agent Máy chủ được yêu cầu

Các thiết bị Client MT cá nhân MT xách tay Di động - Mô tả thiết bị (DP) - Sở thích người dùng (UP) CSDL Cache DL xử lý Agent xử lý 1 Agent xử lý N 9.N 9.1 B ộ qu ản lý T iế p nh ận

7. Yêu cầu Dữ liệu ban đầu

8.Kế t quả ban đầu 3.Thông tin chọn agent 5. T ìm k iế m 10 . D L đã x ử lý 6. trao đổi thông tin xử lý

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

Một máy khách sẽ kết nối tới hệ thống Máy chủ Proxy như những hệ thống Proxy thông thường khác, và Proxy Server sẽ hoạt động một cách trong suốt với ngƣời dùng. Khi người dùng có một yêu cầu bất kỳ, sẽ gửi yêu cầu thông qua các loại trình duyệt hoặc ứng dụng web, và yêu cầu này sẽ được chuyển tới Máy chủ Proxy. Ở đây sẽ xử lý trung gian trước khi chuyển yêu cầu truy vấn dữ liệu tới các máy chủ cung cấp nội dung (Original Server) cũng như trước khi trả kết quả về cho người dùng. Việc xử lý trung gian dựa trên thông tin về Khả năng thiết bị và Sở thích của người dùng, thông tin này sẽ được gửi lên Proxy Server theo luồng thông tin yêu cầu dưới một định dạng chuẩn. Có nhiều phương pháp mô tả thiết bị khác nhau, trong đó CC/PP (Composite Capabilities/ Preferences Profile) là một chuẩn do W3C cung cấp và sẽ được sử dụng trong phần xây dựng thực nghiệm cho kiến trúc này.

Dựa vào Mô tả khả năng thiết bị và các thông tin liên quan được gửi lên, cùng gói tin yêu cầu, Bộ quản lý tiếp nhận sẽ xác định được loại giao thức và dữ liệu cần xử lý để đáp ứng yêu cầu từ phía người dùng. Khi đó, nó sẽ gửi yêu cầu tìm

kiếm tới Bộ quản lý tác tử để xác định được các tác tử phần mềm (software agent)

phù hợp để thực hiện việc xử lý. Thông thường các tác tử phần mềm này được lưu trong Agent Store của Proxy Server để việc xử lý được nhanh chóng và thuận tiện. Khi hệ thống Agent Proxy Server cần xử lý một loại dữ liệu hoặc giao thức không được biết trước, proxy sẽ tự động tải các tác tử phần mềm (software agent) phù hợp từ Internet về theo các chỉ dẫn được xác định trong các mô tả được gửi kèm với yêu cầu dịch vụ của thiết bị.

Theo sự khác nhau trong tính năng, các tác tử phần mềm (software agents) trong hệ thống này được chia thành 2 loại chính: Tác tử Dịch vụ (Service agent) và

Tác tử xử lý (processing agent).

Tác tử Dịch vụ (Service agent) trong framework này được sử dụng để tóm

lược các đặc điểm chi tiết giao thức. Với Tác tử dịch vụ, chúng ta có thể dễ dàng áp dụng công nghệ chuyển mã cho nhiều giao thức trình ứng dụng Internet hiện có hoặc tương lai. Ví dụ, để chuyển mã giao thức HTTP, chúng tôi sẽ chỉ thị hệ thống proxy để giao việc cho một “HTTP Service agent”. Để chuyển mã giao thức POP3, chỉ thị hệ thống proxy giao việc cho một “POP3 Service agent”. Người dùng có thể chỉ thị động cho proxy để tải Tác tử Dịch vụ được yêu cầu về, để mở rộng tính năng của hệ thống proxy, và để chuyển mã giao thức mà Tác tử Dịch vụ hiểu được.

Tác tử xử lý (Processing agent) trong Agent Proxy Server chịu trách nhiệm xử

lý các dữ liệu cho phù hợp với khả năng và sở thích của thiết bị cuối. Việc xử lý được thực hiện dựa trên yêu cầu cụ thể về truy vấn dữ liệu của người dùng, như: chuyển mã dữ liệu, lọc kết quả tìm kiếm phù hợp... Việc chuyển mã nội dung cụ thể là từ một loại nội dung MIME [1] này sang loại nội dung MIME khác hoặc sang cùng loại MIME với chất lượng giảm đi. Về cơ bản, processing agent thực hiện chức năng như một bộ lọc của dữ liệu vào, và nhiều processing agents có khả năng kết hợp với processing agent khác để hoàn thành được nhiệm vụ xử lý trung gian cho nhiều yêu cầu đồng thời khác nhau.

Xét theo khía cạnh mục đích xử lý, các Processing agents trong Agent Proxy Server có thể được phân chia thành các loại như sau:

Tác tử tìm kiếm (Searching Agent): Tác tử phần mềm phục vụ việc xử

lý và lọc các kết quả tìm kiếm cho phù hợp với khả năng và sở thích của thiết bị

Tác tử chuyển mã (Transcoding Agent): Tác tử phần mềm phục vụ

chuyển mã dữ liệu cũng nhằm mục đích cung cấp thông tin trả về có định dạng phù hợp với khả năng của thiết bị

Sau khi xác định được các Tác tử phần mềm để xử lý, đồng thời xác định rõ yêu cầu từ phía người dùng, Proxy Server kiểm tra trong hệ thống Processing Cache Database để tìm kiếm dữ liệu phù hợp. Nếu có thì sẽ trả ngay kết quả về cho người dùng. Nếu không có mới tiếp tục quá trình truy vấn và xử lý dữ liệu từ máy

Một phần của tài liệu (LUẬN văn THẠC sĩ) 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 (Trang 53)

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

(86 trang)