Để thiết kế và thực hiện các mạng cảm biến, nhiều vấn đề điều khiển được đặt ra, phải được nghiên cứu, giải quyết tối ưu, phù hợp với đặc thù của mạng cảm biến không dây, ví dụ: điều khi
Trang 1MỤC LỤC
DANH MỤC TỪ VIẾT TẮT 2
DANH MỤC HÌNH VẼ VÀ BẢNG BIỂU 3
MỞ ĐẦU 5
CHƯƠNG 1 - MẠNG CẢM BIẾN KHÔNG DÂY 7
1.1 Mạng cảm biến và ứng dụng 7
1.2 Kiến trúc mạng cảm biến không dây 11
1.3 Điều khiển truy nhập MAC trong mạng cảm biến không dây 15
CHƯƠNG 2 - ĐÁNH GIÁ HIỆU SUẤT 17
2.1 Khái niệm và các thông số hiệu suất 17
2.2 Các phương pháp đánh giá hiệu suất 19
2.3 Mô phỏng bằng chương trình máy tính 21
2.4 Bộ mô phỏng mạng OMNeT++ 28
CHƯƠNG 3 - PHƯƠNG PHÁP ĐIỀU KHIỂN TRUY NHẬP MAC TRONG MẠNG CẢM BIẾN KHÔNG DÂY 33
3.1 Yêu cầu thiết kế điều khiển truy nhập MAC 33
3.2 Phân loại và nguyên tắc hoạt động điều khiển truy nhập MAC 39
3.3 Đánh giá 48
CHƯƠNG 4 - NHIÊN CỨU, CÀI ĐẶT MÔ PHỎNG, ĐÁNH GIÁ HIỆU SUẤT MỘT SỐ PHƯƠNG PHÁP ĐIỀU KHIỂN TRUY NHẬP 51
4.1 Giao thức S-MAC 51
4.2 Giao thức T-MAC 60
4.3 Mô phỏng S-MAC, T-MAC bằng bộ chương trình OMNET++ 69
KẾT LUẬN 78
CÔNG TRÌNH KHOA HỌC LIÊN QUAN 80
TÀI LIỆU THAM KHẢO 81
PHỤ LỤC 1: BẢNG TỔNG HỢP KẾT QUẢ MÔ PHỎNG 83
Trang 2DANH MỤC TỪ VIẾT TẮT
AI- LMAC Adaptive Information-centric
FLAMA FLow-Aware Medium Access Giao thức FLAMA
FRTS Future Request to Send Yêu cầu gửi sớm
MAC Medium Access Control Điều khiển truy nhập đường
truyền NAV Network Allocation Vector vectơ thòi gian chiếm giữ
mạng PEDAMACS Power Efficient and Delay Aware
Medium
Giao thức PEDAMACS
STEM Sparse Topology and Energy
Management
Giao thức STEM
TDMA Time Division Multiple Access Đa truy nhập phân chia theo
thời gian
TRAMA TRaffic Adaptive Medium Access Giao thức TRAMA
WSN Wireless Sensor Network Mạng cảm biến không dây
Trang 3Hình 2.6 Cấu trúc mô phỏng mạng cảm biến được định nghĩa
bằng ngôn ngữ NED trong OMNeT++
31
Hình 3.1 Nguyên tắc phân loại những giao thức MAC theo tổ
chức thời gian và sự phát triển lịch sử
39
Hình 3.2 Nghe mức thấp (Low-Power Listening) 40 Hình 3.3 Chu trình thức/ngủ của giao thức truy nhập theo lịch 42 Hình 3.4 Truyền dữ liệu với kỹ thuật đồng bộ thời điểm thăm
dò kênh
43
Hình 3.6 Z-MAC: cấu trúc khe với sự ưu tiên gắn sẵn cho
những chủ nhân khe thời gian
48
Hình 4.3 Quan hệ định thời giữa nút nhận và các nút gửi 56
Hình 4.6 Lược đồ trao đổi dữ liệu cơ bản T-MAC 64
Trang 4Hình 4.11 Ma trận 100 nút cảm biến phân bố đều nhau 70 Hình 4.12 Giao thức S-MAC: Các mức tiêu thụ dòng điện trung
bình ứng với từng tốc độ phát sinh gói tin thay đổi
theo thời gian thức trên một khung thời gian
72
Hình 4.13 Giao thức S-MAC: Các mức tiêu thụ dòng điện trung
bình ứng với từng thời gian thức trên một khung, thay
đổi theo tốc độ phát sinh gói tin
72
Hình 4.14 Dòng điện tiêu thụ trung bình ứng với từng giao thức
thay đổi theo tốc độ phát sinh gói tin
73
Hình 4.15 Dòng điện tiêu thụ trung bình của T-MAC khi thay
đổi tốc độ phát sinh gói tin
74
Hình 4.16 T-MAC với việc thực hiện gửi sớm RTS tăng thông
lượng cực đại
75
Hình 4.17 Mức tiêu thụ dòng điện trung bình khi thay đổi tốc
độ phát sinh gói tin
75
Hình 4.18 Các mức tiêu thụ dòng điện trung bình với chiều dài
gói tin là 20 byte
76
Hình 4.19 Các mức tiêu thụ dòng điện trung bình với chiều dài
gói tin là 100 byte
76
Hình 4.20 Mức tiêu thụ dòng điện trung bình 3 loại giao thức
cho ứng dụng mạng cảm biến thông thường
77
Trang 5MỞ ĐẦU
Trong những năm gần đây, việc nghiên cứu các hệ thống mạng thông tin máy tính di động được phát triển mạnh mẽ Đặc biệt là hệ thống mạng cảm biến di động (wireless mobile sensor network), dạng không cấu trúc (ad hoc mobile network) mới xuất hiện, nhưng đã được nhiều nước, nhiều tổ chức xã hội, quốc phòng, an ninh, kinh tế … quan tâm
Mạng cảm biến có thể bao gồm hàng nghìn, thậm chí hàng triệu thiết bị cảm biến (sensors) thông minh, được trang bị một bộ xử lý, một bộ nhớ dung lượng nhỏ và các cảm biến để đo ánh sáng, độ ẩm, áp suất, nhiệt độ Trong tương lai, mạng này có thể giám sát cả môi trường, phương tiện máy móc và con người Mạng cảm biến liên hệ bằng sóng vô tuyến, tiêu thụ cực ít năng lượng, hoạt động liên tục trong mọi điều kiện, môi trường Mạng cảm biến có thể còn bao gồm cả các thiết bị điều khiển (actors) thông minh, trao đổi số liệu và thực hiện điều khiển đối với các thiết bị cảm biến
Để thiết kế và thực hiện các mạng cảm biến, nhiều vấn đề điều khiển được đặt ra, phải được nghiên cứu, giải quyết tối ưu, phù hợp với đặc thù của mạng cảm biến không dây, ví dụ: điều khiển truy nhập mạng không dây, định tuyến, điều khiển trao đổi số liệu tin cậy giữa các thiết bị cảm biến và điều khiển một cách có chọn lọc (lựa chọn một nhóm các thiết bị cảm biến và điều khiển) Nghiên cứu, đánh giá một số cơ chế điều khiển truy nhập mạng cảm biến di động có ý nghĩa lý luận và thực tiễn
Mục tiêu chính của luận văn là cung cấp cái nhìn tổng quan về mạng cảm biến không dây và ứng dụng; nguyên tắc hoạt động một số cơ chế điều khiển truy nhập mạng cảm biến không dây; phân tích, đánh giá hiệu suất hoạt động của một số cơ chế điều khiển trên
Ngoài bốn chương chính, bố cục luận văn còn có các phần Mở đầu, Kết luận và Tài liệu tham khảo Phần kết luận nêu tóm tắt các vấn đề đã trình bày trong các chương, đánh giá các kết quả đã đạt được, đồng thời đưa ra các định hướng nghiên cứu, phát triển tiếp theo Nội dung các chương được tóm tắt như sau:
Trang 6Chương 1 trình bày tổng quan về mạng cảm biến không dây, cấu tạo nút cảm biến cũng như kiến trúc mạng cảm biến, các lĩnh vực ứng dụng cơ bản của mạng cảm biến, một số vấn đề đặt ra trong cơ chế điểu khiển truy nhập áp dụng cho mạng cảm biến
Chương 2 giới thiệu tổng quan về đánh giá hiệu suất và mô phỏng bằng chương trình máy tính Giới thiệu bộ chương trình mô phỏng đang được sử dụng rộng rãi trong lĩnh vực viễn thông OMNet++
Chương 3 trình bày các vấn đề trong thiết kế cơ chế điều khiển truy nhập MAC cho mạng cảm biến không dây Phân loại và đánh giá các phương pháp điều khiển truy nhập MAC trong mạng cảm biến không dây
Chương 4 giới thiệu, đặc tả hai giao thức điều khiển truy nhập được dùng cho mạng cảm biến là S-MAC và T-MAC, thực hiện mô phỏng và đánh giá hiệu suất các giao thức trên bằng bộ chương trình OmNet++
Mặc dù đã rất cố gắng, song do khuôn khổ thời gian và thức hạn hẹp nên luận văn còn những hạn chế nhất định, tác giả rất mong nhận được những góp ý để vấn đề nghiên cứu này ngày càng được hoàn thiện hơn Qua đây, tác giả xin chân thành cảm ơn tới PGS.TS Vũ Duy Lợi, người thầy hướng dẫn và chỉ bảo tận tình trong quá trình thực hiện luận văn này, xin chân thành cảm ơn các Thầy Cô đã dạy và giúp đỡ trong suốt quá trình học tập tại trường Đại học Công nghệ - Đại học Quốc gia Hà Nội
Trang 7CHƯƠNG 1 - MẠNG CẢM BIẾN KHÔNG DÂY
1.1 Mạng cảm biến và ứng dụng
1.1.1 Mạng cảm biến
Một mạng cảm biến bao gồm số lượng lớn các nút cảm biến được phân
bố cả bên trong hiện tượng hoặc phân bố bên cạnh hiện tượng Vị trí của các nút cảm biến không cần phải thiết kế hoặc xác định trước, điều này cho phép các nút cảm biến phân bố ngẫu nhiên trong các địa hình phức tạp Điều đó cũng có nghĩa là các giao thức của mạng cảm biến và các thuật toán phải có khả năng tự tổ chức Một đặc điểm quan trọng khác của các mạng cảm biến là khả năng phối hợp giữa các nút cảm biến Các nút cảm biến được gắn một bộ
xử lý bên trong Thay vì gửi đi số liệu thô tới nút đích, chúng sử dụng khả năng xử lý để thực hiện các tính toán đơn giản và chỉ truyền số liệu đã được
xử lý theo yêu cầu
Những ứng dụng của mạng cảm biến đòi hỏi nó phải có những kỹ thuật đặc biệt hơn so với các kỹ thuật áp dụng cho các mạng không dây phi cấu trúc (mạng ad hoc) Mặc dù nhiều giao thức và giải thuật đã được thiết kế cho những mạng ad hoc không dây truyền thống, nhưng chúng chưa thỏa mãn những đặc tính và yêu cầu ứng dụng của mạng cảm biến Để thấy được điểm này, ta hãy xem xét sự khác nhau giữa mạng cảm biến và mạng ad hoc:
Số lượng nút cảm biến trong một mạng cảm biến lớn hơn nhiều lần
so với những nút trong mạng ad hoc
Các nút cảm biến thường được triển khai với mật độ dày hơn
Những nút cảm biến dễ hỏng, ngừng hoạt động
Topo mạng cảm biến thay đổi rất thường xuyên
Mạng cảm biến chủ yếu sử dụng truyền thông quảng bá (broadcast) trong khi mà đa số các mạng ad hoc là điểm - điểm (point-to-point)
Trang 8 Những nút cảm biến có giới hạn về năng lượng, khả năng tính toán
đa bước nhảy cũng khắc phục có hiệu quả vấn đề lan truyền tín hiệu khoảng cách xa trong giao tiếp không dây
Một trong những yêu cầu ràng buộc quan trọng đối với nút cảm biến là mức độ tiêu thụ điện phải thấp Nguồn cung cấp năng lượng điện cho nút cảm biến là có hạn và nói chung là không thể thay thế Bởi vậy, trong khi các mạng truyền thống tập trung vào làm sao để đạt được chất lượng dịch vụ cao thì những giao thức mạng cảm biến phải tập trung chủ yếu về sự giữ gìn năng lượng Chúng phải có những cơ chế cân bằng cho phép lựa chọn việc kéo dài tuổi thọ của mạng hay thông lượng thấp, hoặc độ trễ cao
Các mạng cảm biến gồm có nhiều phương thức thực hiện cảm biến khác nhau như cảm biến địa chấn, cảm ứng từ, cảm biến nhiệt, cảm biến hình ảnh, cảm biến hồng ngoại, cảm biến sóng âm và sóng rađa … trong các điều kiện bao quanh đa dạng như:
Trang 9 mức độ ồn,
sự có mặt hoặc không những loại đối tượng nhất định,
mức độ gắn kết cơ khí giữa các đối tượng
những đặc trưng hiện thời như tốc độ, hướng, và kích thước một đối tượng
Những nút cảm biến có thể được sử dụng cho cảm biến liên tục, phát hiện sự kiện, định danh sự kiện, cảm biến vị trí, và điều khiển cục bộ thiết bị khởi động
1.1.2 Ứng dụng mạng cảm biến
Những đặc tính của mạng cảm biến hứa hẹn một phạm vi ứng dụng rộng rãi với một số lĩnh vực ứng dụng cụ thể như: an ninh quốc phòng, y tế, môi trường, thương mại… Chúng ta có thể hình dung trong tương lai, những mạng cảm biến không dây sẽ là một phần gắn liền với cuộc sống của chúng ta nhiều hơn so với những máy tính cá nhân hiện nay
Trong lĩnh vực an ninh quốc phòng, với những đặc tính triển khai nhanh, tự tổ chức và độ thứ lỗi cao cho phép mạng cảm biến trở thành một
thành phần trong hệ thống C4ISRT (Command, Control, Communications,
Calculation, Intelligence, Surveillance, Reconnaissance, and Targeting - hỗ
trợ ra mệnh lệnh, điều khiển, truyền thông, tính toán, tình báo, giám sát theo dõi, trinh sát và mục tiêu) Vì mạng cảm biến dựa vào sự triển khai dày đặc những nút cảm biến có chi phí thấp và sẵn có, sự hỏng hóc, ngừng hoạt động của vài nút do những hoạt động thù địch không ảnh hưởng nhiều đến hoạt động quân sự như cảm biến truyền thống Một số ứng dụng quân sự khác của mạng cảm biến có thể kể đến như hỗ trợ giám sát lực lượng, thiết bị và quân nhu một cách thân thiện; theo dõi trận địa; do thám lực lượng và trận địa đối phương; xác định mục tiêu; đánh giá tổn thất sau trận chiến; do thám và xác định tấn công hóa sinh hoặc hạt nhân
Trong lĩnh vực môi trường, mạng cảm biến được sử dụng để theo dõi chuyển động của những động vật hoang dã cần giám sát, nghiên cứu hoặc bảo
Trang 10vệ, theo dõi những động vật nhỏ như sâu, bọ; theo dõi những yếu tố môi trường ảnh hưởng đến gieo trồng và chăn nuôi; tình trạng tưới tiêu; theo dõi môi trường trái đất, sinh học bên trong lòng biển, đất, và khí quyển; phát hiện cháy rừng; nghiên cứu thời tiết hoặc địa vật lý; cảnh báo lũ lụt; nghiên cứu bản đồ sinh học phức tạp của môi trường và nghiên cứu sự ô nhiễm
Trong lĩnh vực y tế, mạng cảm biến cung cấp những công cụ hỗ trợ giao tiếp cho người tàn tật; theo dõi bệnh nhân; hỗ trợ chẩn đoán; quản trị thuốc trong bệnh viện; giám sát từ xa dữ liệu vật lý của con người; kiểm tra
và theo dõi bác sĩ và bệnh nhân trong bệnh viện Mỗi bệnh nhân có thể được gắn kết các nút cảm biến nhỏ và nhẹ, mỗi nút cảm biến có nhiệm vụ riêng, ví
dụ, một nút cảm biến xác định nhịp tim, trong khi nút khác đang xác định huyết áp Bác sĩ có thể cũng mang một nút cảm biến cho phép những bác sĩ khác định vị bên trong phạm vi bệnh viện Việc những nút cảm biến có thể được gắn tới từng loại thuốc, những bệnh nhân có nút cảm biến xác định những dị ứng của họ và yêu cầu thuốc tương ứng thì sẽ tránh được việc chỉ định thuốc sai
Trong lĩnh vực ứng dụng gia đình, khi công nghệ phát triển, những nút
và những thành phần phát sinh cảm biến nhỏ gọn có thể được trang bị bên trong những đồ dùng gia đình như máy hút bụi, lò vi sóng, tủ lạnh, và thiết bị VCRs Những nút cảm biến này tương tác với nhau và với bên ngoài có thể nối mạng qua Internet hoặc vệ tinh, cho phép chủ nhà quản lý từ xa thiết bị đồ dùng dễ dàng hơn Bạn sẽ không phải lo lắng vì đã quên tắt đèn hoặc khóa cửa trước khi rời khỏi nhà vì bạn có thể dễ dàng làm những việc này ngay trên
chiếc ôtô của mình, thông qua chiếc điện thoại di động
Trong lĩnh vực thương mại, mạng cảm biến được ứng dụng trong việc theo dõi chất lượng sản phẩm; xây dựng văn phòng thông minh; điều khiển môi trường trong những tòa nhà; điều khiển robot trong những nhà máy sản xuất tự động; sản xuất đồ chơi tương tác; xây dựng bảo tàng tương tác; điều khiển tự động hóa; giám sát thảm hoạ; điều khiển thiết bị khởi động; thiết bị chống mất cắp ô tô…Ví dụ trong những tòa nhà văn phòng, điều hoà không khí và nhiệt độ hầu hết là điều khiển tập trung, vì vậy nhiệt độ bên trong một
Trang 11phòng có thể giảm hoặc tăng một vài độ, một mặt có thể ấm hơn mặt khác vì
có duy nhất một điều khiển trong phòng và luồng không khí từ hệ thống trung tâm thì không phải là phân tán bằng nhau Một hệ thống mạng cảm biến vô tuyến phân tán có thể được thiết đặt để điều khiển luồng khí và nhiệt độ trong các bộ phận khác nhau của phòng Công nghệ này được đánh giá có thể giảm bớt đáng kể mức độ tiêu thụ điện năng
Một ví dụ khác, trong tương lai trẻ em sẽ có khả năng tương tác trực tiếp với những hiện vật trong bảo tàng Những đối tượng, hiện vật này sẽ có thể trả lời, đáp ứng qua va chạm hoặc giọng nói, qua đó giúp các em có sự hiểu biết hơn về chúng
1.2 Kiến trúc mạng cảm biến không dây
1.2.1 Nút cảm biến
Một nút cảm biến được cấu tạo bởi bốn thành phần cơ bản như hình 1.1
gồm: Bộ phận cảm biến (Sensing Unit), bộ phận xử lý (Processing Unit), bộ phận thu phát (Transceiver Unit) và bộ phận cung cấp năng lượng (Power
Unit) Ngoài ra, chúng cũng có thể có những thành phần bổ sung phụ thuộc
ứng dụng như: Hệ thống định vị (Location Finding System); Bộ phận phát điện (Power Generator) và bộ phận quản lý di động (Mobilizer)
Hình 1.1 Thành phần của một nút cảm biến
Bộ phận cảm biến thường bao gồm hai bộ phận nhỏ: sensors và bộ phận chuyển đổi tín hiệu tương tự thành tín hiệu số (Analog to Digital Converter - ADCs) Tín hiệu tương tự được sản sinh bởi những thành phần
Trang 12cảm biến dựa vào quan sát hiện tượng được chuyển đổi tới tín hiệu số bởi ADCs, và sau đó được chuyển tới bộ phận xử lý Bộ phận xử lý thường liên quan đến một bộ phận lưu trữ nhỏ, quản lý những thủ tục làm cho nút cảm biến hợp tác với nhau khác để thực hiện nhiệm vụ cảm biến được định trước
Bộ phận thu phát kết nối nút với mạng Một trong những thành phần quan trọng của một nút cảm biến là bộ phận cung cấp quản lý năng lượng Bộ phận này có thể được hỗ trợ bởi một bộ phận tiếp thu năng lượng như pin mặt trời Nút cảm biến còn có thể có những bộ phận nhỏ khác phụ thuộc từng ứng dụng cụ thể
Hầu hết kỹ thuật định tuyến mạng cảm biến và những tác vụ cảm biến đòi hỏi kiến thức định vị vị trí với độ chính xác cao, vì vậy, các nút cảm biến thường có hệ thống định vị vị trí Ngoài ra, tùy thuộc vào ứng dụng, nút cảm biến có thể được trang bị một bộ phận quản lý di động để quản lý chuyển động khi nó được yêu cầu để thực hiện nhiệm vụ định trước
Tất cả những bộ phận cần phải tích hợp trong một mô đun cỡ hộp diêm Kích thước yêu cầu đôi khi phải nhỏ hơn một 1cm3 Ngoài kích thước, nút cảm biến phải thỏa mãn yêu cầu:
Tiêu thụ điện cực nhỏ,
Hoạt động được ở mật độ cao,
Có chi phí sản xuất thấp và không thiết yếu,
Không có định danh và thực hiện tự quản trị,
Thích ứng với môi trường
Những nút cảm biến thường là không tác động được, tuổi thọ của một mạng cảm biến phụ thuộc vào tuổi thọ của những nguồn cung cấp năng lượng cho những nút Vì kích thước giới hạn, năng lượng của nút cảm biến cũng trở thành một tài nguyên khan hiếm
1.2.2 Mạng cảm biến
Các nút cảm biến thường được phân bố trong trường cảm biến Mỗi nút
cảm biến có khả năng thu thập số liệu và chọn đường để chuyển số liệu tới
Trang 13nút gốc Việc chọn đường tới nút gốc theo đa bước nhảy được minh hoạ trong
Hình 1.2 Nút gốc có thể liên lạc với nút quản lý nhiệm vụ thông qua Internet
hoặc vệ tinh Việc thiết kế mạng cảm biến như mô tả trong Hình 1.2 phụ thuộc vào nhiều yếu tố như khả năng chống lỗi, giá thành sản phẩm, môi trường hoạt động, cấu hình mạng cảm biến, tích hợp phần cứng, môi trường truyền dẫn và tiêu thụ công suất
Hình 1.2 Phân bố nút cảm biến trong trường cảm biến
Kiến trúc giao thức được sử dụng bởi nút gốc và các nút cảm biến ở Hình 1.2 được trình bày trong Hình 1.3 Kiến trúc giao thức này kết hợp giữa công suất và chọn đường, kết hợp số liệu với các giao thức mạng, sử dụng công suất hiệu quả với môi trường vô tuyến và sự tương tác giữa các nút cảm
biến Kiến trúc giao thức bao gồm lớp vật lý, lớp liên kết số liệu, lớp mạng,
lớp truyền tải, lớp ứng dụng, phần quản lý công suất, phần quản lý di động và phần quản lý nhiệm vụ Lớp vật lý cung cấp các kỹ thuật điều chế, phát và
thu Vì môi trường có tạp âm và các nút cảm biến có thể di động, giao thức điều khiển truy nhập môi trường (MAC) phải xét đến vấn đề công suất và phải có khả năng tối thiểu hoá việc va chạm với thông tin quảng bá của các nút lân cận Lớp mạng quan tâm đến việc chọn đường số liệu được cung cấp bởi lớp truyền tải Lớp truyền tải giúp duy trì luồng số liệu nếu ứng dụng mạng cảm biến yêu cầu Tuỳ theo nhiệm vụ cảm biến, các loại phần mềm ứng dụng khác nhau có thể được xây dựng và sử dụng ở lớp ứng dụng Ngoài ra, các phần quản lý công suất, di chuyển và nhiệm vụ sẽ giám sát việc sử dụng
Trang 14công suất, sự di chuyển và thực hiện nhiệm vụ giữa các nút cảm biến Những phần này giúp các nút cảm biến phối hợp nhiệm vụ cảm biến và tiêu thụ công suất tổng thể thấp hơn
Hình 1.3 Kiến trúc giao thức của mạng cảm biến
Phần quản lý công suất điều khiển việc sử dụng công suất của nút cảm
biến Ví dụ, nút cảm biến có thể tắt khối thu của nó sau khi thu được một bản tin từ một nút lân cận Điều này giúp tránh tạo ra các bản tin giống nhau Cũng vậy, khi mức công suất của nút cảm biến thấp, nút cảm biến phát quảng
bá tới các nút lân cận để thông báo nó có mức công suất thấp và không thể tham gia vào các bản tin chọn đường Công suất còn lại sẽ được dành riêng
cho nhiệm vụ cảm biến Phần quản lý di động phát hiện và ghi lại sự di
chuyển của các nút cảm biến để duy trì tuyến tới người sử dụng và các nút cảm biến có thể lưu vết của các nút cảm biến lân cận Nhờ xác định được các nút cảm biến lân cận, các nút cảm biến có thể cân bằng giữa công suất của nó
và nhiệm vụ thực hiện Phần quản lý nhiệm vụ dùng để làm cân bằng và lên
kế hoạch các nhiệm vụ cảm biến trong một vùng xác định Không phải tất cả các nút cảm biến trong vùng đó điều phải thực hiện nhiệm vụ cảm biến tại cùng một thời điểm Kết quả là một số nút cảm biến thực hiện nhiệm vụ nhiều hơn các nút khác tuỳ theo mức công suất của nó Những phần quản lý này là
Trang 15cần thiết để các nút cảm biến có thể làm việc cùng nhau theo một cách thức sử dụng hiệu quả công suất, chọn đường số liệu trong mạng cảm biến di động và phân chia tài nguyên giữa các nút cảm biến
1.3 Điều khiển truy nhập MAC trong mạng cảm biến không dây
Mạng cảm biến không dây là loại mạng đặc biệt với số lượng lớn nút cảm biến được trang bị bộ vi xử lý, thành phần cảm biến và thành phần quản
lý sóng vô tuyến Các nút cảm biến cộng tác với nhau để hoàn thành một nhiệm vụ chung Trong nhiều ứng dụng, các nút cảm biến sẽ được triển khai phi cấu trúc như mạng ad hoc Chúng phải tự tổ chức để hình thành một mạng không dây đa bước nhảy Thách thức chung trong mạng không dây là vấn đề xung đột do hai nút gửi dữ liệu cùng lúc trên cùng kênh truyền Giao thức điều khiển truy nhập đường truyền (MAC) đã được phát triển để giúp đỡ mỗi nút quyết định khi nào và làm sao để truy nhập kênh Vấn đề này cũng được biết như sự định vị kênh hoặc đa truy nhập Lớp MAC được xem xét bình thường như một lớp con của lớp liên kết dữ liệu trong chồng giao thức mạng Những giao thức MAC đã nghiên cứu rộng rãi trên những lĩnh vực truyền thống của truyền thông tiếng nói và dữ liệu không dây Đa truy nhập phân chia theo thời gian (Time Division multiple Access - TDMA), Đa truy nhập phân chia theo tần số (Frequency Division Multiple Access - FDMA) và đa truy nhập phân chia theo mã (Code Division Multiple Access - CDMA) là những giao thức MAC được sử dụng rộng rãi trong những hệ thống truyền thông tế bào hiện đại Ý tưởng cơ bản của các phương pháp trên là sẽ tránh xung đột bởi việc chia nhỏ kênh truyền thành những kênh truyền con, các nút
sẽ phân chia truy nhập các kênh truyền con đó Việc phân chia kênh được thực hiện theo thời gian, tần số hoặc theo mã Những kênh truyền con này không ảnh hưởng lẫn nhau, những giao thức MAC này được phân vào nhóm
phi xung đột (collision-free) Lớp giao thức MAC khác dựa trên sự cạnh tranh
dành quyền truy nhập trên một kênh dung chung, kết quả trong sự phối hợp xác suất có điều kiện, không cần cấp phát sẵn kênh truyền Xung đột có thể xảy ra trong thời gian thủ tục cạnh tranh trong những hệ thống như vậy Những ví dụ cổ điển của những giao thức MAC trên nền cạnh tranh bao gồm
Trang 16ALOHA và đa truy nhập cảm ứng sóng mang (CSMA) Trong giao thức ALOHA, một nút đơn giản truyền một gói khi nó được phát sinh (pure ALOHA) hoặc tại khe sẵn có tiếp theo (slotted ALOHA) Những gói tin va chạm với nhau được vứt bỏ và sẽ được truyền lại Trong CSMA, một nút thăm dò trước khi phát, nếu nó phát hiện ra kênh bận, thì nó dừng lại và thử lại sau đó Giao thức CSMA đã được nghiên cứu rộng rãi, hiện nay nó là nền tảng của nhiều chuẩn mở rộng gồm IEEE 802.11 Mạng cảm biến khác với mạng dữ liệu không dây truyền thống trên một vài khía cạnh Trước hết, đa số các nút trong những mạng cảm biến hoạt động dựa trên nguồn điện pin, và rất khó để nạp điện cho những nguồn pin của tất cả các nút Thứ hai, những nút thường được triển khai trong một kiểu cách đặc biệt phi cấu trúc; chúng phải
tự tổ chức hình thành một mạng truyền thông Ba là, nhiều ứng dụng cần phải
sử dụng số lượng lớn những nút, và mật độ nút sẽ thay đổi tại những địa điểm
và thời gian khác nhau, với cả những mạng mật độ thưa lẫn những nút với nhiều lân cận Cuối cùng, đa số các lưu thông trong mạng được thúc đẩy bởi những sự kiện cảm ứng, phân bố không đều và rất co cụm Tất cả những đặc trưng này cho thấy những giao thức MAC truyền thống không thích hợp cho những mạng cảm biến không dây nếu không có những sự cải biến
Trang 17CHƯƠNG 2 - ĐÁNH GIÁ HIỆU SUẤT
2.1 Khái niệm và các thông số hiệu suất
Hiệu suất là một trong hai nhân tố chính xác định năng suất tổng cộng của một hệ thống Đối với một hệ thống tính toán, đánh giá hiệu suất
(performance evaluation) là xác định về mặt định tính và định lượng chất
lượng phục vụ của hệ thống tính toán đó với một loại bài toán nhất định Đối với giao thức, đánh giá hiệu suất là xác định về mặt định tính và định lượng chất lượng truyền tải đối với một lưu lượng số liệu nhất định Chất lượng truyền tải số liệu của một giao thức được xác định bằng các đại lượng như:
thông lượng (throughput); thời gian trễ (transfer delay); xác xuất lỗi truyền số
liệu; thời gian xử lý, khắc phục lỗi…
Vấn đề đánh giá và dự đoán hiệu suất luôn thu hút sự quan tâm của các nhà nghiên cứu và thiết kế giao thức với mục đích chính là cải thiện đặc trưng
giá - hiệu suất giao thức (cost-performance) Quá trình đánh giá hiệu suất
được đặt ra ngay từ giai đoạn đầu của thiết kế Sau khi lựa chọn kiến trúc và bắt đầu thiết kế, triển khai, việc đánh giá hiệu suất sẽ trở nên cụ thể hơn Các
kỹ thuật được dùng để dự đoán và đánh giá hiệu suất trong giai đoạn thiết kế
có thể là các tính toán bằng tay, nhưng cũng có khi là các mô phỏng rất tinh
vi Việc so sánh hiệu suất dự đoán với hiệu suất thực tế đạt được thường giúp cho các nhà nghiên cứu thấy được các khiếm khuyết chính trong thiết kế hoặc các lỗi trong việc lập trình
Đánh giá hiệu suất giao thức có ý nghĩa lý luận và thực tế quan trọng, xuyên suốt toàn bộ quá trình thiết kế, thực hiện và sử dụng giao thức Mục tiêu cuối cùng của việc thiết kế, thực hiện và vận hành các giao thức trao đổi
số liệu cần đạt được chính là đạt được tính hiệu quả và chất lượng cao trong hoạt động phục vụ của hệ thống đó Ngày nay, đánh giá hiệu suất được coi là một phần không thể thiếu được của công việc thiết kế và triển khai giao thức
Trang 18Các thông số hiệu suất
Có nhiều tiêu chí để đánh giá hiệu suất, có thể phân loại thông số hiệu suất thành hai loại: thông số hiệu suất có định hướng người sử dụng và thông
số hiệu suất có định hướng hệ thống
Thông số hiệu suất định hướng người sử dụng bao gồm: thời gian trả
lời (thời gian xử lý) trong môi trường hệ thống xử lý theo lô (batch
processing); thời gian trả lời trong môi trường hệ thống xử lý thời gian thực (real-time processing) hoặc môi trường hệ thống xử lý tương tác (interactive processing) Thời gian trả lời của một tác vụ được tính từ khi tác vụ được đưa
vào hệ thống cho tới khi hệ thống đưa ra kết quả Tương tự, trong môi trường
xử lý thời gian thực, thời gian trả lời của một yêu cầu biểu diễn khoảng thời gian trôi qua từ khi đến của một yêu cầu cho tới khi yêu cầu được hoàn thành trong hệ thống
Trong hệ thống tương tác, thời gian phản hồi của hệ thống là khoảng thời gian trôi qua từ thời điểm một đầu vào đến hệ thống cho tới khi nó nhận được một phần kết quả xử lý đầu tiên Thời gian phản hồi cho phép đánh giá hiệu suất hoạt động của bộ lập lịch trong việc phân chia tài nguyên của hệ thống, xử lý các yêu cầu mới Thời gian quay vòng, thời gian trả lời, thời gian phản hồi được xem như là những biến ngẫu nhiên, vì thế chúng ta cũng có thể tìm ra được hàm phân phối xác suất ngẫu nhiên của chúng, giá trị tại một điểm, phương sai,
Các thông số hiệu suất có định hướng hệ thống thường là thông lượng
và hiệu quả sử dụng (utilization) Thông lượng được định nghĩa là số trung
bình công việc được thực hiện trong một đơn vị thời gian Đây là đại lượng xác định hiệu quả hoạt động của hệ thống Nếu yêu cầu tính toán đến theo một số luật nào đó, độc lập với trạng thái hoạt động của hệ thống, thì thông lượng tương đương với tốc độ đến trung bình của yêu cầu Đại lượng này còn
có thể cho thấy hệ thống có khả năng xử lý các yêu cầu này mà không sinh ra bất cứ một sự ùn đọng nào hay không Nhưng trong trường hợp này, thông
lượng là đại lượng xác định tải của hệ thống (system load), chứ không phải là
đại lượng đánh giá chính xác hiệu quả hoạt động của hệ thống
Trang 19Hiệu quả sử dụng của một tài nguyên là thời gian được sử dụng, còn
gọi là thời gian bận, của tài nguyên đó, hay cũng chính là tỷ lệ giữa thời gian được sử dụng và thời gian tồn tại của một tài nguyên
2.2 Các phương pháp đánh giá hiệu suất
Các phương pháp phân tích, đánh giá hiệu suất có thể phân loại như sau:
§¸nh gi¸ hiÖu suÊt
Hình 2.1 Các phương pháp đánh giá hiệu suất
Phương pháp đo thực tế thường được áp dụng khi các các yếu tố đảm bảo về kỹ thuật cho phép và chi phí cho các thiết bị đo và thực hiện các phép
đo là có thể chấp nhận được Đối với các hệ thống đang hoạt động, việc phân tích và đánh giá hiệu suất hoạt động của các hệ thống này dựa trên các số liệu thu thập được bởi các hệ thống giám sát bằng phương pháp ngẫu nhiên hoặc được kích hoạt bởi các sự kiện qui định trong và ngoài hệ thống tại các giao diện của hệ thống Kết quả đo có thể được sử dụng làm các giá trị đầu vào cho các mô hình giải tích hoặc mô hình mô phỏng máy tính hoặc được sử dụng để kiểm chứng tính đúng đắn của các mô hình này
Mô hình hoá là phương pháp được sử dụng trong quá trình thiết kế hệ
thống, nhất là đối với các hệ thống chưa tồn tại Mô hình hoá giải tích
(analytical modeling) sử dụng các công cụ toán học một cách xác định, hoặc ngẫu nhiên, hoặc dựa trên số liệu thu thập được khi vận hành hệ thống thực để
mô phỏng và xác định các thông số hiệu suất của hệ thống Theo phương pháp này, ta xây dựng các phương trình thể hiện mối quan hệ giữ các tiêu chuẩn hiệu suất cần quan tâm và các tham số của hệ thống có thể giải được bằng Giải tích
Trang 20Mô hình hoá mô phỏng (simulative modeling) sử dụng các chương
trình máy tính để mô phỏng kiến trúc và quá trình hoạt động của hệ thống, trên cơ sở đó xác định các thông số hiệu suất của hệ thống đó Mô hình mô phỏng mô tả hoạt động của hệ thống Cấu trúc và độ phức tạp của bộ mô phỏng phụ thuộc vào phạm vi của thí nghiệm mô phỏng Nó thường được xây dựng có cấu trúc, cho phép mô-đun hoá chương trình mô phỏng thành tập các chương trình con, sao cho việc sửa đổi, bổ sung các chương trình con được dễ dàng, đồng thời phải được xây dựng sao cho đạt được tốc độ cao nhằm làm giảm thời gian chạy mô phỏng càng nhiều càng tốt
Phương pháp lai là hình thức kết hợp của hai phương pháp mô hình hoá giải tích và mô hình hoá mô phỏng
So sánh các phương pháp đánh giá hiệu suất
Phương pháp sử dụng mô hình giải tích là phương pháp tốt nhất vì nó cho phép thay đổi các tham số của hệ thống và cấu hình trong một miền rộng với chi phí thấp mà vẫn có thể đạt được các kết quả mong muốn Tuy nhiên, phương pháp này thường được sử dụng trong giai đoạn đầu của quá trình thiết
kế Nguyên nhân là các mô hình giải tích do chúng ta xây dựng thường là phức tạp, không thể giải được nếu không được đơn giản hoá nhờ các giả thiết hay được phân rã thành các mô hình nhiều cấp, nhưng các mô hình này thường khác xa với thực tế Các kết quả thu được cần phải được kiểm nghiệm bằng kết quả của các phương pháp khác
Phương pháp mô phỏng có thể được sử dụng ngay trong giai đoạn đầu của việc thiết kế cho đến giai đoạn triển khai thực hiện và tích hợp hệ thống Tuy nhiên, phương pháp này đòi hỏi chi phí cao cho việc xây dựng bộ mô phỏng cũng như kiểm chứng tính đúng đắn của nó Nhưng sau khi xây dựng xong bộ mô phỏng thì có thể tiến hành chạy chương trình nhiều lần với độ chính xác theo yêu cầu và chi phí cho mỗi lần chạy là thấp Các kết quả mô phỏng vẫn cần phải được kiểm chứng bằng các phương pháp khác như giải tích hay đo thực tế
Trang 21Nếu hai phương pháp trên có thể thực hiện ngay từ giai đoạn thiết kế thì phương pháp đo thực tế chỉ có thể sử dụng được khi giao thức đã được cài đặt, triển khai vào hoạt động thực tế trên hệ thống thực Phương pháp này cũng đòi hỏi chi phí cao cho các thiết bị đo và cho việc tiến hành đo Việc đo đạc cần được thực hiện ở nhiều thời điểm, kéo dài và lặp lại trong một khoảng thời gian đủ dài Tuy nhiên, phương pháp này vẫn có thể không phát hiện ra được hoặc dự đoán được mọi tình huống và hành trạng có thể xẩy ra
2.3 Mô phỏng bằng chương trình máy tính
2.3.1 Định nghĩa và phân loại
Mô hình hoá mô phỏng (simulative modeling) là phương pháp thực
nghiệm sử dụng các chương trình máy tính để mô phỏng kiến trúc và quá trình hoạt động của hệ thống, trên cơ sở đó nghiên cứu hoạt động và xác định các thông số hiệu năng của hệ thống Mô phỏng bằng chương trình máy tính được sử dụng khi các mô hình giải tích không thể hiện được một cách trung thực hệ thống cần mô phỏng
Mô hình mô phỏng mô tả hoạt động của hệ thống dưới dạng các sự kiện của các thành phần hệ thống và mối quan hệ giữa chúng Chương trình máy tính thực hiện mô hình mô phỏng, cho phép ghi lại hoạt động của các thành phần này và ảnh hưởng của chúng đến các thành phần còn lại dưới dạng một quá trình động hoạt động của hệ thống
Như vậy, mô hình mô phỏng hoạt động của một hệ thống chính là một
hệ thống động Một hệ thống động là một hệ thống thay đổi trạng thái hoạt động của nó theo thời gian Trạng thái hoạt động của hệ thống mô phỏng được mô tả bằng các giá trị của các biến trong chương trình mô phỏng; trạng thái hệ thống thay đổi được phản ảnh tương ứng với sự thay đổi các giá trị của các biến Đặc trưng của hệ thống mô phỏng có trạng thái rời rạc (discrete), hướng sự kiến (event-oriented), nghĩa là: tập hợp các trạng thái hệ thống là có hạn, trạng thái thay đổi “đột biến” (gíá trị rời rạc) vào các thời điểm nhất định (time-discrete) Một hệ thống mô phỏng như vậy là một hệ thống xác định (deterministic), nghĩa là: trạng thái hệ thống luôn xác định được, dựa trên
Trang 22trạng thái trước đó và trạng thái hiện tại Trong thực tế mô phỏng, nhiều hệ thống mô phỏng hoặc là quá phức tạp, hoặc là không cung cấp đầy đủ thông tin về tất cả các trạng thái có được Vì vậy, phần lớn các hệ thống mô phỏng không phải là các hệ thống xác định, mà là các hệ thống ngẫu nhiên, thống kê; trạng thái hệ thống được xác định chỉ trong khung cảnh tổng thể của cả hệ thống, không thể xác định trong từng ngữ cảnh cụ thể được
Một số khái niệm cơ bản trong mô phỏng hệ thống mạng máy tính
- Biến trạng thái (state variable): Biến trạng thái có giá trị là trạng thái
của hệ thống mô phỏng Ví dụ về biến trạng thái là độ dài hàng đợi phát hoặc thu số liệu
- Sự kiện (event): Một sự thay đổi trạng thái hệ thống mô phỏng gọi là
một sự kiện, ví dụ: gói số liệu đến trong hàng đợi thu trong trường hợp thu gói số liệu hoặc gói số liệu đến trong hàng đợi chờ phát trong trường hợp phát gói số liệu
- Mô hình thời gian liên tục hoặc mô hình thời gian rời rạc
(continuous-time or discrete-time model): Mô hình thời gian liên tục là mô hình mà ở đó, trạng thái hệ thống mô phỏng được xác định tại bất cứ một thời điểm (thời gian) nào Trong trường hợp ngược lại, nghĩa là, trạng thái hệ thống mô phỏng chỉ xác định ở một thời điểm (thời gian) nhất định, người ta
có mô hình thời gian rời rạc
- Mô hình trạng thái liên tục hoặc mô hình trạng thái rời rạc
(continuous-state or discrete-state model): mô hình trạng thái liên tục hoặc rời rạc phụ thuộc vào việc biến trạng thái nhận giá trị liên tục hoặc rời rạc.Mô hình trạng thái liên tục hoặc rời rạc còn được gọi là mô hình sự kiện liên tục hoặc mô hình sự kiện rời rạc
- Mô hình xác định và mô hình ngẫu nhiên (deterministic or
probabilistic model): nếu kết quả đầu ra của một mô hình có thể xác định được từ trước một các chắc chắn thì mô hình đó được gọi là mô hình xác định Ngược lại, nếu kết quả đầu ra của một mô hình là khác nhau đối với
Trang 23việc lặp lại của một tập giá trị đầu vào nhất định thì mô hình đó được gọi là
mô hình ngẫu nhiên
- Mô hình tĩnh và mô hình động (static or dynamic model): nếu thời
gian không phải là một biến thì mô hình đó là mô hình tĩnh Ngược lại, nếu trạng thái của hệ thống mô phỏng thay đổi theo thời gian thì mô hình đó là mô hình động
Người ta phân biệt ba loại hệ thống mô phỏng: (a) mô phỏng tĩnh, không có biến thời gian, còn gọi là mô phỏng Monte Carlo; (b) mô phỏng theo vết (trace-driven); và (c) mô phỏng theo sự kiện (event-driven) Hai phương pháp mô phỏng cuối được sử dụng để mô hình hoá, phân tích đánh giá hiệu suất hoạt động mạng máy tính
Mô phỏng theo vết sử dụng số liệu đầu vào là số liệu được thu thập theo thứ tự các sự kiện (theo thời gian) xảy ra trên hệ thống thực Ví dụ: những số liệu cần thiết cho việc phân tích, đánh giá hiệu quả hoạt động của các chiến lược quản lý bộ nhớ đệm thu khác nhau của một kết nối mạng (network interface) như: thời gian đến trung bình giữa hai gói số liệu (đồng nghĩa với tốc độ đến của các gói số liệu), phân phối độ dài gói số liệu, được thu thập trên một mạng LAN cụ thể và được sử dụng là số liệu đầu vào cho một mô phỏng các chiến lược quản lý bộ nhớ đệm thu khác nhau
2.3.2 Nguyên tắc mô phỏng theo sự kiện
Mô phỏng theo sự kiện là thực hiện mô phỏng hoạt động của hệ thống
mà ở đó, trạng thái hệ thống (model state) thay đổi theo sự kiện nhất định Nếu trạng thái của hệ thống mô phỏng được xác định là liên tục thì mô phỏng
đó được gọi là mô phỏng theo sự kiện liên tục Ngược lại, nếu trạng thái của
hệ thống mô phỏng được xác định là rời rạc thì mô phỏng đó được gọi là mô phỏng theo sự kiện rời rạc Thông thường, mô phỏng hệ thống mạng máy tính
là mô phỏng theo sự kiện rời rạc, vì trạng thái của hệ thống thường là số gói
số liệu đến, được lưu để xử lý, được phát qua hệ thống đường truyền Kiến trúc và các thành phần của hệ thống mô phỏng theo sự kiện rời rạc được trình bày trong Hình 2.2
Trang 24Bảng lập lịch các sự kiện (event scheduler): bảng lập lịch các sự kiện
chứa danh sách các sự kiện “chờ” xảy ra trong hệ thống mô phỏng Bảng lập lịch cho phép sắp xếp các sự kiện xuất hiện vào các thời điểm nhất định, ví dụ: (a) Sự kiện X xảy ra vào thời điểm T; (b) Giữ sự kiện X xảy ra trong khoảng thời gian dt; (c) Huỷ bỏ một sự kiện Y đã được sắp xếp để xuất hiện vào thời điểm Z, Bảng lập lịch các sự kiện là thành phần hệ thống được kích hoạt nhiều nhất và có ảnh hưởng quyết định đến hiệu quả thực hiện mô phỏng
Đồng hồ mô phỏng (simulation clock): mỗi một mô phỏng đều có một
biến chung, thể hiện thời gian mô phỏng Lập lịch các sự kiện thay đổi thời gian này theo hai phương thức: (a) định kỳ tăng thời gian mô phỏng thêm t
và kiểm tra xem có sự kiện nào có thể xuất hiện (phương thức này không được sử dụng trong mô phỏng máy tính); (b) tự động tăng thời gian mô phỏng đến thời điểm tiếp theo gần nhất mà ở đó, một sự kiện xuất hiện
Event Routine
Event Routine
Event Routine Event Scheduler
System State Variables I
N P U T
O U T P U T
Clock and Time Advancing Mechanism
Memory Management and Trace Discrete - Event Simulator
Event Routine
Event Routine
Event Routine Event Scheduler
System State Variables I
N P U T
O U T P U T
Clock and Time Advancing Mechanism
Memory Management and Trace Discrete - Event Simulator
Hình 2.2: Kiến trúc hệ thống mô phỏng theo sự kiện rời rạc
Các biến trạng thái của hệ thống (system state variables): đây là các
biến chung (global) để mô tả trạng thái của hệ thống
Trang 25Chương trình thể hiện sự kiện (event routines): mỗi sự kiện được thể
hiện (mô phỏng) bằng một chương trình Chương trình này cập nhật các biến trạng thái của hệ thống và sắp xếp lịch cho các sự kiện (khác) xuất hiện
Chương trình nhập số liệu vào (Input routines): chương trình này nhập
tất cả số liệu từ người dùng cho hệ thống mô phỏng Thông thường, chương trình này cho phép nhập nhiều lần giá trị các thông số đầu vào theo một qui tắc nhất định (ví dụ: nhập dữ liệu cho nhiều vòng lặp đầu vào)
Chương trình tạo số liệu đầu ra (Output routines or report generator):
chương trình tạo số liệu đầu ra được thực hiện vào cuối mỗi mô phỏng, cho phép tính toán kết quả mô phỏng cuối cùng và in ra dưới dạng báo cáo nhất định
Chương trình khởi tạo (Initialization routines): chương trình thiết lập
giá trị ban đầu cho các biến trạng thái hệ thống cũng như các bộ sinh số ngẫu nhiên được sử dụng trong mô phỏng
Chương trình quét số liệu mô phỏng (Trace routines): chương trình
quét số liệu mô phỏng cho phép thu thập các số liệu sinh ra tức thời trong quá trình thực hiện mô phỏng Những chương trình này cho phép kiểm tra, phát hiện lỗi khi thực hiện mô phỏng
Quản lý bộ nhớ động (Dynamic Memory Management): thông thường,
chương trình mô phỏng luôn tạo ra các thực thể mới và xoá bỏ các thực thể không còn trực tiếp tham gia quá trình mô phỏng Việc quản lý bộ nhớ đệm một cách “động” là hết sức cần thiết để đáp ứng yêu cầu cấp phát động bộ nhớ cho các thực thể mô phỏng
Chương trình chính (Main program): chương trình chính kết nối tất cả
các chương trình thành phần nêu trên của một mô phỏng, từ nhập số liệu đầu vào, khởi tạo hệ thống mô phỏng đến thực hiện các sự kiện, các vòng lặp, nếu cần thiết, quét số liệu mô phỏng và cuối cùng là tính toán kết quả mô phỏng cuối cùng
Trang 26Change system state
Determ.
subseq.
Ev, Ti
Random number generator/
event trace data
Ei
Ti
run complete?
End Yes
No Update
Change system state
Determ.
subseq.
Ev, Ti
Random number generator/
event trace data
Ei
Ti
run complete?
End Yes
No Update
Hình 2.3: Nguyên tắc hoạt động của mô phỏng theo sự kiện rời rạc
Nguyên tắc hoạt động của mô phỏng theo sự kiện rời rạc được trình bày trong Hình 3.3 Ứng với mỗi sự kiện Ei là thời gian ti, khoảng thời gian sau
đó sự kiện Ei được thực hiện Cặp giá trị Ei/ti được lưu trong hàng đợi sự kiện Đồng hồ mô phỏng được cập nhật với các giá trị ti Trạng thái hệ thống ứng với sụ kiện Ei được thay đổi; trên cơ sở đó, các giá trị thống kê hoạt động của hệ thống được tính toán mới; sự kiện và thời gian diễn ra sự kiện mới được xác định và đưa vào hàng đợi sự kiện Quá trình này được lặp lại cho đến khi chương trình mô phỏng kết thúc Mô hình mô phỏng hoạt động theo phương thức này còn được gọi là mô phỏng theo sự kiện không đồng bộ
2.3.3 Kiểm chứng kết quả mô phỏng
Kiểm chứng kết quả mô phỏng là tập hợp các kỹ thuật kiểm tra để cho thấy mô hình mô phỏng: (a) được thiết kế và phát triển đúng trên cơ sở ngôn ngữ lập trình đã được lựa chọn (model verification); (b) phản ánh trung thực
hệ thống cần được mô phỏng (model validation); (c) đảm bảo đạt được trạng thái ổn định (steady state), trước khi các số liệu mô phỏng được ghi lại để tính toán các thông số hiệu suất đã được xác định trước; và (d) được thực hiện trong một thời gian đủ lớn để các số liệu mô phỏng thu thập được là tin cậy
Trang 27Chương trình mô phỏng là một chương trình máy tính, được phát triển bởi một ngôn ngữ lập trình, vì vậy các kỹ thuật đảm bảo cho chương trình được phát triển đúng nói chung cũng là các kỹ thuật để kiểm chứng tính đúng đắn của chuơng trình mô phỏng nói riêng Có thể nêu ở đây hai kỹ thuật chính, đó là: kỹ thuật lập trình theo mô-đun (modular design) và phương thức thiết kế, thực hiện từ trên xuống (top-down design) Lập trình theo mô-đun đòi hỏi mô hình mô phỏng được lập trình có cấu trúc, các mô-đun liên hệ với nhau thông qua các giao diện được định nghĩa rõ ràng, bao gồm các biến và
số liệu đầu vào, các biến và số liệu đầu ra, các cấu trúc dữ liệu, Một khi các giao diện và chức năng của từng mô-đun được xác định, chúng được thiết kế, phát triển, kiểm thử một cách độc lập, và như vậy, hoàn toàn cho phép việc kiểm tra mô hình mô phỏng - đồng nghĩa với chương trình mô phỏng - được chia thành việc kiểm tra các mô-đun và các giao diện của chúng một cách dễ dàng Phương thức thiết kế, thực hiện từ trên xuống là cách tiếp cận phát triển
mô hình mô phỏng có cấu trúc phân cấp (hierarchical structure), nghĩa là: một vấn đề (cần mô phỏng) được phân chia hồi quy (recursively) thành một tập hợp các vấn đề nhỏ hơn Trước tiên, mô hình mô phỏng được phân chia thành nhiều mô-đun với các chức năng khác nhau Một mô-đun lại được phân chia thành các mô-đun nhỏ hơn, cho đến khi đạt được các mô-đun đủ nhỏ để lập trình, tìm lỗi và bảo hành một cách tiện lợi
Để kiểm chứng việc mô hình mô phỏng phản ánh trung thực hệ thống cần mô phỏng, người ta phải kiểm chứng tính đúng đắn của các giả thiết được thiết lập cho mô hình mô phỏng, số liệu đầu vào và các phân bố của chúng, kết quả mô phỏng và kết luận từ kết quả mô phỏng trên cơ sở so sánh các số liệu mô phỏng nói trên với các số liệu thu thập được từ các kỹ thuật khác nhau Một trong các kỹ thuật đó là:
Đo thực tế trên hệ thống có thực (nếu tồn tại), và
Tính toán lý thuyết
So sánh với kết quả đo trên hệ thống thực (real system) là phương thức kiểm chứng tin cậy và thường được sử dụng nhất, mặc dù phương thức này khó thực hiện vì hai lý do: (i) không tồn tại hệ thống thực, và (ii) các phép đo
Trang 28thực hiện trên hệ thống thực rất tốn kém Tính toán lý thuyết được thực hiện dựa trên phương pháp mô hình hoá giải tích (analytical modeling), phương pháp được sử dụng trong trường hợp hoạt động của hệ thống cần mô phỏng cho phép xây dựng mô hình mô phỏng với các giả thiết đơn giản mà không làm sai lệch bản chất của hệ thống Trong nhiều trường hợp, do hệ thống quá phức tạp, khó có khả năng được mô phỏng một cách sát thực, các kỹ thuật tính toán gần đúng lại được ưu tiên phát triển, áp dụng để mô hình hoá giải tích hệ thống, và kết quả tính toán từ mô hình giải tích này được so sánh, kiểm chứng bằng kết quả mô phỏng bằng chương trình máy tính Lưu ý rằng, trên thực tế, không tồn tại một mô hình mô phỏng được kiểm chứng một cách hoàn toàn; chỉ tồn tại mô hình được kiểm chứng trong một số trường hợp nhất định mà thôi
Trong hầu hết các trường hợp mô phỏng, chỉ có các kết quả mô phỏng tính toán được từ mô hình mô phỏng có trạng thái ổn định (steady-state) mới
có giá trị Các giá trị thu nhận được từ trạng thái khởi tạo (initial phase, transient state) không được sử dụng để tính toán các kết quả mô phỏng cuối cùng Khó khăn lớn nhất ở đây là định nghĩa được một cách chính xác các thành phần cấu thành và thời gian tồn tại của trạng thái khởi tạo
2.4 Bộ mô phỏng mạng OMNeT++
OMNeT++ (Objective Modular Network Tested in C++) hệ mô phỏng
sự kiện rời rạc do András Varga phát triển, cung cấp những công cụ hiệu quả cho người dùng để mô tả cấu trúc, mô phỏng hoạt động của hệ thống mạng thực tế OMNeT++ được dùng để:
Mô phỏng lưu lượng của một mạng viễn thông
Mô phỏng các giao thức
Mô phỏng mạng có cấu trúc kiểu hàng đợi
Mô phỏng mạng đa xử lý và phân bố rời rạc các hệ phần cứng
Kiểm tra tính hợp lệ của cấu trúc phần cứng
Đánh giá hoạt động của những hệ thống phần mềm phức tạp
Trang 29 Và những hệ thống sự kiện rời rạc khác
Một mô hình mô phỏng bằng OMNeT++ gồm nhiều mô đun phân cấp Chiều sâu của sự phân cấp là không giới hạn cho phép người dùng phản chiếu cấu trúc lôgíc của hệ thống thực tế trong cấu trúc mô phỏng
Cấu trúc liên kết của một chương trình mô phỏng:
Hình 2.4 Cấu trúc liên kết của một chương trình mô phỏng
Các file *.ned mô tả topo mạng cũng như cấu trúc của các môđun, nó
sử dụng ngôn ngữ NED (NEwork Description ), là ngôn ngữ chuyên biệt dùng riêng cho OmNet++ Sự phát triển tiếp theo của NED là GNED (Graphic NED) làm cho việc mô tả topo mạng được trực quan hơn bằng cách dùng các công cụ đồ hoạ để mô tả Các file ned sau đó được NEDC (NED
Trang 30compiler) dich sang code C++ để mô tả cấu trúc mạng sang ngôn ngữ C++ dưới dạng file *_.cc
Hình 2.5 Cấu trúc nút cảm biến được định nghĩa bằng ngôn ngữ NED
trong OMNeT++
Trang 31Hình 2.6 Cấu trúc mô phỏng mạng cảm biến được định nghĩa bằng
ngôn ngữ NED trong OMNeT++
Các file xử lý của các simple moduls là phần cốt lõi khi viết chương trình mô phỏng và được viết bằng ngôn ngữ C++ bằng cách kế thừa các lớp
có sẵn của OmNet++, người viết triển khai các hoạt động của mạng như định tuyến, xử lí gói tin đến và đi, xác định hành vi của các simple modul được mô
tả trong *.ned khi có sự kiện xảy ra với nó…
Thư viện lõi của chương trình mô phỏng được cung cấp bởi OmNet++ nó bao gồm rất nhiều các lớp và các hàm có sẵn phục vụ cho chương trình mô phỏng như các lớp cSimplemodul, cMessage , các hàm ngẫu nhiên… Thư viện giao diện người dùng cung cấp giao diện cho chương trình mô phỏng OmNet++ với các phiên bản gần đây sử dụng hai kiểu giao diện là giao diện dòng lệnh cmd (command) và giao diện đồ hoạ dựa trên TCL/TK Giao diện đồ hoạ rất trực quan nên được ưa dùng hơn Sau khi dịch
và liên kết ta được một chương trình mô phỏng dựa trên nền OmNet++
Trang 32 File omnetpp.ini để khởi động các giá trị cần thiết omnetpp.ini do người lập trình viết, nó rất quan trọng để chạy một chương trình mô phỏng với các tham số được thay đổi để có được kết quả thống kê mong muốn
Cuối cùng là các file kết quả bao gồm file *.vec là các file vector, nó
là các biến thay đổi theo thời gian trong quá trình mô phỏng, giá trị của biến
và thời gian tương ứng được lưu và file này Trong quá trình viết code sẽ xác định biến nào được lưu File *.sna phục vụ cho quá trình sửa lỗi File *.sca (scalar file) lưu các giá trị thông kê có được sau khi kết thúc mô phỏng, ví dụ như số cuộc gọi đã thực hiện, số cuộc gọi bị từ chối… Để xử lí kết quả thống
kê đạt được, ta có thể viết một chương trình nhỏ hoặc sử dụng các công cụ có sẵn OmNet++ cung cấp chương trình Plove để vẽ các file *.vec, còn đối với các file *.sca ta có thể dùng một chương trình tính toán bất kì
OmNet++ với đặc tính mềm dẻo như xây dựng topo mạng dễ dàng và độc lập với tính năng của nút mạng, không hạn chế độ sâu các môđun đang dần dần được sử dụng rộng rãi trong các mô phỏng về viễn thông
Trang 33CHƯƠNG 3 - PHƯƠNG PHÁP ĐIỀU KHIỂN TRUY NHẬP MAC
TRONG MẠNG CẢM BIẾN KHÔNG DÂY
3.1 Yêu cầu thiết kế điều khiển truy nhập MAC
3.1.1 Những yếu tố ảnh hưởng khi thiết kế mạng cảm biến
Thiết kế mạng cảm biến bị ảnh hưởng bởi nhiều yếu tố bao gồm: sự thứ lỗi; tính biến đổi được; giá thành sản xuất; môi trường hoạt động; topo mạng; môi trường truyền; và tiêu thụ điện năng, chúng như một nguyên tắc mang tính định hướng khi thiết kế một giao thức hoặc một giải thuật cho những mạng cảm biến
Độ thứ lỗi, nút cảm biến rất dễ hỏng hoặc ngừng hoạt động do hết pin
Sự ngừng hoạt động của một số nút cảm biến không được ảnh hưởng tới nhiệm vụ toàn bộ mạng cảm biến Đây là vấn đề tin cậy hoặc vấn đề chịu đựng lỗi Sự chịu đựng lỗi là khả năng chống đỡ những hoạt động mạng cảm biến mà không có bất kỳ ngắt quãng nào do những sự thất bại nút cảm biến
Chú ý rằng những giao thức và những giải thuật có thể được thiết kế để hướng vào mức chịu đựng lỗi yêu cầu bởi mạng cảm biến Nếu môi trường nơi những nút cảm biến được triển khai có nhiễu nhỏ, thì những giao thức có thể cởi mở hơn Mức chịu đựng lỗi phụ thuộc vào những ứng dụng khác nhau của những mạng cảm biến Những lược đồ phải phát triển ứng dụng cho mạng cảm biến luôn phải chú ý đến vấn đề này
Tính biến đổi được, số lượng nút cảm biến được triển khai để nghiên
cứu một hiện tượng có thể ở mức độ hàng trăm hoặc hàng nghìn Những lược
đồ giao thức mới phải có khả năng làm việc với số lượng lớn các nút, được triển khai với mật độ cao Mật độ có thể chỉ là vài nút đến hàng trăm nút trong một vùng cảm biến có thể có đường kính nhỏ hơn 10m Mật độ nút phụ thuộc vào ứng dụng được triển khai
Giá thành sản xuất, khi mạng cảm biến với một số lượng lớn nút cảm
biến, giá thành của một nút rất quan trọng để quyết định giá thành toàn bộ
Trang 34mạng Nếu giá thành để triển khai mạng cảm biến đắt hơn khi triển khai những cảm biến truyền thống, thì mạng cảm biến không đáng triển khai, do
đó giá thành sản xuất của mỗi nút cảm biến phải được giữ ở mức thấp
Topo mạng cảm biến, phần lớn những nút cảm biến được triển khai tại
những địa điểm khó quản lý, các nút cảm biến thường khó quản trị, dễ hỏng,
do vậy vấn đề bảo trì topo mạng cảm biến là một nhiệm vụ khó khăn Việc triển khai các nút cảm biến ở mật độ cao đòi hỏi sự nghiên cứu, xử lý bảo trì topo mạng một cách hợp lý
Môi trường triển khai, những nút cảm biến được triển khai mật độ dày
rất gần hoặc trực tiếp bên trong hiện tượng để quan sát Bởi vậy, thông thường chúng làm việc trong những khu vực xa xôi mà con người khó có thể tới được Chúng có thể đang làm việc bên trong cỗ máy lớn, dưới đáy đại dương, trên bề mặt của đại dương trong khu vực bão lớn, trong môi trường ô nhiễm… Các môi trường triển khai khác nhau đòi hỏi các nút cảm biến phải được thiết kế phù hợp cho môi trường mà chúng sẽ được triển khai
Môi trường truyền thông, trong một mạng cảm biến đa bước nhảy, việc
kết nối truyền thông giữa các nút được thực hiện trong môi trường không dây Những mối liên kết này có thể được hình thành bởi sóng rađiô, hồng ngoại hoặc quang học Để hoạt động của mạng cảm biến mang tính phổ biến toàn cầu, môi trường truyền được chọn cũng phải phổ biến tương tự
Mức độ tiêu thụ điện năng, nút cảm biến không dây là một thiết bị điện
tử rất nhỏ, có thể chỉ được trang bị với một nguồn điện có hạn Trong một số trường hợp, việc thay thế nguồn cung cập điện năng là bất khả thi, vì vậy tuổi thọ của một nút cảm biến phụ thuộc chủ yếu vào tuổi thọ của pin Trong một mạng cảm biến đa bước nhảy, mỗi nút cảm biến vừa thực hiện chức năng khởi phát dữ liệu vừa thực hiện định tuyến dữ liệu Việc không thực hiện đúng chức năng của một vài nút có thể gây làm tôpô mạng thay đổi và có thể yêu cầu định tuyến, và tổ chức lại mạng Do vậy, quản lý và sử dụng năng lượng càng trở nên quan trọng
Trang 35Trong những mạng ad hoc và di động khác, tiêu thụ điện là một yếu tố quan trọng trong thiết kế, nhưng không phải quan trọng nhất, đơn giản vì nguồn cung cấp năng lượng có thể được thay thế, cách nhìn nhấn mạnh về đảm bảo chất lượng dịch vụ hơn là về hiệu suất sử dụng năng lượng Tuy nhiên trong những mạng cảm biến, hiệu năng là một nhân tố quan trọng, trực tiếp ảnh hưởng sự tồn tại của mạng Giao thức cho ứng dụng đặc biệt có thể được thiết kế đảm bảo cân bằng giữa các nhân tố khác như độ trễ, thông lượng với hiệu năng
3.1.2 Yêu cầu thiết kế giao thức MAC cho mạng cảm biến
Những giao thức MAC bị ảnh hưởng bởi một số thuộc tính ràng buộc Thiết kế giao thức MAC cần đạt được sự cân bằng giữa những ràng buộc đó
Tính tránh xung đột (Collision Advoidance) là một yêu cầu cơ bản của
tất cả các giao thức MAC, nó xác định khi nào một nút có thể truy nhập đường truyền và thực hiện trao đổi dữ liệu
Tính hiệu năng (Energy Efficiency) là một trong những thuộc tính quan
trọng nhất những giao thức MAC mạng cảm biến Như đã đề cập ở trên, đa số các nút cảm biến hoạt động bằng pin, rất khó để thay đổi hoặc nạp điện lại cho pin của những nút này Thực tế, nhiều mục đích thiết kế của những mạng cảm biến được xây dựng bằng những nút đủ rẻ để vứt bỏ hơn là nạp lại Trong tất cả các trường hợp, việc kéo dài cả cuộc đời của mỗi nút là một vấn đề then chốt Dù với nền tảng phần cứng nào, năng lượng cho thu phát sóng vô tuyến
là nguồn tiêu thụ năng lượng chính Lớp MAC trực tiếp điều khiển hoạt động thu phát sóng vô tuyến, và sự tiêu thụ năng lượng của nó như thế nào ảnh hưởng đáng kể tới cả cuộc đời của nút
Tính biến đổi được và khả năng thích ứng (Scalability and Adaptivity)
là những thuộc tính liên quan của một giao thức MAC điều tiết những sự thay đổi trong kích thước mạng, mật độ và topo mạng Nhiều nút có thể không hoặc ngừng hoạt động trong thời gian dài; vài nút mới có thể tham gia về sau; một vài nút khác có thể di chuyển tới những vị trí khác Một giao thức MAC tốt cần phải điều tiết những sự thay đổi như vậy một cách hợp lý Tính biến
Trang 36đổi được và khả năng thích ứng để thay đổi trong kích thước, mật độ và topo mạng là những thuộc tính quan trọng, bởi vì những mạng cảm biến được triển khai phi cấu trúc và thường hoạt động trong những môi trường không chắc chắn
Sự sử dụng kênh (Channel utilization) phản chiếu toàn bộ băng thông
của kênh được dùng trong truyền thông ra sao, nó cũng được đề cập như sự sử dụng băng thông hoặc dung lượng kênh truyền Đó là một vấn đề quan trọng đối với hệ thống điện thoại tế bào hoặc mạng cục bộ không dây (WLANs), khi băng thông là tài nguyên quý giá nhất trong những hệ thống như vậy và các nhà cung cấp dịch vụ đều muốn càng nhiều người dùng càng tốt Mặt khác, số những nút hoạt động trong mạng cảm biến chủ yếu về được xác định bởi loại ứng dụng Sự sử dụng kênh thường là một mục tiêu thứ nhì trong những mạng cảm biến
Độ trễ (Latency) đó là sự trì hoãn một nút gửi có một gói tin để gửi cho
đến khi gói tin được nhận thành công bởi nút nhận Trong mạng cảm biến, sự quan trọng của độ trễ phụ thuộc vào ứng dụng Trong những ứng dụng như giám sát hoặc theo dõi, các nút cảm biến không hoạt động phần lớn thời gian cho đến khi một sự kiện nào đó được phát hiện Những ứng dụng này có thể thường bỏ qua sự trễ thông điệp bổ sung nào đó, bởi vì tốc độ mạng nhanh hơn tốc độ của một đối tượng vật lý Tốc độ cảm biến đối tượng đặt một ranh giới trên về tốc độ phản ứng mà mạng phải đạt được Trong khoảng thời gian không có sự kiện cảm ứng, có rất ít dữ liệu trao đổi trong mạng Sự trễ ở mức nhỏ hơn một giây cho một khởi tạo một thông báo sau thời kỳ nhàn rỗi thì không quan trọng bằng sự tiết kiệm năng lượng và thời gian hoạt động của thiết bị Nhưng ngược lại, sau khi cảm biến xác định được sự kiện, hoạt động với độ trễ thấp thành quan mục tiêu quan trọng
Thông lượng (Throughput) đề cập tới số lượng của dữ liệu chuyển
thành công từ một nơi gửi đến một nơi nhận trong một khoảng thời gian cho trước Nhiều nhân tố ảnh hưởng đến thông lượng, bao gồm hiệu quả của sự tránh xung đột, sự sử dụng kênh, độ trễ, và xử lý thông tin điều khiển Giống với độ trễ, sự quan trọng của thông lượng phụ thuộc vào loại ứng dụng
Trang 37Những ứng dụng cảm biến mà yêu cầu vòng đời lâu thường chấp nhận độ trễ nhiều hơn và thông lượng thấp hơn
Một thuộc tính liên quan gọi là goodput, thể hiện thông lượng được đo
chỉ bởi dữ liệu được nhận bởi nơi nhận mà không có bất kỳ lỗi nào
Fairness thể hiện khả năng những người dùng, những nút hoặc những
ứng dụng khác nhau cùng nhau chia sẻ kênh truyền một cách công bằng Nó
là một thuộc tính quan trọng trong mạng tiếng nói hoặc những mạng dữ liệu truyền thống, một khi mỗi người dùng mong muốn một cơ hội như nhau để gửi hoặc nhận dữ liệu cho những ứng dụng của chính mình Tuy nhiên, trong những mạng cảm biến, tất cả các nút hợp tác cho một nhiệm vụ chung đơn lẻ
Ở tại thời điểm đặc biệt, một nút có thể có nhiều dữ liệu hơn để gửi so với các nút khác, như vậy, hơn là đối xử với mỗi nút công bằng, thành công được đo
bởi sự thực hiện của ứng dụng, Và độ fairness đối với từng nút hoặc từng
người dùng trở nên ít quan trọng hơn
Tóm lại, các vấn đề nêu ở trên là những thuộc tính thể hiện những đặc trưng của một giao thức MAC Đối với mạng cảm biến không dây, những yếu
tố quan trọng nhất là sự tránh xung đột có hiệu quả, hiệu quả năng lượng, tính biến đổi và thích ứng được với mật độ và số lượng nút Những thuộc tính khác là thứ yếu
3.1.3 Đặc tính hiệu năng trong những giao thức MAC
Đặc tính hiệu năng là một trong những yêu cầu quan trọng nhất trong thiết kế mạng cảm biến không dây Thiết kế một giao thức MAC hiệu năng, chúng ta phải cho trả lời câu hỏi: những nguyên nhân gây ra sự lãng phí năng lượng Có những nguyên nhân chính sau đây:
Sự xung đột (Collision) là nguyên nhân đầu tiên gây tiêu phí năng
lượng Khi hai gói được truyền cùng thời điểm sẽ xảy ra xung đột, chúng bị hỏng và phải được loại bỏ Yêu cầu truyền lại gói tin sau đó sẽ làm phát sinh
sự tiêu hao năng lượng Do đó tất cả các giao thức MAC cố gắng tránh xung đột bằng mọi cách
Trang 38Nguyên nhân thứ hai gây tiêu hao năng lượng là vấn đề nghe khi rỗi
(Idle Listening) Nó xảy ra khi thành phần sóng vô tuyến thực hiện “nghe”
kênh xem có dữ liệu không để nhận Sự tiêu hao này đặc biệt cao trong những ứng dụng mạng cảm biến, nơi không có dữ liệu trao đổi trong thời gian không
có sự kiện được cảm biến Nhiều giao thức MAC (như CSMA và CDMA) luôn luôn nghe kênh khi hoạt động dù không có dữ liệu để gửi Chi phí chính xác của vấn đề nghe khi rỗi phụ thuộc vào phần cứng và chế độ hoạt động thành phần sóng vô tuyến Đa số các mạng cảm biến được thiết kế để hoạt động trong thời gian dài và các nút cảm biến cũng sẽ trong ở trạng thái nghe khi rỗi một thời gian dài Trong những trường hợp như vậy, nghe khi rỗi là một yếu tố chính trong vấn đề tiêu thụ năng lượng của thành phần sóng vô tuyến
Nguyên nhân thứ ba là vấn đề nghe thừa (overhearing) xuất hiện khi
một nút nhận được những gói tin mà được dành cho những nút khác Phải nghe thừa những lưu thông không cần thiết, không giành cho mình có thể là một nhân tố chính gây tiêu hao năng lượng khi lưu lượng, tải truyền tăng và mật độ phân bố nút cao
Nguyên nhân cuối cùng mà chúng ta xem xét là sự xử lý gói tin điều khiển Sự gửi, nhận, và nghe những gói tin điều khiển cũng tiêu thụ năng lượng Khi những gói điều khiển không trực tiếp chuyên chở dữ liệu, chúng
cũng làm giảm goodput
Một giao thức MAC thiết kế cho mạng cảm biến phải đạt được yêu cầu tiết kiệm năng lượng bởi việc điều khiển thành phần sóng vô tuyến để tránh hoặc giảm bớt tiêu phí năng lượng do những nguyên nhân trên Việc tắt thành phần sóng vô tuyến khi nó chưa được cần đến là một chiến lược quan trọng cho việc tiết kiệm năng lượng Một lược đồ quản lý năng lượng đầy đủ phải xem xét tất cả các nguồn làm tiêu phí năng lượng, không phải là chỉ là thành phần sóng vô tuyến
Trang 393.2 Phân loại và nguyên tắc hoạt động điều khiển truy nhập MAC
Các giao thức điều khiển truy nhập được thiết kế cho mạng cảm biến không dây có thể được chia thành 4 lớp: giao thức truy nhập ngẫu nhiên
(ramdom access); giao thức truy nhập theo lịch (scheduled access); giao thức
truy nhập theo khung thời gian (frame-based access) và loại cuối cùng là sự kết hợp của ba loại trên gọi là giao thức lai (hybrid)
Hình 3.1 Nguyên tắc phân loại những giao thức MAC theo tổ chức thời gian
và sự phát triển lịch sử
Các giao thức truy nhập ngẫu nhiên, hay giao thức kiểu CSMA, có cơ
chế vận hành đơn giản nhất, tiến hành cạnh tranh giành quyền truy nhập kênh, không có sự phân chia thời gian Cách loại giao thức này giảm tiêu thụ năng lượng là giảm bớt nghe khi rỗi bằng cách: các nút cảm biến thực hiện ngủ trong hầu hết thời gian nhưng vẫn định kỳ thực hiện kiểm tra kênh truyền, khi một nút muốn thực hiện truyền dữ liệu, nó đánh thức tất cả các lân cận bằng cách truyền một tín hiệu đánh thức đủ dài để bao đủ kỳ kiểm tra kênh của các
nút lân cận Các giao thức truy nhập theo lịch thời gian có cách tiếp cận phức
Trang 40tạp hơn, nó chia thời gian thành những khe, yêu cầu các nút cảm biến đồng bộ thời gian theo một lịch chung nào đó sao cho chúng có thể cùng nhau thức giấc tại điểm bắt đầu của mỗi khe thời gian, tiến hành trao đổi dữ liệu khi sẵn
sàng, và sau đó trở về trạng thái ngủ trong phần còn lại của khe Các giao
thức truy nhập theo khung thời gian hoạch định sự truy nhập kênh một cách
chi tiết Thời gian được chia thành những khung chứa đựng một số cố định
những khe thời gian và chỉ rõ cặp nút phát/nút nhận trên một khe thời gian,
các nút cảm biến chỉ cần nghe những khe thời gian đó mà ở đó chúng là nút nhận dự định
3.2.1 Giao thức truy nhập ngẫu nhiên
Tiêu biểu cho loại giao thức này là LPL (Low-Power Listening) và Preamble Sampling Đây là hai giao thức cùng sử dụng lược đồ "nghe mức thấp" (low-level listening) được giới thiệu độc lập bởi Hill và El - Hoiydi Ở đây các nút cảm biến trong mạng có thể định kỳ tiến hành thăm dò kênh truyền đảm bảo tiết kiệm năng lượng mà không mất bất kỳ thông điệp nào Ý tưởng bắt đầu của mỗi thông điệp với một loại "tín hiệu báo bận" (busy tone)
để báo động những nút nhận tiềm tàng về một thông báo đang tới Những nút cảm biến cảm nhận được tín hiệu báo bận sẽ giữ thành phần vô tuyến ở trạng thái bật đến kết thúc của thông báo Bằng cách làm cho âm báo bận dài hơn khoảng thời gian ngủ, nút gửi được đảm bảo đánh thức được nút nhận dự định Một cách tiện lợi để thực hiện âm báo bận là kéo dài tín hiệu đồng bộ
(preamble)
Hình 3.2 Nghe mức thấp (Low-Power Listening): phần tín hiệu đồng bộ đủ
dài cho phép định kỳ thăm dò ở nút nhận