Các giao diện dịch vụ của WSN 23

Một phần của tài liệu Định tuyến tin cậy trong mạng cảm biến không dây (Trang 32 - 36)

Chương 1: Tổng quan mạng cảm biến không dây 4

1.4 Các giao diện dịch vụ của WSN 23

1.4.1 Cấu trúc giao diện ứng dụng / ngăn xếp giao thức

Một hệ điều hành dựa trên thành phần và ngăn xếp giao thức đã cho phép một trong những khả năng để điều trị một ứng dụng: Nó chỉ là một thành phần có thể trực tiếp tương tác với các thành phần khác bằng cách sử dụng bất kỳ đặc điểm giao diện nào tồn tại giữa chúng (ví dụ: cấu trúc lệnh / sự kiện của TinyOS). Ứng dụng thậm chí có thể bao gồm một số thành phần, tích hợp ở những nơi khác nhau vào ngăn xếp giao thức. Cách tiếp cận này có nhiều ưu điểm: được sắp xếp hợp lý với cấu trúc giao thức tổng thể, giúp bạn dễ dàng giới thiệu mã ứng dụng cụ thể vào WSN ở các cấp khác nhau, và không yêu cầu định nghĩa của một dịch vụ trừu tượng cụ thể giao diện. Hơn nữa, như vậy tích hợp chặt chẽ cho phép các lập trình viên ứng dụng rất tinh tế kiểm soát các giao thức (thành phần nào) được lựa chọn cho một nhiệm vụ cụ thể; ví dụ, đó là có thể chọn ra các giao thức định tuyến khác nhau phù hợp nhất cho một ứng dụng được cho bởi truy cập các dịch vụ của thành phần này.

Nhưng tính tổng quát và tính linh hoạt này cũng là nhược điểm tiềm tàng của cách tiếp cận này. Việc cho phép lập trình ứng dụng để gây rối với ngăn xếp giao thức và bên trong hệ điều hành không nên được thực hiện một cách thiếu thận trọng.

Trong các mạng truyền thống như Internet, lập trình ứng dụng có thể truy cập các dịch vụ của mạng thông qua một giao diện thông thường được chấp nhận: ổ cắm.

Điều này giao diện làm cho các quy định rõ ràng về làm thế nào để xử lý các kết nối, làm thế nào để gửi và nhận các gói tin, và làm thế nào để hỏi thông tin về trạng thái của mạng lưới. Sự rõ ràng này là do các nhiệm vụ hiển nhiên mà giao diện này phục vụ - trao đổi các gói với một (đôi khi, một vài) giao tiếp đồng nghiệp.

25

Do đó, có sự lựa chọn thiết kế giữa việc xử lý ứng dụng như một thành phần khác hoặc thiết kế một giao diện dịch vụ mà làm cho tất cả các thành phần, trong toàn bộ, có thể truy cập trong một tiêu chuẩn hóa thời trang. Hai lựa chọn này được phác thảo trong hình 1.8. Một giao diện dịch vụ sẽ cho phép tăng mức độ trừu tượng mà một ứng dụng có thể tương tác với WSN - thay vì có để chỉ định giá trị nào cần đọc từ cảm biến đặc biệt nào, có thể mong muốn cung cấp một ứng dụng với khả năng diễn đạt các nhiệm vụ cảm nhận theo những thuật ngữ gần với ngữ nghĩa của ứng dụng. Theo nghĩa này, một giao diện dịch vụ như vậy có thể giấu đi sự phức tạp đáng kể và thực sự có thể hiểu được như một "middleware" theo cách riêng của nó.

Rõ ràng, với sự tích hợp chặt chẽ hơn của ứng dụng vào ngăn xếp giao thức, một quang phổ tối ưu hóa rộng hơn được mở cho lập trình ứng dụng. Về nhược điểm, nhiều kinh nghiệm sẽ được cần thiết hơn khi sử dụng một giao diện dịch vụ được chuẩn hóa. Do đó, câu hỏi đặt ra là một bàn giao giá tiêu chuẩn đối với việc mất khả năng thực hiện và mặt khác tay, sự phức tạp của giao diện dịch vụ.

