СИСТЕМЫ И СПОСОБЫ ДЛЯ ОБНАРУЖЕНИЯ УСТРОЙСТВ В СЕТИ С ПОДДЕРЖКОЙ РАСПОЗНАВАНИЯ ОКРУЖЕНИЯ

1. Способ обмена информацией для обнаружения в беспроводной сети с поддержкой распознавания окружения (NAN), содержащий этапы, на которых:
- принимают, в первом беспроводном устройстве, сообщение из соседнего беспроводного устройства, причем сообщение содержит структуру данных, указывающую идентификаторы обнаруженных устройств;
- определяют, указывает ли структура данных идентификатор первого беспроводного устройства; и
- передают сообщение, содержащее идентификатор первого беспроводного устройства, когда структура данных не указывает идентификатор первого беспроводного устройства.
2. Способ по п. 1, в котором принимаемое сообщение содержит сообщение с запросом на обнаружение.
3. Способ по п. 1, в котором передаваемое сообщение содержит сообщение ответа по обнаружению.
4. Способ по п. 1, в котором структура данных содержит список, по меньшей мере, частичных идентификаторов.
5. Способ по п. 4, в котором частичные идентификаторы содержат поднабор байтов идентификатора.
6. Способ по п. 1, в котором структура данных содержит фильтр Блума.
7. Способ по п. 6, в котором фильтр Блума представляет собой битовый массив в m битов с k различных хэш-функций, ассоциированных с битовым массивом, при этом каждая хэш-функция отображает входную строку в одну из m позиций в массиве с равномерным случайным распределением.
8. Способ по п. 7, в котором сообщение дополнительно содержит индекс фильтра Блума, указывающий конкретный набор хэш-функций, ассоциированных с битовым массивом.
9. Способ по п. 8, в котором индекс фильтра Блума обновляется в последующих передачах.
10. Способ по п. 7, в котором определение того, указывает ли структура данных идентификатор первого беспроводного устройства, содержит этапы, на которых:
- отображают идентификатор в каждую из k хэш-функций, чтобы получать k позиций в массиве; и
- определяют, равны ли биты во всех k позициях в массиве 1.
11. Способ по п. 7, в котором, по меньшей мере, одна из k хэш-функций H(j,X,m) задается следующим образом: (CRC32 (j ⎢⎢ X) & 0xFFFF) mod m, где j является строкой модификации, X является входной строкой, и CRC32 является 32-битовым циклическим избыточным кодом.
12. Способ по п. 7, в котором параметр k фильтра Блума имеет значение 4, и параметр m фильтра Блума имеет значение, в 5 раз превышающее число устройств, которые следует указывать в фильтре Блума.
13. Способ по п. 7, дополнительно содержащий этапы, на которых:
- принимают второе сообщение, содержащее второй фильтр Блума и индекс запроса;
- определяют, указывает ли структура данных идентификатор первого беспроводного устройства, с использованием другого набора хэш-функций; и
- отвечают на второе сообщение, когда первое беспроводное устройство не отвечает на запрос с идентичным индексом запроса, и структура данных не указывает идентификатор первого беспроводного устройства.
14. Способ по п. 1, в котором принимаемое сообщение содержит поле длины, поле управления обнаружением и поле информации обнаруженных адресов.
15. Способ по п. 14, в котором поле управления обнаружением содержит флаг типа, указывающий присутствие фильтра Блума, флаг включения, указывающий ответ требуемой станции, и индекс фильтра Блума, идентифицирующий конкретный набор хэш-функций, ассоциированных с ассоциированным фильтром Блума.
16. Способ по п. 15, в котором поле длины составляет один октет, поле управления обнаружением составляет один октет, флаг типа составляет один бит, флаг включения составляет один бит, индекс фильтра Блума составляет два бита, и поле информации обнаруженных адресов имеет переменную длину.
17. Способ по п. 15, в котором флаг включения, если он не задан, указывает то, что устройства, указываемые в фильтре Блума, не должны отвечать, а когда задан, указывает то, что только устройства, указываемые в фильтре Блума, должны выполнять передачу.
18. Способ по п. 15, в котором поле управления обнаружением дополнительно содержит индекс запроса.
19. Способ по п. 1, в котором идентификатор содержит адрес уровня управления доступом к среде (MAC).
20. Первое беспроводное устройство, выполненное с возможностью обмениваться информацией для обнаружения в беспроводной сети с поддержкой распознавания окружения (NAN), содержащее:
- приемное устройство, выполненное с возможностью принимать сообщение из соседнего беспроводного устройства, причем сообщение содержит структуру данных, указывающую идентификаторы обнаруженных устройств;
- процессор, выполненный с возможностью определять, указывает ли структура данных идентификатор первого беспроводного устройства; и
- передающее устройство, выполненное с возможностью передавать сообщение, содержащее идентификатор первого беспроводного устройства, когда структура данных не указывает идентификатор первого беспроводного устройства.
21. Первое беспроводное устройство по п. 20, в котором принимаемое сообщение содержит сообщение с запросом на обнаружение.
22. Первое беспроводное устройство по п. 20, в котором передаваемое сообщение содержит сообщение ответа по обнаружению.
23. Первое беспроводное устройство по п. 20, в котором структура данных содержит список, по меньшей мере, частичных идентификаторов.
24. Первое беспроводное устройство по п. 23, в котором частичные идентификаторы содержат поднабор байтов идентификатора.
25. Первое беспроводное устройство по п. 20, в котором структура данных содержит фильтр Блума.
26. Первое беспроводное устройство по п. 25, в котором фильтр Блума представляет собой битовый массив в m битов с k различных хэш-функций, ассоциированных с битовым массивом, при этом каждая хэш-функция отображает входную строку в одну из m позиций в массиве с равномерным случайным распределением.
27. Первое беспроводное устройство по п. 26, в котором сообщение дополнительно содержит индекс фильтра Блума, указывающий конкретный набор хэш-функций, ассоциированных с битовым массивом.
28. Первое беспроводное устройство по п. 27, в котором индекс фильтра Блума обновляется в последующих передачах.
29. Первое беспроводное устройство по п. 26, в котором определение того, указывает ли структура данных идентификатор первого беспроводного устройства, содержит:
- отображение идентификатора в каждую из k хэш-функций, чтобы получать k позиций в массиве; и
- определение того, равны ли биты во всех k позициях в массиве 1.
30. Первое беспроводное устройство по п. 26, в котором, по меньшей мере, одна из k хэш-функций H(j,X,m) задается следующим образом: (CRC32 (j ⎢⎢ X) & 0xFFFF) mod m, где j является строкой модификации, X является входной строкой, и CRC32 является 32-битовым циклическим избыточным кодом.
31. Первое беспроводное устройство по п. 26, в котором параметр k фильтра Блума имеет значение 4, и параметр m фильтра Блума имеет значение, в 5 раз превышающее число устройств, которые следует указывать в фильтре Блума.
32. Первое беспроводное устройство по п. 26, в котором:
- приемное устройство дополнительно выполнено с возможностью принимать второе сообщение, содержащее второй фильтр Блума и индекс запроса; и
- процессор дополнительно выполнен с возможностью:
- определять, указывает ли структура данных идентификатор
первого беспроводного устройства, с использованием другого набора хэш-функций; и
- отвечать на второе сообщение, когда первое беспроводное устройство не отвечает на запрос с идентичным индексом запроса, и структура данных не указывает идентификатор первого беспроводного устройства.
33. Первое беспроводное устройство по п. 20, в котором принимаемое сообщение содержит поле длины, поле управления обнаружением и поле информации обнаруженных адресов.
34. Первое беспроводное устройство по п. 33, в котором поле управления обнаружением содержит флаг типа, указывающий присутствие фильтра Блума, флаг включения, указывающий ответ требуемой станции, и индекс фильтра Блума, идентифицирующий конкретный набор хэш-функций, ассоциированных с ассоциированным фильтром Блума.
35. Первое беспроводное устройство по п. 34, в котором поле длины составляет один октет, поле управления обнаружением составляет один октет, флаг типа составляет один бит, флаг включения составляет один бит, индекс фильтра Блума составляет два бита, и поле информации обнаруженных адресов имеет переменную длину.
36. Первое беспроводное устройство по п. 34, в котором флаг включения, если он не задан, указывает то, что устройства, указываемые в фильтре Блума, не должны отвечать, а когда задан, указывает то, что только устройства, указываемые в фильтре Блума, должны выполнять передачу.
37. Первое беспроводное устройство по п. 34, в котором поле управления обнаружением дополнительно содержит индекс запроса.
38. Первое беспроводное устройство по п. 20, в котором идентификатор содержит адрес уровня управления доступом к среде (MAC).
39. Устройство для обмена информацией для обнаружения в беспроводной сети с поддержкой распознавания окружения (NAN), содержащее:
- средство для приема сообщения из соседнего беспроводного устройства, причем сообщение содержит структуру данных,
указывающую идентификаторы обнаруженных устройств;
- средство для определения того, указывает ли структура данных идентификатор устройства; и
- средство для передачи сообщения, содержащего идентификатор устройства, когда структура данных не указывает идентификатор устройства.
40. Устройство по п. 39, дополнительно содержащее:
- отображение идентификатора в каждую из k различных хэш-функций, ассоциированных с битовым массивом в m битов фильтра Блума, чтобы получать k позиций в массиве; и
- средство для определения того, равны ли биты во всех k позициях в массиве 1.
41. Устройство по п. 40, дополнительно содержащее:
- средство для приема второго сообщения, содержащего второй фильтр Блума и индекс запроса;
- средство для определения того, указывает ли структура данных идентификатор устройства, с использованием другого набора хэш-функций; и
- средство для ответа на второе сообщение, когда устройство не отвечает на запрос с идентичным индексом запроса, и структура данных не указывает идентификатор устройства.
42. Компьютерно-читаемый носитель, содержащий код, который при исполнении предписывает устройству:
- принимать сообщение из соседнего беспроводного устройства, причем сообщение содержит структуру данных, указывающую идентификаторы обнаруженных устройств;
- определять, указывает ли структура данных идентификатор устройства; и
- передавать сообщение, содержащее идентификатор устройства, когда структура данных не указывает идентификатор устройства.
43. Носитель по п. 42, дополнительно содержащий код, который при исполнении предписывает устройству определять, указывает ли структура данных идентификатор, посредством:
- отображения идентификатора в каждую из k различных хэш-функций, ассоциированных с битовым массивом в m битов фильтра
Блума, чтобы получать k позиций в массиве; и
- определения того, равны ли биты во всех k позициях в массиве 1.
44. Носитель по п. 43, дополнительно содержащий код, который при исполнении предписывает устройству:
- принимать второе сообщение, содержащее второй фильтр Блума и индекс запроса;
- определять, указывает ли структура данных идентификатор устройства, с использованием другого набора хэш-функций; и
- отвечать на второе сообщение, когда устройство не отвечает на запрос с идентичным индексом запроса, и структура данных не указывает идентификатор устройства.