2010-08-01 38 views
5

thuật toán tốt nhất cho khám phá nút không dây là gì. giả sử bạn có mạng không dây hoặc bluetooth lớn, mọi nút đều có phạm vi khám phá riêng.Khám phá nút không dây

thuật toán tốt nhất làm cho bất kỳ nút nào khám phá về cấu trúc liên kết đồ thị đầy đủ, tức là bất kỳ nút nào sẽ biết về tất cả các nút khác trong biểu đồ?

Trả lời

3

Khá nhiều công việc đã được thực hiện đối với vấn đề này (và tương tự). Bạn có thể muốn bắt đầu bằng việc tìm kiếm một vài nơi như:

MIT Grid Ad Hoc Networking Project
Wireless Grids Corporation
Berkeley

Một số Googling cho những thứ như "Khám phá lưới không dây" có lẽ nên bật lên hơn.

1

Trong trường hợp một nút phát hiện ra một nút mới trong phạm vi của nó, nó sẽ phát sóng một thông điệp tới mọi nút khác trong phạm vi của nó về sự hiện diện của người mới đó. Trong trường hợp một nút nhận được một trong các thông báo này, nếu nó không nhìn thấy thông báo trước đó, nó sẽ thêm mã nhận diện riêng của nó vào một tin nhắn, sau đó phát tin nhắn mới đến tất cả các nút khác trong phạm vi của nó (như thể nó đang nói "Nếu bạn cần phải nói với anh chàng này một cái gì đó, cho tôi biết đầu tiên bởi vì tôi nghĩ rằng tôi là gần gũi hơn với anh ta hơn bạn"). Nó cũng phải lưu trữ id của nút mà nó nhận được tin nhắn từ, sao cho nó có thể được lấy ra bởi id nút của người mới đến.

Trong trường hợp nút cần gửi tin nhắn đến nút khác, nó sẽ tìm các id hàng xóm, trong danh sách địa phương của nó bằng cách sử dụng id nút của người nhận. sau đó gửi tin nhắn đến người hàng xóm tốt nhất. nút lân cận đó hiện chịu trách nhiệm nhận tin nhắn tới người nhận đó bằng danh sách cục bộ của chính nó. nếu nó không thể tìm thấy bất kỳ người hàng xóm nào theo cách này, nó sẽ gửi thông báo đến mọi nút trong phạm vi của nó và hy vọng điều tốt nhất.

Danh sách cục bộ mà mỗi nút giữ cho biết "các bước đầu tiên" tốt để nhận tin nhắn đến một người nhận nhất định. các bước đầu tiên là tốt bởi vì chúng đến từ hàng xóm đầu tiên của một nút để nghe về một người mới đến cụ thể. danh sách sẽ không chứa nhiều bước xấu đầu tiên bởi vì các nút không phát lại thông báo "hiện diện của người mới" nếu họ đã nhìn thấy thông báo trước đó và điều này chỉ có thể xảy ra nếu thông báo đến đó bằng tuyến đường nhanh hơn.

Mong mọi thứ hợp lý, tôi muốn viết mã bằng Python nhưng tôi không có thời gian. Lưu ý rằng hệ thống này có thể yêu cầu một số bootstrapping.

Các vấn đề liên quan