.5 Biểu đồ của proxy chuyển mã cố định

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 59)

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 chủ dữ liệu ban đầu (Original Server) theo yêu cầu và khả năng của thiết bị.

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

Quy trình xử lý từ khi tiếp nhận yêu cầu của các thiết bị người dùng, đến khi trả lại kết quả phù hợp cho các thiết bị đó của hệ thống Proxy được thực hiện từng bước cụ thể đã được đánh số chi tiết trên mô hình kiến trúc hệ thống như sau:

1. Khi tiếp nhận Yêu cầu được gửi từ thiết bị Client lên, Bộ quản lý Tiếp nhận sẽ phân tích các gói tin nhận được và xác định thông tin chi tiết về giao thức và dữ liệu cần xử lý để đáp ứng yêu cầu từ phía người dùng.

2. Bộ quản lý Tiếp nhận sẽ gửi các thông tin về Mô tả khả năng thiết bị tới Bộ

xử lý DP & UP (Bộ xử lý Khả năng thiết bị và Sở thích người dùng). Bộ

phận này có trách nhiệm phân tích và tìm kiếm thông tin tương ứng của thiết bị xem đã có trong Cơ sở dữ liệu lưu trữ thông tin DP & UP chưa. Nếu đã có thì sẽ lấy ra để phục vụ cho việc xử lý dữ liệu. Nếu chưa có thì sẽ phân tích và cập nật thông tin mô tả mới vào CSDL lưu Cache thông tin Khả năng thiết bị và sở thích người dùng.

3. Bộ quản lý Tiếp nhận cũng đồng thời gửi các thông tin về giao thức, thông tin Khả năng, Sở thích của thiết bị tới Bộ quản lý Agent để bộ phận này

phân tích và xác định các Agent, bao gồm cả Tác tử Dịch vụ và các Tác tử xử lý. Các tác tử này thông thường được lưu trữ trong Bộ chứa Agent. Nếu là các tác tử mới thì sẽ phải download về từ Máy chủ Agent qua mạng Internet, với điều kiện Agent đó đã được tạo và lưu trên máy chủ Agent. Thông tin để tải lúc này được gửi kèm với thông tin về khả năng thiết bị 4. Bộ quản lý Agent gửi lại thông tin Tác tử dịch vụ cho Bộ quản lý tiếp nhận

5. Bộ quản lý Tiếp nhận sau đó gửi các thông tin yêu cầu của máy khách tới Bộ quản lý thực thi, và Bộ phận này phân tích các yêu cầu và nhờ Bộ quản

lý Dữ liệu đã xử lý kiểm tra xem có thông tin phù hợp không.

6. Bộ quản lý thực thi sẽ gửi kết quả trả về Bộ quản lý Tiếp nhận

a. Nếu có dữ liệu phù hợp: gửi dữ liệu về Bộ quản lý tiếp nhận. Ở đây sẽ sử dụng Tác tử dịch vụ để xử lý các vấn đề liên quan đến dịch vụ, giao thức, và gửi kết quả trả về cho người dùng. Đến đây chuyển sang bước 11 và chấm dứt quá trình xử lý mà không cần thực hiện truy vấn dữ liệu tới Máy chủ cung cấp nội dung nữa.

b. Nếu không có: gửi thông báo lại phía bộ phận tiếp nhận để chuyển sang bước 7.

7. Proxy sẽ chuyển tiếp yêu cầu từ phía người dùng, qua mạng Internet để truy vấn dữ liệu từ máy chủ cung cấp nội dung.

8. Máy chủ sẽ gửi về các kết quả dữ liệu ban đầu, và Bộ quản lý thực thi sẽ tiếp nhận các dữ liệu này để xử lý.

9. Bộ quản lý thực thi sử dụng các Tác tử xử lý đã được xác định từ bước 4, lần lượt thực hiện các xử lý để có được kết quả dữ liệu phù hợp cho máy khách và sở thích của người dùng.

10.Kết quả được đưa vào Bộ quản lý lưu trữ dự liệu đã xử lý, nhằm phục vụ cho những lần truy vấn sau. Đồng thời kết quả được trả về Bộ quản lý tiếp nhận như ở bước 6.b

11.Bộ xử lý tiếp nhận sử dụng Tác tử dịch vụ để đóng gói luồng dữ liệu đã xử lý và xác định các giao thức truyền tải, sau đó gửi về cho máy khách, kết thúc quá trình xử lý của hệ thống máy chủ Proxy.

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

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

Bộ quản lý thực thi (Processing Manager) là bộ phận quản lý hành vi của máy

chủ Proxy sử dụng tác tử (Agent Proxy Server). Khi các yêu cầu dịch vụ từ phía Máy khách gửi lên, đi qua Agent Proxy Server, Agent Proxy Server sẽ dựa trên các thông tin thiết bị và các thông tin thu được qua xử lý, để xác định việc sử dụng các tác tử phần mềm tương ứng.

 Đọc Hồ sơ về khả năng và sở thích của thiết bị (CC/PP) để xác định Tác tử tiếp nhận và các tham số xử lý.

 Phân tích Service Request, nhằm xác định cụ thể loại yêu cầu (Tìm kiếm/chuyển mã…) để xác định Processing Agent

