ES2763649T3 - Monitorización del tamaño de una red inalámbrica - Google Patents
Monitorización del tamaño de una red inalámbrica Download PDFInfo
- Publication number
- ES2763649T3 ES2763649T3 ES14704238T ES14704238T ES2763649T3 ES 2763649 T3 ES2763649 T3 ES 2763649T3 ES 14704238 T ES14704238 T ES 14704238T ES 14704238 T ES14704238 T ES 14704238T ES 2763649 T3 ES2763649 T3 ES 2763649T3
- Authority
- ES
- Spain
- Prior art keywords
- bloom filter
- wireless device
- bit
- matrix
- bits
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012544 monitoring process Methods 0.000 title claims abstract description 14
- 230000006870 function Effects 0.000 claims abstract description 71
- 239000011159 matrix material Substances 0.000 claims abstract description 45
- 238000000034 method Methods 0.000 claims description 80
- 238000004590 computer program Methods 0.000 claims description 15
- 230000008859 change Effects 0.000 claims description 4
- 125000004122 cyclic group Chemical group 0.000 claims description 4
- 238000004891 communication Methods 0.000 description 60
- 230000005540 biological transmission Effects 0.000 description 15
- 230000004044 response Effects 0.000 description 15
- 230000009466 transformation Effects 0.000 description 15
- 230000008569 process Effects 0.000 description 14
- 230000009471 action Effects 0.000 description 11
- 238000012549 training Methods 0.000 description 11
- 238000012545 processing Methods 0.000 description 7
- 238000004088 simulation Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 4
- 239000000835 fiber Substances 0.000 description 4
- 230000010363 phase shift Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000001052 transient effect Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 238000001228 spectrum Methods 0.000 description 2
- 238000012876 topography Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 235000008694 Humulus lupulus Nutrition 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 239000005022 packaging material Substances 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000000523 sample Substances 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W52/00—Power management, e.g. Transmission Power Control [TPC] or power classes
- H04W52/02—Power saving arrangements
- H04W52/0209—Power saving arrangements in terminal devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/005—Discovery of network devices, e.g. terminals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
Un dispositivo inalámbrico (112, 202) para monitorizar un número de dispositivos inalámbricos vecinos (114, 116, 118, ..., 138) en una red inalámbrica (100), en el que el dispositivo inalámbrico está configurado para: recibir un mensaje de uno de los dispositivos inalámbricos vecinos (114, 116, 118, ..., 138), comprendiendo el mensaje un identificador asociado con dicho uno de los dispositivos inalámbricos vecinos; añadir el identificador como una cadena de entrada en un filtro Bloom (600) que incluye una matriz de bits de un número entero de m bits y un número entero de k funciones resumen diferentes suministrando el identificador como una cadena de entrada a cada uno del número entero k de diferentes funciones resumen, en el que cada función hash aplica la cadena de entrada a una posición en una matriz del filtro Bloom, y estableciendo los bits en las posiciones de la matriz identificadas por las k diferentes funciones resumen en uno; y estimar el número de cadenas distintas que se han añadido al filtro Bloom (600) en base al número de unos o el número de ceros en el filtro Bloom (600) dividido por la longitud de la matriz, el número de cadenas distintas que representan una estimación del número de dispositivos inalámbricos vecinos (114, 116, 118, ..., 138) en la red inalámbrica (100).
Description
DESCRIPCIÓN
Monitorización del tamaño de una red inalámbrica
ANTECEDENTES
Campo
[0001] La presente solicitud se refiere en general a las comunicaciones inalámbricas y, más específicamente, a sistemas, procedimientos y dispositivos para monitorizar dispositivos en una red inalámbrica.
Antecedentes
[0002] En muchos sistemas de telecomunicación, las redes de comunicaciones se usan para intercambiar mensajes entre varios dispositivos separados espacialmente que interactúan. Las redes se pueden clasificar de acuerdo con el alcance geográfico, que podría ser, por ejemplo, un área metropolitana, un área local o un área personal. Dichas redes se designarían, respectivamente, como red de área amplia (w A n ), red de área metropolitana (MAN), red de área local (LAN), red de área local inalámbrica (WLAN) o red de área personal (PAN). Las redes difieren también de acuerdo con la técnica de conmutación/enrutamiento usada para interconectar los diversos nodos y dispositivos de red (por ejemplo, conmutación de circuitos frente a conmutación de paquetes), el tipo de medios físicos empleados para la transmisión (por ejemplo, cableados frente a inalámbricos) y el conjunto de protocolos de comunicación usados (por ejemplo, la familia de protocolos de Internet, SONET (red óptica síncrona), Ethernet, etc.).
[0003] A menudo se prefieren las redes inalámbricas cuando los elementos de red son móviles y por tanto tienen necesidades de conectividad dinámica, o si la arquitectura de red está formada en una topología ad hoc, en lugar de una fija. Las redes inalámbricas emplean medios físicos intangibles en un modo de propagación no guiada, usando ondas electromagnéticas en las bandas de frecuencia de radio, microondas, infrarrojos, óptica, etc. Las redes inalámbricas facilitan de forma ventajosa la movilidad del usuario y la rápida implementación sobre el terreno en comparación con las redes cableadas fijas.
[0004] Los dispositivos de una red inalámbrica pueden transmitir y/o recibir información entre sí. La información puede incluir paquetes, que en algunos aspectos se pueden denominar unidades de datos. Los paquetes pueden incluir información de sobrecarga (por ejemplo, información de cabecera, propiedades de paquete, etc.) que ayuda a enrutar los paquetes a través de la red, identificando los datos en los paquetes, procesando los paquetes, etc., Los paquetes puede incluir además datos, tales como datos de usuario, contenido multimedia, etc., que se pueden transportar en una carga útil del paquete.
[0005] Para garantizar un funcionamiento ajustable a escala en una red inalámbrica, tal como una red WiFi social, las transmisiones por cada dispositivo en la red deberían controlarse en base al número de dispositivos en la red. Por ejemplo, puede ser deseable ajustar la velocidad a la que se transmiten las balizas y/o señales de temporización en base al número de dispositivos en la red. En muchas aplicaciones, es suficiente obtener una estimación aproximada del número de dispositivos en la red. Una forma para que un dispositivo inalámbrico rastree el número de dispositivos en la red es simplemente almacenar cualquier identificador recibido en un mensaje y que represente un dispositivo. Cada vez que llega un nuevo mensaje, el dispositivo comparará el identificador en el nuevo mensaje con los identificadores ya almacenados en el dispositivo y almacenará el identificador si no se ha almacenado previamente. Sin embargo, este enfoque puede dar lugar a grandes requisitos de memoria y necesidades para clasificar un mayor número de identificadores recibidos. Por tanto, es beneficioso tener un procedimiento para rastrear el número de dispositivos en una red inalámbrica, que puede reducir en gran medida los requisitos de memoria mayores y las necesidades de clasificar los identificadores.
[0006] El artículo científico " Connectivity monitoring in wireless sensor networks" de M. Zhang et al., Pervasive and Mobile Computing 6 (2010) 112-127 , propone un algoritmo de monitorización de conectividad que tiene tres componentes y que funciona de una manera de divide y vencerás. Los componentes incluyen el filtrado basado en la distancia del vector de salto, los filtros Bloom y resumen de firma y están diseñados para trabajar con diferentes combinaciones de tamaños de red y conjuntos vecinos. En la simulación, la reducción del coste de comunicación de dicho algoritmo en comparación con la compresión máxima de la información del vecindario varía del 65 % al 85 % para redes grandes (>1000 nodos) y del 40 % al 70 % para una red de tamaño mediano (unos pocos cientos de nodos). Los autores también implementaron el algoritmo en TinyOS y evaluaron su rendimiento en un banco de pruebas con 34 motas. También estudian el problema de la detección de fallos de nodos, una aplicación simple de monitorización de conectividad. Muestran que al combinar dicho algoritmo con el concepto de conjunto dominante, el coste de comunicación se puede reducir drásticamente en comparación con el procedimiento tradicional de recogida de datos.
[0007] El documento US 2009/0016250 A1 describe sistemas y metodologías que facilitan la identificación de pares basados en señales codificadas durante el descubrimiento de pares en una red de pares. Por ejemplo, la señalización directa que divide un recurso de frecuencia de tiempo en un número de segmentos se puede utilizar para comunicar
un identificador dentro de un intervalo de descubrimiento de pares; por tanto, un segmento particular seleccionado para la transmisión puede señalizar una parte del identificador, mientras que un resto se puede señalizar en base a tonos comunicados dentro del segmento seleccionado. Además, se puede reservar un subconjunto de símbolos dentro del recurso (por ejemplo, sin usar) para permitir identificar y/o corregir el desplazamiento de temporización. Además, la señalización se puede efectuar a través de una pluralidad de intervalos de descubrimiento de pares de modo que los identificadores parciales comunicados durante cada uno de los intervalos de descubrimiento de pares se puedan vincular (por ejemplo, basado en bits superpuestos y/o información de filtro Bloom).
[0008] Todavía existe la necesidad de una forma más eficaz y menos compleja de estimar el número de dispositivos vecinos.
[0009] La presente invención proporciona una solución de acuerdo con la materia objeto de las reivindicaciones independientes.
SUMARIO
[0010] Los sistemas, procedimientos, dispositivos y productos de programa informático analizados en el presente documento tienen, cada uno, varios aspectos, ninguno de los cuales es el único responsable de sus atributos deseables. Sin limitar el alcance de la presente invención, según lo expresado mediante las reivindicaciones siguientes, se analizan a continuación brevemente algunas características. Después de tener en cuenta este análisis, y particularmente tras leer la sección titulada "Descripción detallada", un experto en la técnica apreciará cómo los rasgos característicos ventajosos de esta invención incluyen el consumo de energía reducido cuando se introducen dispositivos en un medio.
[0011] Un aspecto de la divulgación proporciona un dispositivo inalámbrico configurado para monitorizar el número de dispositivos inalámbricos vecinos en una red inalámbrica. El dispositivo inalámbrico incluye un receptor configurado para recibir un mensaje de uno de los dispositivos inalámbricos vecinos, comprendiendo el mensaje un identificador asociado con el dispositivo inalámbrico vecino. El dispositivo inalámbrico puede incluir además un procesador configurado para añadir el identificador en un filtro Bloom y para estimar el número de cadenas distintas que se han añadido al filtro Bloom en base al número de ceros en el filtro Bloom, el número de cadenas distintas que representan una estimación del número de dispositivos inalámbricos vecinos en la red inalámbrica.
[0012] Otro aspecto de la divulgación proporciona un procedimiento para monitorizar el número de dispositivos inalámbricos vecinos en una red inalámbrica. El procedimiento incluye recibir un mensaje de uno de los dispositivos inalámbricos vecinos que comprende un identificador asociado con el dispositivo inalámbrico vecino y añadir el identificador en un filtro Bloom. El procedimiento puede incluir además estimar el número de cadenas distintas que se han añadido al filtro Bloom en base al número de ceros en el filtro Bloom, representando el número de cadenas distintas una estimación del número de dispositivos inalámbricos vecinos en la red inalámbrica.
[0013] Otro aspecto de la divulgación proporciona un dispositivo inalámbrico para monitorizar el número de dispositivos inalámbricos vecinos en una red inalámbrica. El dispositivo inalámbrico incluye medios para recibir un mensaje de uno de los dispositivos inalámbricos vecinos que comprende un identificador asociado con el dispositivo inalámbrico vecino y medios para añadir el identificador en un filtro Bloom. El dispositivo inalámbrico puede incluir además medios para estimar el número de cadenas distintas que se han añadido al filtro Bloom en base al número de ceros en el filtro Bloom, representando el número de cadenas distintas una estimación del número de dispositivos inalámbricos vecinos en la red inalámbrica.
[0014] Otro aspecto de la divulgación proporciona almacenamiento informático físico no transitorio que comprende instrucciones ejecutables por ordenador configuradas para implementar un procedimiento para monitorizar el número de dispositivos inalámbricos vecinos en una red inalámbrica. El procedimiento incluye recibir un mensaje de uno de los dispositivos inalámbricos vecinos que comprende un identificador asociado con el dispositivo inalámbrico vecino y añadir el identificador en un filtro Bloom. El procedimiento puede incluir además estimar el número de cadenas distintas que se han añadido al filtro Bloom en base al número de ceros en el filtro Bloom, representando el número de cadenas distintas una estimación del número de dispositivos inalámbricos vecinos en la red inalámbrica.
BREVE DESCRIPCIÓN DE LOS DIBUJOS
[0015]
La figura 1 ilustra un ejemplo de un sistema de comunicación inalámbrica en el que se pueden emplear aspectos de la presente divulgación.
La figura 2 muestra un diagrama de bloques funcionales de un dispositivo inalámbrico que se puede emplear dentro del sistema de comunicación inalámbrica de la figura 1.
La figura 3 ilustra diversos componentes que se pueden utilizar en el dispositivo inalámbrico para transmitir comunicaciones inalámbricas.
La figura 4 ilustra diversos componentes que se pueden utilizar en el dispositivo inalámbrico para recibir comunicaciones inalámbricas.
La figura 5 es un diagrama de flujo de un procedimiento para monitorizar el número de dispositivos inalámbricos en una red inalámbrica de acuerdo con una implementación.
La figura 6 muestra un ejemplo ilustrativo de un filtro Bloom de acuerdo con una implementación.
La figura 7 ilustra los resultados de simulación comparando el número de dispositivos inalámbricos en la red y el número estimado del filtro Bloom.
La figura 8 ilustra los resultados de simulación que muestra el porcentaje de error de estimación frente al número de dispositivos inalámbricos en la red.
La figura 9 ilustra una trama de descubrimiento específica del proveedor de ejemplo.
La figura 10 muestra un valor de longitud tipo (TLV) de descubrimiento que se puede emplear dentro del sistema de comunicación inalámbrica de la figura 1.
La figura 11 ilustra un ejemplo de otro sistema de comunicación inalámbrica en el que se pueden emplear aspectos de la presente divulgación.
La figura 12 muestra una estructura ejemplar de una trama de control de acceso al medio (MAC).
La figura 13 muestra un atributo de descubrimiento de servicio ejemplar que se puede emplear dentro del sistema de comunicación inalámbrica de la figura 11.
DESCRIPCIÓN DETALLADA
[0016] La palabra "ejemplar" se usa en el presente documento en el sentido de "que sirve como ejemplo, instancia o ilustración". No se ha de considerar necesariamente que cualquier modo de realización descrito en el presente documento como "ejemplar" sea preferente o ventajoso con respecto a otros modos de realización. A continuación, en el presente documento se describen de forma más detallada diversos aspectos de los sistemas, aparatos y procedimientos novedosos, en referencia a los dibujos adjuntos. Sin embargo, esta divulgación se puede realizar de muchas formas diferentes y no se ha de interpretar como limitada a cualquier estructura o función específica presentada a lo largo de esta divulgación. En cambio, estos aspectos se proporcionan de modo que esta divulgación sea exhaustiva y completa, y transmita por completo el alcance de la divulgación a los expertos en la técnica. En base a las enseñanzas del presente documento, un experto en la técnica debería apreciar que el alcance de la divulgación está concebido para abarcar cualquier aspecto de los sistemas, aparatos y procedimientos novedosos divulgados en el presente documento, ya sean implementados independientemente de, o en combinación con, cualquier otro aspecto de la invención. Por ejemplo, un aparato se puede implementar, o un procedimiento se puede llevar a la práctica, usando cualquier número de los aspectos expuestos en el presente documento. Además, el alcance de la invención está concebido para abarcar dicho aparato o procedimiento, que se lleva a la práctica usando otra estructura, funcionalidad, o estructura y funcionalidad, de forma adicional o alternativa a los diversos aspectos de la invención expuestos en el presente documento. Se debería entender que cualquier aspecto divulgado en el presente documento se puede realizar mediante uno o más elementos de una reivindicación.
[0017] Aunque en el presente documento se describen aspectos particulares, muchas variaciones y permutaciones de estos aspectos quedan dentro del alcance de la divulgación. Aunque se mencionan algunos beneficios y ventajas de los aspectos preferentes, el alcance de la divulgación no está concebido para limitarse a beneficios, usos u objetivos particulares. En cambio, los aspectos de la divulgación están concebidos para ser ampliamente aplicables a diferentes tecnologías inalámbricas, configuraciones de sistema, redes y protocolos de transmisión, algunos de los cuales se ilustran a modo de ejemplo en las figuras y en la siguiente descripción de los aspectos preferentes. La descripción detallada y los dibujos simplemente ilustran la divulgación y no limitan el alcance de la divulgación que se define por las reivindicaciones adjuntas.
[0018] Las tecnologías de redes inalámbricas populares pueden incluir diversos tipos de redes inalámbricas de área local (WLAN). Se puede usar una WLAN para interconectar dispositivos cercanos entre sí, empleando protocolos de redes ampliamente usados. Los diversos aspectos descritos en el presente documento se pueden aplicar a cualquier norma de comunicación, tal como un protocolo inalámbrico, WiFi o, más en general, a cualquier miembro de la familia IEEE 802.11 de protocolos inalámbricos. Por ejemplo, los diversos aspectos descritos en el presente documento se pueden usar como parte del protocolo IEEE 802,11ah, que usa bandas de sub-1 GHz.
[0019] En algunas implementaciones, una WLAN incluye diversos dispositivos que son los componentes que acceden a la red inalámbrica. Por ejemplo, clientes (también denominados estaciones o "STA"). Por ejemplo, una STA puede ser un ordenador portátil, un asistente personal digital (PDA), un teléfono móvil, etc. En un ejemplo, una STA se conecta a otras STA por medio de un enlace inalámbrico compatible con WiFi (por ejemplo, un protocolo IEEE 802.11) para obtener conectividad general a internet o a otras redes de área amplia.
[0020] Una estación "STA" también puede incluir, implementarse como o conocerse como un terminal de acceso ("AT"), una estación de abonado, una unidad de abonado, una estación móvil, un dispositivo móvil, una estación remota, un terminal remoto, un terminal de usuario, un agente de usuario, un dispositivo de usuario, equipo de usuario o con alguna otra terminología. En algunas implementaciones, un terminal de acceso puede incluir un teléfono móvil, un teléfono sin cables, un teléfono de Protocolo de Inicio de Sesión ("SIP"), una estación de bucle local inalámbrico ("WLL"), un asistente digital personal ("PDA"), un dispositivo manual que tenga capacidad de conexión inalámbrica o algún otro dispositivo de procesamiento o dispositivo inalámbrico adecuado conectado a un módem inalámbrico. Por consiguiente, uno o más aspectos divulgados en el presente documento se pueden incorporar a un teléfono (por ejemplo, un teléfono celular o un teléfono inteligente), un ordenador (por ejemplo, un ordenador portátil), un dispositivo de comunicación portátil, un auricular, un dispositivo informático portátil (por ejemplo, un asistente de datos personal), un dispositivo de entretenimiento (por ejemplo, un dispositivo de música o de vídeo o una radio por satélite), un dispositivo o sistema de juegos, un dispositivo de sistema de posicionamiento global o cualquier otro dispositivo adecuado que está configurado para comunicarse por medio de un medio inalámbrico.
[0021] Los dispositivos, tales como un grupo de estaciones, por ejemplo, se pueden usar para la red de área vecina (NAN), o para la red WiFi social. Por ejemplo, diversas estaciones dentro de la red se pueden comunicar de un dispositivo a otro dispositivo (por ejemplo, comunicaciones entre pares) con respecto a las aplicaciones que admite cada una de las estaciones. La red WiFi social puede ser una red inalámbrica ad hoc, un tipo descentralizado de red inalámbrica. La red es ad hoc porque no se basa en una infraestructura preexistente, tal como puntos de acceso en redes inalámbricas administradas (infraestructura). Es deseable que un protocolo de descubrimiento usado en una red WiFi social permita que los dispositivos móviles se anuncien a sí mismos (por ejemplo, enviando paquetes de descubrimiento o mensajes), así como servicios de descubrimiento proporcionados por otras STA (por ejemplo, enviando paquetes de radiobúsqueda o de consulta), mientras que garantiza una comunicación segura y un consumo bajo de energía.
[0022] La figura 1 ilustra un ejemplo de un sistema de comunicación inalámbrica 100 en el que se pueden emplear aspectos de la presente divulgación. El sistema de comunicación inalámbrica 100 incluye un primer grupo de dispositivos móviles 110, un segundo grupo de dispositivos móviles 120, un tercer grupo de dispositivos móviles 130 y un dispositivo móvil 142.
[0023] El primer grupo de dispositivos móviles 110 incluye dispositivos móviles 112, 114, 116, 118. El segundo grupo de dispositivos móviles 120 incluye dispositivos móviles 118, 122, 124, 126, 128. El tercer grupo de dispositivos móviles 130 incluye dispositivos móviles 132, 134, 136, 138. En el ejemplo particular de la figura 1, el dispositivo móvil 142 no se ha unido (por ejemplo, no es miembro de) ninguno de los grupos de dispositivos móviles 110, 120, 130. Además, en el ejemplo particular de la figura 1, el dispositivo móvil 118 se ha unido (por ejemplo, es miembro de) múltiples grupos de dispositivos móviles (es decir, los grupos de dispositivos móviles 110, 120).
[0024] El sistema de comunicación inalámbrica 100 puede incluir dispositivos móviles 112, 114, 116, 118, 122, 124, 126, 128, 132, 134, 136 y 138, que se pueden comunicar con cualquiera de los otros dispositivos móviles. Como ejemplo, el dispositivo móvil 112 se puede comunicar con el dispositivo móvil 116. Como otro ejemplo, el dispositivo móvil 112 se puede comunicar con el dispositivo móvil 118, aunque este enlace de comunicación no se ilustra en la figura 1.
[0025] Se puede usar una variedad de procesos y procedimientos para transmisiones en el sistema de comunicación inalámbrica 100 entre cualesquiera dos de los dispositivos móviles. Por ejemplo, se pueden enviar y recibir señales de acuerdo con técnicas OFDM/OFDMA. Si este es el caso, el sistema de comunicación inalámbrica 100 se puede denominar sistema OFDM/OFDMA. De forma alternativa, se pueden enviar y recibir señales entre cualesquiera dos dispositivos móviles de acuerdo con las técnicas CDMA. Si este es el caso, el sistema de comunicación inalámbrica 100 se puede denominar sistema CDMA.
[0026] De acuerdo con diversos modos de realización, el sistema de comunicación inalámbrica 100 puede ser una red de área vecina, y uno o más de los grupos de dispositivos móviles 110, 120, 130 se pueden asociar con una aplicación de dispositivo móvil común particular. Por ejemplo, cada uno de los grupos de dispositivos móviles 110, 120, 130 se puede asociar con una aplicación de dispositivo móvil común respectiva, tal como una aplicación de dispositivo móvil de redes sociales, una aplicación de dispositivo móvil de juegos, o una combinación de las mismas.
[0027] En funcionamiento, los dispositivos móviles del sistema de comunicación inalámbrica 100 se pueden comunicar de forma inalámbrica de acuerdo con uno o más protocolos de comunicación inalámbrica. Por ejemplo, en al menos un modo de realización, los dispositivos móviles del sistema de comunicación inalámbrica 100 pueden enviar y recibir mensajes de descubrimiento, tales como una baliza de descubrimiento asociada con un protocolo 802.11 del
Instituto de Ingenieros Eléctricos y Electrónicos (IEEE). Como otro ejemplo, los dispositivos móviles del sistema de comunicación inalámbrica 100 se pueden comunicar por medio de un protocolo de publicidad de red que es común a cada dispositivo móvil del sistema de comunicación inalámbrica 100. Como otro ejemplo, el primer grupo de dispositivos móviles 110 se puede comunicar usando un segundo protocolo que es diferente del protocolo de publicidad de red. De manera similar, el segundo grupo de dispositivos móviles 120 se puede comunicar usando un tercer protocolo que es diferente al protocolo de publicidad de red, y el tercer grupo de dispositivos móviles 130 se puede comunicar usando un cuarto protocolo que es diferente al protocolo de publicidad de red. En este contexto, un protocolo se refiere a parámetros usados para comunicarse, tal como un canal en el que se producen las comunicaciones, el tiempo de las comunicaciones (por ejemplo, el tiempo de los intervalos de descubrimiento), etc.
[0028] Para ilustrar más, el dispositivo móvil 142 se puede encender y permanecer en un estado de escucha para recibir un primer mensaje de descubrimiento por medio del protocolo de publicidad de red común al sistema de comunicación inalámbrica 100. Por ejemplo, el dispositivo 142 puede recibir el primer mensaje de descubrimiento del primer dispositivo móvil 122. El primer mensaje de descubrimiento puede incluir información específica del segundo grupo de dispositivos móviles 120, y se puede denominar en el presente documento un "mensaje de descubrimiento de grupo". Por ejemplo, la información puede indicar (por ejemplo, anunciar) el segundo grupo de dispositivos móviles 120, tal como indicando las características del protocolo asociado con el segundo grupo de dispositivos móviles 120. La información puede incluir una indicación de un canal inalámbrico asociado con el segundo grupo de dispositivos móviles 120 que puede ser diferente de un canal inalámbrico asociado con el protocolo de publicidad de red. De forma alternativa o además, la información puede incluir una indicación de un parámetro de temporización (por ejemplo, un tiempo de inicio y/o una duración de un intervalo de descubrimiento) asociado con el segundo grupo de dispositivos móviles 120 que puede ser diferente de un parámetro de temporización asociado con el protocolo de publicidad de red. De forma alternativa o además, la información puede incluir un tamaño de red asociado con el segundo grupo de dispositivos móviles 120 (por ejemplo, para permitir que los dispositivos móviles determinen si se unen al segundo grupo de dispositivos móviles 120, por ejemplo, en base a si un ancho de banda estimado asociado con el segundo grupo de dispositivos móviles 120 es demasiado pequeño en base al tamaño de red que supera un umbral). De forma alternativa o además, la información puede incluir una duración de un intervalo de descubrimiento y/o un intervalo de escucha posterior asociado con el segundo grupo de dispositivos móviles 120. De forma alternativa o además, la información puede incluir información de identificación del grupo, tal como información sobre una aplicación de dispositivo móvil de red social o una aplicación de dispositivo móvil de juego asociada con el segundo grupo de dispositivos móviles 120.
[0029] En respuesta a la recepción del primer mensaje de descubrimiento, el dispositivo móvil 142 puede usar la información en el primer mensaje de descubrimiento para comunicarse con el dispositivo móvil 122 usando el protocolo asociado con el segundo grupo de dispositivos móviles 120. Por ejemplo, el dispositivo móvil 142 se puede unir al segundo grupo de dispositivos móviles 120, consultar un dispositivo móvil del segundo grupo de dispositivos móviles 120 para obtener información adicional (por ejemplo, información relacionada con una aplicación de dispositivo móvil) asociada con el segundo grupo de dispositivos móviles 120, o una combinación de los mismos. La comunicación con el dispositivo móvil 122 puede incluir sintonizar un transceptor del dispositivo móvil 142 desde un primer canal (asociado con el protocolo de publicidad de red) al segundo canal (asociado con el segundo grupo de dispositivos móviles). Después de sintonizar el segundo canal, el dispositivo móvil 142 puede recibir un segundo mensaje de descubrimiento del dispositivo móvil 122 en un tiempo que se determina por un segundo parámetro de temporización que está asociado con el segundo grupo de dispositivos móviles 120.
[0030] En otro ejemplo particular, el dispositivo móvil 132 puede enviar un segundo mensaje de descubrimiento por medio del protocolo de publicidad de red común al sistema de comunicación inalámbrica 100. El segundo mensaje de descubrimiento puede incluir información específica del tercer grupo de dispositivos móviles 130. Uno o más otros dispositivos pueden recibir el segundo mensaje de descubrimiento. Por ejemplo, el dispositivo móvil 128 puede recibir el segundo mensaje de descubrimiento enviado por el dispositivo móvil 132. El dispositivo móvil 132 puede recibir un mensaje del dispositivo móvil 128 que se envía en base a la información específica del tercer grupo de dispositivos móviles 130. El mensaje se puede enviar usando el protocolo asociado con el tercer grupo de dispositivos móviles 130. El mensaje enviado desde el dispositivo móvil 128 puede ser una solicitud para unirse al tercer grupo de dispositivos móviles 130, una consulta de información adicional relacionada con el tercer grupo de dispositivos móviles 130, o una combinación de los mismos.
[0031] En un modo de realización particular, cada uno de los grupos de dispositivos móviles 110, 120 y 130 se puede anunciar durante un intervalo de descubrimiento asociado con el protocolo de publicidad de red común al sistema de comunicación inalámbrica 100. Por ejemplo, durante un primer intervalo de descubrimiento asociado con el protocolo de publicidad de red común al sistema de comunicación inalámbrica 100, un dispositivo particular del primer grupo de dispositivos móviles 110 (tal como el dispositivo móvil 114) puede enviar un mensaje de descubrimiento anunciando el primer grupo de dispositivos móviles 110. Adicionalmente, durante el primer intervalo de descubrimiento, un dispositivo particular del segundo grupo de dispositivos móviles 120 (tal como el dispositivo móvil 126) puede enviar un mensaje de descubrimiento anunciando el segundo grupo de dispositivos móviles 120. Además, durante el primer intervalo de descubrimiento, un dispositivo particular del tercer grupo de dispositivos móviles 130 (tal como el dispositivo móvil 136) puede enviar un mensaje de descubrimiento anunciando el tercer grupo de dispositivos móviles 130. Por tanto, durante el primer intervalo de descubrimiento, el dispositivo móvil 142 puede
recibir mensajes de descubrimiento asociados con cada uno de los grupos de dispositivos móviles por medio del protocolo de publicidad de red común al sistema de comunicación inalámbrica 100 (por ejemplo, sintonizando un canal asociado con el protocolo de publicidad de red común al sistema de comunicación inalámbrica 100). Por consiguiente, el dispositivo móvil 142 no tiene que escanear una variedad de canales (tales como canales asociados con cada uno de los grupos de dispositivos móviles 110, 120 y 130, para identificar grupos de dispositivos móviles que están activos en un área particular.
[0032] Se apreciará que la utilización del protocolo de publicidad en red común al sistema de comunicación inalámbrica 100 puede permitir la transmisión y recepción de información relacionada con grupos particulares de dispositivos móviles (por ejemplo, cualquiera de los grupos de dispositivos móviles 110, 120, 130). Además, al comunicarse de acuerdo con protocolos específicos del grupo que son diferentes del protocolo de publicidad de red, cada uno de los grupos de dispositivos móviles 110, 120, 130 puede adaptar las comunicaciones de acuerdo con características específicas del grupo, tal como una o más aplicaciones particulares de dispositivos móviles asociadas con el grupo de dispositivos móviles particular.
[0033] La figura 2 ilustra diversos componentes que se pueden utilizar en un dispositivo inalámbrico 202 que se puede emplear dentro del sistema de comunicación inalámbrica 100. El dispositivo inalámbrico 202 es un ejemplo de un dispositivo que puede estar configurado para implementar los diversos procedimientos descritos en el presente documento. Por ejemplo, el dispositivo inalámbrico 202 puede incluir uno de los dispositivos móviles.
[0034] El dispositivo inalámbrico 202 puede incluir un procesador 204 que controle el funcionamiento del dispositivo inalámbrico 202. El procesador 204 se puede denominar también unidad central de procesamiento (CPU). La memoria 206, que puede incluir tanto memoria de solo lectura (ROM) como memoria de acceso aleatorio (RAM), puede proporcionar instrucciones y datos al procesador 204. Una parte de la memoria 206 también puede incluir memoria de acceso aleatorio no volátil (NVRAM). El procesador 204 realiza típicamente operaciones lógicas y aritméticas en base a instrucciones de programa almacenadas dentro de la memoria 206. Las instrucciones de la memoria 206 pueden ser ejecutables para implementar los procedimientos descritos en el presente documento.
[0035] El procesador 204 puede incluir o ser un componente de un sistema de procesamiento implementado con uno o más procesadores. Los uno o más procesadores se pueden implementar con cualquier combinación de microprocesadores de propósito general, microcontroladores, procesadores de señales digitales (DSP), matrices de puertas programables in situ (FPGA), dispositivos de lógica programable (PLD), controladores, máquinas de estados, lógica de puertas, componentes de hardware discretos, máquinas de estados finitos de hardware dedicado u otras entidades adecuadas cualesquiera que puedan realizar cálculos u otras manipulaciones de información.
[0036] El sistema de procesamiento también puede incluir medios legibles por máquina para almacenar programa informático. Se interpretará en sentido amplio que programa informático significa cualquier tipo de instrucciones, independientemente de si se denominan programa informático, firmware, middleware, microcódigo, lenguaje de descripción de hardware o de otro modo. Las instrucciones pueden incluir código (por ejemplo, en formato de código fuente, en formato de código binario, en formato de código ejecutable o en cualquier otro formato de código adecuado). Las instrucciones, cuando son ejecutadas por los uno o más procesadores, hacen que el sistema de procesamiento realice las diversas funciones descritas en el presente documento.
[0037] El dispositivo inalámbrico 202 también puede incluir una carcasa 208 que puede incluir un transmisor 210 y/o un receptor 212 para permitir la transmisión y la recepción de datos entre el dispositivo inalámbrico 202 y una localización remota. El transmisor 210 y el receptor 212 se pueden combinar en un transceptor 214. Una antena 216 se puede fijar a la carcasa 208 y acoplar eléctricamente al transceptor 214. El dispositivo inalámbrico 202 también puede incluir (no se muestran) múltiples transmisores, múltiples receptores, múltiples transceptores y/o múltiples antenas.
[0038] El transmisor 210 puede estar configurado para transmitir de forma inalámbrica paquetes que tengan tipos o funciones de paquetes diferentes. Por ejemplo, el transmisor 210 puede estar configurado para transmitir paquetes de tipos diferentes generados mediante el procesador 204. Cuando el dispositivo inalámbrico 202 se implementa o se usa como un dispositivo móvil, el procesador 204 puede estar configurado para procesar paquetes de una pluralidad de diferentes tipos de paquetes. Por ejemplo, el procesador 204 puede estar configurado para determinar el tipo de paquete y para procesar en consecuencia el paquete y/o los campos del paquete. Cuando el dispositivo inalámbrico 202 se implementa o se usa como un dispositivo móvil, el procesador 204 puede estar configurado también para seleccionar y generar uno de una pluralidad de tipos de paquetes. Por ejemplo, el procesador 204 se puede configurar para generar un paquete de descubrimiento (tal como un mensaje de descubrimiento de grupo y/o un mensaje de descubrimiento) y para determinar qué tipo de información de paquete usar en un caso particular.
[0039] El receptor 212 puede estar configurado para recibir de forma inalámbrica paquetes que tengan tipos de paquetes diferentes. En algunos aspectos, el receptor 212 puede estar configurado para detectar un tipo de paquete usado y para procesar en consecuencia el paquete.
[0040] El dispositivo inalámbrico 202 también puede incluir un detector de señales 218 que se puede usar en un esfuerzo para detectar y cuantificar el nivel de las señales recibidas por el transceptor 214. El detector de señales 218 puede detectar dichas señales como energía total, energía por subportadora por símbolo, densidad espectral de potencia y otras señales. El dispositivo inalámbrico 202 también puede incluir un procesador de señales digitales (DSP) 220 para su uso en el procesamiento de señales. El DSP 220 puede estar configurado para generar un paquete para su transmisión. En algunos aspectos, el paquete puede incluir una unidad de datos de capa física (PPDU).
[0041] El dispositivo inalámbrico 202 puede incluir además una interfaz de usuario 222 en algunos aspectos. La interfaz de usuario 222 puede incluir un teclado, un micrófono, un altavoz y/o una pantalla de visualización. La interfaz de usuario 222 puede incluir cualquier elemento o componente que transmita información a un usuario del dispositivo inalámbrico 202 y/o reciba entrada desde el usuario.
[0042] Los diversos componentes del dispositivo inalámbrico 202 se pueden acoplar entre sí mediante un sistema de bus 226. El sistema de bus 226 puede incluir un bus de datos, por ejemplo, así como un bus de energía, un bus de señales de control y un bus de señales de estado, además del bus de datos. Los componentes del dispositivo inalámbrico 202 se pueden acoplar entre sí o aceptar o proporcionar entradas entre sí usando algún otro mecanismo.
[0043] Aunque se ilustra un número de componentes independientes en la figura 2, uno o más de los componentes se pueden combinar o implementar de manera común. Por ejemplo, el procesador 204 se puede usar para implementar no solo la funcionalidad descrita anteriormente con respecto al procesador 204, sino también para implementar la funcionalidad descrita anteriormente con respecto al detector de señales 218 y/o al DSP 220. Además, cada uno de los componentes ilustrados en la figura 2 se puede implementar usando una pluralidad de elementos separados.
[0044] Para garantizar una comunicación apropiada entre múltiples dispositivos móviles, los dispositivos móviles pueden recibir información sobre las características de los dispositivos móviles. Por ejemplo, el dispositivo móvil 142 (figura 1) puede recibir información de temporización sobre un dispositivo móvil 114 (figura 1) para sincronizar la temporización de la comunicación entre el dispositivo móvil 142 y el dispositivo móvil 114. Adicionalmente o de forma alternativa, el dispositivo móvil 142 puede recibir otra información tal como una dirección de control de acceso al medio (MAC) de otro dispositivo móvil, etc. El dispositivo móvil 142 puede determinar si necesita dicha información de forma independiente, tal como a través de un software que se ejecuta usando la memoria 206 y el procesador 204.
[0045] El dispositivo móvil 142 (figura 1) puede tener una pluralidad de modos de funcionamiento. Por ejemplo, el dispositivo móvil 142 puede tener un primer modo de funcionamiento denominado modo activo, modo normal o modo de potencia máxima. En el modo activo, el dispositivo móvil 142 puede estar siempre en un estado "activo" y transmitir/recibir datos de forma activa con otro dispositivo móvil. Además, el dispositivo móvil 142 puede tener un segundo modo de funcionamiento denominado modo de ahorro de energía o modo de suspensión. En el modo de ahorro de energía, el dispositivo móvil 142 puede estar en el estado "activo" o en un estado "de reposo" o "de suspensión" donde el dispositivo móvil 142 no transmita/reciba datos de forma activa con otro dispositivo móvil. Por ejemplo, el receptor 212 y posiblemente el DSP 220 y el detector de señales 218 del dispositivo móvil 142 pueden funcionar usando un consumo de energía reducido en el estado en reposo. Además, en el modo de ahorro de energía, el dispositivo móvil 142 puede entrar ocasionalmente en el estado activo para escuchar mensajes de otros dispositivos móviles (por ejemplo, mensajes de radiobúsqueda) que indiquen al dispositivo móvil si el dispositivo móvil necesita "activarse" o no (por ejemplo, entrar en el estado activo) en un momento determinado para poder transmitir/recibir datos con otro dispositivo móvil.
[0046] Como se analiza anteriormente, el dispositivo inalámbrico 202 puede comprender un AP 104 o una STA 106, y se puede usar para transmitir y/o recibir comunicaciones. La figura 3 ilustra un módulo transmisor 300 que se pueden utilizar en el dispositivo inalámbrico 202 para transmitir comunicaciones inalámbricas. Los componentes ilustrados en la figura 3 se pueden usar, por ejemplo, para transmitir comunicaciones OFDM.
[0047] El módulo transmisor 300 puede comprender un modulador 302 configurado para modular bits para su transmisión. Por ejemplo, si el módulo transmisor 300 se usa como un componente del dispositivo inalámbrico 202 en la figura 2, el modulador 302 puede determinar una pluralidad de símbolos a partir de bits recibidos desde el procesador 204 o la interfaz de usuario 222, por ejemplo, aplicando bits a una pluralidad de símbolos de acuerdo con una constelación. Los bits pueden corresponder a datos de usuario o a información de control. En algunos aspectos, los bits se reciben en palabras de código. En un aspecto, el modulador 302 comprende un modulador de QAM (modulación de amplitud en cuadratura), por ejemplo, un modulador 16-QAM o un modulador 64-QAM. En otros aspectos, el modulador 302 comprende un modulador por desplazamiento de fase binaria (BPSK) o un modulador por desplazamiento de fase en cuadratura (QPSK).
[0048] El módulo transmisor 300 puede comprender, además, un módulo de transformación 304 configurado para convertir símbolos, o bits modulados de otro modo, desde el modulador 302 a un dominio de tiempo. En la figura 3, el módulo de transformación 304 se ilustra como implementado mediante un módulo de transformada rápida inversa de Fourier (IFFT). En algunas implementaciones, puede haber múltiples módulos de transformada (no mostrados) que transforman unidades de datos de diferentes tamaños.
[0049] En la figura 3, el modulador 302 y el módulo de transformación 304 se ilustran como implementados en el DSP 320. Sin embargo, en algunos aspectos, uno o ambos del modulador 302 y el módulo de transformación 304 se pueden implementar en otros componentes del dispositivo inalámbrico 202, tal como en el procesador 204.
[0050] En general, el DSP 320 puede estar configurado para generar una unidad de datos para su transmisión. En algunos aspectos, el modulador 302 y el módulo de transformación 304 pueden estar configurados para generar una unidad de datos que comprende una pluralidad de campos que incluyen información de control y una pluralidad de símbolos de datos. Los campos que incluyen la información de control pueden comprender uno o más campos de entrenamiento, por ejemplo, y uno o más campos de señal (SIG). Cada uno de los campos de entrenamiento puede incluir una secuencia conocida de bits o símbolos. Cada uno de los campos SIG puede incluir información acerca de la unidad de datos, por ejemplo, una descripción de una longitud o velocidad de datos de la unidad de datos.
[0051] Volviendo a la descripción de la figura 3, el módulo transmisor 300 puede comprender además un convertidor de digital a analógico 306 configurado para convertir la salida del módulo de transformación en una señal analógica. Por ejemplo, el convertidor de digital a analógico 306 puede convertir la salida del dominio del tiempo del módulo de transformación 306 en una señal de OFDM de banda base. En algunos aspectos, partes del módulo transmisor 300 se pueden incluir en el dispositivo inalámbrico 202 de la figura 2. El convertidor de digital a analógico 306 se puede implementar en el procesador 204, el transceptor 214 o en otro elemento del dispositivo inalámbrico 202.
[0052] El transmisor 310 puede transmitir de manera inalámbrica la señal analógica. La señal analógica se puede procesar adicionalmente antes de ser transmitida por el transmisor 310, por ejemplo, siendo filtrada o elevada en frecuencia hasta una frecuencia intermedia o portadora. En el aspecto ilustrado en la figura 3, el transmisor 310 incluye un amplificador de transmisión 308. Antes de transmitirse, la señal analógica puede ser amplificada por el amplificador de transmisión 308. En algunos aspectos, el amplificador 308 comprende un amplificador de bajo ruido (LNA).
[0053] El transmisor 310 está configurado para transmitir uno o más paquetes o unidades de datos en una señal inalámbrica en base a la señal analógica. Las unidades de datos se pueden generar usando un procesador y/o el DSP 320, por ejemplo, usando el modulador 302 y el módulo de transformación 304, como se analiza anteriormente. Las unidades de datos que se pueden generar y transmitir como se analiza anteriormente se describen en detalle adicional a continuación con respecto a las figuras 5-7.
[0054] La figura 4 ilustra un módulo receptor 400 que se puede utilizar en el dispositivo inalámbrico 202 para recibir comunicaciones inalámbricas. Los componentes ilustrados en la figura 4 se pueden usar, por ejemplo, para recibir comunicaciones OFDM. En algunos aspectos, los componentes ilustrados en la figura 4 se usan para recibir unidades de datos que incluyen uno o más campos de entrenamiento, como se analizará en detalle adicional a continuación. Por ejemplo, los componentes ilustrados en la figura 4 se pueden usar para recibir unidades de datos transmitidas por los componentes analizados anteriormente con respecto a la figura 3.
[0055] El receptor 412 se configura para recibir uno o más paquetes o unidades de datos en una señal inalámbrica. Las unidades de datos que se pueden recibir y descodificar o procesar de otro modo como se analiza a continuación se describen en detalle adicional con respecto a las figuras 5-7.
[0056] En el aspecto ilustrado en la figura 4, el receptor 412 incluye un amplificador de recepción 401. El amplificador de recepción 401 puede estar configurado para amplificar la señal inalámbrica recibida por el receptor 412. En algunos aspectos, el receptor 412 está configurado para ajustar la ganancia del amplificador de recepción 401 usando un procedimiento de control automático de ganancia (AGC). En algunos aspectos, el control automático de ganancia usa la información de uno o más campos de entrenamiento recibidos, tales como un campo de entrenamiento corto (STF) recibido, por ejemplo, para ajustar la ganancia. Los expertos en la técnica entenderán los procedimientos para realizar el AGC. En algunos aspectos, el amplificador 401 comprende un LNA.
[0057] El módulo receptor 400 puede comprender un convertidor de analógico a digital 402 configurado para convertir la señal inalámbrica amplificada desde el receptor 412 en una representación digital de la misma. Además de amplificarse, la señal inalámbrica se puede procesar antes de ser convertida por el convertidor de digital a analógico 402, por ejemplo, mediante filtración o reducción de frecuencia hasta una frecuencia intermedia o de banda base. El convertidor de analógico a digital 402 puede estar implementado en el procesador 204 de la figura 2, el transceptor 214, o en otro elemento del dispositivo inalámbrico 202.
[0058] El módulo receptor 400 puede comprender, además, un módulo de transformación 404 configurado para convertir la representación de la señal inalámbrica en un espectro de frecuencia. En la figura 4, el módulo de transformación 404 se ilustra como implementado mediante un módulo de transformada rápida de Fourier (FFT). En algunos aspectos, el módulo de transformación puede identificar un símbolo para cada punto que usa.
[0059] El módulo receptor 400 puede comprender, además, un estimador y ecualizador de canal 405, configurado para formar una estimación del canal a través del cual se recibe la unidad de datos, y para eliminar determinados efectos del canal en base a la estimación de canal. Por ejemplo, el estimador de canal se puede configurar para
aproximar una función del canal, y el ecualizador de canal se puede configurar para aplicar una inversa de esa función a los datos en el espectro de frecuencia.
[0060] En algunos aspectos, el estimador y ecualizador de canal 405 usa información en uno o más campos de entrenamiento recibidos, tal como un campo de entrenamiento largo (LTF), por ejemplo, para estimar el canal. La estimación de canal se puede generar en base a uno o más LTF recibidos al principio de la unidad de datos. Esta estimación de canal se puede usar después de esto para ecualizar símbolos de datos que siguen a los uno o más LTF. Después de un determinado periodo de tiempo o después de un determinado número de símbolos de datos, uno o más LTF adicionales se pueden recibir en la unidad de datos. La estimación de canal se puede actualizar o generar una nueva estimación usando los LTF adicionales. Esta estimación de canal nueva o actualizada se puede usar para ecualizar símbolos de datos que siguen a los LTF adicionales. En algunos aspectos, la estimación de canal nueva o actualizada se usa para volver a ecualizar símbolos de datos que preceden a los LTF adicionales. Los expertos en la técnica entenderán los procedimientos para obtener una estimación de canal.
[0061] El módulo receptor 400 puede comprender, además, un demodulador 406 configurado para desmodular los datos ecualizados. Por ejemplo, el demodulador 406 puede determinar una pluralidad de bits a partir de símbolos emitidos por el módulo de transformación 404 y el estimador y ecualizador de canal 405, por ejemplo, invirtiendo una aplicación de bits a un símbolo en una constelación. En algunos aspectos, donde el módulo receptor 400 se implementa como una parte del dispositivo inalámbrico 202, los bits pueden ser procesados o evaluados por el procesador 204, o usados para mostrar o de otro modo emitir información a la interfaz de usuario 222. De esta manera, se pueden descodificar datos y/o información. En algunos aspectos, los bits corresponden a palabras de código. En un aspecto, el demodulador 406 comprende un demodulador de QAM (modulación de amplitud en cuadratura), por ejemplo, un demodulador 16-QAM o un demodulador 64-QAM. En otros aspectos, el demodulador 406 comprende un demodulador por desplazamiento de fase binaria (BPSK) o un demodulador por desplazamiento de fase en cuadratura (QPSK).
[0062] En la figura 4, el módulo de transformación 404, el estimador y ecualizador de canal 405 y el demodulador 406 se ilustran como implementados en el DSP 420. Sin embargo, en algunos aspectos, uno o más del módulo de transformación 404, el estimador y ecualizador de canal 405 y el demodulador 406 se pueden implementar en otro componente del dispositivo inalámbrico 202, tal como en el procesador 204.
[0063] Como se analiza anteriormente, la señal inalámbrica recibida en el receptor 412 comprende una o más unidades de datos. Estas unidades de datos se pueden descodificar, evaluar y/o procesar usando los componentes descritos anteriormente. Por ejemplo, el procesador y/o el DSP 420 se pueden usar para descodificar símbolos de datos en las unidades de datos usando el módulo de transformación 404, el estimador y ecualizador de canal 405 y el demodulador 406.
[0064] Las unidades de datos intercambiadas por el AP 104 y la STA 106 pueden incluir información de control o datos. En la capa física (PHY), estas unidades de datos se pueden denominar unidades de datos del protocolo de capa física (PPDU). En algunos aspectos, una PPDU se puede denominar paquete o paquete de capa física. Cada PPDU puede comprender un preámbulo y una carga útil. El preámbulo puede incluir campos de entrenamiento y un campo SIG. Por ejemplo, los campos de entrenamiento pueden incluir uno o más campos de entrenamiento largos (LTF) y uno o más campos de entrenamiento cortos (STF). La carga útil puede comprender una cabecera de control de acceso al medio (MAC) y/o datos de usuario. La carga útil se puede transmitir usando uno o más símbolos de datos, tal como los símbolos BPSK o los símbolos QPSK.
[0065] Para garantizar un funcionamiento ajustable a escala en una red WiFi social, tal como el grupo de dispositivos móviles (110, 120 y 130), las transmisiones por cada dispositivo en la red se deben controlar en base a el número de dispositivos en la red. Por ejemplo, puede ser deseable ajustar la velocidad a la que se transmiten las balizas y/o señales de temporización en base al número de dispositivos en la red. En muchas aplicaciones, es suficiente obtener una estimación aproximada del número de dispositivos en la red. Una forma para que un dispositivo inalámbrico rastree el número de dispositivos en la red es simplemente almacenar cualquier identificador recibido en un mensaje y que represente un dispositivo. Cada vez que se recibe un nuevo mensaje, el dispositivo comparará el identificador en el nuevo mensaje con los identificadores ya almacenados en el dispositivo y almacenará el identificador si no se ha almacenado previamente. Sin embargo, este enfoque puede dar lugar a grandes requisitos de memoria y necesidades para clasificar un mayor número de identificadores recibidos. Por tanto, es beneficioso tener un procedimiento para rastrear el número de dispositivos en una red inalámbrica, que puede reducir en gran medida los requisitos de memoria mayores y las necesidades de clasificar los identificadores.
[0066] En implementaciones como se describirá a continuación, se usa un filtro Bloom (que se describirá a continuación con más detalle) para rastrear los identificadores de los dispositivos en la red. El filtro Bloom es una matriz de bits de m bits con k funciones resumen asociadas con la misma. Cada vez que se recibe un mensaje de otro dispositivo inalámbrico que incluye un identificador asociado con otro dispositivo inalámbrico, el identificador se añade al filtro Bloom. La densidad de ceros en el filtro Bloom se usa para estimar el número de dispositivos en el filtro Bloom. En algunos aspectos, la densidad de unos se puede usar para estimar el número de dispositivos en el filtro Bloom. Debido a que el filtro Bloom incluye un número predefinido de bits, y cada bit se puede establecer en cero o en uno,
puede ser simple, matemáticamente, determinar el número de unos en el filtro Bloom una vez que se conoce el número de ceros, y viceversa. En consecuencia, para determinar el número de dispositivos en la red, se puede usar bien el número de ceros o el número de unos en el filtro Bloom.
[0067] La figura 5 es un diagrama de flujo de un procedimiento para monitorizar el número de dispositivos inalámbricos en una red inalámbrica de acuerdo con una implementación. El procedimiento 500 se puede realizar por un dispositivo inalámbrico, tal como el dispositivo móvil 112 (mostrado en la figura 1). En una implementación, la red inalámbrica es una red WiFi social o una red ad hoc. La red inalámbrica puede ser el grupo de dispositivos móviles 1120, 120 y 130 (que se muestra en la figura 1). Sin embargo, el procedimiento también se puede usar en una red inalámbrica de tipo de infraestructura (por ejemplo, una red que incluye un punto de acceso), en el que los dispositivos inalámbricos pueden moderar su comportamiento en base al número de otros dispositivos a su alrededor.
[0068] En el bloque 502, el procedimiento incluye recibir un mensaje desde un dispositivo inalámbrico, comprendiendo el mensaje un identificador asociado con el dispositivo inalámbrico. El mensaje puede ser recibido, por ejemplo, por el receptor 212 del dispositivo inalámbrico 202 (mostrado en la figura 2) desde otro dispositivo inalámbrico en la red inalámbrica (también denominado "dispositivo inalámbrico vecino"). El término "dispositivo inalámbrico vecino" simplemente se refiere a otro dispositivo inalámbrico en la misma red inalámbrica. El mensaje puede ser cualquier paquete o trama de otro dispositivo inalámbrico. En la implementación ejemplar, el mensaje incluye un identificador asociado con el dispositivo inalámbrico vecino.
[0069] Pasando al bloque 504, el procedimiento incluye añadir (o ingresar) el identificador en un filtro Bloom. Este proceso se puede realizar, por ejemplo, por el procesador 204 del dispositivo inalámbrico 202 (mostrado en la figura 2). En una implementación, el identificador se añade al filtro Bloom cada vez que se recibe un mensaje desde otro dispositivo inalámbrico.
[0070] El filtro Bloom es una estructura de datos probabilística eficaz en espacio. El filtro Bloom incluye una matriz de bits de m bits y k funciones resumen diferentes. Cada bit puede tener un valor de cero o uno. Cada una de las k funciones de resumen diferentes aplica una cadena de entrada a una de las m posiciones de matriz con una distribución aleatoria uniforme. En una implementación ejemplar, los m bits se inicializan todos en cero. Siempre que se recibe un identificador, el identificador se añade al filtro Bloom. El proceso de añadir el identificador al filtro Bloom incluye a) suministrar el identificador como una cadena de entrada a cada una de las k funciones resumen, en el que cada función hash aplica la cadena de entrada a una posición de matriz, y b) establecer los bits en las posiciones de matriz identificadas por las k funciones resumen en uno.
[0071] A continuación, en el bloque 506, el procedimiento incluye estimar el número de cadenas distintas que se han añadido al filtro Bloom en base al número de ceros en el filtro Bloom, en el que el número de cadenas distintas representa una estimación del número de dispositivos inalámbricos en la red inalámbrica. Este proceso se puede realizar, por ejemplo, por el procesador 204 del dispositivo inalámbrico 202 (mostrado en la figura 2). En una implementación, el número de cadenas distintas se determina en base a la densidad de unos en el filtro Bloom (o la densidad de ceros en el filtro Bloom). El número estimado de entradas distintas el número de cadenas distintas Ndistinct. Ndistinct que se han añadido al filtro Bloom se pueden calcular, por ejemplo, mediante la siguiente fórmula:
En la que N0 indica el número de ceros en la matriz de m bits del filtro Bloom. Por lo tanto, el procedimiento permite monitorizar el número de dispositivos en la red inalámbrica sin la necesidad de rastrear o almacenar identificadores individuales. Como resultado, el procedimiento requiere solo poco espacio de almacenamiento. En una implantación alternativa, la fórmula (1) se puede simplificar de la siguiente manera:
Ndistinct = - 7 * l 0 g ( ^ ) (la)
La fórmula (1a) explota el hecho de que log(1-1/m) es aproximadamente igual a 1/m, en particular cuando m es suficientemente grande.
[0072] En una implementación, el procedimiento puede incluir además un proceso opcional, en el que cuando un primer dispositivo inalámbrico se une a una red inalámbrica, el dispositivo inalámbrico solicita a un segundo dispositivo inalámbrico para que proporcione el filtro Bloom actual del segundo dispositivo. Esto ayuda al primer dispositivo a actualizar el número de dispositivos en la red inalámbrica. Desde este momento en adelante, el primer dispositivo puede contar cualquier dispositivo adicional actualizando el filtro Bloom recibido del segundo dispositivo. En una implementación, el segundo dispositivo inalámbrico puede ser uno de los vecinos del primer dispositivo. En otra implementación, el primer dispositivo inalámbrico puede solicitar a una pluralidad de dispositivos inalámbricos vecinos para que proporcionen su filtro Bloom actual. Si el primer dispositivo inalámbrico recibe filtros Bloom de dos o más
dispositivos inalámbricos, el primer dispositivo inalámbrico puede realizar una operación OR bit a bit de los filtros Bloom recibidos y almacenar el filtro Bloom resultante como el filtro Bloom actual para el primer dispositivo inalámbrico. En una implementación, el dispositivo inalámbrico puede recibir un mensaje de un dispositivo inalámbrico vecino, que incluye el filtro Bloom del dispositivo inalámbrico vecino y la hora en que se inició el filtro Bloom del dispositivo inalámbrico vecino. Esto permite que el dispositivo inalámbrico que recibe el filtro Bloom sepa si el filtro Bloom recibido es demasiado viejo y si permitir que caduque el filtro Bloom recibido.
[0073] En algunas aplicaciones, la exactitud de la estimación realizada por este procedimiento se puede ver afectada por la salida de algunos dispositivos inalámbricos sin indicar explícitamente que están abandonando la red. Además, la exactitud de este procedimiento también se ve afectada por algunos dispositivos inalámbricos que cambian continuamente sus direcciones MAC por razones de seguridad. Existen varias formas de abordar el impacto de estos factores. Por ejemplo, el procedimiento puede incluir además un proceso opcional que permite que el dispositivo inalámbrico restablezca bits seleccionados aleatoriamente del filtro Bloom a intervalos de tiempo aleatorios. El número de bits que se va a restablecer y la distribución de los intervalos aleatorios se puede decidir en base a uno o más de los siguientes: el número de dispositivos inalámbricos en la red, la velocidad a la que los dispositivos inalámbricos abandonan la red (que puede provenir de una fuente externa) y el intervalo en el que los dispositivos inalámbricos cambian sus direcciones. En una implementación, este proceso de restablecer bits seleccionados del filtro Bloom también requiere que un dispositivo inalámbrico envíe mensajes de descubrimiento de vez en cuando para garantizar que el filtro Bloom no los ignore por completo al contar el número de dispositivos en la red. La frecuencia a la que un dispositivo inalámbrico envía dichos mensajes de descubrimiento está determinada por el parámetro de dicho proceso para restablecer los bits seleccionados del filtro Bloom.
[0074] Como alternativa, el procedimiento puede asignar un contador para cada bit de la matriz de m bits en el filtro Bloom. Puede haber m contadores para la matriz de m bits, con cada contador asignado a un bit diferente de la matriz de m bits. El contador se puede establecer en un valor entero entre cero y un valor máximo C_max. Por ejemplo, si el contador tiene 3 bits, C_max puede tener un valor de 7. Cada vez que un bit de la matriz de m bits en el filtro Bloom se establece en 1, el contador asociado con el bit se restablece al valor de C_max. El valor de cada contador que tiene un valor distinto de cero se reduce en 1 por cada intervalo de tiempo de una duración T. Por ejemplo, la duración T puede ser de 100 microsegundos o 1 minuto, dependiendo de la aplicación. En una implementación, la duración T se puede decidir en base a uno o más de los siguientes: la velocidad a la que los dispositivos inalámbricos abandonan la red (que puede provenir de una fuente externa) y el intervalo en el que los dispositivos inalámbricos cambian sus direcciones. Cuando el valor de un contador se reduce a cero, el bit correspondiente al contador se establece en cero. Como se describe anteriormente, el tamaño de la red se puede estimar en base a los bits en el filtro Bloom que se establecen en cero o en uno.
[0075] En una implementación, el procedimiento puede incluir además un proceso opcional, en el que el dispositivo inalámbrico solicita una copia del filtro Bloom de un primer dispositivo inalámbrico vecino. A continuación, el dispositivo inalámbrico genera un primer filtro Bloom realizando un AND bit a bit del filtro Bloom del dispositivo inalámbrico y el filtro Bloom del primer dispositivo inalámbrico vecino. La conexión inalámbrica a continuación estima el número de dispositivos inalámbricos vecinos, que el dispositivo inalámbrico y el primer dispositivo inalámbrico vecino tienen en común, en base al primer filtro Bloom. La densidad de unos en el primer filtro Bloom también es una buena estimación del número de dispositivos en la intersección del conjunto de vecinos.
[0076] Como se describe anteriormente, el filtro Bloom incluye k funciones resumen diferentes, cada una de las cuales aplica una cadena de entrada a una posición de bit en la matriz de bits. La función hash puede ser, por ejemplo, una verificación de redundancia cíclica (CRC) de una cadena de entrada. En una implementación, las k funciones resumen diferentes se pueden crear usando una única función hash (por ejemplo, un CRC) y k cadenas diferentes (denominadas "cadena de modificación"). Para cada cadena de entrada al filtro Bloom (denominada "cadena de entrada de Bloom"), se generan k cadenas diferentes de entrada (denominadas "cadenas de entrada resumen"), en la que cada cadena de entrada resumen se crea agregando la cadena de entrada de Bloom con una diferente de las k cadenas de modificación. Posteriormente, cada una de las k cadenas de entrada resumen diferentes se suministra a la única función hash, generando por tanto posiciones de un bit en la matriz de bits. Puesto que hay k cadenas de entrada resumen diferentes, se identifican k posiciones de bits en la matriz de bits (algunas de ellas pueden ser la misma posición de bit). Como resultado, el filtro Bloom simula k funciones resumen diferentes usando una única función hash y k cadenas diferentes.
[0077] En otra implementación, las k cadenas de entrada resumen se pueden crear de una forma diferente. En un ejemplo, cada cadena de entrada resumen se puede crear agregando una de las cadenas de modificación diferente a la cadena de entrada de Bloom. En otro ejemplo, cada cadena de entrada resumen se puede crear insertando una de las cadenas de modificación diferente entre la cadena de entrada de Bloom.
[0078] Como se describe anteriormente, el filtro Bloom incluye una matriz de bits de m bits y k funciones resumen diferentes. En una implementación, el número de funciones resumen k tiene un valor de 1, y el tamaño de la matriz de bits m tiene un valor aproximadamente dos veces el tamaño máximo de la red inalámbrica que se va a estimar. En determinadas aplicaciones, este simple filtro Bloom es suficiente para el problema de estimar el número de vecinos. En otra implementación, el filtro Bloom está diseñado para rastrear hasta N dispositivos, y la matriz de bits m del filtro
Bloom está diseñada para tener N bits. En otra implementación, el tamaño del filtro Bloom (el valor de los parámetros m y k) se puede determinar en base al número deseado de identificadores distintos que se van a almacenar en el filtro Bloom (indicado con n) y a la probabilidad de falsa alarma deseada (indicada con p) de que un identificador que no se ha añadido al filtro se determine como estando en el filtro Bloom, usando la fórmula siguiente:
m= -n*ln(p)/(ln(2))2 (2)
k = (m/n) ln(2) (3)
[0079] En una implementación, el identificador en el mensaje puede estar asociado con el dispositivo inalámbrico vecino o con un servicio o con una aplicación. El identificador en el mensaje puede ser una dirección MAC de una trama de descubrimiento que identifique el dispositivo inalámbrico que envía la trama. El identificador puede ser también un identificador de servicio en una trama, en el que el identificador de servicio puede estar en el cuerpo de la trama o puede reemplazar uno de los campos de dirección en la trama. Como otro ejemplo, el identificador puede ser un identificador en base a la aplicación particular y localizado en el cuerpo de la trama. Por tanto, el procedimiento usa el filtro Bloom para estimar el número de identificadores distintos que recibe un dispositivo inalámbrico.
[0080] La figura 6 muestra un ejemplo ilustrativo de un filtro Bloom de acuerdo con una implementación. El filtro Bloom incluye una matriz de bits (600) de m bits inicializados todos a cero y k funciones resumen diferentes (no mostradas), en la que m=18 y k=3. Cada una de las k funciones resumen diferentes aplica o resume una cadena de entrada a una de las m posiciones de matriz con una distribución aleatoria uniforme. Se han añadido tres cadenas de entrada, a saber, x, y y z en el filtro Bloom. Para la cadena de entrada x, el filtro Bloom la aplica a tres posiciones diferentes de bits en la matriz de bits (usando las k funciones resumen no mostradas), como se indica con las tres flechas que se inician en x en la figura 6. Como resultado, las tres posiciones de bit correspondientes a la cadena de entrada "x" tienen todas un valor de 1. De forma similar, las cadenas de entrada y y z se añaden al filtro Bloom, aplicando cada una de estas cadenas a tres posiciones diferentes de bit en la matriz de bits y estableciendo estas posiciones de bit en un valor de 1. La matriz de bits resultante del filtro Bloom se muestra en la figura 6. Para determinar si se ha añadido una cadena de entrada w al filtro Bloom , el filtro Bloom aplica la cadena de entrada w a tres posiciones de bit en la matriz de bits, como se indica con las tres flechas que se inician en w. Como una de las posiciones de bit correspondientes a la cadena de entrada w tiene un valor de 0, se determina que la cadena de entrada w no está en el filtro Bloom. Esta determinación es correcta porque el filtro Bloom almacena solo x, y, y z, no w.
[0081] La figura 7 ilustra los resultados de simulación 700 comparando el número de dispositivos inalámbricos en la red y el número estimado del filtro Bloom. La figura 8 ilustra los resultados de simulación 800 que muestran el porcentaje de error de estimación frente al número de dispositivos inalámbricos en la red. En la simulación, el filtro Bloom tiene una matriz de bits de 600 bytes y cuatro funciones resumen. Como se muestra en las figuras 7 y 8, los resultados de la simulación indican que, para una red inalámbrica que incluye más de cincuenta dispositivos, el error de estimación está dentro de aproximadamente el 2 % del número real de dispositivos.
[0082] En algunas de las implementaciones anteriores, el filtro Bloom incluye k diferentes funciones resumen (denominadas "función hash de Bloom"), cada una de las cuales aplica una cadena de entrada a una posición de bit en la matriz de bits de m bits. La función hash de Bloom se puede realizar usando una función hash (denominada "función hash general") que aplica una cadena de entrada a un único entero entre 0 y p-1, en la que p no es menor que m. La función hash de Bloom se puede realizar usando primero la función hash general para aplicar la cadena de entrada a un único entero entre 0 y p-1, y a continuación aplicando una operación de módulo para encontrar el resto de la división del entero único por m, en la que el resto corresponde a una posición de bit en la matriz de bits de m bits. El resto es el valor devuelto por la función hash de Bloom. Por tanto, la función hash de Bloom se puede representar como sigue:
R esum en B loom = resto (resum en general (cadena de entrada), m ) (4)
[0083] En una implementación, la función hash general puede ser, por ejemplo, una verificación de redundancia cíclica (CRC) de una cadena de entrada. En una implementación, la función hash general del filtro Bloom puede ser una función que selecciona una pluralidad de bits de la cadena de entrada y dispone los bits en una secuencia de acuerdo con un patrón. El valor de la secuencia de los bits representa por tanto el entero de salida de la función hash general. Los bits seleccionados de la cadena de entrada no son necesariamente continuos dentro de la cadena de entrada. La función hash general puede generar la secuencia de bits basada en un patrón predefinido. Por ejemplo, el patrón predefinido puede definir la secuencia de bits B de la cadena de entrada comenzando desde el primer bit, el último bit, el bit medio, el bit en un desplazamiento predefinido desde el inicio o el bit en un desplazamiento predefinido
desde el final. El patrón predefinido puede definir una secuencia de B bits en posiciones impares de la cadena de identificador o una secuencia de bits B en posiciones pares de la cadena de identificador, en el que la secuencia comienza desde el primer bit, el último bit, el bit medio, el bit en un desplazamiento predefinido desde el inicio, o el bit en un desplazamiento predefinido desde el final. En otro ejemplo, el patrón predefinido puede definir una secuencia de bits que incluye Bit 1, Bit 37, Bit 8, Bit 9, Bit 15, Bit 3 y Bit 2 de la cadena de entrada.
[0084] En algunas de las implementaciones anteriores, un dispositivo inalámbrico solicita a un segundo dispositivo inalámbrico para que proporcione el filtro Bloom actual del segundo dispositivo, al unirse a una red inalámbrica. En una implementación, el filtro Bloom se puede intercambiar usando un valor de longitud tipo (TLV) de descubrimiento con identificación de servicio de gestión designada (por ejemplo, 0x000000 o 0xFFFFFF reservado para operaciones de gestión). El filtro Bloom se puede almacenar en un campo opcional TLV de descubrimiento llamado contenedor de información específica de gestión.
[0085] El TLV de descubrimiento se puede transportar en una trama de descubrimiento específico del proveedor. De forma alternativa, el TLV se puede transportar como un atributo en un elemento de información de pares (P2P) (por ejemplo, en un sistema WiFi directo). El elemento de información puede ser un elemento de información específico del proveedor. En una implementación, un protocolo para intercambiar el filtro Bloom comienza cuando una nueva estación inalámbrica busca balizas de sincronización de red de área vecina (NAN) o una trama de descubrimiento. Una vez que se recibe una baliza de sincronización o una trama de descubrimiento, la nueva estación envía una solicitud del filtro Bloom al remitente de la baliza de sincronización o la trama de descubrimiento. La solicitud se realiza usando un TLV de descubrimiento de gestión. El remitente de la baliza de sincronización o la trama de descubrimiento a continuación con el filtro Bloom en un TLV de descubrimiento de gestión.
[0086] La figura 9 ilustra una trama de descubrimiento específica del proveedor 900 ejemplar. En la implementación ilustrada, la trama de descubrimiento específica del proveedor 900 incluye un campo de categoría 910, un campo de acción 920, un campo de identificador organizativamente único (OUI) 930, un campo de tipo OUI 940, un subtipo de OUI 950, un token de diálogo 960 y uno o más campos de valor de longitud tipo (TLV) de descubrimiento 970-980. Como se muestra, el campo de categoría 910 tiene un octeto, el campo de acción 920 tiene un octeto, el campo de OUI 930 tiene tres octetos, el campo de tipo OUI 940 tiene un octeto, el subtipo de OUI 950 tiene un octeto, el token de diálogo 960 tiene un octeto y los uno o más campos de TLV de descubrimiento 970 a 980 tienen longitud variable. En diversos modos de realización, la trama de descubrimiento específica del proveedor 900 puede omitir uno o más campos mostrados en la figura 9. Un experto en la técnica apreciará que los campos en la trama de descubrimiento específica de proveedor 900 pueden ser de longitudes adecuadas diferentes y pueden estar en un orden diferente.
[0087] En algunas implementaciones, el campo de categoría 910 puede indicar una trama de acción pública. El campo de acción 920 puede indicar una trama de acción específica de proveedor. El campo OUI 930 se puede usar para identificar de forma única a un proveedor, fabricante u otra organización (denominado "cesionario") globalmente o en todo el mundo y puede reservar de forma efectiva un bloque de cada tipo posible de identificador derivado (tal como direcciones MAC, direcciones de grupo, identificadores de protocolo de acceso a la subred, etc.) para el uso exclusivo del cesionario. El campo de tipo OUI 940 se puede usar para indicar un tipo del campo OUI 930 tal como, un identificador MAC, un identificador dependiente de contexto (CDI), un identificador único ampliado (EUI), etc. El campo de subtipo de OUI 950 puede indicar un subtipo del campo de tipo OUI 940. El token de diálogo 960 se puede elegir para indicar una transacción particular. Los campos de t Lv 970 a 980 se describen en el presente documento con más detalle con respecto a la figura 10.
[0088] La figura 10 muestra un valor de longitud tipo (TLV) de descubrimiento 1000 que se puede emplear dentro del sistema de comunicación inalámbrica 100 de la figura 1. El TLV de descubrimiento 1000 se puede transmitir en diversos mensajes, tal como una trama de descubrimiento y un elemento de información P2P. El TLV 1000 se puede implementar en la trama de descubrimiento 900 como el TLV 970 y 980 (mostrado en la figura 9). En diversas implementaciones, cualquier dispositivo descrito en el presente documento (por ejemplo, un dispositivo inalámbrico tal como el dispositivo móvil 112 que se muestra en la figura 1), puede transmitir el TLV de descubrimiento 1000.
[0089] En la implementación ilustrada, el TLV de descubrimiento 1000 incluye un identificador de servicio 1010, un campo de longitud 1020, un campo de control de servicio opcional 1030, un campo de control de alcance opcional 1050, un campo de control de gestión 1060 y un contenedor de información específica de gestión opcional 1070. Un experto en la técnica apreciará que el TLV de descubrimiento 1000 puede incluir campos adicionales y los campos se pueden reordenar, retirar y/o redimensionar. Por ejemplo, en diversas implementaciones, el TLV de descubrimiento 1000 puede omitir el campo de control de servicio 1030, el campo de control de alcance 1050 y/o el control de gestión 1060.
[0090] En una implementación ilustrativa, el campo de identificador de servicio 1010 mostrado tiene seis octetos de largo. En algunas implementaciones, el campo de identificador de servicio 1010 puede ser de longitud variada, tal como longitud que varía de señal a señal y/o entre proveedores de servicios. El campo de identificador de servicio 1010 puede incluir un valor que identifique un servicio o aplicación de una trama de descubrimiento. Por ejemplo, el identificador de servicio 1010 puede incluir un resumen de un nombre de servicio u otro valor en base a un servicio.
En algunas implementaciones, se puede reservar un valor de token predeterminado. Por ejemplo, los identificadores de servicio de todos-ceros o todos-uno pueden indicar funcionamientos de gestión de NAN.
[0091] El campo de longitud 1020 se puede usar para indicar la longitud del TLV de descubrimiento 1000 o la longitud total de los campos posteriores. El campo de longitud 1020 mostrado en la figura 10 tiene un octeto de largo. En algunas implementaciones, el campo de longitud 1020 puede ser de longitud variable, tal como longitud que varía de señal a señal y/o entre proveedores de servicios. En algunas implementaciones, una longitud de cero (u otro valor de token predeterminado) puede indicar que uno o más otros campos (tales como el campo de control de servicio 1030, el campo de control de intervalo 1050, el control de gestión 1060 y/o el contenedor de información específica de gestión 1070) no están presentes.
[0092] El campo de control de servicio 1030 puede incluir información de un servicio aplicable. El campo de control de servicio 1030 mostrado en la figura 10 tiene un octeto de largo. En algunas implementaciones, el campo de control de servicio 1030 puede ser de longitud variable, tal como longitud que varía de señal a señal y/o entre proveedores de servicios.
[0093] El campo de control de alcance 1050 puede incluir información relacionada con el control de gestión 1060. El campo de control de alcance 1050 mostrado en la figura 10 tiene un octeto de largo. En algunas implementaciones, el campo de control de alcance 1050 puede tener una longitud variable, tal como longitud que varía de señal a señal y/o entre proveedores de servicios.
[0094] El campo de control de gestión 1060 se puede usar para transportar información relacionada con el control de gestión. En la implementación ilustrativa, el campo de control de gestión 1060 puede tener uno o dos octetos de largo. En algunas implementaciones, el campo de control de gestión 1060 tiene una longitud variable.
[0095] El contenedor de información específica de gestión 1070 se puede usar para transportar información adicional relacionada. El contenedor de información específica de gestión 1070 mostrado en la figura 10 es de longitud variable. En la implementación ilustrativa, el contenedor de información específica de gestión 1070 se puede usar para contener el filtro Bloom.
[0096] En algunos modos de realización, uno o más nodos de una red de pares pueden transmitir mensajes de sincronización para coordinar una o más ventanas de disponibilidad para la comunicación entre nodos de la red de pares. Los nodos también pueden intercambiar consultas y respuestas de descubrimiento para proporcionar el descubrimiento de servicios entre dispositivos que funcionen dentro de la misma red entre pares o red de vecindario. Una red de área vecina se puede considerar una red de pares o una red ad hoc en algunos aspectos. Los nodos se activan de forma repetida desde un estado de suspensión para transmitir y/o recibir de forma periódica mensajes de sincronización y de descubrimiento. Sería ventajoso que los nodos pudieran permanecer más tiempo en un estado de suspensión para conservar energía y no activarse desde el estado de suspensión para transmitir y/o recibir mensajes de sincronización en la red. Además, la transmisión y las retransmisiones de mensajes de sincronización y de descubrimiento mediante los nodos pueden introducir una gran cantidad de sobrecarga innecesaria en la red.
[0097] En algunos modos de realización, solo un subconjunto de nodos se puede configurar para transmitir mensajes de sincronización, por ejemplo, para reducir la congestión de red. En algunos modos de realización, se puede designar o elegir un subconjunto de nodos como nodos "maestro". Por ejemplo, los nodos que tienen acceso a una fuente de alimentación externa pueden ser elegidos como nodos maestro, mientras que los nodos con alimentación de batería pueden no serlo. En diversos modos de realización, los nodos se pueden designar como uno o más tipos diferentes de nodos maestro incluyendo: nodos maestro de descubrimiento, nodos maestro de sincronización y/o nodos maestro de anclaje. En algunos modos de realización, uno o más nodos maestro pueden transmitir mensajes de descubrimiento NAN, mientras que otros nodos pueden no hacerlo. En algunos modos de realización, uno o más nodos maestro de sincronización pueden transmitir mensajes de sincronización, mientras que otros nodos pueden no hacerlo.
[0098] En algunos modos de realización, uno o más nodos maestro de anclaje se pueden elegir preferentemente como nodos maestro de sincronización y/o nodos maestro de descubrimiento. Los nodos de anclaje se pueden preestablecer, elegidos como se describe en el presente documento con respecto a la elección del nodo maestro, o determinarse de otra manera. Las NAN que tienen un nodo de anclaje se pueden denominar NAN ancladas y las NAN que no tienen un nodo de anclaje se pueden denominar NAN sin anclar. En un modo de realización, una nA n puede tener un solo nodo maestro de anclaje.
[0099] En algunos modos de realización, uno o más nodos en una NAN pueden elegir uno o más nodos maestro en base a un valor de preferencia maestro (MPV) predeterminado o determinado dinámicamente. Por ejemplo, los nodos con acceso a una fuente de alimentación externa pueden establecer su NMV más alto (por ejemplo, 10), mientras que los nodos con alimentación de batería pueden establecer su NMV más bajo (por ejemplo, 5). Durante el proceso de elección, es más probable que los nodos que tienen un MPV más alto sean elegidos como nodos maestro. En algunos modos de realización, los nodos de anclaje pueden tener un MPV más alto que los nodos sin anclaje y, por tanto, es más probable que sean elegidos como nodos maestro.
[0100] La figura 11 ilustra un ejemplo de otro sistema de comunicación inalámbrica 1100 en el que se pueden emplear aspectos de la presente divulgación. El sistema de comunicación inalámbrica 1100 incluye un nodo de anclaje 1110, nodos maestro 1120 y nodos no maestro 1130. En diversos modos de realización, el sistema de comunicación inalámbrica 1100 puede ser similar al sistema de comunicación inalámbrica 100 (figura 1). Por ejemplo, uno o más nodos 1110-1130 pueden incluir cualquiera de los dispositivos móviles 112-118, 122-128 y 132-142 (figura 1). En algunos modos de realización, uno o más nodos 1110-1130 pueden incluir el dispositivo inalámbrico 202 (figura 2) y pueden implementar el procedimiento 500 (figura 5). En algunos modos de realización, cada nodo maestro 1120 y/o el nodo de anclaje 1110 pueden corresponder con un grupo particular, tal como los grupos 110, 120 y 130 que se analizan anteriormente con respecto a la figura 1.
[0101] En algunos modos de realización, cada nodo maestro 1120 puede rastrear identificadores de otros nodos dentro del alcance de radio. Por ejemplo, cada nodo maestro 1120 puede poblar un filtro Bloom con identificadores de otros nodos dentro del alcance, como se analiza anteriormente con respecto a las figuras 5-6. Por tanto, en algunos modos de realización, cada nodo maestro 1120 puede poblar su filtro Bloom resumiendo una dirección de transmisión de todas las tramas NAN recibidas de dispositivos dentro de su grupo asociado. En algunos modos de realización, cada nodo maestro 1120 puede rastrear identificadores solo para dispositivos dentro de su grupo. En algunos modos de realización, cada nodo maestro 1120 puede rastrear identificadores para cualquier dispositivo descubierto independientemente del grupo. En algunos modos de realización, los nodos maestro 1120 se pueden abstener de rastrear identificadores de otros nodos maestro 1120 y/o nodos de anclaje 1110. En otros modos de realización, los nodos maestro 1120 pueden rastrear identificadores incluyendo los de otros nodos maestro y/o nodos de anclaje 1110. En diversos modos de realización, el nodo de anclaje 1110 puede rastrear identificadores como se describe en el presente documento con respecto a los nodos maestro 1120.
[0102] En diversos modos de realización, los nodos maestro 1120 pueden formar una topología de árbol con una raíz en el nodo de anclaje 1110. Cada nodo maestro 1120 puede mantener información que indica una distancia de salto al nodo de anclaje 1110. En algunos modos de realización, el nodo de anclaje 1110 y los nodos maestro 1120 pueden estimar y propagar el tamaño de grupo de acuerdo con la topología de árbol. Como se analiza en el presente documento, cada nodo maestro 1120 y/o el nodo de anclaje 1110 pueden recibir filtros Bloom de otros nodos. Cada nodo maestro 1120 y/o el nodo de anclaje 1110 pueden realizar una operación OR bit a bit de los filtros Bloom recibidos y el filtro Bloom actual o local para el primer dispositivo inalámbrico. En algunos modos de realización, cada nodo maestro 1120 y/o el nodo de anclaje 1110 puede solicitar los filtros Bloom. En algunos modos de realización, cada nodo maestro 1120 y/o el nodo de anclaje 1110 puede recibir filtros Bloom sin solicitud.
[0103] En algunos modos de realización, cada nodo maestro 1120 y/o el nodo de anclaje 1110 puede recibir filtros Bloom solo desde los nodos maestro 1120 contiguos en la topografía de árbol. En algunos modos de realización, cada nodo maestro 1120 y/o el nodo de anclaje 1110 puede recibir filtros Bloom solo de nodos secundarios en la topografía de árbol. En algunos modos de realización, cada nodo maestro 1120 puede realizar la operación OR bit a bit entre los filtros Bloom recibidos y los filtros Bloom locales antes de enviar un filtro Bloom fusionado a un nodo principal. En consecuencia, en algunos modos de realización, el nodo de anclaje 1110 puede finalmente construir un filtro Bloom que contiene el OR bit a bit de todos los filtros Bloom en el sistema de comunicación inalámbrica 1100. En algunos modos de realización, el nodo de anclaje 1110 puede finalmente construir un filtro Bloom con todos los identificadores descubiertos en el sistema de comunicación inalámbrica 1100.
[0104] Como se analiza anteriormente, en algunos modos de realización, cada nodo maestro 1120 y/o el nodo de anclaje 1110 puede solicitar filtros Bloom de otros nodos tales como, por ejemplo, de cada nodo secundario o nodo maestro secundario1120. En algunos modos de realización, cada nodo maestro 1120 y/o el nodo de anclaje 1110 puede transmitir la solicitud usando una trama de descubrimiento de servicio (SDF). Por ejemplo, cada nodo maestro 1120 y/o el nodo de anclaje 1110 pueden transmitir una trama de descubrimiento de servicio que incluye un atributo de descubrimiento de servicio 1300 (figura 13) que tiene un conjunto de bits de publicación.
[0105] En diversos modos de realización, la solicitud de dispositivos descubiertos puede incluir una indicación de dispositivos de los cuales el dispositivo de transmisión ha recibido una indicación de dispositivos descubiertos. Por ejemplo, el nodo de anclaje 1110 puede transmitir una solicitud de dispositivo descubierto a los nodos maestro 1120 incluyendo una lista de identificadores completos o parciales (tales como direcciones MAC) de los nodos maestro 1120 que ya han proporcionado sus filtros Bloom 600 (figura 6). En algunos modos de realización, la indicación de dispositivos misma puede ser un filtro Bloom que indica dispositivos de los cuales el dispositivo de transmisión ha recibido una indicación de dispositivos descubiertos.
[0106] En diversos modos de realización, la solicitud de dispositivos descubiertos puede incluir un recuento de saltos de dispositivos que deberían responder a la solicitud. El recuento de saltos puede ser un recuento de saltos máximo, mínimo o exacto. Por ejemplo, el nodo de anclaje 1110 puede transmitir una solicitud de dispositivo descubierto que indica un recuento de saltos de uno. En consecuencia, solo los nodos maestro 1120 a un salto de distancia están configurados para responder con una indicación de los dispositivos descubiertos (tal como el filtro Bloom 600 de la figura 6). En algunos modos de realización, los nodos pueden responder selectivamente a las solicitudes de dispositivos descubiertos en base al recuento de saltos incluido en la solicitud. Por ejemplo, un dispositivo particular
puede responder solo a solicitudes de dispositivos que tienen un recuento de saltos más alto que el recuento de saltos del dispositivo particular.
[0107] En algunos modos de realización, cada nodo maestro 1120 y/o el nodo de anclaje 1110 puede estimar un tamaño de grupo como se describe en el presente documento, tal como con respecto a la figura 5. Cada nodo maestro 1120 y/o el nodo de anclaje 1110 puede transmitir la estimación del tamaño de grupo o indicación del mismo por medio de un atributo de información de anclaje, como se discute a continuación con respecto a la figura 12. En un modo de realización, la estimación del tamaño de grupo o indicación del mismo se puede incluir en balizas de descubrimiento transmitidas en un intervalo entre ventanas de descubrimiento.
[0108] Por tanto, en un ejemplo, cada nodo maestro 1120 puede generar un filtro Bloom 600 (figura 6) indicativo de dispositivos descubiertos. El nodo de anclaje 1110 puede solicitar los filtros Bloom de cada nodo maestro 1120, y puede fusionar los filtros Bloom con los suyos propios, por ejemplo por medio de una operación OR bit a bit. En algunos modos de realización, los nodos maestro 1120 pueden recibir filtros Bloom de nodos secundarios, fusionar los filtros Bloom recibidos con sus propios filtros Bloom locales y pasar el filtro Bloom fusionado a un nodo principal, propagando de este modo un filtro Bloom para toda la NAN al nodo de anclaje 1110. El nodo de anclaje 1110 puede estimar un tamaño de red y transmitir la estimación en su baliza. Los nodos maestro 1120 pueden recibir la baliza desde un nodo principal y pueden retransmitir el tamaño de red estimado en sus propias balizas, propagando de este modo el tamaño de red estimado a través de toda la NAN.
[0109] En diversos modos de realización, cada nodo maestro 1120 y/o el nodo de anclaje 1110 puede transmitir un filtro Bloom 600 (figura 6) que indica identificadores de dispositivos descubiertos, por ejemplo en respuesta a una solicitud de dispositivo descubierto, de forma intermitente, periódica, aleatoria y/o pseudoaleatoria.
[0110] La figura 12 muestra una estructura ejemplar de una trama de control de acceso al medio (MAC) 1200. En algunos aspectos, la trama de control de acceso al medio (MAC) 1200 se puede utilizar para una señal de baliza que se analiza anteriormente. Como se muestra, la trama MAC 1200 incluye 11 campos diferentes: un campo de control de trama (FC) 1202, un campo de duración/identificación (dur) 1204, un campo de dirección de receptor (A1) 1206, un campo de dirección de transmisor (A2) 1208, un campo de dirección de destino (A3) 1210, que, en algunos aspectos, puede indicar un BSSID de NAN o ID de grupo, un campo de control de secuencia (sc) 1212, un campo de marca horaria 1214, un campo de intervalo de baliza 1216, un campo de capacidad 1218, un elemento de información 1220, que puede incluir información de ventana de descubrimiento y un campo de secuencia de verificación de trama (FCS) 1222. Los campos 1202-1222 incluyen una cabecera MAC en algunos aspectos. Cada campo puede incluir uno o más subcampos o campos. Por ejemplo, el campo de control de trama 1202 de la cabecera de control de acceso al medio 1200 puede incluir múltiples subcampos, tales como una versión de protocolo, un campo tipo, un campo subtipo y otros campos. Además, un experto en la técnica medio apreciará que los diversos campos descritos en el presente documento se pueden reordenar, redimensionar, algunos campos se pueden omitir y se pueden añadir campos adicionales.
[0111] En algunos aspectos, el campo de BSSID de NAN 1210 puede indicar un grupo de dispositivos de NAN. En otro modo de realización, cada NAN puede tener un BSSID de NAN 1210 diferente (por ejemplo, pseudoaleatorio). En un modo de realización, la NAN BSSID 1210 se puede basar en una aplicación de servicio. Por ejemplo, una NAN creada por la aplicación A puede tener un BSSID 1210 en base a un identificador de la aplicación A. En algunos modos de realización, el BSSID de NAN 1210 se puede definir mediante un cuerpo de normas. En algunos modos de realización, el BSSID de NAN 1210 se puede basar en otra información contextual y/o características del dispositivo tales como, por ejemplo, una localización del dispositivo, una ID asignada del servidor, etc. En un ejemplo, el BSSID de NAN 1210 puede incluir un resumen de la localización de la latitud y de la longitud de la NAN. El campo de BSSID de NAN 1210 mostrado es de seis octetos de largo. En algunas implementaciones, el campo de BSSID de NAN 1210 puede tener cuatro, cinco u ocho octetos de largo. En algunos modos de realización, el AP 104 puede indicar el BSSID de NAN 1210 en un elemento de información.
[0112] En diversos modos de realización, la trama 1200, u otra trama de descubrimiento, puede incluir un atributo de información de anclaje y/o un atributo de descubrimiento de servicio tal como el atributo de descubrimiento de servicio 1300 descrito a continuación con respecto a la figura 13. En un modo de realización, el campo NAN IE 1220 puede incluir el campo 1202, puede incluir el atributo de información de anclaje y/o el atributo de descubrimiento de servicio. En un modo de realización, el atributo de información de anclaje puede incluir una indicación del tamaño de grupo o estimación del tamaño de grupo. En un modo de realización, el atributo de información de anclaje se puede incluir en balizas de descubrimiento enviadas en un intervalo entre ventanas de descubrimiento. En un modo de realización, el atributo de información de anclaje puede ser transmitido por uno o más nodos 1110-1130 (figura 11) sin solicitarse, por ejemplo de forma periódica, intermitente y/o aleatoria o pseudoaleatoria.
[0113] La figura 13 muestra un atributo de descubrimiento de servicio 1300 ejemplar que se puede emplear dentro del sistema de comunicación inalámbrica 1100 de la figura 11. En diversos modos de realización, cualquier dispositivo descrito en el presente documento, u otro dispositivo compatible, puede transmitir el atributo de descubrimiento de servicio 1300, tal como, por ejemplo, cualquier nodo 1110-1130 (figura 11), cualquier dispositivo móvil 112-118, 122 128, y 132-142 (figura 1) y/o el dispositivo inalámbrico 202 (figura 2). Uno o más mensajes en el sistema de
comunicación inalámbrica 100 (figura 1) y/o el sistema de comunicación inalámbrica 1100 (figura 11) pueden incluir el atributo de descubrimiento de servicio 1300 tal como, por ejemplo, la baliza NAN 1200 (figura 12), una trama de descubrimiento, una respuesta de sonda y/o una trama de consulta de descubrimiento. En un modo de realización, una trama de descubrimiento de servicio puede incluir una trama de acción pública que contiene uno o más atributos de descubrimiento de servicio 1300. Por ejemplo, el atributo de descubrimiento de servicio 1300 puede estar en un IE específico del proveedor. Uno o más campos del atributo de descubrimiento de servicio 1300 se pueden incluir en un atributo de un elemento de información, además de, o en lugar del atributo de descubrimiento de servicio 1300.
[0114] En el modo de realización ilustrado, el atributo de descubrimiento de servicio 1300 incluye un identificador de atributo 1305, un campo de longitud 1320, un identificador de servicio 1310, un campo de control de servicio 1330, un contenedor de filtro de coincidencia 1350, un contenedor de información de filtro de respuesta de servicio (SRF) 1360 y un contenedor de información específica del servicio 1370. Un experto en la técnica medio apreciará que el atributo de descubrimiento de servicio 1300 puede incluir campos adicionales y los campos se pueden reordenar, retirar y/o redimensionar. Por ejemplo, en diversos modos de realización, el atributo de descubrimiento de servicio 1300 puede omitir el contenedor de filtro coincidente 1350 y/o el contenedor de filtro coincidente 1350 y campos de longitud adicionales se pueden incluir.
[0115] El campo de identificador de servicio 1310 mostrado tiene seis octetos de largo. En algunas implementaciones, el campo de identificador de servicio 1310 puede ser de dos, cinco o doce octetos de largo. En algunas implementaciones, el campo de identificador de servicio 1310 puede ser de longitud variable, tal como longitud que varía de señal a señal y/o entre proveedores de servicios. El campo de identificador de servicio 1310 puede incluir un valor que identifique un servicio o aplicación de una trama de descubrimiento. Por ejemplo, el identificador de servicio 1310 puede incluir un resumen de un nombre de servicio u otro valor en base a un servicio. En algunos modos de realización, se puede reservar un valor de token predeterminado. Por ejemplo, los identificadores de servicio de todos-ceros o todos-uno pueden indicar funcionamientos de gestión de NAN.
[0116] El campo de longitud 1320 se puede usar para indicar la longitud del atributo de descubrimiento de servicio 1300 o la longitud total de los campos posteriores. El campo de longitud 1320 mostrado en la figura 13 tiene dos octetos de largo. En algunas implementaciones, el campo de longitud 1320 puede tener uno, cinco o doce octetos de largo. En algunas implementaciones, el campo de longitud 1320 puede ser de longitud variable, tal como longitud que varía de señal a señal y/o entre proveedores de servicios. En algunos modos de realización, una longitud de cero (u otro valor de token predeterminado) puede indicar que uno o más otros campos (tales como el campo de control de servicio 1330, el contenedor de filtro de coincidencia 1350, el contenedor de información de filtro de respuesta de servicio 1360, el contenedor de información específica del servicio 1370 y/o el contenedor de información de direcciones descubiertas 1380) no están presentes.
[0117] El campo de control de servicio 1330 puede indicar información de un servicio aplicable. El campo de control de servicio 1330 mostrado en la figura 13 tiene un octeto de largo. En algunas implementaciones, el campo de control de servicio 1330 puede ser de dos, cuatro, seis u ocho octetos de largo. En algunas implementaciones, el campo de control de servicio 1330 puede ser de longitud variable, tal como longitud que varía de señal a señal y/o entre proveedores de servicios. En un modo de realización, el campo de control de servicio 1330 puede incluir un indicador de publicación, un indicador de suscripción, un indicador de alcance limitado, un indicador de filtro de coincidencia, un indicador de información de servicio, un indicador de AP, un indicador de direcciones descubiertas y un bit reservado. En un modo de realización, el campo de control de servicio 1330 puede incluir una indicación de que la trama incluye un filtro Bloom indicativo de dispositivos descubiertos. En un modo de realización, el indicador de suscripción, cuando se establece, puede indicar una solicitud para que un dispositivo receptor envíe su filtro Bloom 600 (figura 6). En un modo de realización, el indicador de publicación, cuando se establece, puede indicar una trama de respuesta que incluye el filtro Bloom 600 (figura 6). Un experto en la técnica apreciará que el campo de control de servicio 1330 puede incluir campos adicionales y los campos se pueden reordenar, retirar y/o redimensionar.
[0118] El contenedor de filtro de coincidencia 1350 puede indicar información de filtro de coincidencia. El contenedor de filtro de coincidencia 1350 mostrado en la figura 13 es de longitud variable. En algunas implementaciones, el contenedor de filtro de coincidencia 1350 puede ser de dos, seis u ocho octetos de largo. El contenedor de filtro de coincidencia 1350 puede incluir un campo de longitud de filtro de coincidencia y/o un filtro de coincidencia para la NAN. El campo de longitud de filtro de coincidencia puede indicar la longitud del filtro de coincidencia. El campo de longitud de filtro de coincidencia puede ser de un octeto de largo. En un modo de realización, la longitud de filtro de coincidencia puede ser cero (u otro valor de token predeterminado) y el filtro de coincidencia se puede omitir. El filtro de coincidencia puede ser de una longitud variable. Un experto en la técnica apreciará que el contenedor de filtro de coincidencia 1350 puede incluir campos adicionales y los campos se pueden reordenar, retirar y/o redimensionar.
[0119] El contenedor de información de filtro de respuesta de servicio 1360 puede indicar si los dispositivos deben responder a una consulta. En algunos modos de realización, el contenedor de información de filtro de respuesta de servicio 1360 puede incluir un filtro de respuesta de servicio y un campo de longitud de filtro de respuesta de servicio. El filtro de respuesta de servicio puede incluir, por ejemplo, una lista de identificadores de dispositivo parciales y/o completos (por ejemplo, direcciones MAC) de dispositivos que no deberían responder. En un modo de realización, el filtro de respuesta de servicio puede incluir un filtro Bloom que indica una lista de identificadores (por ejemplo,
direcciones MAC) de dispositivos que no deberían responder. El contenedor de información de filtro de respuesta de servicio 1360 mostrado en la figura 13 es de una longitud variable. En algunas implementaciones, el contenedor de información de filtro de respuesta de servicio 1360 puede ser de dos, seis u ocho octetos de largo.
[0120] El contenedor de información específica de servicio 1370 puede encapsular uno o más campos de datos adicionales relativos a un servicio aplicable. El contenedor de información específica del servicio 1370 mostrado en la figura 13 tiene longitud variable. En algunas implementaciones, el contenedor de información específica de servicio 1370 puede ser de uno, cinco o doce octetos de largo. El contenedor de información específica de servicio 1370 puede incluir un campo de longitud de información específica de servicio y/o un campo de información específica de servicio. El campo de longitud de información específica de servicio puede indicar la longitud del campo de información específica de servicio. En un modo de realización, el campo de longitud de información específica de servicio puede ser cero (u otro valor de token predeterminado) y se puede omitir el campo de información específica de servicio. El campo de información específica de servicio puede ser de una longitud variable. En algunas implementaciones, el campo de información específica de servicio puede ser de uno, cinco o doce octetos de largo.
[0121] En algunos modos de realización, el campo de información específica del servicio puede incluir un contenedor de información de direcciones descubiertas. El contenedor de información de direcciones descubiertas puede indicar una o más direcciones de dispositivos que se hayan descubierto por el dispositivo transmisor 202 (figura 2). Por ejemplo, el contenedor de información de direcciones descubiertas puede incluir el filtro Bloom 600 (figura 6). La información de direcciones descubiertas puede ser de longitud variable. En algunas implementaciones, el contenedor de información de direcciones descubiertas puede tener uno, cinco o doce octetos de largo.
[0122] Tal y como se usa en el presente documento, el término "determinar" engloba una amplia variedad de acciones. Por ejemplo, "determinar" puede incluir calcular, computar, procesar, obtener, investigar, consultar (por ejemplo, consultar una tabla, una base de datos u otra estructura de datos), averiguar y similares. "Determinar" también puede incluir recibir (por ejemplo, recibir información), acceder (por ejemplo, acceder a datos en una memoria) y similares. "Determinar" también puede incluir resolver, seleccionar, elegir, establecer y similares. Además, un "ancho de canal", como se usa en el presente documento, puede incluir o se puede denominar también ancho de banda en determinados aspectos.
[0123] Los diversos funcionamientos de los procedimientos descritos anteriormente se pueden realizar por cualquier medio adecuado, capaz de realizar los funcionamientos, tal como diversos componente(s), circuitos y/o módulo(s) de hardware y/o programa informático. En general, cualquier funcionamiento ilustrado en las figuras puede ser realizado por correspondientes medios funcionales capaces de realizar los funcionamientos.
[0124] Los diversos bloques, módulos y circuitos lógicos ilustrativos descritos en relación con la presente divulgación se pueden implementar o realizar con un procesador de propósito general, un procesador de señales digitales (DSP), un circuito integrado específico de la aplicación (ASIC), una señal de matriz de puertas programables in situ (FPGA) u otro dispositivo de lógica programable (PLD), lógica de puertas discretas o de transistores, componentes de hardware discretos o cualquier combinación de estos diseñada para realizar las funciones descritas en el presente documento. Un procesador de propósito general puede ser un microprocesador pero, de forma alternativa, el procesador puede ser cualquier procesador, controlador, microcontrolador o máquina de estados disponible comercialmente. Un procesador también se puede implementar como una combinación de dispositivos informáticos, por ejemplo, una combinación de un DSP y un microprocesador, una pluralidad de microprocesadores, uno o más microprocesadores junto con un núcleo de DSP o cualquier otra configuración de este tipo.
[0125] En uno o más aspectos, las funciones descritas se pueden implementar en hardware, programa informático, firmware o cualquier combinación de los mismos. Si se implementan en programa informático, las funciones se pueden almacenar en, o transmitir por, un medio legible por ordenador, como una o más instrucciones o código. Los medios legibles por ordenador incluyen tanto medios de almacenamiento informático como medios de comunicación, incluyendo cualquier medio que facilite la transferencia de un programa informático desde un lugar a otro. Un medio de almacenamiento puede ser cualquier medio disponible al que se pueda acceder mediante un ordenador. A modo de ejemplo y no de limitación, dichos medios legibles por ordenador pueden comprender RAM, ROM, EEPROM, CD-ROM u otros dispositivos de almacenamiento en disco óptico, almacenamiento en disco magnético u otros dispositivos de almacenamiento magnético, o cualquier otro medio que se pueda usar para transportar o almacenar el código de programa deseado en forma de instrucciones o estructuras de datos y al que se pueda acceder mediante un ordenador. También, cualquier conexión recibe apropiadamente la denominación de medio legible por ordenador. Por ejemplo, si el programa informático se transmite desde un sitio web, un servidor u otra fuente remota, usando un cable coaxial, un cable de fibra óptica, un par trenzado, una línea digital de abonado (DSL) o tecnologías inalámbricas tales como infrarrojos, radio y microondas, entonces el cable coaxial, el cable de fibra óptica, el par trenzado, la DSL o las tecnologías inalámbricas, tales como infrarrojos, radio y microondas, se incluyen en la definición de medio. Los discos, como se usan en el presente documento, incluyen el disco compacto (CD), el disco láser, el disco óptico, el disco versátil digital (DVD), el disco flexible y el disco Blu-ray, donde algunos discos reproducen habitualmente los datos magnéticamente, mientras que otros discos reproducen los datos ópticamente con láseres. Por tanto, en algunos aspectos, el medio legible por ordenador puede comprender un medio no transitorio legible por ordenador (por ejemplo, medios tangibles). Además, en algunos aspectos, el medio legible por ordenador puede comprender un
medio transitorio legible por ordenador (por ejemplo, una señal). Las combinaciones de lo anterior se deberían incluir también dentro del alcance de los medios legibles por ordenador.
[0126] Los procedimientos divulgados en el presente documento comprenden una o más etapas o acciones para lograr el procedimiento descrito. Las etapas y/o acciones de procedimiento se pueden intercambiar entre sí sin apartarse del alcance de las reivindicaciones. En otras palabras, a menos que se especifique un orden específico de etapas o acciones, el orden y/o el uso de etapas y/o acciones específicas se pueden modificar sin apartarse del alcance de las reivindicaciones.
[0127] Las funciones descritas se pueden implementar en hardware, programa informático, firmware o cualquier combinación de los mismos. Si se implementan en programa informático, las funciones se pueden almacenar como una o más instrucciones en un medio legible por ordenador. Un medio de almacenamiento puede ser cualquier medio disponible al que se pueda acceder mediante un ordenador. A modo de ejemplo y no de limitación, dichos medios legibles por ordenador pueden comprender RAM, ROM, EEPROM, CD-ROM u otros dispositivos de almacenamiento en disco óptico, almacenamiento en disco magnético u otros dispositivos de almacenamiento magnético, o cualquier otro medio que se pueda usar para transportar o almacenar el código de programa deseado en forma de instrucciones o estructuras de datos y al que se pueda acceder mediante un ordenador. El término disco, como se usa en el presente documento, incluye el disco compacto (CD), el disco láser, el disco óptico, el disco versátil digital (DVD), el disco flexible y el disco Blu-ray®, donde algunos discos reproducen habitualmente los datos magnéticamente, mientras que otros discos reproducen los datos ópticamente con láseres.
[0128] Por lo tanto, determinados aspectos pueden comprender un producto de programa informático para realizar las operaciones presentadas en el presente documento. Por ejemplo, dicho producto de programa informático puede comprender un medio legible por ordenador que tiene instrucciones almacenadas (y/o codificadas) en el mismo, siendo las instrucciones ejecutables por uno o más procesadores para realizar las operaciones descritas en el presente documento. Para determinados aspectos, el producto de programa informático puede incluir material de embalaje.
[0129] El programa informático o las instrucciones se pueden transmitir también a través de un medio de transmisión. Por ejemplo, si el programa informático se transmite desde un sitio web, un servidor u otra fuente remota usando un cable coaxial, un cable de fibra óptica, un par trenzado, una línea de abonado digital (DSL) o tecnologías inalámbricas tales como infrarrojos, radio y microondas, entonces el cable coaxial, el cable de fibra óptica, el par trenzado, la DSL o las tecnologías inalámbricas tales como infrarrojos, radio y microondas están incluidos en la definición de medio de transmisión.
[0130] Además, se debería apreciar que los módulos y/u otros medios adecuados para realizar los procedimientos y las técnicas descritos en el presente documento se pueden descargar y/u obtener de otra forma mediante un terminal de usuario y/o una estación base, según sea aplicable. Por ejemplo, un dispositivo de este tipo puede estar acoplado a un servidor para facilitar la transferencia de medios para realizar los procedimientos descritos en el presente documento. De forma alternativa, diversos procedimientos descritos en el presente documento se pueden proporcionar mediante medios de almacenamiento (por ejemplo, RAM, ROM, un medio de almacenamiento físico tal como un disco compacto (CD) o un disco flexible, etc.), de tal manera que un terminal de usuario y/o una estación base puedan obtener los diversos procedimientos tras acoplarse o proporcionar los medios de almacenamiento al dispositivo. Además, se puede utilizar cualquier otra técnica adecuada para proporcionar a un dispositivo los procedimientos y técnicas descritos en el presente documento.
[0131] Se debe entender que las reivindicaciones no están limitadas a la configuración y a los componentes precisos ilustrados anteriormente. Se pueden realizar diversas modificaciones, cambios y variantes en la disposición, el funcionamiento y los detalles de los procedimientos y del aparato descritos anteriormente sin apartarse del alcance de las reivindicaciones.
[0132] Aunque lo anterior está orientado a aspectos de la presente divulgación, se pueden concebir aspectos diferentes y adicionales de la divulgación sin apartarse del alcance básico de la misma determinado por las reivindicaciones siguientes.
Claims (15)
1. Un dispositivo inalámbrico (112, 202) para monitorizar un número de dispositivos inalámbricos vecinos (114, 116, 118, ..., 138) en una red inalámbrica (100), en el que el dispositivo inalámbrico está configurado para: recibir un mensaje de uno de los dispositivos inalámbricos vecinos (114, 116, 118, ..., 138), comprendiendo el mensaje un identificador asociado con dicho uno de los dispositivos inalámbricos vecinos;
añadir el identificador como una cadena de entrada en un filtro Bloom (600) que incluye una matriz de bits de un número entero de m bits y un número entero de k funciones resumen diferentes suministrando el identificador como una cadena de entrada a cada uno del número entero k de diferentes funciones resumen, en el que cada función hash aplica la cadena de entrada a una posición en una matriz del filtro Bloom, y estableciendo los bits en las posiciones de la matriz identificadas por las k diferentes funciones resumen en uno; y
estimar el número de cadenas distintas que se han añadido al filtro Bloom (600) en base al número de unos o el número de ceros en el filtro Bloom (600) dividido por la longitud de la matriz, el número de cadenas distintas que representan una estimación del número de dispositivos inalámbricos vecinos (114, 116, 118, ..., 138) en la red inalámbrica (100).
2. El dispositivo inalámbrico (112) de la reivindicación 1, con el dispositivo inalámbrico (112) que comprende: un receptor (212) configurado para recibir el mensaje; y
un procesador (204) configurado para añadir el identificador como la cadena de entrada al filtro Bloom (600) y para estimar el número de cadenas distintas que se han añadido al filtro Bloom (600) en base a la densidad de unos o la densidad de ceros en el filtro Bloom (600) suministrando el identificador como una cadena de entrada a cada una de un número entero k de funciones resumen, en el que cada función hash aplica la cadena de entrada a una posición en una matriz del filtro Bloom, y estableciendo los bits en las posiciones de matriz identificadas por las k funciones resumen, representando el número de cadenas distintas una estimación del número de dispositivos inalámbricos vecinos (114, 116, 118,..., 138) en la red inalámbrica (100) en base al número de unos o el número de ceros en el filtro Bloom (600) dividido por la longitud de la matriz, representando el número de cadenas distintas una estimación del número de dispositivos inalámbricos vecinos (114, 116, 118,..., 138) en la red inalámbrica (100).
3. El dispositivo inalámbrico (112) de la reivindicación 2, en el que el dispositivo inalámbrico (112) está configurado para transmitir una baliza que comprende la estimación del número de dispositivos inalámbricos vecinos (114, 116, 118, ..., 138) en la red inalámbrica (100) para la propagación sucesiva a través de toda la red inalámbrica (100).
4. El dispositivo inalámbrico (112) de la reivindicación 2, en el que el filtro Bloom (600) incluye una matriz de bits de m bits y m contadores, estando asociado cada contador con un bit diferente en la matriz de bits, teniendo cada contador un valor entero de entre cero y un valor máximo, en el que el procesador (204) está configurado además para:
reducir el valor de cada contador que tenga un valor distinto de cero en 1 por cada intervalo de tiempo de una duración T; y
si el valor de un contador se reduce a cero, establecer el bit correspondiente al contador en cero; en el que el procesador (204) está configurado además para que, cuando cualquier bit de la matriz de bits se establece en 1, establezca el contador correspondiente al bit al valor máximo.
5. El dispositivo inalámbrico (112) de la reivindicación 2, en el que el filtro Bloom (600) es una matriz de bits de m bits con k funciones resumen diferentes asociadas con la matriz de bits, en el que cada función hash aplica una cadena de entrada a una de las m posiciones de matriz con una distribución aleatoria uniforme.
6. El dispositivo inalámbrico (112) de la reivindicación 5, en el que el número de cadenas distintas Ndistinct que se han añadido al filtro Bloom (600) se calcula mediante la siguiente fórmula:
en la que N0 es el número de ceros en la matriz;
en particular en el que el filtro Bloom (600) está diseñado para rastrear hasta un número N de dispositivos, y el parámetro m del filtro Bloom (600) tiene un valor que es N;
o
en el que al menos una de las k funciones resumen es una verificación de redundancia cíclica de una cadena de entrada.
7. El dispositivo inalámbrico (112) de la reivindicación 5, en el que al menos una de las k funciones resumen se crea usando una primera función hash que aplica una cadena de entrada a un número entero de entre 0 y p-1, en el que la al menos una función hash incluye usar la primera función hash para aplicar una cadena de entrada a un número entero de entre 0 y p-1, en el que p no es menor que la longitud de la matriz del filtro Bloom, y aplicando a continuación una operación de módulo para encontrar el resto de la división del número entero entre m, el resto siendo el valor devuelto por al menos una función hash;
en el que la primera función hash selecciona una pluralidad de bits de la cadena de entrada y dispone los bits en una secuencia de acuerdo con un patrón, siendo la secuencia de bits que representa un número entero el valor devuelto por la primera función hash.
8. El dispositivo inalámbrico (112) de la reivindicación 1, en el que el identificador es uno de los siguientes: una dirección MAC, un identificador de servicio o un identificador basado en la aplicación; o
el dispositivo inalámbrico de la reivindicación 1, en el que el procesador (204) está configurado además para solicitar el filtro Bloom (600) de al menos uno de los dispositivos inalámbricos vecinos (114, 116, 118, ..., 138) en la red inalámbrica;
en el que el procesador (204) está configurado para enviar una trama de descubrimiento de servicio, que comprende un bit de suscripción establecido, al dispositivo inalámbrico vecino (114, 116, 118, ..., 138) para solicitar el filtro Bloom (600); o
en el que el procesador (204) está configurado además para generar un filtro Bloom (600) para el dispositivo inalámbrico vecino (114, 116, 118, ..., 138) almacenando una OR bit a bit de matrices de filtros Bloom (600) recibidos de una pluralidad de dispositivos inalámbricos vecinos (114, 116, 118, ..., 138).
9. El dispositivo inalámbrico (112) de la reivindicación 1, en el que el filtro Bloom (600) incluye una matriz de bits de m bits, en el que el procesador (204) está configurado además para restablecer uno o más bits a ceros a intervalos de tiempo aleatorios, siendo el o más bits elegidos de forma aleatoria de los m bits del filtro Bloom (600) y en el que el procesador (204) está configurado para elegir el número de bits que se van a restablecer y una distribución de los intervalos aleatorios en base a uno o más de los siguientes: el número de dispositivos inalámbricos (114, 116, 118,..., 138) en la red (100), la velocidad estimada a la que los dispositivos inalámbricos (114, 116, 118,..., 138) abandonan la red, y los intervalos de tiempo en los que los dispositivos inalámbricos (114, 116, 118,..., 138) cambian sus direcciones MAC.
10. Un procedimiento para monitorizar un número de dispositivos inalámbricos vecinos (114, 116, 118, ..., 138) en una red inalámbrica (100), en el que el procedimiento lo realiza un dispositivo inalámbrico (114, 116, 118, ..., 138) y comprende:
recibir un mensaje de un dispositivo inalámbrico vecino (114, 116, 118, ..., 138), comprendiendo el mensaje un identificador asociado con dicho uno de los dispositivos inalámbricos vecinos (114, 116, 118, ..., 138);
añadir el identificador como una cadena de entrada en un filtro Bloom (600) que incluye una matriz de bits de un número entero de m bits y un número entero de k funciones resumen diferentes suministrando el identificador como una cadena de entrada a cada uno del número entero k de diferentes funciones resumen, en el que cada función hash aplica la cadena de entrada a una posición en la matriz del filtro Bloom, y estableciendo los bits en las posiciones de la matriz identificadas por las k diferentes funciones resumen en uno; y
estimar el número de cadenas distintas que se han añadido al filtro Bloom (600) en base al número de unos o el número de ceros en el filtro Bloom (600) dividido por la longitud de la matriz, el número de cadenas distintas que representan una estimación del número de dispositivos inalámbricos vecinos (114, 116, 118, ..., 138) en la red inalámbrica (100).
11. El procedimiento de la reivindicación 10, en el que el filtro Bloom (600) incluye una matriz de bits de m bits y m contadores, estando cada contador asociado con un bit diferente en la matriz de bits, teniendo cada contador un valor entero de entre cero y un valor máximo, en el que el procedimiento comprende además:
reducir el valor de cada contador que tenga un valor distinto de cero en 1 por cada intervalo de tiempo de una duración T; y
si el valor de un contador se reduce a cero, establecer el bit correspondiente al contador en cero,
el procedimiento que comprende además, cuando un bit se establece en 1, establecer el contador correspondiente al bit en el valor máximo.
12. El procedimiento de la reivindicación 10, en el que el filtro Bloom (600) es una matriz de bits de m bits con k funciones resumen diferentes asociadas con la matriz de bits, en el que cada función hash aplica una cadena de entrada a una de las m posiciones de matriz con una distribución aleatoria uniforme,
en el que al menos una de las k funciones resumen es una verificación de redundancia cíclica de una cadena de entrada, o
en el que el parámetro k del filtro Bloom (600) tiene un valor de 1 y el parámetro m del filtro Bloom (600) tiene un valor que es aproximadamente el doble del tamaño máximo de la red inalámbrica (100).
13. El procedimiento de la reivindicación 10, en el que el identificador es uno de los siguientes: una dirección MAC, un identificador de servicio o un identificador basado en la aplicación.
14. El procedimiento de la reivindicación 10, comprendiendo el procedimiento además: al unirse a una red inalámbrica (100), solicitar el filtro Bloom (600) de al menos un dispositivo inalámbrico vecino (114, 116, 118,..., 138) en la red inalámbrica (100), y recibir un mensaje de un dispositivo inalámbrico vecino (114, 116, 118,..., 138), incluyendo el mensaje un filtro Bloom (600) del dispositivo inalámbrico vecino (114, 116, 118,..., 138) y un tiempo en el que se inició el filtro Bloom (600) del dispositivo inalámbrico vecino (114, 116, 118,..., 138);
comprendiendo el procedimiento además generar un filtro Bloom (600) para el dispositivo inalámbrico (112) almacenando una OR bit a bit de matrices de filtros Bloom (600) recibidos de una pluralidad de dispositivos inalámbricos vecinos (114, 116, 118, ..., 138);
o
el procedimiento de la reivindicación 10, que comprende además:
solicitar el filtro Bloom (600) de al menos un primer dispositivo inalámbrico vecino (114, 116, 118, ..., 138); y
estimar el número de dispositivos inalámbricos vecinos (114, 116, 118,..., 138) que el dispositivo inalámbrico (112) y el primer dispositivo inalámbrico vecino (114, 116, 118,..., 138) tienen en común en base a un filtro Bloom (600), siendo el filtro Bloom (600) generado realizando una AND bit a bit de la matriz del filtro Bloom del dispositivo inalámbrico (112) y una matriz del filtro Bloom (600) del primer dispositivo inalámbrico vecino (114, 116, 118,..., 138).
15. Un programa informático que comprende instrucciones ejecutables por ordenador que, cuando el programa se ejecuta por un dispositivo inalámbrico, provoca que el dispositivo inalámbrico lleve a cabo las etapas del procedimiento de cualquiera de las reivindicaciones 10 a 14.
Applications Claiming Priority (6)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201361758577P | 2013-01-30 | 2013-01-30 | |
| US201361762246P | 2013-02-07 | 2013-02-07 | |
| US201361824907P | 2013-05-17 | 2013-05-17 | |
| US201361842328P | 2013-07-02 | 2013-07-02 | |
| US14/161,556 US9226231B2 (en) | 2013-01-30 | 2014-01-22 | Systems and methods for monitoring the size of a wireless network |
| PCT/US2014/012803 WO2014120557A1 (en) | 2013-01-30 | 2014-01-23 | Monitoring the size of a wireless network |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2763649T3 true ES2763649T3 (es) | 2020-05-29 |
Family
ID=51222852
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES14704238T Active ES2763649T3 (es) | 2013-01-30 | 2014-01-23 | Monitorización del tamaño de una red inalámbrica |
Country Status (8)
| Country | Link |
|---|---|
| US (1) | US9226231B2 (es) |
| EP (1) | EP2952025B1 (es) |
| JP (1) | JP6026675B2 (es) |
| KR (1) | KR101660471B1 (es) |
| CN (1) | CN104956701B (es) |
| ES (1) | ES2763649T3 (es) |
| HU (1) | HUE045516T2 (es) |
| WO (1) | WO2014120557A1 (es) |
Families Citing this family (37)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN105191451B (zh) * | 2013-02-12 | 2017-05-17 | 英特尔Ip公司 | 用于同步设备和相邻区域网络化(nan)配置的方法、无线通信站和系统 |
| US9154934B2 (en) * | 2013-03-28 | 2015-10-06 | Futurewei Technologies, Inc. | System and method for pre-association discovery |
| US10003970B2 (en) * | 2013-05-16 | 2018-06-19 | Telefonaktiebolaget L M Ericsson (Publ) | Coordinator and device in a radio communication network |
| CN104053227B (zh) | 2013-12-02 | 2017-06-27 | 华为终端有限公司 | 一种用于锚主设备选择的方法和设备 |
| WO2015119440A1 (ko) * | 2014-02-05 | 2015-08-13 | 엘지전자 주식회사 | 무선 통신 시스템에서 nan 단말의 신호 송수신 방법 및 장치 |
| US9439089B2 (en) * | 2014-05-23 | 2016-09-06 | Google Inc. | Device to device round-trip time (RTT) measurement via neighbor aware network |
| EP3141010B1 (en) * | 2014-06-24 | 2019-09-11 | Google LLC | Mesh network commissioning |
| KR102222337B1 (ko) * | 2014-08-05 | 2021-03-04 | 삼성전자주식회사 | 전자 기기의 어플리케이션 동기화 방법 및 장치 |
| CN106688258B (zh) | 2014-09-04 | 2020-05-08 | Lg电子株式会社 | 用于nan的无线资源调度方法和装置 |
| US9788264B2 (en) | 2014-10-17 | 2017-10-10 | Qualcomm Incorporated | Bloom filter for service hint information in advertisements |
| US10021644B2 (en) * | 2014-10-30 | 2018-07-10 | Qualcomm Incorporated | Network discovery |
| US20160142897A1 (en) * | 2014-11-14 | 2016-05-19 | Telefonaktiebolaget L M Ericsson (Publ) | Enriched D2D Discovery Content |
| KR102251326B1 (ko) * | 2014-11-25 | 2021-05-12 | 삼성전자주식회사 | 근접 네트워크 구성 방법 및 그 전자 장치 |
| US10827484B2 (en) | 2014-12-12 | 2020-11-03 | Qualcomm Incorporated | Traffic advertisement in neighbor aware network (NAN) data path |
| US10820314B2 (en) | 2014-12-12 | 2020-10-27 | Qualcomm Incorporated | Traffic advertisement in neighbor aware network (NAN) data path |
| US9763074B2 (en) * | 2015-01-01 | 2017-09-12 | Intel IP Corporation | Apparatus, system and method of communicating a beacon frame |
| CN105991325B (zh) * | 2015-02-10 | 2019-06-21 | 华为技术有限公司 | 处理至少一个分布式集群中的故障的方法、设备和系统 |
| WO2016144088A1 (ko) * | 2015-03-09 | 2016-09-15 | 엘지전자 주식회사 | 무선 통신 시스템에서 멀티 채널을 이용하여 데이터를 전송하는 방법 및 장치 |
| US10129813B2 (en) * | 2015-03-11 | 2018-11-13 | Cisco Technology, Inc. | Minimizing link layer discovery based on advertising access technology parameters in a multimode mesh network |
| US10277686B2 (en) * | 2015-07-29 | 2019-04-30 | Cisco Technology, Inc. | Service discovery optimization in a network based on bloom filter |
| JP6548539B2 (ja) * | 2015-09-24 | 2019-07-24 | キヤノン株式会社 | 無線通信装置、無線通信方法、およびプログラム |
| US10210195B2 (en) * | 2016-02-12 | 2019-02-19 | International Business Machines Corporation | Locating data in a set with a single index using multiple property values |
| CN106647397B (zh) * | 2016-12-22 | 2019-09-10 | 北京金风科创风电设备有限公司 | 风电场联网设备列表的获取方法及装置 |
| JP6805816B2 (ja) * | 2016-12-27 | 2020-12-23 | 富士通株式会社 | 情報処理装置、情報処理システム、情報処理方法及びプログラム |
| US20190007903A1 (en) * | 2017-06-28 | 2019-01-03 | Qualcomm Incorporated | Coordinated neighbor aware network (nan) role assignment |
| US10999780B2 (en) * | 2017-11-15 | 2021-05-04 | Apple Inc. | Bluetooth trigger for NAN |
| KR102501760B1 (ko) * | 2018-04-23 | 2023-02-21 | 삼성전자주식회사 | 복수의 주파수 대역에서 신호를 전송하기 위한 장치 및 방법 |
| US11147126B2 (en) * | 2018-05-15 | 2021-10-12 | Apple Inc. | Neighbor awareness networking discovery window congestion mitigation |
| CN108718401B (zh) * | 2018-08-09 | 2020-09-01 | Oppo广东移动通信有限公司 | 视频会议实现方法及相关装置 |
| CN109271408B (zh) * | 2018-08-31 | 2020-07-28 | 阿里巴巴集团控股有限公司 | 一种分布式数据连接处理方法、装置、设备及存储介质 |
| GB2592792B (en) * | 2018-10-18 | 2022-09-07 | Tektronix Communications | System and method for space and time efficient probe search analytics |
| US11595971B1 (en) * | 2019-05-28 | 2023-02-28 | Marvell Asia Pte Ltd | Quieting a wireless local area network |
| KR102748855B1 (ko) * | 2019-10-02 | 2025-01-02 | 삼성전자주식회사 | 전자 장치 및 전자 장치에서의 서비스 디스커버리 수행 방법 |
| CN113381874B (zh) * | 2020-03-10 | 2023-06-02 | 上海杰之能软件科技有限公司 | 一种故障信号处理方法、存储介质及终端 |
| CN113556692A (zh) * | 2020-04-24 | 2021-10-26 | 北京小米移动软件有限公司 | 网络设备探测方法、装置及系统 |
| US12483591B2 (en) * | 2023-11-29 | 2025-11-25 | Radware Ltd. | Detection and mitigation of UDP-based DDoS attacks |
| US12603770B2 (en) * | 2024-09-05 | 2026-04-14 | Ava Labs, Inc. | Salted bloom filters for peer-to-peer data dissemination |
Family Cites Families (15)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20030026268A1 (en) * | 2000-11-28 | 2003-02-06 | Siemens Technology-To-Business Center, Llc | Characteristic routing |
| US7054867B2 (en) * | 2001-09-18 | 2006-05-30 | Skyris Networks, Inc. | Systems, methods and programming for routing and indexing globally addressable objects and associated business models |
| US8185653B2 (en) | 2004-08-09 | 2012-05-22 | Johnny Yau | Method and apparatus for ad hoc mesh routing |
| US8040836B2 (en) * | 2006-05-26 | 2011-10-18 | Microsoft Corporation | Local network coding for wireless networks |
| US8520704B2 (en) * | 2007-07-10 | 2013-08-27 | Qualcomm Incorporated | Coding methods of communicating identifiers in peer discovery in a peer-to-peer network |
| US9301121B2 (en) | 2007-07-11 | 2016-03-29 | Qualcomm Incorporated | Peer to peer multiple identifiers |
| US8406132B2 (en) * | 2008-05-30 | 2013-03-26 | Alcatel Lucent | Estimating cardinality distributions in network traffic |
| JP5536891B2 (ja) * | 2009-09-01 | 2014-07-02 | エヌイーシー ヨーロッパ リミテッド | ネットワークのモニタリング方法およびモニタリング機能を含むネットワーク |
| US8134934B2 (en) | 2009-09-21 | 2012-03-13 | Alcatel Lucent | Tracking network-data flows |
| US8578049B2 (en) * | 2010-10-04 | 2013-11-05 | Futurewei Technologies, Inc. | Content router forwarding plane architecture |
| WO2012059794A1 (en) * | 2010-11-05 | 2012-05-10 | Nokia Corporation | Method and apparatus for providing efficient management of certificate revocation |
| US8880880B2 (en) | 2011-07-29 | 2014-11-04 | Qualcomm Incorporated | Facilitating access control in peer-to-peer overlay networks |
| US8472983B1 (en) | 2011-12-07 | 2013-06-25 | Cisco Technology, Inc. | Selective location-aware paging |
| US20140032714A1 (en) * | 2012-07-27 | 2014-01-30 | Interdigital Patent Holdings, Inc. | Method and apparatus for publishing location information for a content object |
| US9071533B2 (en) * | 2012-07-31 | 2015-06-30 | Cisco Technology, Inc. | Multicast group assignment using probabilistic approximations |
-
2014
- 2014-01-22 US US14/161,556 patent/US9226231B2/en active Active
- 2014-01-23 EP EP14704238.6A patent/EP2952025B1/en active Active
- 2014-01-23 ES ES14704238T patent/ES2763649T3/es active Active
- 2014-01-23 HU HUE14704238A patent/HUE045516T2/hu unknown
- 2014-01-23 KR KR1020157023203A patent/KR101660471B1/ko active Active
- 2014-01-23 WO PCT/US2014/012803 patent/WO2014120557A1/en not_active Ceased
- 2014-01-23 JP JP2015555281A patent/JP6026675B2/ja active Active
- 2014-01-23 CN CN201480006385.0A patent/CN104956701B/zh active Active
Also Published As
| Publication number | Publication date |
|---|---|
| US20140211659A1 (en) | 2014-07-31 |
| CN104956701A (zh) | 2015-09-30 |
| JP6026675B2 (ja) | 2016-11-16 |
| CN104956701B (zh) | 2020-01-21 |
| KR20150111994A (ko) | 2015-10-06 |
| US9226231B2 (en) | 2015-12-29 |
| HUE045516T2 (hu) | 2019-12-30 |
| EP2952025B1 (en) | 2019-09-25 |
| KR101660471B1 (ko) | 2016-09-27 |
| WO2014120557A1 (en) | 2014-08-07 |
| JP2016506215A (ja) | 2016-02-25 |
| EP2952025A1 (en) | 2015-12-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES2763649T3 (es) | Monitorización del tamaño de una red inalámbrica | |
| ES2637418T3 (es) | Procedimiento, aparato y programa informático para descubrir dispositivos en una red de área de vecindario | |
| ES2647142T3 (es) | Balizas para comunicación inalámbrica | |
| ES2778775T3 (es) | Procedimientos y aparatos para temporización de baliza inalámbrica de baja sobrecarga | |
| ES2763941T3 (es) | Transmisión y recepción de mensajes de descubrimiento y radiobúsqueda | |
| CN103650575B (zh) | 用于具有经压缩网络标识符的低开销无线信标的系统和方法 | |
| CN103650576B (zh) | 用于具有下一完整信标指示的低开销无线信标的系统和方法 | |
| BR112015013538B1 (pt) | Sistema e método para comunicação melhorada em uma rede sem fio | |
| HK1193918B (en) | Methods and apparatuses for low -overhead wireless beacons having next full beacon time indications | |
| HK1193918A (en) | Methods and apparatuses for low -overhead wireless beacons having next full beacon time indications | |
| HK1193916B (en) | Systems, methods and apparatuses for low-overhead wireless beacon timing | |
| HK1193916A (en) | Systems, methods and apparatuses for low-overhead wireless beacon timing | |
| HK1193917A (en) | Systems and methods for low-overhead wireless beacons having compressed network identifiers | |
| HK1241186A1 (en) | Systems and methods for low-overhead wireless beacon timing | |
| HK1193917B (en) | Systems and methods for low-overhead wireless beacons having compressed network identifiers |

