Môi trường tác tử di động trên JXTA

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu triển khai công nghệ tác tử di động trên cơ sở hạ tầng mạng ngang hàng JXTA luận văn ths công nghệ thông tin 1 01 10 (Trang 55 - 59)

Chương 4 TRIỂN KHAI TÁC TỬ DI ĐỘNG TRÊN NỀN JXTA

4.3 Môi trường tác tử di động trên JXTA

Chương này trình bày về môi trường tác tử di động trên JXTA [41], gồm các mô tả giao thức tác tử di động, môi trường thực hiện và một số tác tử di động. Chương này cũng trình bày phần sửa đổi và bổ sung các module trích rút thông tin và download tài liệu.

4.3.1 Giao thức tác tử di động đơn giản

Hiện nay, có nhiều giao thức tác tử di động nhưng trong [41], nhóm tác giả đã lựa chọn cách xây dựng mới giao thức JXTA Simple Mobile Agent Protocol (SMAP) vì các lý do sau:

- Xây dựng tác tử di động trên mạng ngang hàng chứ không như các giao thức tác tử di động được xây dựng trên mạng client/server trước đây.

- Sử dụng những ưu điểm của bộ giao thức JXTA (như đã trình bày ở chương 3).

Theo cách tiếp cận này, có thể sử dụng được các đặc tính linh hoạt, di động mà các giao thức JXTA cung cấp trong mạng ngang hàng.

- Chủ động trong kiểm soát tác tử di động, dễ dàng thiết đặt các trạng thái của tác tử di động.

- Dễ dàng tạo các nguyên mẫu để kiểm tra các thử nghiệm, tìm ra các điểm mạnh, điểm yếu trên hệ thống mạng ngang hàng.

Trước khi đi vào chi tiết SMAP, cùng xem quá trình từ khi khởi tạo một tác tử di động cho đến khi chúng quay trở về.

(LUAN.van.THAC.si).nghien.cuu.trien.khai.cong.nghe.tac.tu.di.dong.tren.co.so.ha.tang.mang.ngang.hang.JXTA.luan.van.ths.cong.nghe.thong.tin.1.01.10(LUAN.van.THAC.si).nghien.cuu.trien.khai.cong.nghe.tac.tu.di.dong.tren.co.so.ha.tang.mang.ngang.hang.JXTA.luan.van.ths.cong.nghe.thong.tin.1.01.10(LUAN.van.THAC.si).nghien.cuu.trien.khai.cong.nghe.tac.tu.di.dong.tren.co.so.ha.tang.mang.ngang.hang.JXTA.luan.van.ths.cong.nghe.thong.tin.1.01.10(LUAN.van.THAC.si).nghien.cuu.trien.khai.cong.nghe.tac.tu.di.dong.tren.co.so.ha.tang.mang.ngang.hang.JXTA.luan.van.ths.cong.nghe.thong.tin.1.01.10

51 4.3.1.1 Hành trình của tác tử di động

Bước đầu tiên chuẩn bị là tạo một thông cáo ống dẫn để mô tả kênh truyền thông của ống dẫn nội bộ, ống dẫn này dùng để nhận các tác tử di động. Tên của thông cáo ống dẫn là tên của môi trường thực hiện và có kiểu là unicast. Để có thể liên lạc với điểm nút khác trong cùng nhóm, thông cáo ống dẫn được quảng bá thông qua dịch vụ phát hiện. Môi trường thực hiện được khởi tạo để nghe các sự kiện liên quan tới ống dẫn mà tác tử di động đi tới.

Tiếp theo chương trình tạo một thông báo SMAP chứa các thành phần như: tên ống dẫn, hành trình và lớp Java (chứa mã chương trình cần thực hiện). Hành trình là danh sách các môi trường thực hiện. Danh sách này có thể tĩnh hoặc được sinh ra trong quá trình di chuyển hoặc là sự phối hợp cả hai.

Tại thời điểm khởi tạo, môi trường thực hiện sẽ kiểm tra việc kết nối tới các thành viên trong hành trình, tác tử sẽ được gửi tới thành viên kết nối thành công đầu tiên.

Quá trình này được tiếp tục cho đến khi kết thúc hành trình hoặc đã thực hiện xong tác tử, nếu rơi vào trường hợp này, tác tử sẽ được gửi trả về điểm nút đã khởi tạo nó. Sau khi tác tử trở về, hành trình ban đầu có thể được đánh giá lại. Hình 4-1 mô tả lại quá trình này:

Hình 4-1 Tác tử và hành trình

Mỗi thành viên trong hành trình đều được gán một thời gian sống (time-to-live: TTL).

TTL là một số nguyên bị giảm sau mỗi lần thử kết nối từ thành viên hiện tại tới thành viên tiếp theo trong hành trình. Nếu số đếm này giảm về không thì thành viên tiếp theo này bị loại khỏi hành trình. Tại bất kỳ bước nào, nếu hành trình khác trống, đều có sự kiểm tra kết nối tới các thành viên trong hành trình. Nếu tất cả đều bị lỗi, việc kiểm tra sẽ được thực hiện với thành viên khởi tạo ban đầu. Nếu vẫn còn lỗi, điểm nút sẽ hủy tác tử.

