Mọi nút trao đổi thông điệp beacon để xây dựng và duy trì một bảng định tuyến của một nút. Một thông điệp beacon chứa giá trị kỳ vọng, như giá năng lượng (Ci ) thời gian trễ (Ti ), độ tin cậy (Ri ), năng lượng còn lại (Bi ) của nút i. (Ci ) là giá năng lượng kỳ vọng của nút i tới nút sink. Độ tin cậy là xác suất gửi các gói tin đến sink mà không lỗi. Csink=0,
Tsink=0, Rsink=1 tại nút sink và giá trị kỳ vọng của nút sink là hằng số. Thông điệp beacon cũng chứa vị trí của nút i. EARQ giả định rằng tất cả các nút đều biết vị trí của mình. Thông tin vị trí có thể chứa bởi GPS hay giao thức định vị để ước tính vị trí của nút.
Giá trị kỳ vọng của một nút có thể thay đổi khi năng lượng còn lại của một nút giảm và trạng thái của mạng thay đổi động. Một khi một nút có đường dẫn tới sink, nó phát đi một
thông điệp beacon có giá trị kỳ vọng của nút sink là hằng số, nút sink chỉ gửi một thông điệp beacon khi bắt đầu thiết lập mạng và nhận một thông điệp beacon trống. Bất cứ khi nào một nút nhận thông điệp beacon từ nút khác nó sẽ đáp ứng tới nút đó với một thông điệp beacon. Một nút mới thu thập thông tin định tuyến bằng cách phát một thông điệp beacon trống tới các nút hàng xóm của nó. Nó xây dựng bảng định tuyến của nó với một thông điệp beacon từ các nút hàng xóm của nó.
Khi một nút nhận được thông điệp beacon từ nút hàng xóm. Nó chỉ thêm nút hàng xóm đó vào bảng định tuyến nếu nút hàng xóm đó gần sink hơn nó. Nếu nút hàng xóm đã ở trong bảng định tuyến, nó chỉ cập nhật giá trị kỳ vọng của nút hàng xóm.
Hình 3.1 chỉ ra ví dụ về các nút hàng xóm trong bảng định tuyến của nút i. Nút trong vùng A là hàng xóm của nút i chúng có thể giao tiếp với nút i qua kênh không dây. Vùng A có thể không phải là một vòng hoàn hảo bởi vì mỗi một nút có một thông tin liên lạc không dây khác nhau chẳng hạn như các nút trong hình.
Trong một môi trường không dây, loại nguồn nhiễu ồn phải được xem xét. Vùng B là một vòng tròn mà trung tâm là tại nút sink. Nút trong vùng B là gần sink hơn nút i bởi nút
i là rìa ngoài của vùng. Các nút hàng xóm nằm trong vùng giao của 2 vùng có thể được thêm vào bảng định tuyến của nút i.
Khi giá trị kỳ vọng của nút hàng xóm được cập nhật bởi thông điệp beacon, xác suất định tuyến (Pi,k ) và Ci, Ti, Ri. Khi nút i nhận một thông điệp beacon từ nút hàng xóm j, nút
i cập nhật giá trị kỳ vòng theo:
Thông điệp beacon: Bao gồm Ci, Ti, Ri và Bj
Ci,j = Cj + Ei,j
Ti,j = Tj + Hi,j (3.1)
Ri,j = Rj . Li,j
Trong đó Ci,j là giá năng lượng kỳ vọng gửi một gói từ nút i tới nút sink qua nút j, Ti,j là thời gian trễ kỳ vọng của gói tin gửi từ nút i tới nút sink qua nút j, Ri,j là độ tin cậy kỳ vọng của một gói tin gửi từ nút i tới nút sink qua nút j. Ei,j , Hi,j, Li,j là giá năng lượng, thời gian trung bình, độ mạnh liên kết cho thông tin đơn hop giữa nút i và j.
Nút k trong RT – nút mà thuộc bảng định tuyến của nút i
𝑃𝑖,𝑘 = 1 𝐶𝑖,𝑘 ̅̅̅̅̅̅ ∑ 1 𝐶𝑖,𝑚 ̅̅̅̅̅̅̅ 𝑚𝜖𝑅𝑇 (3.2)
Pi,k là xác suất nút i chọn nút k để chuyển tiếp gói tin. Do đó một nút hàng xóm với giá năng lượng thấp hơn hầu như sẽ được chọn
Ở đây giá trị kỳ vọng của nút i: 𝐶̅ = ∑𝑖 𝑘𝜖𝑅𝑇𝑃𝑖,𝑘𝐶̅̅̅̅𝑖,𝑘
𝑇̅ = ∑𝑖 𝑘𝜖𝑅𝑇𝑃𝑖,𝑘𝑇̅̅̅̅𝑖,𝑘 (3.3) 𝑅̅ = ∑𝑖 𝑘𝜖𝑅𝑇𝑃𝑖,𝑘𝑅̅̅̅̅̅𝑖,𝑘
Trong đó Ei,j là giá năng lượng gửi một gói trực tiếp từ nút i tới nút j. Hi,j là thời gian truyền trung bình, giá trị này bao gồm trễ truyền, trễ hàng đợi, trễ truyền lại… Li,j là độ
mạnh trung bình của đường liên kết giữa nút và nút. Những giá trị này có thể thu được như sau: 𝐸𝑖,𝑗 = (𝑑𝑖𝑗 3)𝛼 𝐵𝑗𝛽 𝐻𝑖,𝑗 = 1 𝐷𝑇𝑗 ∑𝑝𝜖𝐷𝑇𝑗𝐷𝑒𝑙𝑎𝑦𝑝 (3.4) 𝐿𝑖,𝑗 = 1 𝐷𝑇𝑗 ∑𝑝𝜖𝐷𝑇𝑗𝐴𝐶𝐾𝑝
Trong đó di,j là khoảng cách giữa nút i và nút j. Bj là năng lượng còn lại của nút j. α, β
là yếu tố trọng lượng. DTj là tập các gói tin được truyền tới nút j trong khoảng thời gian ∆t.
Delayp là trễ truyền một gói tin tới nút j từ nút i, nó bao gồm trễ truyền, trễ hàng đợi và trễ truyền lại. ACKp là 1 nếu một gói tin được truyền tới j thành công, là 0 nếu không thành công. EARQ thu được Hi,j , Li,j từ lớp MAC.
Để đo Delayp, trong lớp MAC bên gửi gắn time-stamps vào gói dữ liệu trước khi nhập vào mạng hàng đợi đầu ra. Bên nhận trả lời với một gói ACK với time-stamp reply là Tts
và thời gian xử lý ACK là Tpack tại bên nhận. Khi bên gửi nhận một gói ACK, Delayp có thể được tính toán như sau:
Delayp = (CurrentTime - Tts - Tpack ) /2 (3.5)
Nếu gói dữ liệu cần phải được truyền lại trong lớp MAC thời gian cho việc đợi ACK được thêm vào Delayp.
Hình 3.2 là ví dụ minh họa về giá trị kỳ vọng. Các nút khoanh trong vùng là nút trong bảng định tuyến của nút i, mỗi một nút hàng xóm x (k, j, l,và m) có một giá trị kỳ vọng của chúng cho việc gửi một gói tới nút sink. Các giá trị Ci,x, Ti,x, Ri,x và Pi,x cho mỗi một nút hàng xóm x được thể hiện trong ma trận:
( 𝐶𝑖,𝑘 ̅̅̅̅̅ 𝑇̅̅̅̅̅𝑖,𝑘 𝑅̅̅̅̅̅̅𝑖,𝑘 𝐶𝑖,𝑗 ̅̅̅̅̅ 𝑇̅̅̅̅̅𝑖,𝑗 𝑅̅̅̅̅̅𝑖,𝑗 𝐶𝑖,𝑙 ̅̅̅̅̅ 𝑇̅̅̅̅̅𝑖,𝑙 𝑅̅̅̅̅̅𝑖,𝑙 𝐶𝑖,𝑚 ̅̅̅̅̅̅ 𝑇̅̅̅̅̅̅𝑖,𝑚 𝑅̅̅̅̅̅̅)𝑖,𝑚 = ( 35 0,5 0,95 41 0,44 0,99 45 0,51 0,99 47 0,45 0,98 )
P = (Pi,k Pi,j Pi,l Pi,m) = (0,30 0,25 0,23 0,22)
Hình 3.2: Ví dụ cho giá trị đơn hop cho thông tin đơn hop giữa nút i và các hàng xóm của nó, và giá trị kỳ vọng của nút hàng xóm
Ở đây giá trị kỳ vọng của nút i là
( Ci Ti Ri ) = P × CTR = (41,44 0,476 0,976)