Trong thực tế, phức tạp hơn nhiều và nhiều mô hình truyền thông trong cảm biến không dây mạng so với mạng Internet làm cho một dịch vụ mang tính biểu cảm và phức tạp hơn giao diện cần thiết. Để hiểu rõ hơn về sự cân bằng này, sự hiểu biết rõ ràng hơn về tính dễ hiểu yêu cầu của giao diện như vậy là cần thiết.

1.4.2 Các yêu cầu về biểu hiện đối với các giao diện dịch vụ WSN

26

Các chức năng quan trọng nhất mà một giao diện dịch vụ nên trình bày bao gồm:

• Hỗ trợ các yêu cầu yêu cầu / đáp ứng đơn giản: lấy ra một giá trị đo từ một số cảm biến hoặc thiết lập một tham số trong một số nút. Đây là mô hình tương tác đồng bộ theo nghĩa kết quả (hoặc có thể là sự thừa nhận) được mong đợi ngay lập tức. Ngoài ra, các phản hồi có thể được yêu cầu cung cấp định kỳ, hỗ trợ các ứng dụng đo định kỳ.

• Hỗ trợ cho các thông báo sự kiện không đồng bộ: một nút yêu cầu có thể yêu cầu mạng thông báo nó nếu một điều kiện nhất định trở thành sự thật, ví dụ, nếu một sự kiện nhất định đã xảy ra. Đây là không đồng bộ theo nghĩa là không có mối quan hệ tiên khởi giữa thời gian yêu cầu được thực hiện và thời gian cung cấp thông tin.

Mẫu yêu cầu không đồng bộ này phải kèm theo khả năng hủy bỏ yêu cầu thông tin. Nó có thể được tinh chế thêm bằng các điều khoản về những gì sẽ xảy ra sau điều kiện trở thành sự thật; một ví dụ điển hình là yêu cầu báo cáo định kỳ các giá trị đo được sau một sự kiện.

• Đối với cả hai loại tương tác, người nhận phải được xác định bằng nhiều cách.

Điều đơn giản nhất là một sự liệt kê rõ ràng của những người giao tiếp đơn hoặc nhiều người mà (đồng bộ hoặc không đồng bộ) được thực hiện - điều này tương ứng với địa chỉ ngang hàng trong một ổ cắm giao tiếp.

Thú vị hơn là câu hỏi làm thế nào để thể hiện trung tâm dữ liệu. Một lựa chọn, có liên quan mật thiết đến cách tiếp cận xuất bản / thuê bao được thảo luận trong phần 1.3.4, là định nghĩa ngầm định của các ngang hàng bởi một số hình thức của một chức năng thành viên của một nhóm trừu tượng các nút. Có thể ví dụ cho như vậy các chức năng thành viên bao gồm:

• Vị trí - tất cả các nút nằm trong một vùng không gian nhất định thuộc về một nhóm.

27

• Giá trị quan sát - tất cả các nút có quan sát các giá trị phù hợp với một vị từ nhất định thuộc về một nhóm. Một ví dụ sẽ là yêu cầu nhiệt độ đo được lớn hơn 20

° C.

Cùng với các nhóm này, các hoạt động lý thuyết thông thường của giao lộ, công đoàn, hoặc khác biệt giữa các nhóm cũng nên được bao gồm trong giao diện dịch vụ. Do nhu cầu tự nhiên này đối với một ngữ nghĩa giao diện dịch vụ tương ứng với xuất bản / đăng ký khái niệm, cách tiếp cận này là một hoàn toàn tự nhiên, nhưng không phải chỉ có thể, phù hợp với WSN.

• Chức năng xử lý trong mạng phải có thể truy cập. Đối với một hoạt động truy cập vào một toàn bộ nhóm các nút, đặc biệt là khi đọc các giá trị từ nhóm này (đồng bộ hoặc không đồng bộ), nên có thể chỉ định loại xử lý trong mạng nên được áp dụng cho nó. Cụ thể, quá trình xử lý làm thay đổi bản chất của kết quả (tức là sự tổng hợp dữ liệu) phải được cho phép rõ ràng bởi đơn yêu cầu.

