FORMACIÓN EFICIENTE DE REDES AD HOC
Campo de la Invención La presente invención pertenece de manera general a generación de redes de computadora, y más particularmente, a formación de redes de computadora. Antecedentes de la Invención La generación de redes de computadora para facilitar la comunicación con un gran número de tipos de datos se ha vuelto común en los lugares de trabajo modernos, y cada vez más, en nuestros hogares. Actualmente, debido al correo electrónico ubicuo, la mensajería instantánea, grupos de conversación, la distribución de documentos electrónicos de archivos de cada tipo, el uso de corrientes de flujos de audio y video, hasta los ambientes interactivos inmersos más sofisticados, las computadoras en red pueden mejorar las formas de comunicación tradicional y habilitar nuevas formas de trabajo y reproducción. El impulso de funcionalidad proporcionado a una computadora uniéndose a una red es significativo, aunque existe un número de barreras prácticas de conectividad que puede evitar o reducir el acceso a una funcionalidad total. El problema puede ser particularmente agudo para computadoras móviles con la capacidad de unirse a redes inalámbricas. Para los propósitos de esta descripción, las redes de computadoras inalámbricas pueden ser clasificadas en dos tipos generales: redes de infraestructura y redes ad hoc. Las redes de infraestructura incluyen uno o más componentes de red dedicados tal como un centro de red o un punto de acceso de red inalámbrico. En contraste, las redes ad hoc no necesitan incluir dichos componentes de red. Por ejemplo, una red de computadora ad hoc puede incluir poco o más de un grupo de computadoras, que tienen cada una un hardware de interfase de red inalámbrica compatible. Como el nombre lo sugiere, las redes ad hoc están proyectadas para proporcionar generación de red de computadora espontánea o no planeada, por ejemplo, mientras se está en un viaje o de visita. Por lo tanto, las redes ad hoc pueden facilitar la capacidad de estar en red en cualquier parte y en cualquier momento. Sin embargo, la formación de redes ad hoc convencionales puede ser difícil y/o lenta, de modo que, a pesar de su potencial, el uso de redes ad hoc permanece relativamente no común. Muchas de las dificultades de la formación de una red ad hoc parten de la carencia de instalaciones de infraestructura que normalmente se encuentra en redes de infraestructura. Un problema se refiere a la convergencia de una red ad hoc. Dentro de un grupo de computadoras que intenta formar una red ad hoc, ninguna de las computadoras es necesariamente el líder o elaborador de políticas de red. Las múltiples diferentes computadoras en el grupo pueden intentar en forma simultánea iniciar la formación de una red ad hoc. Las computadoras en el grupo pueden ser configuradas de manera diferente y reaccionar en forma diferente al inicio de la red y/o protocolos de información. Como resultado, en lugar de convergir en una sola red ad hoc, se pueden formar múltiples redes ad hoc entre el grupo de computadoras. Algunos sistemas y métodos de formación de red ad hoc convencionales, carecen de mecanismos efectivos para convergencia a una sola red ad hoc. Incluso cuando se encuentran mecanismos, la convergencia puede ser demasiado lenta de modo que se des-estimula el uso regular. Incluso un retraso en el orden de un minuto, puede ser suficiente para ser considerado como una barrera de conectividad. Otra fuente de retraso en algunos sistemas y métodos de formación de red ad hoc convencionales, es la carencia de un mecanismo efectivo para asignar rápidamente identificadores de red, tal como direcciones de red para participantes de la red. Con respecto a dichos mecanismos, el retraso percibido por el usuario final puede ser tan significativo como el retraso de procedimiento de bajo nivel. Breve Descripción de la Invención Esta sección presenta un resumen simplificado de algunas modalidades de la presente invención. Este resumen no es una revisión general extensa de la presente invención. No pretende identificar elementos clave/críticos de la presente invención o delinear el alcance de la misma. Su único propósito es presentar algunas modalidades de la presente invención en una forma simplificada como un preludio de la descripción más detallada que se presenta más adelante. En una modalidad de la presente invención, se recibe un ¡dentificador de red ad hoc, por ejemplo, en un módulo de convergencia de red ad hoc de un nodo de red ad hoc. Uno o más parámetros de red ad hoc pueden generarse como una función del identificador de red ad hoc. Cada grupo de computadoras que intenta formar una red ad hoc identificada por el identificador de red ad hoc, puede generar el uno o más parámetros de red ad hoc. Dos o más del grupo de computadoras puede formar un protocolo de formación de red ad hoc parametrizado con el uno o más parámetros de red ad hoc generados. La formación eficiente de la red ad hoc puede ser facilitada de esta manera. En una modalidad de la presente invención, se recibe una instrucción para unirse a una red, por ejemplo, en un servicio de generación de red. Un tipo de red que será unida puede ser diferenciada, en particular, puede determinarse si la red es una red ad hoc, o por ejemplo, una red de infraestructura. Si se detecta una red ad hoc, se puede activar un modo de adquisición de dirección de red ad hoc presentando una adquisición de dirección de red ad hoc acelerada.
Breve Descripción de las Figuras Aunque las reivindicaciones adjuntas establecen con particularidad las características de la presente invención, la misma y sus ventajas serán mejor comprendidas a partir de la descripción detallada que se encuentra más adelante, tomada en conjunto con los dibujos que la acompañan, en los cuales: La figura 1, es un diagrama esquemático que ilustra de manera general un sistema de cómputo de ejemplo que se puede utilizar para implementar una modalidad de la presente invención; La figura 2, es un diagrama esquemático que ilustra un ambiente de generación de red de computadora de ejemplo adecuado para incorporar aspectos de la presente invención; La figura 3, es un diagrama de bloque que ilustra una arquitectura de sistema de cómputo de ejemplo para formación de red ad hoc eficiente de acuerdo con una modalidad de la presente invención; La figura 4, es un diagrama de flujo que ilustra pasos de ejemplo para facilitar la convergencia de red ad hoc de acuerdo con una modalidad de la presente invención; La figura 5, es un diagrama de flujo que ilustra pasos de ejemplo para la formación de red ad hoc eficiente de acuerdo con una modalidad de la presente invención; La figura 6, es un diagrama de flujo que ilustra pasos de ejemplo para abandonar una red ad hoc de acuerdo con una modalidad de la presente invención; La figura 7, es un diagrama de flujo que ilustra pasos de ejemplo para seleccionar un esquema de comunicación de capa física de acuerdo con una modalidad de la presente invención. Descripción Detallada de la Invención Antes de proceder con una descripción de las diversas modalidades de la presente invención, se proporciona una descripción de una computadora en la cual las diversas modalidades de la presente invención pueden ser practicadas. Aunque no se requiere, la presente invención será descrita dentro del contexto general de instrucciones ejecutables en computadora, tal como módulos de programa, que son ejecutados por una computadora. Generalmente, los programas incluyen rutinas, objetos, componentes, estructuras de datos y similares que llevan a cabo tareas particulares o implementan tipos de datos abstractos particulares. El término "programa" tal como se utiliza en la presente invención, puede indicar un solo módulo de programa o múltiples módulos de programa que actúan en concierto. Los términos "computadora" y "aparato de cómputo" tal como se utilizan en la presente invención, incluyen cualquier aparato que ejecuta en forma electrónica uno o más programas, tal como computadoras personales (PCs), aparatos portátiles, sistemas de multi-procesador, electrónicas de consumidor programables a base de microprocesador, PC de red, minicomputadoras, PC de tableta, computadoras portátiles, aparatos del consumidor que tienen un microprocesador o microcontrolador, enrutadores, salidas, concentradores y similares. La presente invención también se puede emplear en ambientes de cómputo distribuidos, en donde las tareas se llevan a cabo a través de aparatos de procesamiento remotos que están enlazados a través de una red de comunicación. En un ambiente de cómputo distribuido, los programas pueden localizarse en aparatos de almacenamiento de memoria tanto local como remota. Haciendo referencia a la figura 1, se muestra un ejemplo de una configuración básica de la computadora 102, en la cual se pueden implementar los aspectos de la presente invención aquí descritos. En su configuración más básica, la computadora 102 normalmente incluye al menos una unidad de procesamiento 104 en memoria 106. La unidad de procesamiento 104 ejecuta instrucciones para llevar a cabo tareas de acuerdo con diversas modalidades de la presente invención. En el desempeño de dichas tareas, la unidad de procesamiento 104 puede transmitir señales electrónicas a otras partes de la computadora 102 y a aparatos fuera de la computadora 102 para originar cierto resultado. Dependiendo de la configuración exacta y tipo de la computadora 102, la memoria 106 puede ser volátil (tal como RAM) no volátil (tal como ROM o memoria instantánea) o cualquier combinación de los dos. Esta configuración más básica se ¡lustra en la figura 1 a través de la línea punteada La computadora 102 también puede tener características/funcionalidad adicionales. Por ejemplo, la computadora 102 también puede incluir almacenamiento adicional (eliminable 110 y/o no eliminable 112) incluyendo, pero sin limitarse a, discos o cintas magnéticas u ópticas. El medio de almacenamiento en computadora incluye medios volátiles y no volátiles, removibles y no removibles, implementados en cualquier método o tecnología de almacenamiento de información, incluyendo instrucciones ejecutables en computadora, estructuras de datos, módulos de programas u otros datos. El medio de almacenamiento en computadora, incluye, pero no se limita a, RAM, ROM, EEPROM, memoria flash, CD-ROM, disco versátil digital (DVD) u otro almacenamiento óptico, cartuchos magnéticos, cintas magnéticas, almacenamiento de disco magnético o aparatos de almacenamiento magnéticos, o cualquier otro medio el cual puede ser utilizado para almacenar información deseada y que puede ser accesado por la computadora 102. Cualquiera de dichos medios de almacenamiento en computadora pueden ser parte de la computadora 102. La computadora 102 también contiene preferentemente conexiones de comunicación 114 que permiten que el aparato se comunique con otros aparatos tal como la computadora(s) remota 116. Una conexión de comunicación es un ejemplo de un medio de comunicación. El medio de comunicación normalmente representa instrucciones legibles en computadora, estructuras de datos, módulos de programa u otros datos en una señal de datos modulada tal como ondas transportadoras u otro mecanismo de transporte e incluye cualquier medio de suministro de información. A manera de ejemplo, y no de limitación, el término "medio de comunicación" incluye medios inalámbricos tales como medios acústicos, RF, infrarrojos u otros inalámbricos. El término "medio legible en computadora" tal como se utiliza en la presente invención, incluye tanto medios de almacenamiento como medios de comunicación en computadora. La computadora 102 también puede tener aparatos de entrada 1189 tal como teclado/almohadilla de contacto, ratón, pluma, aparato de entrada de voz, aparato de entrada de contacto, etc. Los aparatos de salida 120 tales como una pantalla, altavoces, una impresora, etc., también pueden ser incluidos. Todos estos aparatos son bien conocidos en la técnica y no necesitan describirse en forma más extensa en la presente invención. En la descripción que se encuentra a continuación, la presente invención será descrita con referencia a acciones y representaciones simbólicas de operaciones que se llevan a cabo por medio de uno más aparatos de cómputo, a menos que se indique lo contrario. Por lo tanto, quedará entendido que dichos actos y operaciones, en los cuales en momentos son referidos como siendo ejecutados por computadora, incluyen la manipulación mediante la unidad de procesamiento de la computadora de las señales eléctricas que representan datos en una forma estructural. Esta manipulación transforma los datos o los mantiene en ubicaciones en el sistema de memoria de la computadora, la cual reconfigura o de otra manera altera la operación de la computadora en una forma bien comprendida por los expertos en la técnica. Las estructuras de datos, en donde los datos se mantienen son ubicaciones físicas de la memoria que tienen propiedades particulares definidas por el formato de los datos. Sin embargo, aunque la presente invención está siendo descrita dentro del contexto anterior, no significa que se limita a esto, ya que los expertos en la técnica podrán apreciar que varias de las acciones y operaciones descritas posteriormente también se pueden implementar en hardware. En una modalidad de la presente invención, se proporcionan sistemas y métodos para formación de red ad hoc eficiente. Los parámetros de formación de red ad hoc común pueden establecerse en cada nodo de red de prospecto para facilitar la convergencia de red ad hoc rápida. Los modos de formación de red ad hoc pueden activarse de modo que, por ejemplo, o proporcionen una asignación suficiente de identificadores de red ad hoc con la necesidad de elementos y servicios que normalmente se encuentran en redes de infraestructura. Por claridad, será útil describir modalidades de la presente invención dentro de un contexto de un grupo de computadoras de ejemplo que intentan formar una red ad hoc. La figura 2, ilustra un ambiente de red de cómputo de ejemplo 200 adecuado para incorporar aspectos de la presente invención. El ambiente de generación de red de cómputo 200 incluye las computadoras 202, 204, 206, 208, 210, 212, 214 que intentan formar una sola red ad hoc indicada por la línea punteada 216. Al momento de la situación ilustrada en la figura 2, esto es, en un tiempo después del inicio del proceso de formación de red ad hoc, se han formado dos redes ad hoc 218 y 220. Una red ad hoc 218 incluye las computadoras 202, 204 y 206. La otra red ad hoc 220 incluye computadoras 208, 210, 212 y 214. Cada una de las computadoras 202, 204 y 206 puede comunicarse con otra y cada una de las computadoras 208, 210, 212 y 214 puede comunicarse con cada una de las otras. La comunicación entre las redes ad hoc 218 y 220 se puede limitar o no encontrarse. Algún tiempo antes de la situación ilustrada en la figura 2, se pueden haber formado más de dos redes ad hoc 218 y 220 entre las computadoras 202, 204, 206, 208, 210, 212, 214. Cierto tiempo después de la situación ilustrada en la figura 2, las redes ad hoc 218 y 220 pueden surgir para formar la red ad hoc simple 216, las redes ad hoc 218 y 220 pueden permanecer distintas, una o más computadoras 208, 210, 212 y 214 de una red ad hoc 220 puede abandonar la unión a la otra red ad hoc 218, una o más computadoras 202, 204 y 208 puede abandonar la red 218 para unirse a la red ad hoc 220, o una o más de las computadoras 202, 204, 206, 208, 210, 212 y 214 pueden abandonar su red ad hoc de ese momento 218 ó 220 para formar una nueva red ad hoc (no mostrada en la figura 2). La formación de múltiples redes ad hoc 218 y 220 como un paso hacia la convergencia en la red ad hoc simple 216, no es necesariamente indeseable. En una modalidad de la presente invención, lo que es indeseable es un tiempo de convergencia largo, esto es, una cantidad excesiva de tiempo entre el inicio de la formación de red ad hoc y la convergencia en la red ad hoc simple 216. Antes de describir métodos de ejemplo de una formación de red ad hoc y convergencia de acuerdo con una modalidad de la presente invención, será útil describir una arquitectura de ejemplo adecuada para facilitar una implementación en computadora de los métodos. La figura 3, ilustra una arquitectura de ejemplo 300 de acuerdo con una modalidad de la presente invención. Únicamente con propósitos de claridad, algunos elementos de la arquitectura 300 pueden ser específicos para redes inalámbricas de acuerdo con una o más de la familia de los estándares de comunicación de datos inalámbricos del Instituto de Ingenieros Eléctricos y Electrónicos (IEEE) 802.11, tal como 802.11a, 802.11b, 802.11 g y/o 802.11n. Sin embargo, cada modalidad de la presente invención no se limita a esto. Tal como lo apreciarán los expertos en la técnica, las designaciones IEEE 80.2.11a, 802.11b, 802.11 g y similares no son meramente códigos de identificación para documentos estándares técnicos extensos, aunque se han vuelto términos en el arte y por si mismos, de modo que incluso los consumidores de menudeo pueden estar al tanto de los términos, en particular debido a las formas en las cuales se hacen los estándares y no interactúan con otros. Una computadora 302 tal como la computadora 102 (figura 1) puede incluir un sistema de operación 304 tal como un sistema de operación de cómputo Microsoft® Windows®. El sistema de operación 304 puede incluir un servicio de red 306 tal como Windows® Networking, tal como se describe en la sección Windows® Networking (WNet) del Microsoft® Windows® Platform Software Development Kit (SDK) en la biblioteca de Microsoft Developer Network (MSDN®) con fecha marzo del 2005. El servicio de red 306 puede transmitir acceso a través de la computadora 302 a una o más redes, tal como las redes ad hoc 216, 218 y 220 (figura 2). Tal como lo apreciarán los expertos en la técnica, una arquitectura de red, tal como la arquitectura 300 puede incorporar varias distintas capas y al menos parcialmente independientes de funcionalidad de red. Por ejemplo, la Organización de Estándares Internacionales (ISO) describe un modelo de interconexión de sistemas abiertos (OSl) para arquitecturas de red que distingue una capa de aplicación, una capa de presentación, una capa de sesión, una capa de transporte, una capa de red, una capa de enlace de datos y una capa física. Para detalles, ver la publicación de Zimmerman, OSl Reference Model - The ISO Model of Architecture for Open System Interconnection, IEEE Transactions on Communications, abril 1980. Los detalles de un modelo de arquitectura de generación de red en capas, distinto, pero no incompatible de acuerdo con una modalidad de la presente invención, se describe a través del artículo Gateways Solution Overview en la sección Windows® Embedded Devices de la biblioteca Microsoft®- Windows® .Embedded Developer Center in the Microsoft Developér Network (MSD1 S®) con fecha 2004. La computadora 302 puede incluir una o más tarjetas de interfase de red (NICs) 308, 310 (únicamente se ilustran dos en la figura 3). Para cada tarjeta de interfase de red 308, 310, el sistema de operación 304 puede incluir módulos de unidad de tarjeta de interfase de red correspondientes 312, 314. El servicio de red 306 puede enviar y recibir datos hacia y desde redes ad hoc 216, 218, 220 (figura 2), con los módulos de la unidad de tarjeta de interfase de red 312, 314. Los módulos de la unidad de tarjeta de interfase de red 312, 314, pueden enviar y recibir datos hacia y desde redes ad hoc 216, 218, 220 con las tarjetas de ¡nterfase de red 308, 310. Los componentes de la arquitectura 300, 306, 308, 310, 312, 314 no necesitan corresponder uno a uno, por ejemplo, con sistemas abiertos que interconectan capas de arquitectura. Por ejemplo, las tarjetas de ¡nterfase de red pueden implementar aspectos de la capa de enlace de datos, así como la capa física. En este ejemplo, el servicio de red 306 incluye una pila de protocolo de control de transporte y protocolo de Internet (TCP/IP) 316. Las arquitecturas alternativas de acuerdo con una modalidad de la presente invención, pueden incluir una o más pilas de protocolo de red alternativas o adicionales no mostradas en la figura 3. El servicio de red 306 puede incluir un módulo de dirección de protocolo de Internet privado automático (APIPA) 318 con la capacidad de generar y asignar una dirección de protocolo de Internet privada para la computadora 302 independientemente de los servicios de red remota, tal como los servicios de generación y asignación de dirección de protocolo de Internet proporcionados por un servidor de protocolo de configuración de re-ordenador dinámico y (DHCP). Los detalles de una implementación de dirección de protocolo de Internet privada automática de acuerdo con una modalidad de la presente Invención, en particular, detalles de operación sin servidor, así como dirección de protocolo de Internet asignada por red, se describen en el artículo de Plug and Play Networking with Microsoft Automatic Prívate IP Addressing con fecha marzo de 1998, en la biblioteca de Internet Protocol Helper, del Microsoft® Windows® Platform Software Development Kit (SDK) en Microsoft Developer Network (MSDN®). Mecanismos de dirección automática similares pueden incluirse para protocolos de generación de red además del protocolo de Internet (IP). Aunque no se muestra en la figura 3, las modalidades de la presente invención pueden incluir un módulo de protocolo de configuración de re-ordenador dinámico convencional (DHCP) con la capacidad de proporcionar dirección de protocolo de Internet asignada por red. En una modalidad de la presente invención, el servicio de red 306 incluye un módulo de convergencia de red ad hoc 320, para facilitar la formación eficiente de una red ad hoc. El módulo de convergencia de la red ad hoc 320 puede incluir un generador de parámetros de red ad hoc 322, un conjunto de reglas de convergencia de red ad hoc 324 y un módulo del modo de adquisición de dirección de red ad hoc 326. El generador de parámetros de red ad hoc 322 puede generar parámetros de red ad hoc adecuados para distribución pseudo-aleatoria, tal como identificadores de red y selecciones de canal de frecuencia de radio (por ejemplo, números de canal de comunicación inalámbrico). El conjunto de reglas de convergencia de red ad hoc 324 puede incluir una o más reglas de convergencia de red ad hoc utilizadas por el módulo de convergencia de red ad hoc para facilitar la convergencia de red ad hoc. En particular, el conjunto de reglas de convergencia de red ad hoc 324 puede determinar uno o más parámetros de red ad hoc que no son adecuados para distribución pseudo-aleatoria y/o para los cuales es posible una elección óptima a partir de un conjunto de valores disponibles, tal como la selección de un esquema de comunicación de capa física (por ejemplo "tipo PHY"). El módulo del modo de adquisición de dirección de red ad hoc 326, puede manejar transiciones del servicio de red 306 hacia y desde un modo de adquisición de dirección de red ad hoc, por ejemplo, desde y hacia un modo de adquisición de dirección de red de infraestructura y/o por default. El servicio de red 306 puede incluir además un nombre de red o identificador del conjunto de servicio (SSID) 328. El identificador de conjunto de servicio 328 no necesita incluir instrucciones ejecutables en computadora, por ejemplo, el identificador de conjunto de servicios 328 puede ser un campo de datos almacenados en la memoria del sistema 106 (figura 1). El identificador del conjunto del grupo de servicios 328 puede asociarse en forma simultánea con distintas redes ad hoc, por ejemplo, las redes ad hoc 218 y 220 (figura 2) pueden asociarse con los mismos valores del identificador del grupo de servicios 328. En una modalidad de la presente invención, dos o más redes ad hoc asociadas con los mismos valores del identificador del grupo de servicios 328 tienen una meta de convergencia con una sola red ad hoc, tal como la red ad hoc 216. Por supuesto, el servicio de red 306 puede incluir múltiples identificadores del grupo de servicios, tal como el identificador de grupo de servicios 328, aunque, por claridad, únicamente se ilustra uno en la figura 3. En una modalidad de la presente invención, el servicio de red 306 puede incluir además una interfase gráfica del usuario de red ad hoc (GUI) 330 para configurar, comandar y/o interactuar de otra manera con el servicio de red 306. En una o más modalidades alternativas de la presente invención, la interfase gráfica del usuario de la red ad hoc 330 puede incorporarse en una interfase gráfica del usuario que se une a la red general no específico de redes ad hoc, y no necesita ser parte del servicio de generación de red 306. En particular, un usuario de la computadora 302 puede ingresar un valor del identificador del grupo de servicios 328 con la interfase gráfica del usuario de red ad hoc 330. El valor del identificador del grupo de servicio 328 puede ser ingresado con un teclado alfanumérico, seleccionado de una lista de opciones y/o ingresarse con cualquier aparato y/o control de ¡nterfase del usuario no gráfica o no gráfica adecuada, o por ejemplo, determinar si en forma automática con base en una o más redes (no necesariamente redes ad hoc 216, 218, 220 de la figura 2) detectadas por una o más tarjetas de interfase de red 308, 310.
Cada computadora 202, 204, 206, 208, 210, 212 y 214 (figura 2) puede incluir algunos o todos los elementos ilustrados en la figura 3. En particular, algunas o todas las computadoras 202, 204, 206, 208, 210, 212 y 214 pueden incluir el módulo de convergencia de red ad hoc 320. En una modalidad de la presente invención, la misma operación o una operación similar del generador de parámetros de red ad hoc 322, el grupo de reglas de convergencia de red ad hoc 324 y/o el módulo de adquisición de dirección de red ad hoc 326 en cada computadora 202, 204, 206, 208, 210, 212 y 214 permite una formación de red ad hoc eficiente. Habiendo descrito la arquitectura de ejemplo 300, a continuación se describen métodos de ejemplo para una formación eficiente de red ad hoc. En una modalidad de la presente invención, se facilita una convergencia de red ad hoc más rápida, generando los mismos valores o valores similares del parámetro de la red ad hoc, a partir de un solo valor de semilla y/o a partir de un mismo grupo o subgrupo de reglas de convergencia. La figura 4, ilustra pasos de ejemplo para facilitar la convergencia de red ad hoc de acuerdo con una modalidad de la presente invención. En el paso 402, un identificador de red ad hoc, tal como el identificador del grupo de servicio (SSID) 328 (figura 3), puede recibirse, por ejemplo, a través del módulo de convergencia de red ad hoc 320. El identificador de red ad hoc normalmente es una cadena de caracteres alfanuméricas o Unicode®, aunque puede ser cualquier nombre o identificador de red ad hoc adecuado. Por ejemplo, un grupo de personas, cada uno con una computadora 202, 204, 206, 208, 210, 212 y 214 (figura 2) que incorpora el servicio de generación de red 306, puede reunirse en un lugar de reunión y decidir formar una red ad hoc. Puede ser que el grupo decida convocar la "reunión" de red ad hoc y que uno o más de los miembros del grupo ingresen el nombre de la red (por ejemplo, el valor del identificador del grupo de servicio 328) "reuniéndose" con la interfase gráfica del usuario de la red ad hoc 330. En primer lugar, la "reunión" para ingresar el nombre de la red puede considerarse como un cimiento de la red ad hoc. En este ejemplo, la "reunión" para el valor del identificador de grupo de servicio 328 es recibida posteriormente a través del módulo de convergencia de red ad hoc 320 a partir desde la interfase gráfica del usuario de la red ad hoc 330, directamente, o a través del servicio de red 306. La "reunión" para el valor del identificador de grupo de servicio 328 puede ser recibida automáticamente por uno o más de los miembros del grupo, y por ejemplo, dar como resultado una invitación gráfica para unir la "reunión" de la red ad hoc, la cual puede ser aceptada, rechazada o ignorada por cada invitado. En el paso 404, uno o más parámetros de red ad hoc pueden generarse como una función, por ejemplo, una función para generar claves (Hash) de una dirección criptográfica, del valor del identificador del grupo de servicio 328 (figura 3). El ejemplo ilustrado en la figura 4, muestra dos parámetros de red ad hoc siendo generados en los subpasos 406 y 408 del paso 404. Cada uno de los pasos 404, 406 y 408 puede llevar a cabo cualquier función para generar claves (Hash) criptográfica adecuada. Dichas funciones para generar claves (Hash) criptográficas son bien conocidas en la técnica y no necesitan describirse con detalle en la presente invención. Los pasos 404, 406 y/o 408 pueden llevarse a cabo a través del generador de parámetros de red ad hoc 322. Cada computadora 202, 204, 206, 208, 210, 212 y 214 (figura 2) puede incorporar el generador de parámetros de red ad hoc 322. El generador de parámetro de red ad hoc 322 puede generar el mismo de uno o más de los valores de parámetro de red ad hoc en cada computadora 202, 204, 206, 208, 210, 212 y 214 que es suministrado con el mismo identificador del grupo de servicio 328. En el paso 406, se puede generar un identificador de grupo de servicio básico (BSSID) como una función, por ejemplo, una función para generar claves (Hash) criptográfica, del valor del identificador de grupo de servicio 328 (figura 3). A pesar de sus nombres similares, los expertos en la técnica apreciarán que el identificador del grupo de servicio (SSID) 328 y el identificador del grupo de servicios básicos (BSSID) son identificadores distintos que sirven en distintas situaciones. Por ejemplo, en contraste con el identificador del grupo de servicio 328 el cual puede ser elegido por el usuario de la computadora 302 para identificar la red ad hoc 216 (figura 2), se puede utilizar una dirección de control de acceso de medios (MAC) asociada con una de las tarjetas de interfase de red 308 ó 310 en sistemas y métodos convencionales, en la forma del identificador del grupo de servicios básicos. En una modalidad de la presente invención, la capacidad de diferentes identificadores del grupo de servicios básicos que será asociada con el mismo identificador de grupos de servicios, puede ser una causa de ineficiencia de convergencia de red ad hoc, por ejemplo, dando como resultado múltiples redes ad hoc 218 y 220 (figura 2) en lugar de una sola red ad hoc 216, de modo que la generación del identificador de grupo de servicios básicos como una función del identificador del grupo de servicios puede evitar esta ineficiencia. En el paso 408, se puede generar un número de canal de comunicación inalámbrico como una función, por ejemplo, una función para generar claves criptográfica, del identificador de grupo de servicio 328 (figura 3). Nuevamente, la elección de diferentes números de canal a través de las diferentes computadoras 202, 204, 206, 208, 210, 212 y 214 (figura 2) durante la formación de red ad hoc, puede originar la ineficiencia de convergencia de red ad hoc. En una modalidad de la presente invención, la generación de un mismo número de canal de comunicación inalámbrica como una función del mismo valor de identificador del grupo de servicio 328 en cada computadora 202, 204, 206, 208, 210, 212 y 214, evita esta ineficiencia de formación de la red ad hoc. En el paso 410, se puede seleccionar un esquema de comunicación de capa física (por ejemplo "tipo PHY") a partir de un grupo de esquemas disponibles. Por ejemplo, cada computadora 202, 204, 206, 208, 210, 212 y 214 (figura 2) puede incluir tarjetas de interfase de red 308, 310 que soportan uno o más tipos PHY IEEE 802.11a, 802.11b y 802.11g. El paso 410 puede llevarse a cabo en cada computadora 202, 204, 206, 208, 210, 212 y 214 durante la formación de red ad hoc, y el tipo PHY puede ser seleccionado, por ejemplo, de acuerdo con algún subgrupo del grupo de reglas de convergencia de red ad hoc 324 (figura 3). Los pasos de ejemplo para seleccionar el esquema de comunicación de capa física de acuerdo con una modalidad de la presente invención, se describe más adelante con mayor detalle con referencia a la figura 7. Habiendo establecido un grupo común de parámetros de red ad hoc en las computadoras 202, 204, 206, 208, 210, 212 y 214 (figura 2), en el paso 412, y se puede llevar a cabo el protocolo de formación de red ad hoc, por ejemplo, a través de las computadoras 202, 204, 206, 208, 210, 212 y 214, utilizando (por ejemplo, parametrizado con) el grupo común de parámetros de red ad hoc. El paso 412 puede incluir parametrización explícita del protocolo de formación de red ad hoc, por ejemplo, el módulo de convergencia de red ad hoc 320 (figura 3), puede almacenar valores del parámetro de red ad hoc generados, seleccionados y/o determinados con el servicio de red 306. En una modalidad de la presente invención, tal como se compara con una carencia convencional de coordinación entre las computadoras 202,204, 206, 208, 210, 212 y 214, el establecimiento del grupo común de los parámetros de red ad hoc en los pasos 404, 406, 408 y/o 410, da como resultado una formación de red ad hoc más eficiente. Los detalles adicionales con respecto a la formación de red ad hoc se describe más adelante con referencia a las figuras 5 y 6. La figura 5, ilustra pasos de ejemplo de la formación de red ad hoc de acuerdo con una modalidad de la presente invención. En particular, la figura 5, ilustra pasos de ejemplo para la adquisición de dirección de red eficiente en un ambiente de generación de red de cómputo independientemente de los recursos de red de infraestructura, tal como servidores de protocolo de configuración de re-ordenador dinámico (DHCP). Por ejemplo, los pasos que se ilustran en la figura 5 se pueden llevar a cabo como parte del paso 412 (figura 4). En el paso 502, se puede recibir una instrucción para unirse a una red de computadora. Por ejemplo, el servicio de generación de red 306 (figura 3) puede recibir la instrucción de unirse a la red de computadora desde el sistema de operación de computadora 304. En el paso 504, un tipo de red de computadora que será unida puede ser determinada. En particular, se puede determinar si la computadora que será unida es una red de computadora de infraestructura o una red de computadora ad hoc. La determinación del paso 504 puede realizarse de acuerdo con un contexto de la instrucción de unión (el contexto puede especificar incluso de manera explícita el tipo de red), por ejemplo, el módulo de convergencia de red ad hoc 320 puede consultar al servicio de red 306 y/o al sistema de operación de computadora 304 con respecto a información que corresponde al tipo de red. En una modalidad de la presente invención, los pasos 502 y 504 ocurren en concierto con el paso 402 (figura 4) y antes de los pasos 404 y 410. Con el tipo de red determinada en el paso 504, el tipo de red puede ser probado en el paso 506. Si la red es una red ad hoc, el procedimiento puede progresar al paso 508. De lo contrario, el procedimiento puede progresar al paso 510. En el paso 508, se puede activar un modo de adquisición de dirección de red ad hoc (ANAA), por ejemplo, a través del módulo del modo de adquisición de dirección de red ad hoc 326 (figura 3). En particular, el modo de adquisición de dirección de red ad hoc puede evitar referencias activas de los recursos de red de infraestructura, tal como los servidores de protocolo de configuración de re-ordenador dinámico (DHCP). En contraste, en el paso 510, sin que se haya activado el modo de adquisición de dirección de red ad hoc, se puede hacer un intento para adquirir una dirección de red a partir de únicamente un recurso de red de infraestructura. Con el modo de adquisición de dirección de red activado, el procedimiento puede continuar al paso 512. En el paso 512, puede ocurrir una adquisición acelerada de una dirección de red ad hoc en forma independiente de los recursos de red. La figura 5, ilustra dos subpasos de ejemplo 514 y 516 del paso 512 adecuados para incorporación en el paso 512, cuando la dirección de red ad hoc para adquisición, es una dirección de protocolo de Internet (IP), sin embargo, tal como lo apreciarán los expertos en la técnica, cada modalidad de la presente invención no está limitada a esto. En el paso 514, se puede adquirir una dirección privada automática IP (APIPA), por ejemplo, con el módulo de dirección privada automática IP (APIPA) 318 (figura 3). Por lo tanto, en una modalidad de la presente invención, la dirección privada automática IP es asignada en forma pseudos-aleatoria y sin referencia a un recurso de red de infraestructura de coordinación, existe una oportunidad de que más de una computadora 202, 204, 206, 208, 210, 212 y 214 (figura 2) en una formación de red ad hoc 216, puede adquirir una misma dirección privada automática IP. En el paso 516, dichas direcciones duplicadas pueden ser detectadas y readquiridas en un procedimiento de detección de dirección de duplicado convencional. En forma significativa, el modo de adquisición de dirección de red ad hoc activado en el paso 508 puede ser un modo acelerado y/o más eficiente de adquisición de dirección de red para una red ad hoc en comparación, por ejemplo, con un modo de adquisición de dirección de red por default o de infraestructura. Por ejemplo, el modo de adquisición de dirección de red por default o infraestructura puede incluir uno o más pasos que corresponden al paso 510 en el cual se puede realizar un intento de adquirir una dirección de red a partir de un servidor de protocolo de configuración de re-ordenador dinámico o similar. Si se hace dicho intento en una red que carece de dicha infraestructura, se desperdiciará cierta cantidad de ejemplo (por ejemplo 60 segundos) antes de que el intento finalice, incluso, si se llevan a cabo posteriormente uno o más pasos que corresponden al paso 512. El modo de adquisición de dirección de red ad hoc puede evitar problemas potencialmente difíciles asociados con la mejoría de las eficiencias de detección del elemento de infraestructura, evitando de esta forma dichos intentos de detección. En una modalidad de la presente invención, el modo de adquisición de dirección de red ad hoc mejora de esta manera la eficiencia de formación de red ad hoc. En una o más modalidades de la presente invención, el modo de adquisición de dirección de red ad hoc puede proceder el paralelo con uno o más modos de adquisición de dirección de red alternativas, de modo que los modos de adquisición de dirección de red por default o de infraestructura, y, por ejemplo, una o más direcciones de red obtenidas con los modos de adquisición de dirección de red alternativas, puedan suplementar o reemplazar la dirección de red adquirida por el modo de adquisición de dirección de red ad hoc. Una vez que la dirección de red ad hoc ha sido lo suficientemente adquirida en el paso 512, la computadora 202, 204, 206, 208, 210, 212 y 214 (figura 2) que llevan a cabo el paso 512, pueden ser consideradas, como habiéndose unido a una red ad hoc, tal como la red ad hoc 216, 218 ó 220. En algún punto, la computadora 202, 204, 206, 208, 210, 212 y 214 pueden abandonar la red ad hoc 216, 218 ó 220. La figura 6 ilustra pasos de ejemplo para abandonar la red ad hoc 216, 218 o 220 de acuerdo con una modalidad de la presente invención. Un símbolo de conexión 518 indica una continuidad entre los pasos ilustrados en la figura 5 y los pasos ilustrados en la figura 6. En el paso 602, se puede recibir una notificación de desunión de red ad hoc, por ejemplo, a través del módulo de convergencia de red ad hoc 320 (figura 3). En una modalidad de la presente invención, las notificaciones de desunión de red ad hoc corresponden a las notificaciones de desconexión de medios convencionales proporcionados por el servicio de red 306. En respuesta a la notificación de desunión de la red, en el paso 604, el modo de adquisición de dirección de red ad hoc (ANAA) activado en el paso 508 (figura 5), puede ser desactivado. Como resultado, el servicio de red 306 puede revertir un modo de infraestructura o por default de la adquisición de dirección de red. La figura 7 ilustra pasos de ejemplo para seleccionar el esquema de comunicación de capa física de acuerdo con una modalidad de la presente invención. En el paso 702, puede determinarse si el esquema de comunicación de capa física (por ejemplo "tipo PHY") será seleccionado en forma manual. Por ejemplo, un elemento de configuración del servicio de red 306 (figura 3) puede indicar si posteriormente el esquema de comunicación de capa física será seleccionado en forma manual o automática. Si el esquema de comunicación de capa física será seleccionado en forma manual, el procedimiento puede progresar al paso 704. De lo contrario, el procedimiento puede progresar al paso 706. En el paso 704, se puede desplegar una interfase gráfica del usuario de selección de esquema de comunicación de capa física (GUI) al usuario de la computadora 302 (figura 3), por ejemplo, a través del servicio de red 306. La interfase gráfica del usuario de selección de esquema de comunicación de capa física puede presentar opciones de un esquema de comunicación de capa física para la selección a través del usuario de una computadora 302. Por ejemplo, las opciones del esquema de comunicación de capa física pueden ser determinadas a través de las capacidades de las tarjetas de interfase de red 308, 310. En el paso 708, se puede recibir una selección elaborada por el usuario de la computadora 302, por ejemplo, a través del servicio de red 306. En el paso 706, se puede determinar un número de esquemas de comunicación de capa física disponibles. Por ejemplo, el módulo de convergencia de red ad hoc 320 (figura 3) puede consultar el servicio de red 306 con respecto a las capacidades de las tarjetas de interfase de red 308, 310 de la computadora 302. Si el número de esquemas de comunicación de capa física disponibles se determina para hacer mayor a uno, entonces el procedimiento puede progresar al paso 710. De lo contrario, el procedimiento puede progresar al paso 712. En el paso 712, el esquema de comunicación de capa física disponible simple puede ser seleccionado, o, si no existen esquemas de comunicación de capa física disponibles, puede surgir una excepción de programación. En el paso 710, se puede determinar sí están disponibles los esquemas de comunicación de la capa física IEEE 802.11a, 802.11b y 802.11 g . Si están disponibles los esquemas de comunicación de capa física IEEE 802.11a, 802.11b y 802.11 g el procedimiento puede progresar al paso 714. De lo contrario, el procedimiento puede progresar al paso 716. En el paso 714, el esquema de comunicación de la capa física IEEE 802.11 g puede ser seleccionado. En una modalidad de la presente invención, la selección del esquema de comunicación de capa física IEEE 802. 11 g para esta condición, optimiza la convergencia de red ad hoc debido a que el esquema de comunicación de capa física IEEE 802.11 g tiene compatibilidad hacia atrás con el esquema de comunicación de capa física 802.11b, en tanto que ninguno de 802.11b ó 802.11 g son compatibles hacia atrás con 802.11a. En el paso 716, se puede determinar si los esquemas de comunicación de capa física IEEE 802.11b y 802.11 g están disponibles. Si están disponibles los esquemas de comunicación de capa física IEEE 802.11b y 802.11 g, el procedimiento puede progresar al paso 718. De lo contrario, el procedimiento puede progresar al paso 720. En el paso 718, se puede seleccionar el esquema de comunicación de capa física IEEE 802.11 g . En una modalidad de la presente invención, la selección del esquema de comunicación de capa física IEEE 802.11g para esta condición optimiza la convergencia de red ad hoc debido a que el esquema de comunicación de capa física IEEE 802.11 g tiene compatibilidad hacia atrás con el esquema de comunicación de capa física 802.11b.
Tal como se indica a través de las líneas punteadas 722, 724 y 726, cada uno de los pares de condición-acción, esto es, los pasos 706 y 712, pasos 710 y- 714, y pasos 716 y 718, se pueden considerar como una regla de convergencia de red ad hoc adecuada para codificación y/o incorporación en el grupo de reglas de convergencia de red ad hoc 324 (figura 3). Cada modalidad de la presente invención no necesita tener cada una de las reglas 722, 724 y 726. Una modalidad de la presente invención puede tener menos o más de las reglas 722, 724 y 726. Las reglas adicionales y/o diferentes pueden tener una condición de convergencia de red ad hoc y una acción de convergencia de red ad hoc similar a las reglas 722, 724 ó 726, pero cada modalidad de la presente invención no se limita a esto. La condición de convergencia de red ad hoc puede incluir cualquier predicado adecuado, por ejemplo, tal como se define a través de una base de datos o lenguaje de programación. La acción de convergencia de red ad hoc puede incluir cualquier grupo adecuado de instrucciones de programación, por ejemplo tal como se define a través de una base de datos o lenguaje de programación e incluye invocaciones de función y otras interacciones con el sistema de operación 304 (figura 3) de la computadora 302 y con la computadora(s) remota 116 (figura 1).
Habiéndose agotado el conjunto de reglas 722, 724 y 726 en este ejemplo, el procedimiento puede progresar al paso 720 para intentar un procedimiento de sección de esquema de comunicación de capa física a base de clasificación. Aunque en una modalidad alternativa de la presente invención, se omiten los pasos 720 y 728 y surge una sección de programación si se agota el conjunto de reglas de convergencia de red ad hoc 324. En el paso 720, cada esquema de comunicación de capa física disponible puede ser clasificado de acuerdo con suficiencia de convergencia de red ad hoc. Por ejemplo, cada esquema de comunicación de capa física puede estar asociado con una clasificación de convergencia configurado o función de clasificación de convergencia, y el esquema de comunicación de capa física disponible puede ser clasificado de acuerdo con sus clasificaciones de convergencia configuradas respectivas y/o un resultado de sus funciones de clasificación de convergencia respectiva. Los parámetros adecuados de funciones de clasificación de convergencia incluyen el grupo de esquemas de comunicación de capa física disponibles, sus clasificaciones de convergencia configuradas y/o sus funciones de clasificación de convergencia. Las funciones de clasificación de convergencia pueden modificar las clasificaciones de convergencia configurados existentes y/o regresar nuevas clasificaciones de convergencia categóricas. En el paso 728, se puede seleccionar el esquema de mayor nivel de comunicación de capa física de clasificación. Cuando dos o más esquemas de comunicación de capa física son clasificados de manea igual, la selección puede ser elegido en forma determinante de entre los esquemas de comunicación de capa física clasificados en forma igual, por ejemplo, en orden alfabético inverso de los nombres del esquema. En una modalidad de la presente invención, los pasos ilustrados en la figura 7 aseguran que se elabore una misma selección o una selección compatible del esquema de comunicación de capa física a través del grupo de computadoras 202, 204, 206, 208, -210, 212 y 214 (figura 2) que intentan convergir en la única red ad hoc 216, mejorando de esta forma la eficiencia de convergencia de red ad hoc. En el ejemplo listado en la figura 7, los pasos 720 y 728 se muestran como pasos que se pueden llevar a cabo además de, o en lugar de, los pasos asociados con las reglas 722, 724 y 726. Sin embargo, en una modalidad alternativa de la presente invención, los pasos 720 y 728 pueden ser implementados como una o más reglas de convergencia de red ad hoc en el grupo de reglas convergencia 324 (figura 3). Cuando se implementán los pasos como reglas en el grupo de reglas de convergencia 324, las reglas en el grupo de reglas de convergencia 324 pueden ser interpretadas por el módulo de convergencia de red ad hoc 320. De lo contrario, los pasos pueden ser incorporados en forma convencional, por ejemplo, en el módulo de convergencia de red ad hoc 320. Todas las referencias, incluyendo publicaciones, solicitudes de patente y patentes aquí mencionadas están incorporadas a la presente invención como referencia, en el mismo grado como si cada referencia fuera indicada en forma individual y específica para estar incorporada como referencia, y hubieran sido establecidas en su totalidad en la presente invención. El uso de los términos "un" y "uno" y ("el", "la", "los") y referencias similares en el contexto de la descripción de la presente invención (especialmente dentro del contexto de las siguientes reivindicaciones), están construidos para cubrir términos tanto singulares como plurales, a menos que se indique lo contrario o se contradiga de manera clara en el contexto. Los términos "que comprende", "que tiene", "que incluye" y "que contiene", están construidos como términos abiertos (es decir que significan "que incluyen, pero no se limitan a") a menos que se indique lo contrario. La mención de rangos de valores en la presente invención están proyectados meramente para servir como un método disponible para la referencia individual a cada valor separado que cae dentro del rango, a menos que se indique lo contrario en la presente invención, y cada valor separado está incorporado en la especificación como si fueran mencionados de manera individual en la misma. Todos los métodos aquí descritos pueden llevarse a cabo en cualquier orden adecuado a menos que se indique lo contrario en la presente invención o se contradiga de manera clara en el contexto. El uso de cualesquiera de todos los ejemplos, o lenguaje de ejemplo (por ejemplo "tal como") proporcionados en la presente invención, pretenden iluminar de mejor manera la presente invención y no poseen una limitación en el alcance de la misma a menos que se indique lo contrario. No de debe construir el lenguaje en la presente especificación como que indique cualquier elemento no reivindicado como esencial para la práctica de la presente invención. Las modalidades preferidas de la presente invención se describen en la misma, incluyendo el mejor modo conocido para los inventores para llevar a cabo la misma. Las variaciones de dichas modalidades preferidas pueden ser apreciadas por los expertos en la técnica al momento de leer la descripción anterior. Los inventores esperan que los expertos en la técnica empleen dichas variaciones según sea adecuado, y los inventores pretenden que la presente invención se lleve cabo en formas diferentes a la descrita de manera específica en la presente invención. Por consiguiente, la presente invención incluye todas las modificaciones y equivalentes del asunto o materia mencionados en las reivindicaciones adjuntas como permitidos por la ley aplicable. Además, cualquier combinación de los elementos antes descritos en todas las posibles variaciones de los mismos, está comprendido en la presente invención a menos que se indique lo contrario en la misma o se contradiga de manera clara en el contexto.