Nghiên cứu cải tiến, áp dụng cây tìm kiếm tam phân để lưu trữ và tìm kiếm vị từ cho kỹ thuật chuyển tiếp thông điệp trong định tuyến hướng dịch vụ
Nghiên cứu cải tiến, áp dụng cây tìm kiếm tam phân để lưu trữ và tìm kiếm vị từNghiên cứu cải tiến, áp dụng cây tìm kiếm tam phân để lưu trữ và tìm kiếm vị từ cho kỹ thuật chuyển tiếp thông điệp trong định tuyến hướng dịch vụNguyen Thanh LongInformatic Center of Ha noi Telecommunications75 Dinh Tien Hoang, Hoan Kiem, Ha Noi, Viet Namlongptpm@vnpt-hanoi.com.vnNguyen Duc ThuyResearch Institute of Posts and Telecommunications122 Hoang Quoc Viet, Nghia Tan, Cau Giay, Hanoi, Viet Namthuynd@ptit.edu.vnPham Huy Hoang Hanoi University of Science and Technology1 Dai Co Viet Road, Hanoi, Viet Namhoangph@soict.hut.edu.vn__________________________________________________________________________________________Tóm tắtMANET là viết tắt của Mobile Ad Hoc Network bao gồm 1 tập các node mạng di động, cấu hình mạng thay đổi rất nhanh. Mỗi node phải thực hiện như 1 bộ định tuyến để duy trì hoạt động của mạng. Không có node trung tâm điều khiển hoạt động toàn bộ mạng. Không có một nền tảng có sẵn nào, các node mạng phải tự liên kết với nhau, hình thành cấu trúc mạng tự động. Do vậy việc định tuyến trong MANET là một việc quan trọng.Trong định tuyến hướng nội dung, dữ liệu được truyền từ node nguồn đến tập các node có yêu cầu không dựa trên địa chỉ node nhận. Việc trao đổi dữ liệu có thể được thực hiện không trực tiếp giữa bên nhận và bên truyền. Vì vậy việc trao đổi dữ liệu mềm dẻo và tin cậy hơn kiểu truyền dữ liệu truyền thống. Mô hình Publish/Subscription (P/S) là kiểu tương tác không đồng bộ được thực hiện trong các hệ thống định tuyến dựa trên nội dung [3].Định tuyến hướng dịch vụ được xây dựng trên cơ sở kế thừa từ mô hình định tuyến hướng nội dung [3, 4], được kết hợp với 1 số kỹ thuật quan trọng như đa truyền phát (Multicast) để tăng tốc độ truyền, giảm tải cho mạng, mã hoá dữ liệu đảm bảo an toàn. Kết hợp với đảm bảo chất lượng dịch vụ (QoS) như băng thông, độ trễ để phục vụ cho các ứng dụng quan trọng như Multimedia, ứng dụng trực tuyến, .Để truyền dữ liệu hiệu quả và nhanhyêu cầu việc lưu trữ các địa chỉ theo nội dung một cách khoa học, giúp cho việc tìm kiếm nhanh và giảm không gian lưu trữ. Trong bài viết này phân tích để cải tiến kỹ thuật lưu trữ và tìm kiếm vị từ dựa trên cây tìm kiếm tam phân và nhị phân.__________________________________________________________________________________________ Nghiên cứu cải tiến, áp dụng cây tìm kiếm tam phân để lưu trữ và tìm kiếm vị từKeywords – Ad hoc network, MANET, ternary, search, tree, routing, service, content, binary, predicate, address.1. Giới thiệuMô hình Publish/Subscription (viết tắt P/S) là mô hình tương tác không đồng bộ trong định tuyến theo nội dung [3].Hình 1: Mô hình mạng định tuyến hướng dịch vụ.Như một số các giao thức định tuyến theo nội dung chuẩn [3, 4], khi 1 node đưa nội dung lên mạng sử dụng giao thức chuẩnBroadcast. Nội dung đưa lên từ các node cung cấp sẽ được lưu trữ trên tất cả các bộ định tuyến trên mạng. Khi 1 node có yêu cầu nhận nội dungnào đó, sẽ hình thành thông điệp yêu cầu (subscription message) rồi gửi lên mạng bằng giao thức broadcast, không cần biết trước nội dung yêu cầu được lưu ở đâu trên mạng. Khi 1 node nào đó trên mạng nhận được thông điệp yêu cầu nó sẽ so sánh các yêu cầu nhận được với nội dung được gửi đến từ các node khác và của chính node hiện tại. Nếu thấy phù hợp thì nội dung phù hợp sẽ được gửi về node nhận. Hoặc mạng có thể hoạt động theo mô hình, khi các node đưa các yêu cầu tìm kiếm nội dung lên mạng theo giao thức broadcast, các yêu cầu này sẽ được lưu trữ tại mọi node trên mạng. Khi một node có 1 nội dung cần publish lên mạng, tại mỗi node nhận được sẽ kiểm tra xem có các node nào có yêu cầu sẽ gửi nội dung này cho các node đó.Mỗi node mạng có thểđảm nhận cùng 1 lúc các vai trò: cung cấp nội dung, phân phát nội dung, nhận nội dung. Hiện tại có nhiều giao thức định tuyến đã được áp dụng cho MANET như OLSR, CBR, DSR, DSDV, AODV, ODMRP, … trong đó có cả định tuyến theo nội dung.2. Cấu trúc của các loại thông điệp trong mạng SBRHình 2: Mô hình truyền thông điệp trong mạng định tuyến hướng dịch vụ.2.1.Giới thiệu các loại thông điệp[3,4,6]1. Cặp thông điệp subscription/unsubscription: dùng để đăng ký/ huỷ đăng ký yêu cầu tìm kiếm nội dung từ 1 node của mạng.2. Thông điệp content: cung cấp nội dung của node lên mạng.3. Thông điệp quảng bá nội dung: quảng bá nội dung node, hướng các yêu cầu từ các node đến các node cung cấp nội dung phù hợp. Tránh làm tràn các yêu cầu ra toàn mạng. Khi 1 node quảng bá nội dung của nó sử dụng giao thức broadcast, nội dung này được lưu trữ tại tất cả các node trong mạng. Khi 1 thông điệp yêu cầu xuất hiện trong mạng, tại node nhận được thông điệp sẽ kiểm tra thông điệp xem có phù hợp với nội dung công bố của nó. Nếu đúng nội dung phù hợp sẽ được gửi đến node có yêu cầu. Nếu không, nó sẽ so sánh với các thông điệp quảng bá nội dung được cache trên node. Rồi thông điệp yêu cầu này sẽ được truyền đến tập các node có thông tin cung cấp phù hợp. Vì vậy ta sẽ phải tạo cây multicast từ node yêu cầu đến tập các node có nội dung phù hợp để giảm trễ và tải cho mạng.4. Cặp thông điệp update request và reply sender: để duy trì bảng định tuyến của giao thức định tuyến theo nội dung. Bởi việc sử dụng cây MST (Minimum Spanning Tree, được xây dựng theo thuật toán PRIM) để truyền dữ liệu từ node nguồn đến tập các node đích. Do vậy để duy trì cây multicast này, node nguồn phải định kỳ gửi thông điệp yêu cầu cập nhật đến tập node đích là các node lá của cây. Khi node đích nhận được thông điệp này, nó sẽ tạo ra thông điệp trả lời reply sender bao gồm 1 số thông tin lấy từ thông điệp update request nhận được kết hợp với nội dung bảng định tuyến của node, rồi truyền về node nguồn theo giao thức unicast. Trên đường đi qua các node trung gian, mỗi node trung gian sẽ cập nhật bảng định tuyến được lưu tại node vào nội dung bảng định tuyến của thông điệp rồi chuyển tiếp gói tin về node nguồn. Khi node nguồn nhận được gói tin reply sender, sẽ cập nhật bảng định tuyến theo bảng định tuyến nhận được từ thông điệp.5. Cặp thông điệp route request và route reply: Khi một node của mạng nhận được một thông điệp nội dung từ mạng, node sẽ căn cứ vào bảng định tuyến theo nội dung để tìm tập các node có yêu cầu phù hợp với thông điệp nhận được. Khi đó node sẽ sử dụng cặp thông điệp route request và route reply này để phát hiện các tuyến từ node nguồn đến tập node đích để hình thành cây multicast có đảm bảo các yêu cầu chất lượng dịch vụ để truyền thông điệp nội dung nhận được đến tập các node có yêu cầu phù hợp.Đối với các ứng dụng có yêu cầu tốc độ truyền như multimedia, online transaction, có thể sử dụng các Nghiên cứu cải tiến, áp dụng cây tìm kiếm tam phân để lưu trữ và tìm kiếm vị từthuật toán được trình bày ở phần sau để xây dựng cây multicast có đảm bảo băng thông truyền.2.2. Thông điệp yêu cầu/ huỷ yêu cầu [3,4]:Thông điệp yêu cầu/ hủy yêu cầu được phát ra từ các lớp dịch vụ ứng dụng trên mạng để đăng ký/ huỷ đăng ký các yêu cầu nội dung. Các thông điệp có cấu trúc là: địa chỉ của subscriber và danh sách các ràng buộc trên dịch vụ và nội dung yêu cầu. Trong đó, mỗi ràng buộc là 1 bộ 3 thành phần, có dạng: {key, operator, value}. Ví dụ nội dung của thông điệp đăng ký: [service_class=”Network monitor” Λalert-type=”instrusion” Λseverity>2] hoặc [service_class=”Network monitor” Λclass=”alert” Λdevice-type= “web-server”], 2 thông điệp yêu cầu thuộc lớp dịch vụ Network monitor.a) Cấu trúc thông điệp yêu cầu/ hủy yêu cầuHình 3:Cấu trúcthông điệp yêu cầu.Trong đó:1) Subscriber address là địa chỉ của node yêu cầu.2) Predicate là vị từ tìm kiếm dịch vụ và nội dung : là 1 tập các ràng buộc. Đầu tiên là ràng buộc dịch vụ, tiếp theo là các ràng buộc nội dung.a) Mỗi constraint gồm 3 thành phần: khóa (key), toán tử (operator), giá trị (value).b) Trong đó khóa là một chuỗi ký tự, toán tử thì tuỳ thuộc vào giá trị. c) Nếu giá trị là số thì toán tử là : =, <, >, <=, >=, in; d) Nếu giá trị là chuỗi thì toán tử là : =,<, >, <=, >=, substring (sb), prefix (pf), postfix (ps).e) Nếu toán tử là substring (sb) có thêm 2 tham số kèm theo là chỉ số bắt đầu (start index) và chỉ số kết thúc (stop index) để lấy ra chuỗi cần thiết trong 1 chuỗi giá trị của thuộc tính của thông điệp nội dung để so sánh với chuỗi giá trị của ràng buộc.f) Nếu toán tử prefix (pf) có thêm 1 tham số là số ký tự sẽ được lấy ra trong chuỗi giá trị của thuộc tính để so sánh với chuỗi giá trị của ràng buộc.g) Nếu toán tử là postfix (ps) có thêm 1 tham số là số ký tự sẽ được lấy ra trong chuỗi giá trị của thuộc tính để so sánh với chuỗi giá trị của ràng buộc.2.3. Thông điệp nội dung [3, 4]Thông điệp nội dung được truyền đi từ các máy chủ cung cấp dịch vụ. Các thông điệp này sẽ được truyền lên mạng, rồi sẽ được truyền đến các máy có yêu cầu căn cứ vào subscription message nhận được từ các máy đó.a) Cấu trúc thông điệp nội dungHình 4 :Cấu trúcthông điệp nội dung.Trong đó: 1)Source node address là địa chỉ node sinh ra thông điệp.2)Tiếp theo attribute1, attribute2, …, attributen là các thuộc tính của thông điệp. Thuộc tính đầu tiên attribute1xác định dịch vụ của thông điệp, các thuộc tính còn lại xác định nội dung của thông điệp.b) Các thành phần của thông điệp nội dung:1) Thông điệp nội dung bao gồm địa chỉ node sinh ra thông điệp và 1 tập các thuộc tính (property), mỗi thuộc tính là 1 cặp (tên thuộc tính, giá trị) được ngăn cách nhau bởi dấu “=”. 2) Tên thuộc tính là một chuỗi ký tự.3) Giá trị có thể có kiểu chuỗi ký tự hoặc kiểu số.4) Ví dụ 1 thông điệp nội dung:{node_a, [service_class=”Network monitor”, class=”alert”, severity=6, device-type=”web-server”, alert-type=”hardware failure”]}. 2.4. Thông điệp quảng cáo nội dung [3], [4] Nghiên cứu cải tiến, áp dụng cây tìm kiếm tam phân để lưu trữ và tìm kiếm vị từHình 5:Mô tả quá trình truyền thông điệp advertisement1) Advertisement message là thông điệp quảng bá những nội dung cơ bản mà ứng dụng dịch vụ nào đó cung cấp. Nhằm hướng các yêu cầu đến đúng nơi cung cấp. Ngăn tình trạng lan truyền thông điệp yêu cầu ra toàn mạng.2) Các thông điệp quảng cáo được truyền theo cây khung tối thiểu từ node xuất phát.3) Advertisement message cũng có cấu trúc tương tự thông điệp nội dung, gồm 1 tập các thuộc tính. Như vậy thông điệp nội dung là mở rộng của thông điệp quảng cáo.4) Advertisement message được truyền đi từ các hệ thống cung cấp dịch vụ.2.5. Cặp thông điệp sender request và update reply [3, 4]Sender request message Update reply messageHình 6: Cấu trúc cặp thông điệp sender request và update reply.1) Sender request: yêu cầu từ router, cấu trúc gồm 3 trường. Hai trường sender address và request number xác định tính duy nhất của thông điệp. Timeout xác định thời gian lâu nhất bên gửi đợi nhận trả lời. Thông điệp này được truyền theo cây khung tối thiểu (Minimum Spanning Tree viết tắt là MST) bắt đầu từ router gửi (hình thành theo thuật toán DIJSKTRA và PRIM) đến các router khác trong mạng.2) Khi router lá của cây MST nhận được thông điệp sender request, nó sẽ trả lời bằng thông điệp update reply (UR). Thông điệp gồm có 3 trường, 2 trường đầu lấy từ sender request, trường thứ 3 lưu trữ content based address routing table của nó. Thông điệp UR được lan truyền trở lại router gửi theo giao thức unicast.3) Trên đường đi các router trung gian sẽ kết hợp content based address routing tablecủa nó với của thông điệp và đẩy tiếp về router gửi.4) Khi router gửi nhận được nó cập nhật bảng định tuyến của nó. Kết thúc quá trình thực hiện.3. Các khái niệm và thuật ngữ3.1. Khái niệm bảng chuyển tiếp theo dịch vụa) Mỗi dịch vụ có 1 bảng chuyển tiếp riêng. b) Bảng chuyển tiếp bao gồm các vị từ (predicate) hay còn được gọi là content-based address.c) Bảng chuyển tiếp là liên kết 1-1 giữa Predicate và định danh của các subscriber. d) Predicate là tuyển của các bộ lọc nhận được từ subscriber.e) Thuật toán chuyển tiếp là giải thuật tìm trong bảng chuyển tiếp các filter phù hợp với nội dung thông điệp nhận.f) Bộ lọc (filter) là yêu cầu nội dung (subscription) từ subscriber. Mỗi filter là kết hợp giữa định danh của subscriber và hội của các ràng buộc (constraint).3.2. Kỹ thuật chuyển tiếp thông điệp trong định tuyến hướng dịch vụa) Khái niệm và thuật ngữ:1) Thuật toán chuyển tiếp là giải thuật tìm trong bảng chuyển tiếp các filter phù hợp với nội dung thông điệp nhận.2) Bảng chuyển tiếp là liên kết 1-1 giữa Predicate và định danh của các subscriber. 3) Bộ lọc (filter) là yêu cầu nội dung (subscription) từ subscriber. Mỗi filter là kết hợp giữa định danh của subscriber và hội của các ràng buộc (constraint).4) Predicate là tuyển của các bộ lọc nhận được từ subscriber.5) Bảng chuyển tiếp bao gồm các vị từ hay còn được gọi là content-based address.b)Tìm các node có yêu cầu phù hợpXây dựng cây tìm kiếm:Ta chia các ràng buộc làm 2 loại: loại 1 là các ràng buộc có giá trị là 1 chuỗi ký tự và số, loại 2 là các ràng buộc có giá trị là 1 số. Với các ràng buộc loại 1 sẽ được lưu trữ trong cây tìm kiếm tam phân. Các ràng buộc loại 2 được lưu trữ trong 1 mảng, mỗi Nghiên cứu cải tiến, áp dụng cây tìm kiếm tam phân để lưu trữ và tìm kiếm vị từphần tử mảng là gốc của 1 cây có nhiều nhánh tương ứng với các toán tử sẽ được trình bày ở phần tiếp theo.Tìm kiếm các ràng buộc phù hợp:Khi nhận được thông điệp nội dung từ mạng, hệ thống sẽ duyệt qua các thuộc tính của thông điệp. Với mỗi thuộc tính căn cứ vào giá trị của thuộc tính, rồi tìm kiếm trong cây tìm kiếm tam phân với thuộc tính có giá trị chuỗi. Nếu là thuộc tính có giá trị số: áp dụng tìm kiếm nhị phân trên 1 danh sách.4. Cách lưu trữ vị từ bằng cây tam phân cho ràng buộc có giá trị chuỗi4.1. Tổng quan cây tìm kiếm tam phân1) Cây tìm kiếm tam phân là 1 cấu trúc dữ liệu dạng cây ở đó các node con của 1 cây chuẩn được sắp xếp như 1 cây tìm kiếm nhị phân. Việc tìm kiếm 1 chuỗi trong 1 cây tìm kiếm tam phân bao gồm 1 loạt các bước tìm kiếm nhị phân, mỗi bước cho việc tìm kiếm 1 ký tự trong chuỗi. Ký tự hiện tại trong chuỗi được so sánh với ký tự tại node hiện tại:a) Nếu nhỏ hơn thì tìm kiếm tiếp với node con bên trái.b) Nếu lớn hơn thì tìm kiếm tiếp với node con bên phải.c) Nếu bằng nhau, thì tìm kiếm tiếp với node con giữa và chuyển sang ký tự tiếp theo trong chuỗi.2) Không giống như cây tìm kiếm nhị phân, 1 cây tìm kiếm tam phân có thể cân bằng hoặc không cân bằng, dựa trên thứ tự của các chuỗi được thêm vào cây. Việc tìm kiếm 1 chuỗi độ dài m trong 1 cây tìm kiếm tam phân cân bằng có n chuỗi phải sử dụng m+log2(n) phép so sánh ký tự. Nói cụ thể là, mỗi phép so sánh hoặc là tìm được 1 ký tự trong cây hoặc là chia vùng tìm kiếm ra làm 2 phần.4.2. Cải tiến cây tìm kiếm tam phân để lưu trữ vị từ (địa chỉ theo nội dung)a) Như đã trình bày vị từ bao gồm các ràng buộc (constraint), mỗi ràng buộc là 1 bộ gồm 3 thành phần {key, operator, value}.b) Đối với constraint có giá trị (value) kiểu chuỗi, sẽ được lưu trữ trên cây tìm kiếm tam phân (Ternary Search Tree - TST) có cải tiến. c) Node kết thúc một chuỗi bất kỳ có thể là khoá (key) của ràng buộc lưu con trỏ đến danh sách động các con trỏ, mỗi con trỏ này chỉ đến danh sách động lưu các toán tử, được mô tả trong sơ đồ dưới đây:Hình 7: Cải tiến cây tam phân lưu trữ các vị từ trong bảng chuyển tiếp.d) Giả sử miền giá trị của mỗi key của các ràng buộc là phân biệt.e) Trong trường hợp một key liên quan tới nhiều ràng buộc sẽ tổ chức thành nhóm. Trong đó, các toán tử liên kết với 1 giá trị được đưa vào 1 mảng động, có con trỏ chỉ đến phần tử đầu là List_op_header_i. f) Các con trỏ List_op_header_i này là 1 trong 2 thành phần của các phần tử được lưu trữ trong 1 mảng động. Thành phần thứ 2 của mỗi phần tử là con trỏ chỉ đến node xuất phát của nhánh thuộc cây TST lưu trữ giá trị của ràng buộc. Con trỏ giúp cho việc tìm kiếm tập hợp giá trị của các ràng buộc có key đang xét nhanh hơn.g) Các phần tử lưu trữ toán tử của các ràng buộc có cùng giá trị được lưu trữ trong 1 mảng động. Mỗi phần tử của mảng động có 3 thành phần: op: lưu trữ toán tử; start idx viết tắt của start index: lưu trữ vị trí Nghiên cứu cải tiến, áp dụng cây tìm kiếm tam phân để lưu trữ và tìm kiếm vị từbắt đầu tìm trong chuỗi giá trị của thuộc tính (ví dụ toán tử sb (substring) lưu vị trí bắt đầu và vị trí kết thúc); stop idx lưu trữ vị trí kết thúc tìm trong chuỗi giá trị của thuộc tính.Thuật toán kiểm tra tồn tại và thêm 1 ràng buộc vào cây tìm kiếm, ràng buộc có dạng: {key, op, value}:1) Kiểm tra key có tồn tại trong cây tìm kiếm không. 2) Nếu chưa tồn tại, thêm key vào cây tìm kiếm, tạo danh sách toán tử List_of_operator chỉ có 1 phần tử: List_of_operator_item. Phần tử này lưu trữ con trỏ List_op_header chỉ đến danh sách có 1 phần tử lưu toán tử op của ràng buộc. Node cuối cùng trong cây tìm kiếm thuộc một nhánh biểu diễn key lưu con trỏ chỉ đến List_of_operator.3) Kiểm tra giá trị value của ràng buộc có tồn tại trong cây TST hay không.4) Nếu chưa tồn tại: tạo 1 danh sách động ban đầu có 1 phần tử lưu toán tử với con trỏ List_op_header chỉ đến đầu danh sách này, tạo 1 phần tử List_of_operator_item lưu trữ con trỏ List_op_header và con trỏ đến node xuất phát của giá trị trong cây TST. Thêm List_of_operator_item vào danh sách List_of_operator.5) Nếu tồn tại, lấy con trỏ chỉ đến danh sách các toán tử tương ứng của value. Kiểm tra danh sách toán tử được chỉ đến bởi List_op_header có tồn tại toán tử op của ràng buộc không, nếu chưa thì thêm 1 phần tử mới lưu toán tử và các thông tin liên quan vào danh sách.5. Mô phỏng các kỹ thuật đã trình bàyViết ứng dụng bằng C# trên môi trường .NET 4.0 để thực hiện các số công việc:1. Tạo thông điệp yêu cầu (subscription message).2. Tạo thông điệp nội dung (content message).3. Truyền thông điệp yêu cầu lên mạng sử dụng phương thức truyền broadcast.4. Truyền thông điệp nội dung lên mạng sử dụng phương thức truyền broadcast.5. Khi 1 router nhận được thông điệp yêu cầu sẽ cập nhật bảng chuyển tiếp.6. Lập cây tìm kiếm dựa trên các bảng chuyển tiếp cho các ràng buộc có giá trị chuỗi.7. Lập danh sách tìm kiếm nhị phân cho các ràng buộc có giá trị số.8. Khi 1 router nhận được thông điệp nội dung sẽ tìm trong cây tìm kiếm tam phân và danh sách tìm kiếm nhị phân để lấy ra danh sách các router có yêu cầu. Truyền đến từng router có trong danh sách sử dụng cách truyền unicast.6. Kết luận và hướng nghiên cứu tiếp theoViệc sử dụng cây tìm kiếm tam phân và danh sách tìm kiếm nhị phân rất hiệu quả trong việc lưu trữ, giúp việc tìm kiếm nhanh, chính xác. a) Cây tìm kiếm tam phân có độ phức tạp tính toán là: O(l*(log2(N)+l))+|result| , trong đó l là độ dài dữ liệu đầu vào, N là số chuỗi có trong TST, result là tập kết quả trả về.b) Tìm kiếm nhị phân trên danh sách các số có độ phức tạp là O(log(N)*log(K)), trong đó N là số thuộc tính (key), K là số các giá trị tương ứng của thuộc tính (value).Nghiên cứu 1 số kỹ thuật khác trong việc lưu trữ và tìm kiếmvị từ, như dùng hàm băm. Thực hiện hàm băm toàn bộ các vị từ thuộc bảng chuyển tiếp trước khi gửi đi.Tài liệu tham khảo[1] Fengyun Cao, Jaswinder Pal Singh. "Efficient Event Routing in Content-based Publish-Subscribe Service Networks" In Proc. IEEE Infocom 2004. [2] R. Kalaiarasi, Getsy S. Sara, S. Neelavathy Pari and D. Sridharan. Department of Electronics and Communication Engineering, MIT Campus Anna University Chennai, India. “PERFORMANCE ANALYSIS OF CONTENTION WINDOW CHEATING MISBEHAVIORS IN MOBILE AD HOC NETWORKS” International journal of computer science & information Technology (IJCSIT) Vol.2, No.5, October 2010.[3] Antonio Carzaniga and Alexander Wolf. "Forwarding in a Content-Based Network," In Proc. SIGCOMM 2003. Nghiên cứu cải tiến, áp dụng cây tìm kiếm tam phân để lưu trữ và tìm kiếm vị từ[4] Antonio Carzaniga, Matthew J. Rutherford, and Alexander L. Wolf. Department of Computer Science. University of Colorado Boulder, Colorado 80309-0430 USA "A Routing Scheme for Content-Based Networking," In Proc. IEEE Infocom 2004. [5] Jianping Li, li@cnl.ku-tokyo.ac.jp, Graduate School of Frontier Sciences, The University of Tokyo, Japan, Yasushi Wakahara, wakahara@nc.u-tokyo.ac.jp, Information Technology Center, The University of Tokyo, Japan "Time Slot Assignment for Maximum Bandwidth in a Mobile Ad Hoc Network" JOURNAL OF COMMUNICATIONS, VOL. 2, NO. 6, NOVEMBER 2007. [6] Huayi Wu, Xiaohua Jia, Computer School, Wuhan University, Luoyu Road 129, Wuhan 430079, China, Department of Computer Science, City University of Hong Kong, Hong Kong, "QoS multicast routing by using multiple paths / trees in wireless ad hoc networks, "Research supported by a grant FFCSA 2006 Elsevier BV. [7] Fengyun Cao, Jaswinder Pal Singh. “Efficient Event Routing in Content-based Publish-Subscribe Service Networks” In Proc. IEEE INFOCOM 2004.[8] Antonio Carzaniga and Alexander Wolf. “Forwarding in a Content-Based Network” In Proc. SIGCOMM 2003.[9] Antonio Carzaniga, Matthew J. Rutherford, and Alexander L. Wolf. Department of Computer Science University of Colorado Boulder, Colorado 80309-0430 USA “A Routing Scheme for Content-Based Networking” In Proc. IEEE INFOCOM 2004. . Nghiên cứu cải tiến, áp dụng cây tìm kiếm tam phân để lưu trữ và tìm kiếm vị t Nghiên cứu cải tiến, áp dụng cây tìm kiếm tam phân để lưu trữ và tìm kiếm. thể sử dụng các Nghiên cứu cải tiến, áp dụng cây tìm kiếm tam phân để lưu trữ và tìm kiếm vị t thuật toán được trình bày ở phần sau để xây dựng cây multicast