Ngoài ra, nó có thể được mong muốn cho một ứng dụng để có thể truyền tải riêng của mình trong mạng lưới chế biến chức năng vào mạng. Ví dụ, một hàm tổng hợp mới có thể được định nghĩa hoặc một hàm cụ thể điện thoại di động đại lý phải được viết bởi các lập trình viên ứng dụng dù sao chăng nữa.

Việc xử lý trong mạng và mã ứng dụng cụ thể cũng có thể hữu ích để phát hiện các sự kiện phức tạp: các sự kiện không thể phát hiện được tại địa phương bằng một cảm biến đơn lẻ nhưng dữ liệu phải được trao đổi giữa các cảm biến.

• Liên quan đến các đặc điểm kỹ thuật của các chức năng tập hợp là đặc tả của độ chính xác yêu cầu của một kết quả. Điều này có thể dưới hình thức xác định giới hạn về số lượng thành viên của nhóm nên đóng góp vào kết quả, hoặc mức độ nén cần được áp dụng. Tay vào tay với độ chính xác yêu cầu đi chi phí năng lượng chấp nhận được để sản xuất một phần nhất định thông tin.

• Yêu cầu kịp thời về việc phân phối dữ liệu là một khía cạnh tương tự. Ví dụ, nó có thể được có thể cung cấp kết quả nhanh chóng nhưng với chi phí năng lượng

28

cao hơn (ví dụ bằng cách buộc các nút đánh thức lên sớm hơn họ sẽ thức dậy) hoặc từ từ nhưng với chi phí năng lượng giảm (ví dụ bằng sự ủng hộ con lợn thông tin trên các gói dữ liệu khác mà phải trao đổi dù sao chăng nữa).

Nói chung, bất kỳ thương mại - tắt về tiêu thụ năng lượng của bất kỳ trao đổi có thể có của dữ liệu các gói tin cần được làm rõ ràng càng nhiều càng tốt.

• Nhu cầu truy cập vào thông tin vị trí, thời gian hoặc mạng lưới (ví dụ như dự trữ năng lượng sẵn có trong các nút hoặc tốc độ thu hồi năng lượng hiện tại) thông qua giao diện dịch vụ. Cũng có thể hữu ích để thu thập thông tin vị trí vào các trừu tượng cấp cao hơn có thể nói về các vật thể tương ứng với quan điểm của con người về mọi thứ, ví dụ như "Room 123". Tương tự, các sự kiện như thực thể hành chính một mạng cảm biến thuộc về có thể được thực tế quan trọng.

• Hỗ trợ kết nối liền mạch của các nút khác nhau hoặc toàn bộ mạng cũng như đơn giản truy cập vào các dịch vụ trong một mạng "không xác định", cần phải có một mô tả rõ ràng về tập hợp các khả năng khả dụng của nút / mạng - ví dụ, các thông số vật lý có thể được quan sát hoặc những thực thể nào có thể được kiểm soát.

• Yêu cầu bảo mật cũng như tài sản đã được thể hiện bằng cách nào đó.

• Mặc dù không phải là một phần trực tiếp của một giao diện dịch vụ thực tế, chức năng quản lý bổ sung, cho ví dụ, để cập nhật các thành phần, có thể được thuận tiện để có mặt trong giao diện là tốt.

Để tránh nhầm lẫn, cần phải chỉ ra rằng việc thiết kế ngữ nghĩa giao diện đồng bộ hoặc không đồng bộ có rất ít liên quan đến thiết kế chặn hoặc không chặn của dịch vụ thực tế. Đó là, ví dụ, dễ thực hiện một ngữ nghĩa không đồng bộ với chặn invocations miễn là hệ điều hành cung cấp chủ đề. Đây thực sự là riêng biệt vấn đề.

Một phần của tài liệu Định tuyến tin cậy trong mạng cảm biến không dây (Trang 32 - 36)

Tải bản đầy đủ (PDF)

(107 trang)