Khụng giống với cỏc mạng truyền thống, mạng cảm biến khụng dõy rất phụ thuộc vào ứng dụng và thiết kế phải quan tõm tới nhiều yếu tố: tuổi thọ
của mạng (tiết kiệm năng lượng), hội tụ, chi phớ, dễ dàng triển khai, thời gian
đỏp ứng, độ chớnh xỏc về thời gian, bảo mật, và tỷ lệ lấy mẫu hiệu quả.
Thiết kế cú thể bị ảnh hưởng bởi nhiều yếu tố bao gồm tớnh chịu lỗi, tớnh mở rộng, chi phớ sản xuất, mụi trường vận hành, mụ hỡnh mạng cảm biến, cỏc ràng buộc phần cứng, thiết bị truyền dẫn, và tiết kiệm năng lượng. Với nhiều ứng dụng, yếu tố quan trọng nhất là tiết kiệm năng lượng. Ngay cả nếu một số nỳt trong một mạng cú thể lấy năng lượng từ mụi trường xung quanh, thỡ cỏc nỳt khỏc khụng thể vỡ vị trớ đặt chỳng, hoặc chi phớ phụ thờm cho việc lấy năng lượng đú là quỏ đắt.
Thỏch thức căn bản là làm sao để giảm tiờu thụ năng lượng bằng cỏch tối thiểu húa chi phớ truyền thụng. Nú sẽ làm tăng thờm tuổi thọ của pin mà cỏc nỳt cảm biến sử dụng, giảm tắc nghẽn, và thực hiện được cỏc truy vấn.
Những dự ỏn nghiờn cứu trước đõy định nghĩa một mạng cảm biến khụng dõy là một mạng quy mụ lớn, ad hoc, multi-hop, khụng bị chia cắt của lượng lớn cỏc nỳt cảm biến tự hoạt động, giỏ thành thấp, được triển khai ngẫu nhiờn. Một số dự ỏn giảđịnh rằng cỏc nỳt cú thể khụng cú địa chỉ hoặc định danh (ID) riờng biệt gắn trong phần cứng của chỳng. Tuy nhiờn, cuối năm 2004 nhiều hệ thống đó được xõy dựng bằng cỏch sử dụng nhiều loại thiết bị. Mỗi thiết bị cú thể khỏc nhau về loại cảm biến, khả năng xử lý, lưu trữ, nguồn
Chương 2. PHƯƠNG PHÁP ĐỊNH TUYẾN TẬP TRUNG DỮ
LIỆU TRONG MẠNG CẢM BIẾN KHễNG DÂY. 2.1. Định tuyến tập trung dữ liệu
Những giải phỏp giao thức cụ thể cho kết nối mạng tập trung dữ liệu cú thể được phõn chia theo chuỗi giao tỏc. Một nhúm bao gồm cỏc giao thức hướng tới cỏc giao tỏc lặp – đọc theo định kỳ một tập giỏ trị từ mạng cảm biến. Một nhúm giao thức khỏc, cũn được gọi là truy vấn one-shot, ở đú chỉ
duy nhất một truy vấn dữ liệu được mạng trả lời. Mục 2.1.2 sẽ trỡnh bày nhiều giải phỏp cho cỏc giao tỏc lặp; Mục 2.1.1 trỡnh bày vềcỏc truy vấn one-shot.
2.1.1. Cỏc giao tỏc one-shot
Một trong những giao thức tập trung dữ liệu đầu tiờn cho mạng cảm biến khụng dõy là Giao thức Cảm biến cho Thụng tin qua Đàm phỏn (SPIN) (Hỡnh 2.1). Kịch bản mục tiờu cho giao thức này là một mạng mà ở đú một, nhiều, hoặc cú thể tất cả cỏc nốt cảm biến cú dữ liệu sẽ phổ biến ra toàn mạng. Hơn nữa, dữ liệu trờn mỗi nốt là tương đối lớn đến nỗi một tờn riờng cho mỗi mẩu dữ liệu mà nốt cảm biến nắm giữ cú thểđược tạo dễ dàng và cú kớch thước nhỏ so với chớnh dữ liệu đú.
Khi ỏp dụng, vớ dụ, flooding đơn giản, cho kịch bản như vậy, mạng sẽ
gặp phải vấn đềimplosion và sự chồng chộo – cựng vựng đú cú hoạt động của nốt cảm biến khỏc, mỗi nốt cảm biến là độc lập và khụng cần thiết phải bỏo cỏo về dữ liệu đú. Hơn nữa, flooding đơn giản khụng quan tõm đến những giới hạn về tài nguyờn trờn cỏc nốt cảm biến khỏc. Để giải quyết những vấn
đề này, Heinzelman đề nghị sử dụng tờn cho dữ liệu để đàm phỏn xem nốt cảm biến nào sẽ phỏt tỏn dữ liệu nào.
Sự đàm phỏn này thay thế việc gửi dữ liệu đơn giản trong giao thức flooding bằng một tiến trỡnh ba-bước. Đầu tiờn, một nốt cảm biến cú dữ liệu mới – hoặc bởi cỏc ước lượng cục bộ hoặc từ một số nốt cảm biến khỏc –
quảng cỏo tờn của dữ liệu này đến cỏc hàng xúm. Nốt nhận được một quảng cỏo cú thể so sỏnh với hiểu biết cục bộ của nú và, nếu dữ liệu quảng cỏo là chưa biết, nốt nhận cú thểyờu cầu dữ liệu thực. Nếu cỏc quảng cỏo diễn tả dữ
liệu đó biết (vớ dụ, bởi vỡ nú đó nhận được qua đường khỏc hoặc nốt khỏc đó bỏo cỏo dữ liệu về cựng một vựng), quảng cỏo sẽ bị loại bỏ. Chỉ khi một yờu cầu về dữ liệu được nhận, dữ liệu thực mới được truyền đi.
Hỡnh 2.1 Hoạt động cơ bản của giao thức SPIN
Tiếp cận này dựa trờn kớch thước mụ tả dữ liệu nhỏ so với chớnh dữ liệu
đú. Mỗi khi mụ tả dữ liệu trở nờn cú thể so sỏnh được với chớnh dữ liệu, thỡ thật vụ ớch khi trước tiờn giới thiệu về dữ liệu đú thay vỡ đơn giản là gửi nú đi luụn. Ưu điểm của tiếp cận này là một quy tắc khỏ đơn giản làm thế nào để
mạnh hơn cỏc cấu trỳc quảng bỏ rất nhiều vỡ nú cú thể tớnh được dữ liệu nào là thực sự thiếu và khụng chỉ nốt nào đó khụng bỏo cỏo dữ liệu (cú thể là lặp).
Trong khi SPIN liờn quan đến việc phổ biến dữ liệu ra toàn mạng và về
bản chất là một phiờn bản tập trung dữ liệu của flooding, thỡ kỹ thuật Active Query forwarding In sensoR nEtworks (ACQUIRE) nhằm mục đớch thu thập dữ liệu từ một mạng và cú thể so sỏnh với gossiping và định tuyến rumor.
ACQUIRE lấy ý tưởng của gossiping và mobile code. Một truy vấn
được gửi vào trong mạng, được xử lý từng phần đến khi nào cú thể tại một nốt trung gian, và sau đú truyền đi (cựng với cỏc kết quả tớch lũy trung gian) khi truy vấn vẫn chưa được trả lời đầy đủ. Khi cú kết quả, truy vấn sẽ tự chuyển
đổi thành một đỏp ứng, sau đú được định tuyến trở lại nốt cảm biến đặt ra truy vấn đú.
Để hỗ trợ cho cỏch giải quyết truy vấn tại cỏc nốt trung gian, nốt cảm biến hiện tại đang làm việc với truy vấn được phộp lấy dữ liệu ra từ lõn cận cục bộ của nú, vớ dụ, cỏc nốt trong vựng khoảng cỏch d hop (d là một tham số). Thụng tin cục bộ này cú thể được cập nhật nếu nú bị quỏ hạn. Hơn nữa thụng tin như vậy cũn cú thểđược sử dụng để hỗ trợ cho việc chuyển tiếp truy vấn sang nốt tiếp theo; truy vấn cũng cú thể được chuyển tới một hàng xúm ngẫu nhiờn.
2.1.2. Cỏc giao tỏc lặp
Khoảng tối ưu húa dành cho truy vấn one-shot hoặc phổ biến dữ liệu one-shot cú phần bị giới hạn, cụ thể, khi khụng sử dụng được tổng hợp dữ
liệu. Do đú, chỳng ta tập trung vào trường hợp giao tỏc lặp.
Giao thức đầu tiờn loại này là directed diffusion. Nú cú liờn quan mật thiết với vấn đề mở rộng mạng và cố gắng tỡm cỏc giải phỏp khụng phụ thuộc vào cỏc thuộc tớnh về độ lớn của mạng giống như cỏc bộ định danh nốt cảm
biến đơn nhất toàn cục; đỳng hơn, mục tiờu của nú là tỡm ra giải phỏp hoàn toàn dựa trờn cỏc giao tỏc cục bộ. Mẫu (pattern) dịch vụ phổ biến nhất là
subscription cỏc nguồn dữ liệu mà sẽpublish (cụng bố) dữ liệu với một tốc độ
cú thể lựa chọn được trong một khoảng thời gian lựa chọn.
Directed diffusion thực sự là một triết lý thiết kế hơn là một giao thức cụ thể và cú nhiều biến thểđó được tối ưu húa cho những trường hợp cụ thể. Chỳng ta bắt đầu với biến thể nguyờn thủy và cơ bản nhất của nú là kộo hai phai (two phase pull).
Trong mụ hỡnh này, sự phõn tỏn dữ liệu bắt đầu bằng việc cỏc nốt phổ
biến sự thớch thỳ của chỳng vào những loại dữ liệuđó được đặt tờn, diễn tả sự
thớch thỳ của chỳng bằng một tập cỏc cặp thuộc tớnh-giỏ trị; theo cỏch núi publish/subscrible, điều này tương ứng với một subscription của dữ liệu. Những thụng điệp interest này được phõn tỏn quan mạng, trường hợp đơn giản nhất là chỳng được quảng bỏ cho tất cả.
Khi một interest đó được quảng bỏ, sẽ là khụng đỏng kể để thiết lập một cõy đồng quy với mỗi nốt để nhớ nốt mà từ đú nú nhận thụng điệp
interest đầu tiờn từ một sink cho trước; thớch dữ liệu khỏc nhau và/hoặc từ
sink khỏc nhau sẽ cho kết quả là tạo ra cỏc cõy phõn biệt. Nhưng cấu trỳc cõy
đơn giản như vậy lại phải đối mặt với một trở ngại nghiờm trọng: Vỡ sự thiếu vắng bộ định danh nốt cảm biến đơn nhất toàn cục, nờn một nụt cảm biến trong mạng khụng thể phõn biệt được cỏc thụng điệp interest khỏc nhau cú
đến từ cỏc sink dữ liệu khỏc nhau hay khụng và do đú sẽ cần phải cấu trỳc những cõy đồng quy riờng biệt để chỉ cho tất cả cỏc sink biết về dữ liệu đó
publish hoặc cú phải cỏc gúi dữ liệu này là thuộc về cựng một sink hay đơn giản là đến từ cỏc đường khỏc nhau hay khụng.
Với một nốt X trong vớ dụ Hỡnh 2.2, đầu tiờn chỉ cú một lựa chọn – ghi nhớ tất cả cỏc hàng xúm mà từ đú một thụng điệp interest đó được nhận, sau
đú trờn mỗi dữ liệu đó được publish, truyền đi dữ liệu thật tới tất cả cỏc hàng xúm này. Trong thuật ngữ của directed diffusion, đõy là sự thiết lập của một
gradient hướng tới nốt gửi interest. Mỗi nốt lưu, cho mỗi loại dữ liệu nhận
được trong một interest, trong một bộ nhớ đệm gradient một tập cỏc gradient
riờng, cho mỗi hàng xúm. Khỏc với mối quan hệ cha-con trong một cõy, cỏc
gradient thường sẽ được thiết lập lưỡng hướng giữa hai hàng xúm khi cả hai hàng xúm cựng chuyển tiếp thụng điệp interest. Ngoài ra, một gradient khụng chỉđơn giản là một hướng, mà nú cũn chứa cả một giỏ trị. Giỏ trị này thể hiện sự quan trọng hoặc hữu ớch với liờn kết đó cho. Nú cú thể chứa nhiều ngữ
nghĩa khỏc phụ thuộc vào ứng dụng cụ thể mà directed diffusion đang hỗ trợ. Ban đầu cỏc giỏ trị gradient này là giống nhau trờn mỗi hàng xúm; chỳng
được sửa đổi khi thực thi giao thức. Tương tự như vậy, những gradient này
được khởi tạo với giỏ trị thấp.
Một khi cỏc gradient đó được thiết lập, ngay cả chỉ với giỏ trị ban đầu, dữ liệu cú thểđược truyền đi.
2.2. Phương phỏp định tuyến Directed Diffusion.
Directed Diffusion bao gồm nhiều thành phần: interest, thụng điệp dữ
liệu, gradient, và reinforcement. Một thụng điệp interest là một truy vấn chỉ
ra điều mà người dựng cần. Mỗi thụng điệp interest chứa một mụ tả của dữ
liệu mà người dựng quan tõm. Thường thỡ dữ liệu trong mạng cảm biến là thụng tin về sự vật, hiện tượng đó được tập hợp hoặc xử lý mà chỳng trựng khớp với một sự quan tõm hoặc một yờu cầu của người dựng. Những dữ liệu như vậy cú thể là một sự kiện mà là một mụ tả ngắn về sự vật, hiện tượng cảm biến được. Trong Directed Diffusion, dữ liệu được đặt tờn bằng cỏch sử dụng
cặp thuộc tớnh – giỏ trị. Interestđược phỏt tỏn lờn mạng cảm biến để “lụi kộo” dữ liệu đó được đặt tờn về phớa người dựng. Sự truyền bỏ interest thiết lập cỏc
gradient bờn trong mạng cho sự truyền bỏ dữ liệu. Đặc biệt, một gradient là một trạng thỏi hướng được tạo ra bờn trong mỗi nốt cảm biến nhận được một
interest. Hướng gradient được đặt hướng thẳng tới nốt cảm biến hàng xúm mà từđú nú nhận được interest. Cỏc sự kiện được truyền bỏ thẳng tới những nốt cảm biến sinh ra interest cựng với nhiều đường dẫn gradient. Mạng cảm biến reinforce một hoặc một số lượng nhỏ những đường dẫn này (Hỡnh 2.1).
2.2.1. Phương phỏp đặt tờn.
Trong Directed Diffusion, cỏc tỏc vụ được mụ tả hoặc đặt tờn bằng cỏch sử dụng cỏc cặp thuộc tớnh – giỏ trị. Sau đõy là một mụ tả đơn giản về
việc theo dừi động vật:
type = four-legged animal //phỏt hiện vị trớ của động vật interval = 10 ms //gửi lại sự kiện sau mỗi 10 ms
duration = 10 minutes //sau mỗi 10 phỳt
rect = [-100, 100, 200, 400] //từ cỏc nốt cảm biến trong hỡnh chữ
nhật cú tọa độ này.
Vựng tọa độ hỡnh chữ nhật này được lựa chọn dựa theo một số hệ tọa
độ nhất định, thường là hệ GPS.
Vỡ mụ tả tỏc vụ xỏc định một interest cho dữ liệu (khớp với cỏc thuộc tớnh), nờn mụ tả tỏc vụ cũng được ưa thớch hơn interest. Dữ liệu cũng được
đặt tờn bằng cỏch sử dụng mụ hỡnh đặt tờn tương tự. Vớ dụ, một cảm biến phỏt hiện một động vật cú thể sinh ra dữ liệu sau:
type = four-legged animal //phỏt hiện vị trớ động vật instance = elelphant //loại động vật phỏt hiện được
location = [125, 220] //tọa độước lượng
intensity = 0.6 //ước lượng biờn tớn hiệu
confidence = 0.85 //độ tin cậy trong ước lượng timestamp = 01:20:40 //thời gian sinh ra sự kiện
Việc lựa chọn mụ hỡnh đặt tờn là bước đầu tiờn trong khi thiết kế
Directed Diffusion. Với mụ hỡnh đặt tờn dựa trờn thuộc tớnh – giỏ trị, mỗi thuộc tớnh được gắn với một khoảng giỏ trị. Vớ dụ, khoảng của thuộc type là tập cỏc giỏ trị sổ cỏc ký hiệu điện tớn diễn tả cỏc đối tượng di động (vớ dụ: xe cộ, động vật, con người). Giỏ trị thuộc tớnh cú thể là bất kỳ tập con nào trong vựng giỏ trị của nú. Giỏ trị thuộc tớnh type trong vớ dụ là giỏ trị sổ cỏc ký hiệu
điện tớn thể hiện cỏc loại động vật bốn chõn.
Cú nhiều lựa chọn cho một sắp xếp cỏc cặp thuộc tớnh – giỏ trị (vớ dụ: mụ hỡnh phõn cấp) và cỏc mụ hỡnh đặt tờn khỏc (vớ dụ: đặt tờn mang tớnh khỏi niệm). Trong một số phạm vi, sự lựa chọn mụ hỡnh đặt tờn và sắp xếp cú thể ảnh hưởng đến tớnh biểu hiện của cỏc tỏc vụ và cú thể làm giảm hiệu năng
quảng bỏ. Vớ dụ, một sắp xếp dạng sơ đồ phõn cấp của cỏc cặp thuộc tớnh – giỏ trị cú thể làm hẹp đi khụng gian nghiờn cứu bởi cỏc quỏ trỡnh giải quyết tờn (name resolution) và làm đơn giản húa cỏc bộ xỏc định tờn cho dễ hiểu hơn. Tuy nhiờn, trong luận văn này, mục đớch chớnh là đạt được một sự hiểu biết bước đầu về mụ hỡnh Directed Diffusion.
2.2.2. Interest và Gradient.
Mụ tả tỏc vụ được đặt tờn (vớ dụ: interest) thường được xem vào trong mạng tại một số nốt (cú thể là chuyờn quyền như sink). Nốt sink tạo ra một trạng thỏi tỏc vụ mà nú sẽ được làm trong sau thời gian được xỏc định bởi thuộc tớnh duration.
Với mỗi tỏc vụ đang hoạt động, sink theo định kỳ quảng bỏ một
interest tới tất cả cỏc hàng xúm của nú (cỏc phương phỏp gửi interest hiệu quả
hơn sẽ được trỡnh bày sau). Interest khởi tạo này cũng chứa cỏc thuộc tớnh như miờu tả trong Mục 2.3.1. Thuộc tớnh interval xỏc định một tốc độ dữ liệu sự kiện (Do đú, tốc độ dữ liệu là 100 sự kiện trờn giõy trong vớ dụ đú). Tuy nhiờn, khụng giống với vớ dụ đú, thuộc tớnh interval trong interest khởi tạo này là lớn hơn nhiều. Vỡ cú tớnh thăm dũ, interest khởi tạo cú xu hướng xỏc
định xem cú nốt cảm biến nào phỏt hiện được động vật bốn chõn hay khụng. Bởi vậy, interest cú tớnh thăm dũ khởi tạo xỏc định một tốc độ dữ liệu thấp (vớ dụ: 1 sự kiện trờn giõy). Đõy khụng phải là sự lựa chọn duy nhất, nhưng nú thể hiện được sự cõn bằng cỏc yếu tốđể cú được hiệu năng tốt. Vỡ vị trớ nguồn khụng được xỏc định một cỏch chớnh xỏc, cỏc interest cần phải được quảng bỏ vượt ra ngoài phạm vi của mạng cảm biến. Kết quả là, nếu sink đó lựa chọn
được một tốc độ dữ liệu khởi tạo cao hơn, thỡ cú thể sẽ phải tiờu thụ năng lượng lớn hơn bởi phải quảng bỏ dữ liệu cảm biến rộng hơn. Tuy nhiờn, với tốc độ dữ liệu khởi tạo lớn cao hơn, thời gian đạt được kết quả khảo sỏt độ
chớnh xỏc cao lại giảm đi. Tốc độ dữ liệu cao hơn như mong muốn cú thểđạt
được bằng sự tăng cường (sẽ được trỡnh bày trong Mục 2.3.4). Bởi vậy,