o Nếu yêu cầu dịch vụ là một yêu cầu tìm kiếm, Processing Manager sẽ chỉ định loại Searching Agent, nhằm thực hiện việc lọc kết quả tìm kiếm.

o Nếu yêu cầu dịch vụ là một yêu cầu dữ liệu, Processing Manager sẽ chỉ định loại Transcoding Agent, để xử lý dữ liệu ban đầu, nhằm cung cấp nội dung phù hợp cho người dùng.

 Thực thi yêu cầu, trả về kết quả mà người dùng mong đợi.

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

Trong kiến trúc đề xuất, một agent là một đoạn mã bytecodes của Java. Nhằm mục đích phục vụ được nhiều Agent Proxy Servers được cài đặt ở nhiều hệ thống mạng khác nhau, chúng tôi thiết kế mô hình một máy chủ Agent Server trên mạng Internet là nơi lưu trữ mọi Tác tử phần mềm (bao gồm cả Tác tử xử lý và Tác tử dịch vụ.) Khi hệ thống Proxy Server phát sinh nhu cầu có thể download các Agent về từ Agent Server để cung cấp sự mở rộng và nâng cấp tính năng của Proxy xử lý trung gian ban đầu. Một máy ảo Java (JVM - Java virtual machine) cung cấp một môi trường an toàn và cách ly giữa các software agents khác nhau. Đây là lý do của việc lựa chọn Java làm ngôn ngữ cài đặt của chúng tôi.

Các lớp agent trong kiến trúc hệ thống Agent Proxy Server bao gồm các lớp như: BasicAgent, ProcessingAgent, SearchingAgent, TranscodingAgent, và ServiceAgent. Một Tác tử Dịch vụ mới có thể được tạo ra bằng cách kế thừa đơn giản lớp ServiceAgent. Nó định nghĩa hành vi căn bản của các software agents trong Agent Proxy Server, và không thể sử dụng trực tiếp được.

Mỗi lớp Agent sẽ cung cấp các phương thức xử lý khác nhau phục vụ cho mục đích xử lý tương ứng của từng loại agent. Giả sử khi một agent được tải về từ Internet hoặc từ ổ đĩa cục bộ (Agent Store trên Proxy Server), hệ thống Proxy sử dụng phương thức onBorn() để kích hoạt agent. Phương thức onService() sẽ cho phép agent cung cấp các dịch vụ, doTranscode() hoặc doSearching() sẽ thực hiện việc chuyển mã hoặc tìm kiếm. Phương thức onLeave() được gọi khi một agent

chuẩn bị được tháo khỏi bộ nhớ. Phương thức getCacheCate() được sử dụng cho việc quản lý lưu cache dữ liệu sau khi đã xử lý, phục vụ cho các lần xử lý sau.

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

Bộ quản lý tác tử (Agent Manager) giúp quản lý việc tìm kiếm và sử dụng

Agent cho quá trình xử lý của hệ thống. Với nhiều hệ thống Agent Proxy Server được cài đặt, thì việc sử dụng một server chung trên Internet, cung cấp các Agent là hữu ích và tiết kiệm.

Khi một hệ thống Agent Proxy Server cần sử dụng các Agent, nó sẽ được cung cấp URL tương ứng để xác định địa chỉ cụ thể và có thể tải các Agent cần thiết về hệ thống của mình.

Bộ chứa tác tử (Agent Store) chính là nơi được cung cấp để lưu trữ các Agent

thường xuyên được sử dụng của hệ thống Agent Proxy Server hiện tại nhằm giúp tìm kiếm tác tử phù hợp cũng như việc xử lý được nhanh chóng và thuận tiện.

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

Bộ xử lý DP & UP (Device Profile & User Preference Processing) là bộ phận

phân tích và xử lý hồ sơ Mô tả khả năng thiết bị và Sở thích của người dùng được gửi đến từ máy khách. Sau khi phân tích, sẽ chỉ ra được các đặc tính về phần cứng, phần mềm, cũng như khả năng truy cập mạng… của thiết bị. Từ thông tin này giúp hệ thống lựa chọn các Tác tử xử lý tương ứng, và các giao thức phù hợp cho việc xử lý dữ liệu trả về.

Hệ thống Agent Proxy Server được thiết kế để cho phép thực hiện lưu cache các thông tin Mô tả khả năng thiết bị thông qua Bộ lưu trữ thông tin khả năng thiết bị (Device Profile Cache Database), nhờ đó, với những thiết bị đã từng gửi

yêu cầu xử lý lên Agent Proxy Server, hệ thống sẽ không cần phải phân tích Mô tả khả năng của thiết bị đó nhiều lần. Chỉ khi có sự cập nhật từ phía thiết bị hoặc nhà cung cấp thiết bị, thì hệ thống mới phải thực hiện lại việc phân tích. Việc lưu cache

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 59)

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

(86 trang)