Người dùng yêu cầu dữ liệu lịch sử, hoặc dữ liệu được phát ra từ mạng cảm biến thì hệ thống mạng cảm biến chịu trách nhiệm cung cấp các câu trả lời đúng cho người dùng càng nhanh càng tốt, với chi phí xử lý được thực hiện là thấp nhất. Vai trò của proxy chính là tầng trung gian của các hoạt động xử lý truy vấn giữa các mạng cảm biến với hệ thống ứng dụng để hỗ trợ việc tiêu thụ năng lượng hiệu quả. Để hoàn thành nhiệm vụ này, proxy được xây dựng với một cơ sở dữ liệu siêu dữ liệu để quản lý thông tin về cảm biến (ví dụ: Id, địa điểm, loại cảm biến,…) và lịch sử của các truy vấn nó đã từng xử lý (ví dụ: thời gian truy vấn, loại truy vấn, các thuộc tính liên quan,…), giúp thực hiện truy vấn hiệu quả.
Như Hình 5.1, giả thiết rằng một hệ thống mạng cảm biến là một kiến trúc ba tầng.
- Tầng thấp nhất: Đại diện cho một mạng cảm biến, bao gồm rất nhiều nút cảm
các vùng lân cận nơi cảm biến được đặt.
- Tầng trung gian: Bao gồm proxy với một cơ sở dữ liệu siêu dữ liệu, có năng
lượng riêng và chạy như một nút cảm biến (hay trạm cơ sở). Proxy giữ vai trò là lớp trung gian hợp tác giữa mạng cảm biến với hệ thống ứng dụng và quản lý thông tin cần thiết cho sự hợp tác.
- Tầng cuối cùng: Bao gồm các cơ sở dữ liệu không gian thời gian trong hệ thống ứng dụng để lưu trữ dữ liệu lịch sử được gửi đến từ mạng cảm biến.
Hình 5.1 Tổng quan về hệ thống ba tầng mạng cảm biến
Vai trò quan trọng của proxy là để phân tích truy vấn từ người dùng, tái tạo lại các truy vấn để thực hiện dễ dàng hơn nếu cần thiết. Các truy vấn sau khi qua tiền xử lý sẽ được truyền tới mạng cảm biến hoặc là tới hệ thống ứng dụng để được xử lý. Chi tiết chức năng của proxy [Diao 2007]:
Quản lý truy vấn: Proxy nhận các truy vấn gửi tới từ người dùng và phân loại truy vấn theo điều kiện tìm khiếm bao gồm phạm vi không gian và thời gian.
Gói truy vấn: Nếu tồn tại truy vấn chồng chéo về điều kiện tìm kiếm thì truy vấn được ánh xạ tới bộ phân loại truy vấn với siêu dữ liệu để kiểm tra. Nếu truy vấn hiện tại trùng lặp một phần hoặc toàn bộ với truy vấn trước đó, thì truy vấn phân mảnh được xây dựng dựa trên kết quả phân tích vị từ, như vậy tất cả các truy vấn sẽ có phạm vi truy vấn là duy nhất. Nếu các truy vấn phân mảnh chưa tồn tại trước đấy, truy vấn phân mảnh sẽ được gửi đến mạng cảm biến để được xử lý. Ngược lại nếu đã tồn tại thì truy vấn sẽ được chuyển tiếp
đến hệ thống ứng dụng.
Quản lý siêu dữ liệu: Lịch sử của truy vấn được duy trì như siêu dữ liệu dựa theo kết quả phân tích của dữ liệu thu thập được và truy vấn lịch sử.
Điều khiển truy vấn: Đây là chức năng chịu trách nhiệm phân tán các truy vấn phân mảnh giữa các mạng cảm biến với hệ thống ứng dụng, cũng như việc hợp nhất các kết quả thực hiện ở mỗi tầng của hệ thống để có được kết quả cuối cùng cho các truy vấn ban đầu.
Tại Proxy, sau khi có kết quả từ mạng cảm biến, kết quả này được lưu trữ vào ổ đĩa hoặc bộ nhớ bằng cách sử dụng phương pháp của cơ sở dữ liệu truyền thống như chương trình lập chỉ mục và cơ chế truy cập ổ đĩa. Vì proxy có năng lượng phong phú không bị hạn chế năng lượng như các nút cảm biến đơn lẻ.
Do các hoạt động xử lý truy vấn cảm biến tại hệ thống ứng dụng đã được mô tả rộng rãi, đồng thời cũng nằm ngoài nghiên cứu của luận văn, nên luận văn sẽ không thảo luận xử lý truy vấn tại hệ thống ứng dụng.