c. Các giao thức truy cập ngẫu nhiên:
3.6.2 Giao thức SMACS
Giao thức điều khiển truy cập môi trƣờng tự tổ chức cho các mạng cảm biến
(SMACS - Self-Organizing Medium Access Control for Sensor Networks) đƣợc mô tả bởi Sohrabi và Pottie là một phần của giao thức WSN phù hợp với MAC địa chỉ, phát hiện vùng lân cận, gắn liền với các nút di chuyển, giao thức định tuyến đa bƣớc nhảy và giao thức định tuyến cục bộ cho mục đích xử lý tín hiệu hợp tác.
122 TDMA của các nút. SMACS dựa trên các giả thiết sau:
• Phổ đƣợc chia thành một số kênh và mỗi nút có thể điều chỉnh bộ thu phát của mình đến một giá trị bất kỳ, giả thiết rắng các mã CDMA đƣợc sử dụng.
• Hầu hết các nút trong mạng cảm biến là đứng yên và đƣợc ấn định một giá trị trong thời gian khá dài.
• Mỗi nút chia thời gian của nó thành các siêu khung có độ dài cố định (có độ rộng Tframe
giây) nhƣng không cần thiết phải cùng pha. Tuy nhiên, tất cả các nút phải có cùng độ dài siêu khung và yêu cầu đồng bộ về mặt thời gian. Các siêu khung cũng đƣợc chia thành các khe thời gian nhƣng điều này không chính xác vì các truyền dẫn không bị giới hạn là chỉ xảy ra trong một khe thời gian.
Mục tiêu của SMACS là phát hiện các nút lân cận và cài đặt các tuyến và các kênh truyền dẫn đến chúng. Tuyến đƣợc xác định theo tất cả các gói tin đã cho đƣợc truyền theo
một hƣớng. Hơn nữa, tuyến đƣợc sử dụng bởi khe TDMA ở một trong hai điểm đầu cuối. Khi hai nút muốn hoạt động theo hình thức hai chiều thì yêu cầu phải có hai tuyến. Một nút sẽ có một khe nhận và một khe truyền tới các nút khác. Ấn định các tuyến để đảm bảo không có xung đột xảy ra ở các bộ thu. Để có đƣợc điều này, SMACS quan tâm rằng với nút đơn, các khe thời gian của các tuyến khác nhau sẽ không chồng nhau. Với mỗi tuyến ngẫu nhiên, một lƣợng lớn kênh tần số/ mã CDMA sẽ đƣợc lựa chọn và sử dụng. Nó không yêu cầu nút và các nút lân cận truyền ở các thời điểm hoàn toàn khác nhau. Tuy nhiên, trong trƣờng hợp này, chúng phải truyền đến các bộ thu khác nhau và phải sử dụng các mã/ tần số khác nhau. Sau khi cài đặt tuyến, các nút phải thức dậy định kỳ (một lần trên siêu khung) trong các khe thời gian nhận tƣơng ứng với bộ thu đƣợc điều chỉnh để phù hợp với tần số hoặc mã CDMA. Khe thời gian truyền chỉ đƣợc sử dụng khi có yêu cầu.
Nếu sử dụng sơ đồ cục bộ thay vì ấn định toàn bộ thì nên tránh nhiệm vụ truyền tin từ vùng lân cận đến nút trung tâm phản hồi kết quả tính toán.
Đối với vùng bao phủ lân cận và cài đặt tuyến, ta sẽ xét bốn trƣờng hợp. Giả sử nút x và
y muốn cài đặt tuyến và x đƣợc bật trƣớc.
Trường hợp đầu tiên, ta giả sử hoặc x hoặc y không có nút lân cận nhƣ hình 3.24. Nút x
nghe ở dải tần số cố định trong một khoảng thời gian ngẫu nhiên. Nếu không nhận đƣợc gì trong khoảng thời gian này thì x sẽ gửi một thông báo mời là TYPE1(x,unattached)
nhằm cho biết nhận dạng nút và số nút lân cận của nó Khi nút lân cận z bất kỳ của x nhận đƣợc thông báo này, nó sẽ đợi một cách ngẫu nhiên nhƣng nằm trong giới hạn thời gian và trả lời với thông báo TYPE2(x,z,n) nhằm cho biết địa chỉ của nó, địa chỉ của x và số nút lân cận n. Giả sử rằng nút y trả lời không chính xác trƣớc bằng TYPE2(x,y,unattached) và
x nhận đúng thông báo này. Do y gửi câu trả lời trƣớc nên x mời y tạo tuyến bằng cách gửi thông báo TYPE3(y, -), mang nhận dạng của nút “chiến thắng” y và các tham số của nó. Thông báo này đƣợc gửi khi kết thúc thời kỳ cạnh tranh của thông báo trả lời
TYPE2(x,z,n). Giờ y đã biết rằng nó đã đƣợc lựa chọn (i) và (ii) nó có thể lựa chọn khe thời gian bất kỳ mà nó muốn do x hoặc y không có tuyến đƣợc chỉ định.
123
Hình 3.24.SMACS: cài đặt tuyến cho hai nút đơn
Nút y trả lời x bằng tuyến đã đƣợc chỉ định, đó là hai khe thời gian và tần số/ mã bằng cách sử dụng thông báo TYPE2(x,y,LinkSpec). Các khe thời gian chỉ định có mối thời gian chung do nút y chấp nhận pha siêu khung của x dựa trên việc nhận thông báo
TYPE3(y, -). Do đó, các nút lân cận đƣợc nhận ra trong trƣờng hợp đầu tiên sẽ cùng pha (và cùng chu kỳ).
Nút z sẽ quay trở lại trạng thái ngủ và cố đợi thêm một thời gian nữa. Các nút định kỳ lặp lại lời mời của chúng bằng các thông báo TYPE1(x,unattached).
Trường hợp thứ hai, nút x có sẵn các nút lân cận nhƣng nút chiến thắng y ở gần. Vì vậy, x gửi thông báo TYPE1(x,unattached)và y cố gắng trả lời trƣớc tiên bằng thông báo TYPE2(x,y,unattached) của nó. Sau đó, nút x biết rằng nó có thể tự do sắp xếp tuyến đến y do nó ở gần x. Nút x chọn hai khe thời gian và tần số phù hợp, gửi thông báo
TYPE3(y,LinkSpec) đến y. Nó nhận pha siêu khung của x và trả lời bằng thông báo
TYPE2(x,y,-) mang chỉ định của tuyến rỗng (có nghĩa là chỉ định tuyến của x đã đƣợc chấp nhận).
Trường hợp thứ ba, nút x thực sự không có nút lân cận, vì vậy y trả lời thông báo
TYPE1(x,unattached)của xbằng TYPE2(x,y,unattached). Nút x tiếp tục bằng cách gửi thông báo TYPE3(y,-) mà không chỉ định tuyến đến y và y sẽ điều chỉnh để lựa chọn các khe thời gian và tần số. Sau đó, y gửi trả lại thông báo
TYPE2(x,y,unattached)đến x.
Trường hợp thứ tư, cả x và y đều có tuyến với các nút khác và các siêu khung của nó chúng thƣờng không thẳng hàng. Vì vậy, x gửi thông báo TYPE1(x,unattached) và y
trả lời bằng TYPE2(x,y,unattached). Nút x trả lời với thông báo
124
định sự dịch pha giữa các siêu khung của x và y. Sau khi nhận đƣợc thông tin này, nút y xác định các khe thời gian còn trống giữa hai lịch trình, chúng không nhất thiết phải thẳng hàng với biên giới các khe thời gian ở một trong hai lịch trình.
Giao thức này cho phép cài đặt các tuyến tĩnh giữa các nút cố định. Do quá trình xác định vùng bao phủ đƣợc lặp lại theo thời gian nên giao thức này phù hợp để thay đổi cấu hình mạng.