Để xác định năng lượng còn lại của mỗi nút trong giao thức E2E-LREEMR, mỗi gói tin RREQ và RREP được bổ sung trường re_energy chứa giá trị năng lượng còn lại của nút trên một con đường Định dạng mới của gói RREQ/RREP của giao thức E2E-LREEMR được minh hoạ trong Hình 2.1.
SA DA Seq.No Expire pHop CETX CETE re_energy
Hình 2.1. Định dạng gói tin RREQ/RREP của giao thức E2E-LREEMR
Để xác định năng lượng còn lại tối thiểu của nút trên đường, bảng định tuyến của mỗi nút được bổ sung trường mre. Bảng 1 minh hoạ cấu trúc của một điểm truy cập (entry) trong bảng định tuyến của giao thức E2E-LREEMR.
AOMDV E2E-LREEMR
Địa chỉ đích (destination address) Địa chỉ đích (destination address) Số thứ tự (sequence number) Số thứ tự (sequence number)
Danh sách đường (route list) {(nexthop1, hopcount1), (nexthop2,
hopcount2),…}
Danh sách đường (route list) {(nexthop1, cetx1, cete1, mre1), (nexthop2, cetx2, cete2, mre2),…} Thời gian quá hạn (expiration time out) Thời gian quá hạn (expiration time out)
Bảng 2.1. Cấu trúc entry bảng định tuyến của giao thức AOMDV và E2E- LREEMR
Thuật toán 2: Quy tắc cập nhật đường của giao thức E2E-LREEMR
Input: Thông tin quảng bá đường
Output: Quy tắc cập nhật đường
1 cetxdj :cetxdj etxdj 2 cetedj :cetedj etedj
3 re energy_ i :initial energy_ i consumed_energyi
4 if ( _ d)
i j
re energy mre then
5 mredj :re energy_ i
6 end if
7 if (seqnumid seqnumdj) then
8 seqnumid :seqnumdj 9 if (id) then 10 cetxid :cetxdj 11 ceteid :cetedj 12 advertised hopcount_ id : 13 else 14 advertised hopcount_ id : 0 15 end if
16 route list_ id :NULL
17 insert ( , _ d 1, d, d, d)
j j j j
j advertised hopcount cetx cete mre into route list_ id
18 else if (seqnumid seqnumdj) and ((cetx iid, )(cetxdj, ))j
and ((cete iid, )mredj) then
19 insert ( , _ d 1, d, d, d)
j j j j
j advertised hopcount cetx cete mre into route list_ id
// Chèn một đường dự phòng tách biệt mới vào bảng định tuyến 20 if ( _ d _ _ )
i
num path max num path and ((cetxjd min(cetx iid, )) 1.0)
and ((cete iid, )mredj) then
21 insert ( , _ d 1, d, d, d)
j j j j
j advertised hopcount cetx cete mre into _ d
i
route list
22 cetxid :cetxdj
24 end if
25 end if
Việc xác định năng lượng còn lại và năng lượng còn lại tối thiểu được thể hiện từ dòng 3 đến dòng 6 trong Thuật toán 2. Trong đó, năng lượng còn lại của nút i (re_energyi) được tính trong dòng 3 bằng cách lấy năng lượng ban đầu của nút (initial_energyi) trừ đi năng lượng nút đó đã tiêu thụ (consumed_energyi). Các dòng 4 đến 6 của Thuật toán 2 được sử dụng để đảm bảo giá trị của trường mre trong bảng định tuyến của nút i là giá trị năng lượng còn lại nhỏ nhất của một nút trong số các nút thuộc đường d. Giá trị này được biểu diễn toán học bằng công thức (1).
( , ) min( ) ( , )
path S D i
MRE RE i path S D (1)
trong đó MREpath S D( , ) là năng lượng còn lại tối thiểu của một con đường từ nguồn S đến đích D. Nó được xác định bằng năng lượng còn lại (REi) nhỏ nhất của các nút i thuộc con đường này trong quá trình khám phá đường.