4.3.1.2 Định dạng thông báo giao thức tác tử di động đơn giản

Bảng 4-1 mô tả các thành phần thông báo trong giao thức SMAP, trong đó chúng tôi bổ sung thành phần JXAgentFile (đánh dấu *) nhằm mục đích nhận được một tệp dữ liệu nhị phân do tác tử nhận được.

Bảng 4-1 Định dạng thông báo SMAP

Tên Mô t JXAgentHome Tên của ống dẫn khởi tạo

JXAgentLaunchName Định danh tác tử duy nhất. Tên này phụ thuộc vào hệ thống và dùng nó để duy trì danh sách các tác tử đã được khởi tạo

JXAgentFrom Tên của ống dẫn tác tử hiện thời JXAgentTo Tên của ống dẫn tác tử đích JXAgentRendezvous Tên của ống dẫn trung chuyển JXAgentDynamicItinerary Hành trình còn lại

JXAgentClass Lớp tác tử di động, có dạng byte codes JXAgentClassName Tên của lớp tác tử di động

JXAgentFile* Chứa dữ liệu dạng nhị phân, là kết quả tệp nhận được khi tác tử thực hiện trích rút thông tin

JXAgentParameters Tập các tham số truyền cho tác tử di động. Danh sách tham số có dạng đối số của http:

<http arg list>:= arg 1 =v 1 &arg 2 =v 2 &…&arg n =v n .

JXAgentResults Kết quả trả về là chuỗi các dòng L i i=1, …,n L i có dạng:

<http arg list><LF>

JXAgentVisitedList Danh sách tên các điểm nút đã được thăm.

JXAgentError Lỗi trả về

4.3.2 Mô tả hệ thống tác tử di động

Phần này trình bày môi trường tác tử di động nhóm tác giả [41] đã thiết kế, đồng thời bổ sung các module: trích rút thông tin ( WebExtraction ), tác tử di động trích rút thông tin ( getExtraction ), tác tử di động nhận tệp ( getFile )

Hình 4-2 mô tả các lớp cơ bản trong hệ thống tác tử di động. Các lớp chính agentClient, AgentService, AgentListener thiết lập môi trường hoạt động của tác tử. Lớp agentClient cung cấp các chức năng về khởi tạo môi trường và giao diện. Lớp AgentService cung cấp khả năng khởi tạo, chạy và gửi các tác tử

(LUAN.van.THAC.si).nghien.cuu.trien.khai.cong.nghe.tac.tu.di.dong.tren.co.so.ha.tang.mang.ngang.hang.JXTA.luan.van.ths.cong.nghe.thong.tin.1.01.10(LUAN.van.THAC.si).nghien.cuu.trien.khai.cong.nghe.tac.tu.di.dong.tren.co.so.ha.tang.mang.ngang.hang.JXTA.luan.van.ths.cong.nghe.thong.tin.1.01.10(LUAN.van.THAC.si).nghien.cuu.trien.khai.cong.nghe.tac.tu.di.dong.tren.co.so.ha.tang.mang.ngang.hang.JXTA.luan.van.ths.cong.nghe.thong.tin.1.01.10(LUAN.van.THAC.si).nghien.cuu.trien.khai.cong.nghe.tac.tu.di.dong.tren.co.so.ha.tang.mang.ngang.hang.JXTA.luan.van.ths.cong.nghe.thong.tin.1.01.10

53 di động. Lớp AgentListener với các chức năng thường trực để nhận biết được khi tác tử di động di chuyển tới. Ngoài ra lớp WebExtraction giúp cho trích rút thông tin về tên tài liệu và địa chỉ tài liệu từ một trang HTML.

Hình 4-2 Biểu đồ mô tả quan hệ giữa các lớp trong hệ thống tác tử di động

+AgentListener() -doResult() : String +pipeMsgEvent() -routeAgent() +run() -runAgent() +sendMessage() -agentID : int

AgentListener

+AgentService() +acceptAgentResults() +launchAgent() -sendAgent()

-activeAgents : Hashtable -agentID : int

-currentGroupName : String -discovery

AgentService

+agentOpen() +launchAgent() +main()

agentClient +accepAgentResults()

ôinterfaceằ

AgentEventResponder

+WebExtraction() -findPDU() -parseHTML() -createTokens() : String

+doWebExtraction(inout PDUList : Vector) -HtmlReader : Reader

-nContentLine : String[]

WebExtraction +start()

ôinterfaceằ

JavaMobileAgent

+start() getExtraction

+start() getFile

+Binary() +changeSize() +setBytes() +getBytes() +getSize() -size : int -bytes : byte

Binary

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu triển khai công nghệ tác tử di động trên cơ sở hạ tầng mạng ngang hàng JXTA luận văn ths công nghệ thông tin 1 01 10 (Trang 55 - 59)

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

(77 trang)