Chương 1: Tổng quan mạng cảm biến không dây 4
1.3 Nguyên tắc thiết kế cho WSN 14
Hỗ trợ QoS phù hợp, hiệu quả năng lượng và khả năng mở rộng là thiết kế và tối ưu hóa quan trọng mục tiêu cho mạng cảm biến không dây. Nhưng bản thân các mục tiêu này không cung cấp nhiều gợi ý về cách cấu trúc một mạng sao cho chúng đạt được. Một số nguyên tắc cơ bản đã nảy ra, có thể được hữu ích khi thiết kế các giao thức mạng. Tuy nhiên, những lời khuyên chung để luôn luôn xem xét các nhu cầu của một ứng dụng cụ thể giữ ở đây cũng vậy - đối với từng nguyên tắc cơ bản này, có những ví dụ mà theo họ sẽ kết quả trong các giải pháp kém hơn.
1.3.1 Tổ chức phân tán
Cả hai khả năng mở rộng và mục tiêu tối ưu hóa mạnh mẽ, và ở một mức độ nào đó cũng là mục tiêu khác, làm cho nó bắt buộc để tổ chức mạng trong một thời trang phân phối. Điều đó có nghĩa là không nên không phải là một thực thể tập trung - như một thực thể có thể, ví dụ, kiểm soát truy cập trung bình hoặc thực hiện các quyết định định tuyến, tương tự như các nhiệm vụ được thực hiện bởi một trạm cơ sở trong các mạng di động. Những nhược điểm của cách tiếp cận tập trung này là
15
hiển nhiên vì nó giới thiệu các điểm tiếp xúc thất bại và rất khó thực hiện trong một mạng vô tuyến, trong đó những người tham gia chỉ có một số hạn chế phạm vi truyền thông. Thay vào đó, các nút WSN nên hợp tác tổ chức mạng, sử dụng các thuật toán phân tán và các giao thức. Tự tổ chức là một thuật ngữ được sử dụng phổ biến cho nguyên tắc này.
Khi tổ chức một mạng lưới theo cách phân tán, cần phải nhận thức được tiềm năng thiếu sót của cách tiếp cận này. Trong nhiều trường hợp, cách tiếp cận tập trung có thể tạo ra các giải pháp hoạt động tốt hơn hoặc đòi hỏi ít tài nguyên hơn (đặc biệt là năng lượng). Để kết hợp những ưu điểm, một khả năng là sử dụng các nguyên tắc tập trung trong một thời trang địa phương bằng cách tự động chọn, của tập các nút bằng nhau, các nút cụ thể giả định trách nhiệm của một tác nhân tập trung, ví dụ, để tổ chức truy cập trung bình. Các cuộc bầu cử như vậy dẫn đến một hệ thống phân cấp, nó phải năng động: quá trình bầu cử nên được lặp lại liên tục vì nguồn lực của các nút bầu được bị đánh thức quá mức, nút được bầu chọn hết năng lượng, và những bất lợi mạnh mẽ như vậy - thậm chí chỉ địa hoá - các hệ thống phân cấp tự biểu hiện. Các quy tắc bầu cử cụ thể và điều kiện khởi kiện cho tái tranh cử khác nhau đáng kể, tùy thuộc vào mục đích sử dụng các hệ thống phân cấp này.
1.3.2 Xử lý trong mạng
Khi tổ chức mạng theo cách phân tán, các nút trong mạng không chỉ đi qua trên các gói dữ liệu hoặc thực hiện các chương trình ứng dụng, chúng cũng tích cực tham gia vào việc ra quyết định về cách vận hành mạng. Đây là một hình thức xử lý thông tin cụ thể xảy ra trong mạng, nhưng giới hạn trong thông tin về chính mạng.
Có thể mở rộng khái niệm bằng cách lấy dữ liệu cụ thể được vận chuyển bởi mạng vào tài khoản trong xử lý thông tin này, làm cho trong mạng xử lý một nguyên tắc thiết kế hàng đầu.
16
Có một số kỹ thuật xử lý trong mạng, và theo định nghĩa, cách tiếp cận này là mở một phần mở rộng tùy ý - bất kỳ hình thức xử lý dữ liệu nào để cải thiện một ứng dụng đều có thể áp dụng. Một vài ví dụ kỹ thuật được vạch ra ở đây.
Tập hợp
Có lẽ kỹ thuật xử lý mạng đơn giản nhất là tập hợp. Giả sử một sink quan tâm trong việc lấy các phép đo định kỳ từ tất cả các cảm biến, nhưng nó chỉ thích hợp để kiểm tra xem liệu giá trị trung bình đã thay đổi, hoặc liệu sự khác biệt giữa giá trị nhỏ nhất và lớn nhất là quá lớn. Trong trường hợp này, rõ ràng là không cần thiết phải vận chuyển là các giá trị đo từ tất cả các cảm biến đến sink, nhưng đúng hơn, nó đủ để gửi giá trị trung bình hoặc tối thiểu và tối đa. Truyền dữ liệu là tốn kém hơn nhiều so với tính toán phức tạp cho thấy các lợi ích hiệu quả năng lượng lớn của phương pháp tiếp cận này. Tập hợp tên bắt nguồn từ thực tế là trong các nút trung gian giữa các nguồn và sink, thông tin được tổng hợp thành một hình thức ngưng tụ từ thông tin được cung cấp bởi các nút xa xa sink (và có khả năng, các bài đọc của người tập hợp).
Rõ ràng, chức năng tổng hợp được áp dụng trong các nút trung gian phải đáp ứng một số điều kiện để kết quả có ý nghĩa; quan trọng nhất, chức năng này nên được tạo nên một tổng thể. Sự phân loại tiếp theo của các chức năng tổng hợp phân biệt các dạng nhân đôi với nhạy cảm, tóm tắt so với mẫu đơn, đơn điệu so với không đều đều, và đại số so với toàn diện. Các hàm như trung bình, đếm, hoặc tối thiểu có thể lợi nhuận rất nhiều từ tập hợp; các chức năng toàn diện như trung tuyến không thể chấp nhận được tổng hợp.
Hình 1.7 minh hoạ ý tưởng tổng hợp. Ở nửa trái, một số cảm biến truyền đọc đến sink, sử dụng giao tiếp đa bước nhảy. Tổng cộng cần 13 tin nhắn (các con số trong hình cho biết số lượng tin nhắn đi qua một liên kết nhất định). Khi được đánh dấu các nút thực hiện tập hợp - ví dụ: bằng cách tính các giá trị trung bình (thể hiện trong nửa bên phải của hình) - chỉ cần 6 tin nhắn.
17
Thách thức trong bối cảnh này bao gồm làm thế nào để xác định nơi để tổng hợp các kết quả từ đó các nút, thời gian chờ đợi cho các kết quả như vậy, và xác định tác động của các gói tin bị mất.
Mạng di động / Mạng dựa trên tác nhân
Với khả năng thực hiện các chương trình trong mạng, các mô hình lập trình khác hoặc mô hình tính toán là khả thi. Một mô hình như vậy là ý tưởng về mã di động hoặc mạng dựa trên tác nhân. Ý tưởng là có một mô tả nhỏ gọn, nhỏ gọn của mã chương trình đó là đủ nhỏ để được được gửi từ nút đến nút. Mã này sau đó được thực hiện tại địa phương, ví dụ, thu thập các phép đo, và sau đó quyết định nơi để được gửi tiếp theo. Ý tưởng này đã được sử dụng trong nhiều môi trường khác nhau; một ví dụ cổ điển như của một tác nhân phần mềm được gửi ra để thu thập hành trình di chuyển tốt nhất có thể bởi nhảy từ máy tính của một tác nhân di chuyển sang máy khác và cuối cùng trở lại với người dùng có đã đăng yêu cầu này.
Có rất nhiều tài liệu có sẵn trên các tác nhân mã / phần mềm di động trong nói chung. Cách tiếp cận mới hơn về cách tiếp cận này là xem xét các hệ thống lấy cảm hứng sinh học, đặc biệt, sự thông minh của nhóm các thực thể đơn giản, làm việc cùng nhau để đạt được một mục tiêu chung.
Trong các mạng cảm biến không dây, các tác nhân di động và các khái niệm liên quan đã được xem xét trong nhiều bối cảnh, chủ yếu là đối với định tuyến các
18
truy vấn và cho dữ liệu nhiệt hạch. Ngoài ra, các máy ảo cho WSN đã được đề xuất có một ngôn ngữ bản địa thừa nhận một sự trình bày nhỏ gọn của các hoạt động tiêu biểu nhất mà điện thoại di động mã trong WSN sẽ thực thi, cho phép mã này nhỏ.
1.3.3 Độ chính xác thích hợp và độ chính xác
Trong bối cảnh của một nút duy nhất, khái niệm làm cho độ tin cậy của kết quả tính toán tùy thuộc vào lượng năng lượng có sẵn cho tính toán. Quan niệm này có thể và nên được mở rộng từ một nút duy nhất đến toàn bộ mạng.
Ví dụ, hãy xem xét một ứng dụng xấp xỉ chức năng. Rõ ràng, khi có nhiều cảm biến hơn tham gia xấp xỉ, chức năng được lấy mẫu ở nhiều điểm hơn và xấp xỉ tốt hơn. Nhưng để đáp lại điều này, cần phải đầu tư thêm nhiều năng lượng. Ví dụ tương tự giữ cho sự kiện phát hiện và theo dõi các ứng dụng và nói chung cho WSN.
Do đó, nó là đến một ứng dụng bằng cách nào đó xác định mức độ chính xác của kết quả (giả sử rằng nó có thể sống với kết quả không chính xác, xấp xỉ) và nó là nhiệm vụ của các giao thức truyền thông để cố gắng đạt được ít nhất độ chính xác như là năng lượng hiệu quả nhất có thể. Hơn nữa, ứng dụng phải có khả năng thích ứng các yêu cầu của nó với tình trạng hiện tại của mạng - bao nhiêu nút đã thất bại, có bao nhiêu năng lượng có thể được cho từ môi trường, các điều kiện hoạt động (những sự kiện quan trọng đã xảy ra gần đây), và như vậy ra. Do đó, ứng dụng cần phản hồi từ mạng về tình trạng của nó để thực hiện như vậy quyết định.
Nhưng như đã thảo luận trong bối cảnh các chỉ số QoS cụ thể theo WSN, đa dạng WSN ứng dụng làm cho nó khá khó khăn để đưa ra một giao diện thống nhất để thể hiện như vậy yêu cầu, hãy để một mình với các giao thức truyền thông thực hiện các quyết định này. Đây vẫn là một trong những vấn đề nghiên cứu cốt lõi của WSN.
1.3.4 Trung tâm dữ liệu
Dữ liệu địa chỉ, không phải các nút
19
Trong các mạng truyền thông truyền thống, trọng tâm của một mối quan hệ truyền thông thường là cặp người giao tiếp - người gửi và người nhận dữ liệu.
Trong một mạng cảm biến không dây, mặt khác, sự quan tâm của một ứng dụng không phải là rất nhiều trong nhận dạng của một cảm biến đặc biệt nút, nó là khá nhiều trong các thông tin thực tế báo cáo về môi trường vật lý. Điều này đặc biệt là trường hợp khi một WSN được triển khai dự phòng sao cho bất kỳ sự kiện nhất định có thể được được báo cáo bởi nhiều nút - không quan tâm đến ứng dụng chính xác mà các nút này đang cung cấp dữ liệu. Thực tế này không phải là nhận dạng của các nút nhưng dữ liệu nằm ở trung tâm của sự chú ý được gọi là mạng dữ liệu tập trung.
Đối với một ứng dụng, điều này thực chất có nghĩa là một giao diện là được hiển thị bởi mạng, nơi dữ liệu, không phải các nút được giải quyết trong các yêu cầu. Tập hợp các nút đó tham gia vào một địa chỉ dữ liệu tập trung như vậy được ngầm định bởi thuộc tính mà một nút có thể đóng góp dữ liệu vào địa chỉ như vậy.
Ví dụ, hãy xem xét ví dụ về voi theo dõi từ hình 1.5. Trong một ứng dụng tập trung dữ liệu, tất cả ứng dụng phải làm là nêu mong muốn của nó được thông báo về các sự kiện của một một số loại "sự hiện diện của con voi" - và các nút trong mạng có "máy dò voi" được thông báo ngầm về yêu cầu này. Trong một mạng lõi xác định, nút yêu cầu sẽ phải tìm ra bằng cách nào đó tất cả các nút cung cấp khả năng này và giải quyết chúng một cách rõ ràng. Như một ví dụ khác, rất hữu ích khi xem xét vị trí các nút như là một thuộc tính định nghĩa liệu một nút thuộc về một nhóm nhất định hay không. Ví dụ điển hình ở đây là mong muốn truyền đạt với tất cả các nút trong một khu vực nhất định, để nói, để lấy nhiệt độ (trung bình) được đo bởi tất cả các nút trong phòng khách của tòa nhà nhất định.
Mạng dữ liệu tập trung cho phép các kiến trúc mạng rất khác so với các hệ thống truyền thống, các mạng lưới trung tâm. Đối với một, nó là sự biện hộ cuối cùng cho một số xử lý trong mạng kỹ thuật như sự kết hợp dữ liệu và tập hợp. Thu thập dữ liệu tập trung cũng cho phép biểu thức đơn giản các mối quan hệ truyền thông - không còn cần thiết phải phân biệt giữa các mối quan hệ một - một, nhiều -
20
nhiều, nhiều -một hoặc nhiều - nhiều - như chỉ tập các nút tham gia ngầm định.
Ngoài việc tách riêng các đặc tính này, việc định địa chỉ dữ liệu cũng hỗ trợ một sự tách riêng trong thời gian như là một yêu cầu cung cấp dữ liệu không phải xác định khi nào câu trả lời nên xảy ra - một tài sản hữu ích cho các ứng dụng phát hiện sự kiện, ví dụ.
Ngoài việc cung cấp một cách tự nhiên hơn cho một ứng dụng để thể hiện các yêu cầu của nó, mạng và trung tâm dữ liệu cũng được tuyên bố để cải thiện hiệu suất và đặc biệt là năng lượng hiệu quả của một WSN. Một lý do là hy vọng rằng các giải pháp tập trung vào dữ liệu sẽ có hiệu quả hơn bằng cách thực hiện được bằng cách sử dụng thông tin thuần túy địa phương về các láng giềng trực tiếp. Một lý do khác có thể là tích hợp dễ dàng hơn của khái niệm về độ chính xác thích ứng vào một khung dữ liệu tập trung như là dữ liệu cũng như độ chính xác mong muốn của nó có thể được thể hiện rõ ràng - không rõ ràng làm thế nào xác định chính xác các yêu cầu trong một mạng lõi xác định thậm chí có thể được xây dựng, hãy để một mình thực hiện. Nhưng đây vẫn là một mục tiêu của nghiên cứu hiện nay.
Các lựa chọn thực hiện cho mạng dữ liệu tập trung
Có một số cách để làm cho khái niệm trừu tượng này của các mạng dữ liệu tập trung hơn. Mỗi cách ngụ ý một số giao diện nhất định có thể sử dụng được bởi một ứng dụng.
Mạng lớp phủ và bảng lộn xộn phân tán
Có một số điểm tương đồng rõ ràng giữa các ứng dụng ngang hàng – tới – ngang hàng nổi tiếng như chia sẻ tập tin và WSN: Trong cả hai trường hợp, người dùng / người yêu cầu chỉ quan tâm đến việc tìm kiếm lập và lấy dữ liệu, không phải nguồn gốc; yêu cầu dữ liệu và tính khả dụng của nó có thể được tách riêng đúng giờ; cả hai loại mạng này phải được quy mô với số lượng lớn.
Trong mạng ngang hàng, giải pháp cho việc tra cứu dữ liệu hiệu quả từ một nguồn không rõ thường là để tạo thành một mạng che phủ, thực hiện một bảng phân
21
phối mớ lộn xộn (DHT). Các dữ liệu mong muốn có thể được xác định qua một phím nhất định (một lộn xộn) và DHT sẽ cung cấp một (hoặc có thể là một vài) nguồn cho dữ liệu liên quan đến khóa này. Điều quan trọng điểm này là tra cứu nguồn dữ liệu có thể được thực hiện hiệu quả, đòi hỏi các bước O (log n) trong đó n là số nút, thậm chí chỉ với thông tin được phân phối, địa phương hoá về thông tin ở đâu được lưu trữ trong mạng ngang hàng – tới – ngang hàng.
Mặc dù có những điểm tương đồng, có một số khác biệt rất quan trọng. Trước hết, nó không phải là rõ ràng như thế nào thay vì khóa tĩnh của một DHT sẽ tương ứng với các yêu cầu năng động hơn, tham số trong một WSN. Thứ hai, và quan trọng hơn, DHT, đến từ một nền tảng mạng IP, có xu hướng bỏ qua khoảng cách / số bước nhảy ngắn giữa hai nút và xem các nút như là liền kề trên cơ sở thông tin ngữ nghĩa về các khóa lưu trữ của chúng. Hành vi bước nhảy ngắn – đếm - bất khả tri này là không thể chấp nhận đối với WSN, nơi mỗi bước nhảy ngắn phải chịu phí tổn giao tiếp đáng kể. Có một số đang diễn ra làm việc về việc tô pô của mạng bên dưới cũng có thể tính đến hoặc vị trí của các nút khi xây dựng mạng che phủ, nhưng khả năng áp dụng của công việc để WSN vẫn còn mở.
Xuất bản / đăng ký
Việc tách yêu cầu trong cả thời gian và nhận dạng của một nút sink yêu cầu thông tin và hành động cung cấp thông tin này không phù hợp với các đặc tính đồng bộ của một yêu cầu / trả lời giao thức. Điều gì là khá cần thiết là một phương tiện để thể hiện nhu cầu về dữ liệu nhất định và việc phân phối dữ liệu, nơi dữ liệu được xác định và không phải là các thực thể liên quan.
Hành vi này được thực hiện bằng phương pháp xuất bản / đăng ký: Bất kỳ nút nào quan tâm đến một cho một loại dữ liệu có thể đăng ký vào nó, và bất kỳ nút nào cũng có thể xuất bản dữ liệu, cùng với thông tin về loại hình của nó là tốt. Khi xuất bản, tất cả các thuê bao của loại dữ liệu này được thông báo về dữ liệu mới. Ví dụ voi sau đó được biểu hiện dễ dàng bằng các nút sink đăng ký vào sự kiện "Voi phát hiện"; bất kỳ nút nào đang phát hiện một con voi thì sau đó có thể phát hành điều