ES2633566T3 - Gestión de mantenimiento de conexión - Google Patents
Gestión de mantenimiento de conexión Download PDFInfo
- Publication number
- ES2633566T3 ES2633566T3 ES11872022.6T ES11872022T ES2633566T3 ES 2633566 T3 ES2633566 T3 ES 2633566T3 ES 11872022 T ES11872022 T ES 11872022T ES 2633566 T3 ES2633566 T3 ES 2633566T3
- Authority
- ES
- Spain
- Prior art keywords
- network
- applications
- connection maintenance
- network interface
- connection
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/12—Arrangements for remote connection or disconnection of substations or of equipment thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/04—Processing captured monitoring data, e.g. for logfile generation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/143—Termination or inactivation of sessions, e.g. event-controlled end of session
- H04L67/145—Termination or inactivation of sessions, e.g. event-controlled end of session avoiding end of session, e.g. keep-alive, heartbeats, resumption message or wake-up for inactive or interrupted session
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W52/00—Power management, e.g. TPC [Transmission Power Control], power saving or power classes
- H04W52/02—Power saving arrangements
- H04W52/0209—Power saving arrangements in terminal devices
-
- 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)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Cardiology (AREA)
- Data Mining & Analysis (AREA)
- Environmental & Geological Engineering (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Power Sources (AREA)
- Telephonic Communication Services (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
Un procedimiento implementado por un dispositivo (102) informático, comprendiendo el procedimiento: calcular un intervalo (1302) de mantenimiento de la conexión mediante un sistema (102) operativo del dispositivo informático, en el que calcular el intervalo (1302) de mantenimiento de la conexión incluye computar el mínimo de un intervalo de temporización de servidor de un punto (1306) de extremo de un dispositivo (112) de entrelazado de red del dispositivo (102) informático y de un intervalo de temporización de red de dispositivos de intermediación de una red (114) a la que se conecta el dispositivo (112) de interfaz de red; y usar el intervalo (1302) de mantenimiento de la conexión para conservar uno o más canales de notificación entre una o más aplicaciones (120) del dispositivo (102) informático y una red.
Description
5
10
15
20
25
30
35
40
45
50
DESCRIPCION
Gestion de mantenimiento de conexion Antecedentes
Usuarios tienen acceso a una variedad cada vez mayor de dispositivos informaticos que pueden configurarse para uso en red. Por ejemplo, los usuarios pueden interactuar con un ordenador de sobremesa, un telefono movil, un ordenador de tableta y asf sucesivamente para interactuar a traves de redes por cable o inalambricas.
Las tecnicas convencionales que se emplearon para acceder a estas redes, sin embargo, fueron a menudo ineficientes y por lo tanto podnan consumir una significante cantidad de recursos, incluyendo potencia, procesamiento y recursos de red. En consecuencia, estas tecnicas convencionales podnan limitar la funcionalidad disponible a un usuario del dispositivo.
El documento US-2010/312899 representa la mas cercana tecnica anterior y desvela un sistema y procedimiento para la determinacion de un intervalo de mantenimiento de la conexion eficiente para una conexion de red.
Sumario
Se describen tecnicas de gestion de patrones de reactivacion. En una o mas implementaciones, se supervisa trafico de red recibido por un dispositivo de interfaz de red de un dispositivo informatico y se reconoce un patron de trafico en el trafico de red supervisado. Se identifica que una aplicacion del dispositivo informatico corresponde al patron de trafico reconocido y como respuesta a esta identificacion, al menos una porcion de la aplicacion identificada se reactiva.
En una o mas implementaciones, se registra un patron de trafico correspondiendo a una aplicacion configurada para ejecucion en el dispositivo informatico. Como respuesta al reconocimiento del patron de trafico en trafico de red mientras la aplicacion esta en un estado suspendido, una transicion de al menos una porcion de la aplicacion se acciona desde el estado suspendido a un estado activo.
En una o mas implementaciones, uno o mas medios de almacenamiento legible por ordenador comprenden instrucciones almacenadas en los mismos que, como respuesta a ejecucion mediante un dispositivo informatico, provocan que el dispositivo informatico implemente un sistema operativo configurado para soportar una tecnica para reactivar al menos una porcion de una aplicacion suspendida en respuesta a identificacion de un paquete entrante recibido mediante un dispositivo de interfaz de red del dispositivo informatico.
Tambien se describe la gestion de sistemas operativos de dispositivos de interfaz de red. En una o mas implementaciones, un sistema operativo hace una determinacion de que ha finalizado el trafico de red asociado con una o mas aplicaciones del dispositivo informatico. Como respuesta a la determinacion, se provoca que un dispositivo de interfaz de red pase a un modo para reducir el consumo de potencia del dispositivo de interfaz de red mediante el sistema operativo.
En una o mas implementaciones, un dispositivo de interfaz de red se hace disponible para una o mas aplicaciones del dispositivo informatico mediante un sistema operativo cuando el dispositivo de interfaz de red esta en un modo de alta potencia. El dispositivo de interfaz de red se hace no disponible a la una o mas aplicaciones del dispositivo informatico mediante el sistema operativo cuando el dispositivo de interfaz de red esta en un modo de baja potencia.
En una o mas implementaciones, uno o mas medios de almacenamiento legible por ordenador comprenden instrucciones almacenadas en los mismos que, como respuesta a ejecucion mediante un dispositivo informatico, provocan que el dispositivo informatico implemente un sistema operativo configurado para soportar un acceso restringido de tecnica mediante una o mas aplicaciones del dispositivo informatico a un dispositivo de interfaz de red que se situa en un modo para reducir consumo de potencia, el dispositivo de interfaz de red configurado para reactivarse del modo en respuesta a la recepcion de una notificacion automatica.
Tambien se describen tecnicas de gestion de mantenimiento de la conexion. En una o mas implementaciones, un intervalo de mantenimiento de la conexion se calcula mediante un sistema operativo del dispositivo informatico. El intervalo de mantenimiento de la conexion se usa para conservar uno o mas canales de notificacion entre una o mas aplicaciones del dispositivo informatico y una red.
En una o mas implementaciones, se hace una determinacion para cada una de una pluralidad de aplicaciones ejecutables en el dispositivo informatico de uno o mas intervalos de temporizacion de servidor especificados para conservar un canal de notificacion con un punto de extremo respectivo a traves de una red. Un intervalo de mantenimiento de la conexion se calcula a partir del uno o mas intervalos de temporizacion de servidor para cada una de la pluralidad de aplicaciones. El intervalo de mantenimiento de la conexion se usa para reactivar un dispositivo de interfaz de red como se especifica para conservar los canales de notificacion.
En una o mas implementaciones, uno o mas medios de almacenamiento legible por ordenador comprenden instrucciones ejecutables por ordenador que, como respuesta a ejecucion mediante un dispositivo informatico,
5
10
15
20
25
30
35
40
45
50
55
60
provocan que el dispositivo informatico implemente un sistema operativo configurado para usar un intervalo de mantenimiento de la conexion para conservar canales de notificacion entre una pluralidad de aplicaciones que son ejecutables en el dispositivo informatico y uno o mas puntos de extremo respectivos a traves de una red, el intervalo de mantenimiento de la conexion calculado a base de uno o mas intervalos de temporizacion de red de uno o mas dispositivos intermediarios de la red y uno o mas intervalos de temporizacion de servidor de puntos de extremo respectivos con los que la una o mas aplicaciones comunica a traves de la red.
Este Sumario se proporciona para introducir una seleccion de conceptos de una forma simplificada que se describen adicionalmente a continuacion en la Descripcion Detallada. Este Sumario no pretende identificar caractensticas clave o caractensticas esenciales del objeto reivindicado, si pretende usarse como una ayuda en la determinacion del alcance del objeto reivindicado.
Breve descripcion de los dibujos
La descripcion detallada se describe con referencia a las figuras adjuntas. En las figuras, el(los) dfgito(s) de mas a la izquierda de un numero de referencia identifica la figura en la que aparece primero el numero de referencia. El uso de los mismos numeros de referencia en diferentes instancias en la descripcion y las figuras puede indicar artfculos similares o identicos.
La Figura 1 es una ilustracion de un entorno en una implementacion de ejemplo que es operable para emplear un modulo de negociador de red para gestionar la comunicacion de red de una o mas aplicaciones de un dispositivo informatico.
La Figura 2 es una ilustracion de un sistema en una implementacion de ejemplo que muestra el modulo de negociador de red de la Figura 1 en mayor detalle empleando un modulo de gestor de patron de reactivacion.
La Figura 3 es un diagrama de flujo que representa un procedimiento en una implementacion de ejemplo en la que se usa reconocimiento de un patron de trafico para pasar al menos una porcion de una aplicacion desde un estado suspendido a un estado activo.
La Figura 4 es un diagrama de flujo que representa otro procedimiento en una implementacion de ejemplo en la que se usa reconocimiento de un patron de trafico para reactivar al menos parte de una aplicacion.
La Figura 5 es una ilustracion de un sistema en una implementacion de ejemplo que muestra el modulo de negociador de red de la Figura 1 en mayor detalle empleando un modulo de gestor de dispositivo de red.
La Figura 6 es una ilustracion de otro sistema en una implementacion de ejemplo que muestra operacion de ejemplo de un modulo de gestor de dispositivo de red.
La Figura 7 representa una implementacion de ejemplo que muestra una transicion silenciosa de dispositivo de interfaz de red.
La Figura 8 representa una implementacion de ejemplo que muestra una transicion activa de dispositivo de interfaz de red.
La Figura 9 representa una implementacion de ejemplo que muestra una transicion de suspension de sistema.
La Figura 10 representa una implementacion de ejemplo que muestra una transicion de reanudacion de sistema. La Figura 11 es un diagrama de flujo que representa un procedimiento en una implementacion de ejemplo en la que se hace una determinacion de que el trafico de red ha finalizado y un dispositivo de interfaz de red se pasa a un modo de baja potencia mediante un sistema operativo.
La Figura 12 es un diagrama de flujo que representa un procedimiento en una implementacion de ejemplo en la que un dispositivo de interfaz de red se hace no disponible a aplicaciones durante un modo de potencia menor.
La Figura 13 es una ilustracion de un sistema en una implementacion de ejemplo que muestra el modulo de negociador de red de la Figura 1 en mayor detalle empleando un modulo de gestor de mantenimiento de la conexion.
La Figura 14 es una ilustracion de un sistema en una implementacion de ejemplo que muestra una implementacion de ejemplo del calculo y ajuste de un intervalo de mantenimiento de la conexion de la Figura 13. La Figura 15 representa un procedimiento en una implementacion de ejemplo en la que se calcula y usa un intervalo de mantenimiento de la conexion para conservar uno o mas canales de notificacion.
La Figura 16 representa un procedimiento en una implementacion de ejemplo en la que se calcula un intervalo de mantenimiento de la conexion para agrupar comunicaciones de mantenimiento de la conexion de aplicaciones. Las Figuras 17 y 18 representan sistemas que muestran ejemplos de implementaciones de una negociacion de conectividad de red de la Figura 1.
La Figura 19 ilustra un sistema de ejemplo que incluye el dispositivo informatico como se describe con referencia a la Figura 1.
La Figura 20 ilustra diversos componentes de un dispositivo de ejemplo que puede implementarse como cualquier tipo de dispositivo informatico como se describe con referencia a las Figuras 1, 2, 5-10, 13, 14 y 17-19 para implementar realizaciones de las tecnicas descritas en el presente documento.
Descripcion detallada
Vision de conjunto
Aplicaciones conectadas a la red habitualmente implican una capacidad para conservar una conexion de funcionamiento larga para permanecer "actualizado." Sin embargo, con tecnicas convencionales esto puede ser a
5
10
15
20
25
30
35
40
45
50
55
60
expensas de mantener un dispositivo de interfaz de red (por ejemplo, una tarjeta de interfaz de red) conectado para garantizar accesibilidad, que puede afectar negativamente al uso de recursos de un dispositivo informatico. Por ejemplo, las tecnicas convencionales permitfan a aplicaciones y servicios de un dispositivo informatico acceso sin restricciones al dispositivo de interfaz de red. Por lo tanto, un sistema operativo habitualmente no era consciente en cualquier momento dado si el dispositivo de interfaz de red estaba siendo usado por una aplicacion. Esto puede evitar que el dispositivo entre en un modo de baja potencia hasta que se detecta un reposo, que puede tardar treinta segundos y por lo tanto puede provocar un impacto significativo en una fuente de alimentacion, por ejemplo, duracion de la batena.
Por consiguiente, en el presente documento se describen tecnicas en las que un componente de sistema operativo denominado un modulo de negociador de red puede utilizarse para coordinar el uso de los dispositivos de interfaz de red del dispositivo informatico. Por ejemplo, el dispositivo de interfaz de red puede emplear un modulo de gestor de patron de reactivacion para determinar que aplicaciones del dispositivo informatico, si alguna, deben reactivarse en respuesta a la recepcion de trafico de red. El modulo de gestor de patron de reactivacion, por ejemplo, puede detectar si esta presente un patron pre-registrado en el trafico de red, y si es asf, reactivar una correspondiente aplicacion. De esta manera, el modulo de gestor de patron de reactivacion puede permitir que aplicaciones que aprovechan la red se conecten para entrar en un estado suspendido y aun asf proporcionen una experiencia de usuario "siempre encendido/siempre conectado". Descripcion adicional del modulo de gestor de patron de reactivacion puede encontrarse en relacion con las Figuras 2-4.
En otro ejemplo, el modulo de negociador de red puede incorporar funcionalidad de un modulo de gestor de dispositivo de red. El modulo de gestor de dispositivo de red puede usarse para provocar que el dispositivo de interfaz de red entre en un modo de baja potencia cuando el modulo determina que ha finalizado el trafico de red que implica aplicaciones del dispositivo informatico, por ejemplo, supervisando rellamadas. Por lo tanto, el modulo 126 de gestor de dispositivo de red del sistema operativo puede ubicarse como un intermediario entre el dispositivo de interfaz de red y las aplicaciones. Como un intermediario, el sistema operativo puede tener conocimiento de actividad de interconexion y por lo tanto puede decir de forma determimstica si el dispositivo de interfaz de red puede entrar en un modo de baja potencia, por ejemplo, un modo silencioso de red. Descripcion adicional del modulo de gestor de dispositivo de red puede encontrarse en relacion con las Figuras 5-12.
En un ejemplo adicional, el modulo de negociador de red puede incorporar funcionalidad de un modulo de gestor de mantenimiento de la conexion. El modulo de gestor de mantenimiento de la conexion puede usarse para "mantener la conexion" de conexiones de red (por ejemplo, canales de notificacion) mientras aplicaciones estan en un estado suspendido y por lo tanto puede disminuir el uso de recursos asociado con las aplicaciones. Ademas, el modulo de gestor de mantenimiento de la conexion puede usarse para permitir que el dispositivo de interfaz de red entre en un modo de baja potencia y "se reactive" para conservar las conexiones de red y por lo tanto puede disminuir el uso de recursos asociado con el propio dispositivo de interfaz de red. Una diversidad de otras funcionalidades tambien puede incorporarse mediante el modulo de gestor de mantenimiento de la conexion, tal como determinar dinamicamente un intervalo de mantenimiento de la conexion, de lo que puede encontrarse descripcion adicional en relacion con las Figuras 13-18.
En la siguiente descripcion, se describe primero un entorno de ejemplo que puede emplear las tecnicas descritas en el presente documento. A continuacion se usan secciones de ejemplo para describir funcionalidad de ejemplo del modulo de gestor de patron de reactivacion, modulo de gestor de dispositivo de red y modulo de gestor de mantenimiento de la conexion. A continuacion se describe un ejemplo de implementacion que puede incorporar funcionalidad de las secciones anteriormente descritas. Debena ser facilmente evidente que las tecnicas descritas en el presente documento no se limitan a la realizacion en el entorno de ejemplo y el entorno de ejemplo no se limita a la realizacion de las tecnicas de ejemplo.
Entorno de Ejemplo
La Figura 1 es una ilustracion de un entorno 100 en una implementacion de ejemplo que es operable para emplear tecnicas de negociacion de red descritas en el presente documento. El entorno 100 ilustrado incluye un dispositivo 102 informatico que incluye un sistema 104 de procesamiento (por ejemplo, uno o mas procesadores, bloques funcionales), memoria 106, una fuente 108 de alimentacion, un dispositivo 110 de visualizacion y uno o mas dispositivos 112 de interfaz de red configurados para proporcionar conexiones de red (por ejemplo, canales de notificacion) a traves de la red 114. En la siguiente descripcion las entidades representadas pueden ser indicativas de una o mas entidades y por lo tanto puede hacerse referencia indistintamente a formas singular o plural de las entidades, por ejemplo, el dispositivo 112 de interfaz de red, los dispositivos 112 de interfaz de red y asf sucesivamente.
El dispositivo 102 informatico puede configurarse en una diversidad de formas. Por ejemplo, el dispositivo 102 informatico puede configurarse como un ordenador que es capaz de comunicar en la red 114, tales como un ordenador de sobremesa, una estacion movil, un aparato de entretenimiento, un decodificador de salon acoplado comunicativamente a un dispositivo de visualizacion, un telefono inalambrico, una consola de juegos y asf sucesivamente. Por lo tanto, el dispositivo 102 informatico puede variar desde dispositivos de recursos completos con recursos de memoria y procesador sustanciales (por ejemplo, ordenadores personales, consolas de juegos)
5
10
15
20
25
30
35
40
45
50
55
hasta un dispositivo de recursos bajos con recursos de memoria y/o procesamiento limitados (por ejemplo, decodificadores de salon tradicionales, consolas de juegos de mano). Adicionalmente, aunque se muestra un unico dispositivo 102 informatico, el dispositivo 102 informatico puede ser representativo de una pluralidad de dispositivos diferentes, tales como servidores multiples utilizados por un negocio para realizar operaciones (por ejemplo, una torre de servidores), una combinacion de control remoto y decodificador de salon, un dispositivo de captura de imagen y una consola de juegos y asf sucesivamente.
Aunque la red 114 se ilustra como la Internet, la red puede asumir una amplia variedad de configuraciones. Por ejemplo, la red 114 puede incluir una red de area extensa (WAN), una red de area local (LAN) o una Internet y por lo tanto el dispositivo 112 de interfaz de red puede configurarse para acceder a estas redes a traves de una conexion por cable. La red 114 tambien puede configurarse para el acceso a traves de tecnicas inalambricas, tales como una red de area extensa inalambrica (WWAN), una red de area local inalambrica (WLAN), una red celular (por ejemplo, una red 3G, 4G, LTE) y asf sucesivamente. El dispositivo 112 de interfaz de red puede ser representativo de dispositivos ffsicos y tambien dispositivos de red virtuales, tales como los usados para soportar una red privada virtual, tunelizacion y asf sucesivamente. Por lo tanto, aunque se muestra una unica red 114, la red 114 puede ser representativa de una pluralidad de redes.
El dispositivo 102 informatico se ilustra adicionalmente incluyendo un sistema 116 operativo. El sistema 116 operativo se configura para extraer la funcionalidad subyacente del dispositivo 102 informatico para aplicaciones 118, 120 que son ejecutables en el dispositivo 102 informatico. Por ejemplo, el sistema 116 operativo puede extraer funcionalidad de sistema 104 de procesamiento, memoria 106, fuente 108 de alimentacion (por ejemplo, batena o conexion por cable) y/o dispositivo 110 de visualizacion del dispositivo 102 informatico de tal forma que las aplicaciones 118, 120 pueden escribirse sin conocer "como" se implementa esta funcionalidad subyacente. Las aplicaciones 118, 120, por ejemplo, pueden proporcionar datos al sistema 116 operativo para convertir y visualizar mediante el dispositivo de visualizacion 112 sin comprender como puede realizarse esta conversion.
Analogamente, el sistema 116 operativo tambien puede extraer funcionalidad de conexion de red para las aplicaciones 118, 120 a traves del uso de un modulo 122 de negociador de red. El modulo 122 de negociador de red es representativo de funcionalidad para gestionar el uso del dispositivo 112 de interfaz de red mediante las aplicaciones 118, 120 asf como operacion del propio dispositivo 112 de interfaz de red.
Como se ha descrito anteriormente el modulo 122 de negociador de red puede incorporar una diversidad de diferentes funcionalidades para realizar esta gestion. Por ejemplo, el modulo de negociador de red 112 puede incorporar un modulo 124 de gestor de patron de reactivacion que se configura para reactivar una o mas de las aplicaciones 118, 120 tras la identificacion de un patron de trafico particular. El patron de trafico particular, por ejemplo, puede pre-registrarse mediante la aplicacion y por lo tanto cuando se reconoce el patron, el modulo 124 de gestor de patron de reactivacion puede reactivar la correspondiente una de las aplicaciones 118, 120 al contrario que tecnicas convencionales en las que una totalidad del dispositivo 102 informatico se reactivo, incluyendo cada una de las aplicaciones 118, 120. Descripcion adicional del modulo 124 de gestor de patron de reactivacion puede encontrarse en relacion con las Figuras 2-4.
El modulo 122 de negociador de red tambien se ilustra incluyendo un modulo 126 de gestor de dispositivo de red. Como se ha mencionado antes, este modulo es representativo de funcionalidad para gestionar operacion del dispositivo 112 de interfaz de red asf como disponibilidad del dispositivo 112 de interfaz de red para aplicaciones 118, 120 del dispositivo 102 informatico. Esto puede incluir provocar que el dispositivo 112 de interfaz de red entre en un modo para reducir consumo de potencia cuando el modulo 126 de gestor de dispositivo de red determina que ha finalizado trafico de red que implica a las aplicaciones 118, 120.
Adicionalmente, el modulo 126 de gestor de dispositivo de red puede hacer no disponible el dispositivo 112 de interfaz de red para las aplicaciones 118, 120 para periodos de tiempo en este modo de tal forma que las aplicaciones 118, 120 no necesariamente reactivan el dispositivo 112 de interfaz de red. De esta manera, el modulo 126 de gestor de dispositivo de red puede "enviar al agujero negro" comunicaciones desde aplicaciones 118, 120 al dispositivo de interfaz de red. Descripcion adicional del modulo 126 de gestor de dispositivo de red puede encontrarse en relacion con su correspondiente seccion en la siguiente descripcion que comienza en relacion con las Figuras 5-12.
El modulo 122 de negociador de red se ilustra adicionalmente incluyendo un modulo 128 de gestion de mantenimiento de la conexion. El modulo 128 de gestion de mantenimiento de la conexion es representativo de la funcionalidad que puede usarse para conservar conexiones de red, incluso para aplicaciones 118, 120 en un estado suspendido. El modulo 128 de gestion de mantenimiento de la conexion, por ejemplo, puede comunicar con uno o mas servidores de un servicio de red para mantener activa una conexion de red entre el servicio y el dispositivo 102 informatico en la red 114. El modulo 128 de gestion de mantenimiento de la conexion tambien puede incluir funcionalidad para determinar dinamicamente un intervalo en el que esta actividad sucedera y por lo tanto puede conservar adicionalmente recursos del dispositivo 102 informatico. Descripcion adicional del modulo 128 de gestion de mantenimiento de la conexion puede encontrarse en relacion con su correspondiente seccion en la siguiente descripcion que comienza en relacion con las Figuras 13-18.
5
10
15
20
25
30
35
40
45
50
55
Aunque el modulo 122 de negociador de red y su correspondiente modulo 124 de gestor de patron de reactivacion, modulo 126 de gestor de dispositivo de red y modulo 128 de gestion de mantenimiento de la conexion se ilustran como parte del sistema 116 operativo, debena ser facilmente evidente que esta funcionalidad puede implementarse mediante una diversidad de diferentes entidades. Ejemplos de tales entidades incluyen aplicaciones independientes, complementos de terceras partes y asf sucesivamente.
En general, cualquiera de las funciones descritas en el presente documento puede implementarse usando software, firmware, hardware (por ejemplo, circuitena logica fija) o una combinacion de estas implementaciones. Los terminos "modulo," "funcionalidad" y "logica" como se usan en el presente documento generalmente representan software, firmware, hardware o una combinacion de los mismos. En el caso de una implementacion de software, el modulo, funcionalidad o logica representa codigo de programa que realiza tareas espedficas cuando se ejecuta en un procesador (por ejemplo, una CPU o varias CPU). El codigo de programa puede almacenarse en uno o mas dispositivos de memoria legibles por ordenador. Las caractensticas de las tecnicas de negociacion de red descritas a continuacion son independientes de la plataforma, significando que las tecnicas pueden implementarse en una diversidad de plataformas informaticas comerciales que tienen una diversidad de procesadores.
Por ejemplo, el dispositivo 102 informatico tambien puede incluir una entidad (por ejemplo, software) que provoca que hardware del dispositivo 102 informatico realice operaciones, por ejemplo, procesadores, bloques funcionales y asf sucesivamente. Por ejemplo, el dispositivo 102 informatico puede incluir un medio legible por ordenador que puede configurarse para conservar instrucciones que provocan que el dispositivo informatico, y mas particularmente hardware del dispositivo 102 informatico, realice operaciones. Por lo tanto, las instrucciones funcionan para configurar el hardware para realizar las operaciones y de esta manera resultan en la transformacion del hardware para realizar funciones. Las instrucciones pueden proporcionarse mediante el medio legible por ordenador al dispositivo 102 informatico a traves de una diversidad de diferentes configuraciones.
Una configuracion de este tipo de un medio legible por ordenador es medio portador de senal y por lo tanto se configura para transmitir las instrucciones (por ejemplo, como una onda de portadora) al hardware del dispositivo informatico, tal como a traves de una red. El medio legible por ordenador tambien puede configurarse como un medio de almacenamiento legible por ordenador y por lo tanto no es un medio portador de senal. Ejemplos de un medio de almacenamiento legible por ordenador incluyen una memoria de acceso aleatorio (RAM), memoria de solo lectura (ROM), un disco optico, memoria flash, memoria de disco duro y otros dispositivos de memoria que pueden usar tecnicas magneticas, opticas y otras para almacenar instrucciones y otros datos.
Modulo de Gestor de Patron de Reactivacion
La Figura 2 es una ilustracion de un sistema 200 en una implementacion de ejemplo que muestra operacion de ejemplo de un modulo 124 de gestor de patron de reactivacion del modulo 122 de negociador de red de la Figura 1. Como se ha descrito anteriormente, tecnicas convencionales implicaron funcionar activamente procedimientos para ser accesibles por una aplicacion. Por lo tanto, aplicaciones que implican el uso de conexiones de red de funcionamiento relativamente largas podnan enviar y recibir datos en cualquier momento, que podna tener un impacto directo en los recursos del dispositivo 102 informatico, tales como duracion de la batena.
En este ejemplo, sin embargo, el sistema 116 operativo puede emplear el modulo 122 de negociador de red para soportar una experiencia de usuario "siempre encendido/siempre conectado". En este ejemplo, la experiencia se soporta a traves del uso del modulo 124 de gestor de patron de reactivacion que puede utilizarse para reactivar aplicaciones particulares que se implican en comunicacion de red.
El modulo 124 de gestor de patron de reactivacion, por ejemplo, puede permitir que las aplicaciones 118, 120 registren patrones 202 de trafico que son indicativos de las aplicaciones 118, 120 particulares. Por ejemplo, la aplicacion 118 puede registrar un patron 202 de trafico que es diferente de un patron de trafico registrado para la aplicacion 120. Por consiguiente, el modulo 124 de gestor de patron de reactivacion puede supervisar trafico 204 de red para los patrones 202 de trafico y reactivar las correspondientes aplicaciones 118, 120.
Un desarrollador de aplicaciones, por ejemplo, puede disponer un contrato con el modulo 122 de negociador de red del sistema 116 operativo para indicar ciertos eventos y una rellamada que se ejecutara para cada uno de estos eventos. El modulo 122 de negociador de red puede entonces "sondear" un patron espedfico de datos recibidos por el dispositivo 112 de interfaz de red a traves de la red 114 correspondiendo a una o mas de las aplicaciones 118, 120 que se registraron para ese patron 202 de trafico.
Por consiguiente, el modulo 124 de gestor de patron de reactivacion del modulo 122 de negociador de red puede interrumpir el sistema 116 operativo tras la recepcion de un paquete entrante descrito en un patron de trafico para la aplicacion 118. A su vez, el sistema 116 operativo puede reactivar la aplicacion 118 desde un estado suspendido en el punto de entrada de rellamada registrado e indicar el paquete a la aplicacion 118. De esta manera, el modulo 124 de gestor de patron de reactivacion puede soportar una tecnica para accionar una aplicacion suspendida en un paquete entrante desde un punto de extremo pre-autorizado remoto. Ademas, esto permite que el sistema 116 operativo sondee un patron incluso si el dispositivo 112 de interfaz de red ffsico no soporta el filtrado de paquetes entrantes, permitiendo de este modo que el sistema operativo 115 filtre paquetes de ingreso.
5
10
15
20
25
30
35
40
45
50
55
Las aplicaciones 118, 120 tambien pueden configurarse para aumentar eficiencia de uso de recursos del dispositivo 102 informatico. Por ejemplo, la aplicacion 118 puede vectorizarse para formar diferentes partes que pueden ejecutarse separadamente. Un ejemplo ilustrativo de esto para la aplicacion 118 incluye la vectorizacion de funcionalidad 206 de red como separado de otra funcionalidad 208 de la aplicacion 118, tal como la funcionalidad implicada en la regeneracion de una interfaz de usuario para la aplicacion 118.
Por lo tanto, continuando con el ejemplo anterior el modulo 122 de negociador de red puede reactivar la funcionalidad 206 de red de la aplicacion 118, tal como para indicar un paquete que coincide con los patrones 202 de trafico especificados y ejecuta una rellamada espedfica de codigo de aplicacion sin reponer codigo de la aplicacion 118 implicado en la generacion de la interfaz de usuario de la aplicacion 118. Por lo tanto, la aplicacion 118 puede configurarse para responder a trafico 204 de red desde un servidor remoto en una manera eficiente de recursos para paquetes de datos, un mantenimiento de la conexion iniciado de punto de extremo remoto y asf sucesivamente. Tambien se contempla una diversidad de otros ejemplos de vectorizacion de aplicacion 118, tal como separacion de controladores de eventos de la aplicacion 118.
El modulo 124 de gestor de patron de reactivacion tambien puede soportar tecnicas para unir datos para comunicacion a las aplicaciones 118, 120, que tambien pueden indicarse mediante los patrones 202 de trafico. El modulo 124 de gestor de patron de reactivacion, por ejemplo, puede recibir datos a traves de una diversidad de diferentes canales de notificacion a traves de la red 114 en el dispositivo 112 de interfaz de red. En lugar de comunicar estos datos a las aplicaciones 118, 120 "inmediatamente," el modulo 124 de gestor de patron de reactivacion puede unir estos datos para comunicacion a las aplicaciones 118, 120 en un intervalo definido.
Por lo tanto, los recursos del dispositivo 102 informatico usados en la ejecucion de las aplicaciones 118, 120 pueden utilizarse juntos para adicionalmente conservar cuando y como se usan estos recursos. Por ejemplo, en lugar de recibir datos para la aplicacion 118, reactivar la aplicacion 118 y comunicar el paquete a la aplicacion 118 y a continuacion repetir esto para un paquete recibido para aplicacion 120, estos paquetes pueden almacenarse en cache y a continuacion enviarse.
En una o mas implementaciones, el modulo 124 de gestor de patron de reactivacion tambien puede provechar conocimiento de inicios de sesion de usuarios. Por ejemplo, el modulo 124 de gestor de patron de reactivacion puede utilizar patrones 202 de trafico para un usuario que esta activamente registrado en el dispositivo 102 informatico pero no para otros usuarios, puede usar patrones para un usuario que inicio sesion mas recientemente y asf sucesivamente. Naturalmente tambien se contemplan otras implementaciones, tales como implementaciones en las que se usan patrones para cada usuario que inicia sesion, ya este activo o no.
Por lo tanto, se ha descrito un sistema operativo que puede configurarse para soportar una tecnica para reactivar al menos una porcion de una aplicacion suspendida en respuesta a identificacion de un paquete entrante recibido mediante un dispositivo de interfaz de red del dispositivo informatico. Descripcion adicional de estas tecnicas puede encontrarse en relacion con los siguientes procedimientos y ejemplo de implementacion.
La Figura 3 representa un procedimiento 300 en una implementacion de ejemplo en la que se usa reconocimiento de un patron de trafico para pasar al menos una porcion de una aplicacion desde un estado suspendido a un estado activo. Aspectos del procedimiento pueden implementarse en hardware, firmware, software o una combinacion de los mismos. Los procedimientos se muestran como un conjunto de bloques que especifican operaciones realizadas por uno o mas dispositivos y no necesariamente se limitan a los otros mostrados para la realizacion de las operaciones por los respectivos bloques. En porciones de la siguiente descripcion, se hara referencia al entorno 100 de la Figura 1 y el sistema 200 de la Figura 2.
Se registra un patron de trafico correspondiendo a una aplicacion configurada para ejecucion en el dispositivo informatico (bloque 302). El patron 202 de trafico, por ejemplo, puede registrarse mediante la aplicacion 118 durante la instalacion de la aplicacion 118, a traves de interaccion con una API de un modulo 124 de gestor de patron de reactivacion y asf sucesivamente. Adicionalmente, el patron 202 de trafico puede usarse para describir una diversidad de diferentes caractensticas de trafico 204 de red, tales como identificar paquetes particulares, rellamadas, identificar puntos de extremo remotos particulares y asf sucesivamente.
Como respuesta al reconocimiento del patron de trafico en trafico de red mientras la aplicacion esta en un estado suspendido, al menos una porcion de la aplicacion se pasa desde el estado suspendido a un estado activo (bloque 304). La aplicacion 118 puede situarse en un estado suspendido debido a una diversidad de diferentes factores. Por ejemplo, el sistema 116 operativo puede configurarse para situar la aplicacion 118 en un estado suspendido cuando el enfoque se mueve a otra aplicacion. El enfoque puede moverse minimizando una interfaz de usuario de la aplicacion, movimiento de la interfaz de usuario (por ejemplo, ventana) de un primer plano en una interfaz de usuario de escritorio, navegacion lejos de la interfaz de usuario de la aplicacion 118 en un entorno inmersivo y asf sucesivamente. Por lo tanto, el sistema 116 operativo puede conservar recursos del dispositivo 102 informatico suspendiendo la ejecucion de aplicaciones que no estan disponibles, directamente, para interaccion de usuario.
Como se ha descrito anteriormente, el modulo 124 de gestor de patron de reactivacion puede reconocer patrones 202 de trafico a partir del trafico 204 de red y pasar al menos una parte de una aplicacion 118 (por ejemplo, la
5
10
15
20
25
30
35
40
45
50
55
funcionalidad 206 de red pero no otra funcionalidad 208) a un estado activo para procesar el trafico 204 de red identificado. Por lo tanto, el modulo 124 de gestor de patron de reactivacion puede pasar una aplicacion 118 particular a la que el trafico 204 de red pertenece e incluso una porcion particular de la aplicacion 118. Otro ejemplo de uso de modulo 124 de gestor de patron de reactivacion puede encontrarse en relacion con la siguiente figura.
La Figura 4 representa un procedimiento 400 en una implementacion de ejemplo en la que se usa reconocimiento de un patron de trafico para reactivar al menos parte de una aplicacion. Aspectos del procedimiento pueden implementarse en hardware, firmware, software o una combinacion de los mismos. Los procedimientos se muestran como un conjunto de bloques que especifican operaciones realizadas por uno o mas dispositivos y no necesariamente se limitan a los otros mostrados para la realizacion de las operaciones por los respectivos bloques. En porciones de la siguiente descripcion, se hara referencia al entorno 100 de la Figura 1 y el sistema 200 de la Figura 2.
Se supervisa el trafico de red recibido por un dispositivo de interfaz de red de un dispositivo informatico (bloque 402). El dispositivo 102 informatico, por ejemplo, puede recibir trafico de red en un dispositivo 112 de interfaz de red, que puede configurarse como un dispositivo ffsico, implementado como un dispositivo virtual para soportar una VPN y tunelizacion y asf sucesivamente.
Se reconoce un patron de trafico en el trafico de red supervisado (bloque 404). Como antes, puede reconocerse una diversidad de diferentes patrones de trafico, tales como paquetes, entidades emisoras y asf sucesivamente. A partir de este patron de trafico, se identifica que una aplicacion del dispositivo informatico corresponde al patron de trafico reconocido (bloque 406). Por ejemplo, una o mas aplicaciones pueden pre-registrarse con el modulo 124 de gestor de patron de reactivacion para recibir trafico de red particular. Como respuesta a esta identificacion, al menos una porcion de la aplicacion identificada se reactiva (bloque 408), tales como la funcionalidad 206 de red, una totalidad de la aplicacion 118 y asf sucesivamente. Descripcion adicional de operacion de ejemplo del modulo 124 de gestor de patron de reactivacion puede encontrarse en relacion con el ejemplo de implementacion.
Modulo de Gestor de Dispositivo de Red
La Figura 5 es una ilustracion de un sistema 500 en una implementacion de ejemplo que muestra operacion de ejemplo de un modulo 126 de gestor de dispositivo de red del modulo 122 de negociador de red de la Figura 1. Como se ha descrito anteriormente, el modulo 122 de negociador de red y en consecuencia el modulo 126 de gestor de dispositivo de red del sistema 116 operativo puede ubicarse como un intermediario entre el dispositivo 112 de interfaz de red y las aplicaciones 118, 120. Como un intermediario, el sistema 116 operativo puede tener conocimiento de actividad de interconexion y por lo tanto puede decir de forma determimstica si el dispositivo 112 de interfaz de red puede entrar en un modo de baja potencia, por ejemplo, un modo silencioso de red.
Por ejemplo, el modulo 126 de gestor de dispositivo de red puede usarse para provocar que el dispositivo 112 de interfaz de red entre en un modo de baja potencia cuando el modulo determina que ha finalizado el trafico 502 de red implicando aplicaciones del dispositivo informatico, por ejemplo, supervisando rellamadas y determinando cuando ha finalizado una ultima de las rellamadas. Por lo tanto, el trafico 502 de red implica trafico de egreso desde las aplicaciones 118, 120 en este ejemplo.
En respuesta, el modulo 126 de gestor de dispositivo de red puede provocar que el dispositivo 112 de interfaz de red pase de un modo 504 de alta potencia a un modo 502 de baja potencia. Como los nombres representan, estos modos se diferencian por una cantidad de potencia consumida por el dispositivo 112 de interfaz de red mientras en los modos. En un ejemplo, el modo 504 de alta potencia se configura para habilitar la transmision y recepcion de datos por el dispositivo 112 de interfaz de red. En este ejemplo, el modo 506 de baja potencia se configura de tal forma que la funcionalidad de transmision del dispositivo 112 de interfaz de red se deshabilita temporalmente y por lo tanto tiene consumo de potencia reducido. Por lo tanto, ya que la actividad saliente se suprime y por lo tanto solo se sondean patrones de reactivacion, significa que el trafico que puede impactar en el sistema se limita a paquetes que coinciden con el patron de reactivacion o cuando el sistema calcula un tiempo para iniciar actividad saliente como actividad de mantenimiento de la conexion. Tambien se contempla una diversidad de otros ejemplos.
De esta manera, el modulo 126 de gestor de dispositivo de red puede determinar proactivamente cuando ya no se desea el uso del dispositivo 112 de interfaz de red para trafico saliente y reacciona por consiguiente al contrario que tecnicas previas que se basaban en la deteccion de periodos de inactividad que podnan ser tan largos como treinta segundos. Por lo tanto, el conocimiento del trafico 502 de red proporcionado ubicando el sistema 116 operativo como un intermediario puede usarse para conservar recursos del dispositivo 102 informatico.
El modulo 126 de gestor de dispositivo de red tambien puede soportar tecnicas para prolongar y/o conservar el modo 506 de baja potencia para el dispositivo 112 de interfaz de red durante un periodo de tiempo deseado. Como se ha descrito anteriormente, tecnicas convencionales permitfan acceso sin restricciones de las aplicaciones 118, 120 al dispositivo 112 de interfaz de red, que podna tener un efecto adverso de recursos del dispositivo 102 informatico. Por consiguiente, la ubicacion del modulo 126 de gestor de dispositivo de red como un intermediario entre las aplicaciones 118, 120 y el dispositivo 112 de interfaz de red puede usarse para gestionar los modos 504, 506 de alta y baja potencia.
5
10
15
20
25
30
35
40
45
50
55
Por ejemplo, el modulo 126 de gestor de dispositivo de red puede soportar tecnicas "de enviar al agujero negro" para restringir acceso mediante las aplicaciones 118, 120 al dispositivo 112 de interfaz de red mientras en un modo 506 de baja potencia. Esto puede realizarse en una diversidad de formas, tales como hacer no disponible el dispositivo 112 de interfaz de red, bloquear la comunicacion de paquetes desde la aplicacion 118, 120 al dispositivo 112 de interfaz de red, proporcionando un codigo de error de vuelta a las aplicaciones 118, 120 durante el modo 506 de baja potencia, indicando un evento de paquete desechado y asf sucesivamente. Por lo tanto, el modulo 126 de gestor de dispositivo de red puede limitar una capacidad de las aplicaciones 118, 120 para reactivar el dispositivo 112 de interfaz de red desde el modo 506 de baja potencia al modo 504 de alta potencia, conservando de este modo recursos del dispositivo 102 informatico.
El modulo 126 de gestor de dispositivo de red tambien puede soportar tecnicas para gestionar el uso de una pluralidad de diferentes dispositivos 112 de interfaz de red gestionando cual de los dispositivos 112 de interfaz de red puede accederse en un momento de tiempo dado. Por ejemplo, el dispositivo 102 informatico puede configurarse como un dispositivo de comunicacion movil (por ejemplo, telefono inalambrico) e incluir unos dispositivos 112 de interfaz de red configurados para comunicar por redes Wi-Fi y celulares (por ejemplo, 3G, 4G, LTE).
En una instancia en la que el dispositivo 112 de interfaz de red para Wi-Fi esta en un modo de alta potencia, el modulo 126 de gestor de dispositivo de red puede provocar que el dispositivo 112 de interfaz de red para la red celular entre en un modo de baja potencia. Ademas, aplicaciones que intentan interactuar con la red celular pueden en su lugar encaminarse a la red Wi-Fi. De esta manera, el modulo 126 de gestor de conexion de red puede evitar que las aplicaciones 118, 120 se comuniquen con el dispositivo 112 de interfaz de red "equivocado" y de este modo conserve recursos del dispositivo 102 informatico no despertando ese dispositivo.
El modulo 126 de gestor de dispositivo de red tambien puede configurarse para conservar conectividad mientras en un modo de baja potencia. Por ejemplo, las aplicaciones 118, 120 y/o servicios del sistema 116 operativo pueden desear conservar conectividad de Capa 2 para conservar una conexion con un punto de acceso. Esto puede implicar reactivar periodicamente del modo 506 de baja potencia en intervalos definidos para comunicar con el punto de acceso. Analogamente, conectividad de Capa 3 tambien puede conservarse usando unas tecnicas similares para conservar una direccion IP comunicando con un servidor HTTP, tales como para una instancia en la que el servidor se configura para actualizar la direccion en intervalos definidos. Descripcion adicional del mantenimiento de la conexion de conectividad de red puede encontrarse en la seccion "Mantenimiento de la conexion" en la siguiente descripcion.
La Figura 6 es una ilustracion de otro sistema 600 en una implementacion de ejemplo que muestra operacion de ejemplo del modulo 126 de gestor de dispositivo de red. Este sistema 600 es un ejemplo de implementacion de una arquitectura que puede emplearse para la gestion asistida de sistema 116 operativo del dispositivo 112 de interfaz de red.
El modulo 126 de gestor de dispositivo de red se implementa en este ejemplo como un componente logico que reside en ndis.sys 602 y es responsable del control de modos de potencia para el dispositivo 112 de interfaz de red. El modulo 126 de gestor de dispositivo de red puede configurarse para exponer estado NID Activo por adaptador (por ejemplo, estado NIC activo) para soportar control de potencia granular en los dispositivos 112 de interfaz de red.
El estado NID Activo puede implementarse usando un contador de referencia. Cuando el contador alcanza cero, el modulo 126 de gestor de dispositivo de red puede pasar el dispositivo 112 de interfaz de red a un estado de baja potencia. Cuando el contador se aumenta de cero a uno, el NDIS 602 puede traer el dispositivo 112 de interfaz de red a un estado de alta potencia, es decir, un estado de potencia de "trabajo".
Como se ilustra, componentes del sistema 116 operativo pueden usarse para incrementar y/o disminuir el contador de referencia, por ejemplo, enviando IOCTL privados al NDIS 602, para una diversidad de fines. En una o mas implementaciones, un WCM 604 que esta en comunicacion con un coordinador 606 de dependencia de potencia (PDC) es un unico componente al que se permite retener la referencia NID Activo durante "mucho" tiempo, por ejemplo una duracion entera del periodo Activo de Red. Se permite que cada uno de los otros componentes tome referencia NID Activo para duracion de una sola operacion, por ejemplo, una renovacion de una direccion IP.
El WCM 604 puede configurarse para escuchar los eventos tranquilos de entrada/salida de red generados por PDC 606 y pasar los mismos a estados NIC activo de acuerdo con logica de seleccion de interfaz. WCM 604 puede tomar una referencia tras la llegada del adaptador para evitar que NDIS 602 apague el dispositivo 112 de interfaz de red.
WWAN 608 puede usar la referencia NIC Activo para habilitar la seleccion de funcionalidad espedfica de medio, por ejemplo, una funcion de exploracion de localizacion solicitada por un servicio sensor de localizacion. La WLAN 610 puede usar la referencia NIC Activo para seleccionar operaciones espedficas de medio, por ejemplo, funciones espedficas de vendedor controladas por un servicio proporcionado por IHV. El cliente de DHCP 612 puede usarse para renovar una direccion IP durante un modo silencioso de red y por lo tanto puede mantener referencia NID Activo durante esta operacion para garantizar disponibilidad del dispositivo 112 de interfaz de red. TCP/IP 614 puede usar el contador de referencia NID Activo para mantener el dispositivo 112 de interfaz de red en D0 durante esta operacion para actualizar la auto-configuracion 616 de direccion sin estado IPv6 durante un modo silencioso de red.
5
10
15
20
25
30
35
40
45
50
55
El NDIS 602 puede usar una referencia NIC Activo temporal (por ejemplo, 3 segundos) durante inicializacion del adaptador y tras cada senal de reactivacion generada por dispositivo 112 de interfaz de red. Por lo tanto, si ninguno de los otros componentes desea usar del dispositivo ll2 de interfaz de red cerca de la expiracion de temporizacion, el modulo 126 de gestor de dispositivo de red puede pasar el dispositivo 112 de interfaz de red a un estado de baja potencia.
La Figura 7 representa una implementacion 700 de ejemplo que muestra una transicion silenciosa de dispositivo de interfaz de red. La implementacion 700 incluye el NDIS 602 de la Figura 6 asf como un gestor 702 de potencia y un minipuerto/bus 704. NDIS 602 ejecuta esta operacion de transicion de potencia cuando el contador de referencia NID Activo llega a cero. Durante la transicion silenciosa de NID, el NDIS 602 puede informar el dispositivo 112 de interfaz de red como reposo al gestor 702 de potencia y esperar una confirmacion antes de solicitar un Dx IRP para el dispositivo.
La Figura 8 representa una implementacion de ejemplo 800 que muestra una transicion activa de dispositivo de interfaz de red. La implementacion 800 incluye el NdiS 602 de la Figura 6 asf como un gestor 702 de potencia y un minipuerto/bus 704 de la Figura 7. En el ejemplo ilustrado, el NDIS 602 ejecuta esta operacion de transicion de potencia cuando el contador de referencia NlD Activo va desde cero a uno. El NDIS 602 puede solicitar un estado activo de dispositivo desde el gestor 702 de potencia y esperar la "Rellamada de Potencia Solicitada." A partir de esta rellamada, el NDIS 602 solicita D0 IRP para el dispositivo. Tras la finalizacion de D0 IRP, el NDIS 602 espera una "Rellamada de Condicion Activa" antes de comunicar el estado de potencia actualizado al accionador de minipuerto/bus 704.
La Figura 9 representa una implementacion de ejemplo 900 que muestra una transicion de suspension de sistema. La implementacion 900 tambien incluye el NDlS 602 de la Figura 6 asf como un gestor 702 de potencia y un minipuerto/bus 704 de la Figura 7. Durante la transicion de suspension de sistema, el NDIS 602 suspende la gestion de estructura de potencia mediante el gestor 702 de potencia para el dispositivo y espera la confirmacion antes de solicitar un Dx IRP.
La Figura 10 representa una implementacion 1000 de ejemplo que muestra una transicion de reanudacion de sistema. La implementacion 900 tambien incluye el NDIS 602 de la Figura 6 asf como un gestor 702 de potencia y un minipuerto/bus 704 de la Figura 7. Durante una transicion de reanudacion de sistema, el NDIS 602 solicita un D0 IRP para el dispositivo 112 de interfaz de red y provoca que las operaciones de estructura de potencia se reanuden mediante el gestor 702 de potencia tras la finalizacion de D0 IRP.
La Figura 11 representa un procedimiento 1100 en una implementacion de ejemplo en la que se hace una determinacion de que el trafico de red ha finalizado y un dispositivo de interfaz de red se pasa a un modo de baja potencia mediante un sistema operativo. Aspectos del procedimiento pueden implementarse en hardware, firmware, software o una combinacion de los mismos. Los procedimientos se muestran como un conjunto de bloques que especifican operaciones realizadas por uno o mas dispositivos y no necesariamente se limitan a los otros mostrados para la realizacion de las operaciones por los bloques respectivos. En porciones de la siguiente descripcion, se hara referencia al entorno de la Figura 1 y los sistemas e implementaciones de ejemplo de las Figuras 5-10.
Un sistema operativo hace una determinacion de que ha finalizado trafico de red asociado con una o mas aplicaciones del dispositivo informatico (bloque 1102). Esta determinacion puede hacerse en una diversidad de formas. Por ejemplo, el modulo 126 de gestor de dispositivo de red puede supervisar trafico saliente y entrante que implica a las aplicaciones 118, 120 y el dispositivo 112 de interfaz de red. El modulo 126 de gestor de dispositivo de red por lo tanto puede determinar cuando las respuestas se han proporcionado a solicitudes, por ejemplo, se han finalizado rellamadas. De esta manera, el modulo 126 de gestor de dispositivo de red puede determinar cuando cada una de las operaciones ha finalizado sin esperar un periodo de "reposo" prescrito.
Como respuesta a la determinacion, se provoca que un dispositivo de interfaz de red pase a un modo para reducir el consumo de potencia del dispositivo de interfaz de red mediante el sistema operativo (bloque 1104). Continuando con el ejemplo anterior, el modulo 126 de gestor de dispositivo de red puede determinar que el trafico 502 de red ha finalizado y por lo tanto provocar que el dispositivo 112 de interfaz de red entre en un modo para reducir consumo de potencia, por ejemplo, un modo 506 de baja potencia.
El modulo 126 de gestor de dispositivo de red tambien pueden proporcionar una diversidad de funcionalidades para su uso en conjuncion con este modo. Por ejemplo, el modulo 126 de gestor de dispositivo de red puede provocar que el dispositivo 112 de interfaz de red conserve conectividad con un punto de acceso inalambrico, mediante el sistema operativo, mientras en el modo para reducir consumo de potencia (bloque 1106). Por lo tanto, en este ejemplo el dispositivo 112 de interfaz de red puede conservar una conexion de dos capas como se ha descrito anteriormente. En otro ejemplo, el modulo 126 de gestor de dispositivo de red puede provocar que el dispositivo 112 de interfaz de red conserve una direccion de Protocolo de Internet (IP), mediante el sistema operativo, mientras en el modo para reducir consumo de potencia (bloque 1108). Por lo tanto, en este ejemplo el dispositivo 112 de interfaz de red puede conservar una conexion de tres capas para actualizar la direccion iP del dispositivo 112 de interfaz de red. Tambien se contempla una diversidad de otros ejemplos.
5
10
15
20
25
30
35
40
45
50
55
El dispositivo de interfaz de red tambien puede configurarse para reactivarse tras la recepcion de una notificacion pre-registrada (bloque 1110). Por ejemplo, incluso aunque el dispositivo 112 de interfaz de red se situa en un modo 506 de baja potencia, el dispositivo 112 de interfaz de red puede configurarse para recibir comunicaciones, por ejemplo, paquetes entrantes. Estas notificaciones pueden pre-registrarse de tal forma que notificaciones particulares provocan que el dispositivo 112 de interfaz de red se reactive desde un modo silencioso de red y comunique con el sistema 116 operativo, tal como para indicar un punto de extremo particular que origino la comunicacion. Tambien se contemplan una diversidad de otros tipos de pre-registros, tales como un patron de cuatro tuplas espedfico contenido en los datos como se describe en relacion con el ejemplo de implementacion.
La Figura 12 representa un procedimiento 1200 en una implementacion de ejemplo en la que un dispositivo de interfaz de red se hace no disponible a aplicaciones durante un modo de potencia menor. Aspectos del procedimiento pueden implementarse en hardware, firmware, software o una combinacion de los mismos. Los procedimientos se muestran como un conjunto de bloques que especifican operaciones realizadas por uno o mas dispositivos y no necesariamente se limitan a los otros mostrados para la realizacion de las operaciones por los bloques respectivos. En porciones de la siguiente descripcion, se hara referencia al entorno de la Figura 1 y los sistemas e implementaciones de ejemplo de las Figuras 5-10.
Un dispositivo de interfaz de red se hace disponible para una o mas aplicaciones de un dispositivo informatico mediante un sistema operativo cuando el dispositivo de interfaz de red esta en un modo de alta potencia (bloque 1202). El modulo de gestor de dispositivo de red 112, por ejemplo, puede exponer la interfaz 112 de red como disponible para comunicacion usando la red 114 para enviar y recibir datos.
El dispositivo de interfaz de red se hace no disponible a una o mas aplicaciones de un dispositivo informatico mediante un sistema operativo cuando el dispositivo de interfaz de red esta en un modo de baja potencia (bloque 1204). El modulo 126 de gestor de dispositivo de red, por ejemplo, puede forzar un modo silencioso de red para reducir consumo de potencia, tal como en respuesta a una determinacion de que ha finalizado trafico de red implicado mediante las aplicaciones 118, 120. Este modo silencioso puede tener una cantidad determinada de tiempo, puede salirse en respuesta a un evento y asf sucesivamente. Esta indisponibilidad puede incluir el uso de las tecnicas "de enviar al agujero negro" descritas antes de tal forma que no se permite que las aplicaciones 118, 120 "activen" el dispositivo 112 de interfaz de red durante este tiempo.
Otro dispositivo de interfaz de red se hace disponible para la una o mas aplicaciones mientras el dispositivo de interfaz de red se hace no disponible (bloque 1206). Como se ha descrito anteriormente el dispositivo 102 informatico puede incluir una pluralidad de interfaces de red dispositivos. Por consiguiente, el modulo 126 de gestor de dispositivo de red puede gestionar cuales de los dispositivos se situan en modos de alta o baja potencia para conservar recursos del dispositivo informatico, tal como para hacer disponible uno solo de los dispositivos 112 de interfaz de red para una conexion de Internet.
El modulo 126 de gestor de dispositivo de red, por ejemplo, puede emplear tecnicas de encaminamiento para evitar la reactivacion involuntaria de un dispositivo 112 de interfaz de red "equivocado". Continuando con el ejemplo anterior, datos recibidos desde la una o mas aplicaciones que se especifican para comunicacion usando el dispositivo de interfaz de red que se hace no disponible se encamina al otro dispositivo de interfaz de red (bloque 1208). Esto puede usarse, por ejemplo, para encaminar datos que una aplicacion 118 destina para comunicacion usando una interfaz de red celular que esta inactiva para encaminar automaticamente a un dispositivo de interfaz de red activo, tal como un dispositivo Wi-Fi.
Por lo tanto, un sistema operativo puede configurarse para soportar una tecnica para restringir acceso mediante una o mas aplicaciones del dispositivo informatico a un dispositivo de interfaz de red que se situa en un modo para reducir consumo de potencia. Ademas, el dispositivo de interfaz de red configurado para reactivarse del modo en respuesta a la recepcion de una notificacion, tal como una notificacion automatica desde un punto de extremo particular. Descripcion adicional de mantenimiento de conexiones de red puede encontrarse en relacion con la siguiente seccion.
Modulo de Gestor de Mantenimiento de la Conexion
La Figura 13 es una ilustracion de un sistema 1300 en una implementacion de ejemplo que muestra operacion de ejemplo de un modulo 128 de gestion de mantenimiento de la conexion del modulo 122 de negociador de red de la Figura 1. El modulo 128 de gestion de mantenimiento de la conexion es representativo de la funcionalidad del modulo 122 de negociador de red para conservar canales de notificacion en una red 114. Por ejemplo, el modulo 128 de gestion de mantenimiento de la conexion puede utilizarse para calcular un intervalo 1302 de mantenimiento de la conexion que define un intervalo entre comunicaciones 1304 de red que es suficiente para mantener un canal de notificacion abierto entre las aplicaciones 118, 120 y un punto 1306 de extremo, por ejemplo, un servidor de un servicio de red. Por lo tanto, el intervalo 1302 de mantenimiento de la conexion puede calcularse para describir una frecuencia de comunicacion para conservar estado de comunicacion a traves de la red 114, por ejemplo, a traves de uno o mas canales de notificacion.
5
10
15
20
25
30
35
40
45
50
55
60
El modulo de negociador de red 112 puede gestionar una diversidad de diferentes canales de notificacion. La aplicacion 118, por ejemplo, puede configurarse para soportar comunicacion de correo electronico y por lo tanto interactuar con un punto de extremo de servicio de correo electronico. La aplicacion 118 tambien puede configurarse para soportar mensajena instantanea y por lo tanto puede comunicar con otro punto de extremo (por ejemplo, un servidor de un servicio de mensajena instantanea). Por lo tanto, una unica aplicacion 118 puede soportar una pluralidad de canales de notificacion. Adicionalmente, las aplicaciones 118, 120 tambien pueden comunicar con un mismo punto de extremo usando diferentes canales de notificacion. Por lo tanto, el modulo 128 de gestion de mantenimiento de la conexion puede dirigirse a una diversidad de diferentes canales de notificacion que implican comunicacion a traves de la red 114.
Adicionalmente, el modulo 128 de gestion de mantenimiento de la conexion puede calcular el intervalo 1302 de mantenimiento de la conexion en una diversidad de formas. En una implementacion de este tipo, el intervalo 1302 de mantenimiento de la conexion puede calcularse a base de intervalo de temporizacion de servidor de un punto 1306 de extremo con el que la aplicacion 118 debe comunicarse, por ejemplo, a traves de un canal de notificacion. Por ejemplo, el intervalo de temporizacion de servidor puede determinarse mediante el modulo 128 de gestion de mantenimiento de la conexion a base de una temporizacion conocida especificada mediante una aplicacion que se configura para interactuar con el punto 1306 de extremo.
La aplicacion 118, por ejemplo, puede configurarse para interactuar con un punto de extremo espedfico, tal como un servicio de redes sociales. Esta aplicacion por lo tanto puede codificarse con "conocimiento" del intervalo de temporizacion de servidor de esa temporizacion de tal forma que la aplicacion 118 puede configurarse para conservar un canal de notificacion con ese punto de extremo, por ejemplo, provocar que una comunicacion se envfe para conservar estado con el punto 1306 de extremo. Por lo tanto, en este ejemplo el modulo 128 de gestion de mantenimiento de la conexion puede determinar este intervalo desde la propia aplicacion 118. Tambien se contemplan otros ejemplos, tal como determinar a priori el intervalo de temporizacion de servidor del punto 1306 de extremo, pueden ser a base de interaccion supervisada entre el dispositivo informatico y el punto 1306 de extremo (por ejemplo, detectando fallos y reajustando) y asf sucesivamente.
En otra implementacion de este tipo, el intervalo 1302 de mantenimiento de la conexion puede calcularse usando un intervalo de temporizacion de red para dirigirse a dispositivos 1308 intermediarios de la red 114. Por ejemplo, una conexion de red entre el dispositivo de interfaz de red y el punto 1306 de extremo puede implicar una diversidad de dispositivos 1308 intermediarios, tales como un dispositivo de traslado de direccion de red, un intermediario, cortafuegos, punto de acceso inalambrico y asf sucesivamente. El intervalo de temporizacion de red puede determinarse mediante el modulo 128 de gestion de mantenimiento de la conexion en una diversidad de formas.
Por ejemplo, el modulo 128 de gestion de mantenimiento de la conexion puede conectar a traves de la red 114 y correspondientes dispositivos 1308 intermediarios con un punto de extremo que tiene un intervalo de temporizacion de servidor "conocido" o "conocido para ser largo", tal como un dispositivo de pruebas hecho disponible para una determinacion de este tipo. El modulo 128 de gestion de mantenimiento de la conexion puede a continuacion supervisar una conexion con este punto de extremo conocido para determinar cuando han "expirado" los dispositivos 1308 intermediarios y por lo tanto determinar el intervalo de temporizacion de red de los dispositivos 1308 intermediarios. El modulo 128 de gestion de mantenimiento de la conexion puede guardar este intervalo de temporizacion de red para su uso en el calculo del intervalo 1302 de mantenimiento de la conexion. Por ejemplo, este intervalo de temporizacion de red puede guardarse como espedfico para una red particular a traves del que el dispositivo 112 de interfaz de red accede la red 114.
En una o mas implementaciones, el intervalo 1302 de mantenimiento de la conexion puede calcularse a base del intervalo de temporizacion de servidor del punto 1306 de extremo, el intervalo de temporizacion de red de dispositivos 1308 intermediarios e incluso ambos intervalos. El intervalo 1302 de mantenimiento de la conexion, por ejemplo, puede calcularse mediante el modulo 128 de gestion de mantenimiento de la conexion para utilizar eficientemente recursos del dispositivo 102 informatico en la conservacion de los canales de notificacion. Por ejemplo, el modulo 128 de gestion de mantenimiento de la conexion puede determinar que el intervalo de temporizacion de red es de 15 segundos y el intervalo de temporizacion de servidor es de 20 segundos. Por lo tanto, el modulo 128 de gestion de mantenimiento de la conexion puede reactivar el dispositivo 112 de interfaz de red en intervalos de quince segundos para comunicar con el punto 1306 de extremo y por lo tanto mantener el punto 1306 de extremo y los dispositivos 1308 intermediarios activos. Por lo tanto, en esta instancia el modulo 128 de gestion de mantenimiento de la conexion puede evitar reactivar el dispositivo 112 de interfaz de red tanto en intervalos de quince como veinte segundos aun habilitando ambos dispositivos para conservar estado.
Por lo tanto, puede calcularse un unico valor de temporizacion de red y un mmimo de estos valores (por ejemplo, un suelo de lmea basal) para calcular un tiempo unico que describe cuando se envfan "mantenimientos de la conexion" concurrentes. Por lo tanto, el intervalo de temporizacion de red puede aplicarse a la pluralidad de conexiones de servidor.
Adicionalmente, una o mas implementaciones pueden dirigir conexion de red que se pierden. Las redes pueden ser inconsistentes de tal forma que pueden perderse conexiones de vez en cuando. Cuando eso sucede, la conexion persistente a un servidor puede cortarse. Por lo tanto, estas implementaciones pueden emplear una habilidad para
5
10
15
20
25
30
35
40
45
50
55
60
detectar automaticamente cuando la red esta disponible de nuevo. Por ejemplo, en una red Wi-Fi esto puede hacerse en hardware o firmware en una manera eficiente a traves de una "descarga de lista de redes," a traves de un propio sistema operativo y asf sucesivamente. Por lo tanto, un sistema operativo puede notificar a esta clase de aplicaciones de la presencia de la red a traves de una rutina de rellamada y estas aplicaciones pueden a continuacion reestablecer una conexion, por ejemplo, una conexion duradera al servidor de notificacion automatica. Por lo tanto, puede realizarse una notificacion unida para permitir que la pluralidad de aplicaciones de comunicacion reestablezca conexiones, que puede usarse para optimizar el uso de recursos informaticos locales asf como optimizar el uso del recurso de dispositivo de interfaz de red.
Las tecnicas tambien pueden usarse mediante el modulo 128 de gestion de mantenimiento de la conexion para dirigir las aplicaciones 118, 120. Por ejemplo, el modulo 128 de gestion de mantenimiento de la conexion puede configurarse para procesar comunicaciones a enviar mediante las aplicaciones 118, 120 para conservar canales de notificacion. Por lo tanto, como antes el intervalo 1302 de mantenimiento de la conexion puede configurarse para utilizacion eficiente de recursos del dispositivo 102 informatico, por ejemplo, una fuente 108 de alimentacion.
Por ejemplo, el modulo 128 de gestion de mantenimiento de la conexion puede determinar que la aplicacion 118 se configura para iniciar una comunicacion de "mantenimiento de la conexion" en intervalos de diez segundos y la aplicacion 120 se configura para iniciar una comunicacion de "mantenimiento de la conexion" en intervalos de ocho segundos. Por lo tanto, el modulo 128 de gestion de mantenimiento de la conexion puede reactivar el dispositivo 112 de interfaz de red en intervalos de ocho segundos para ambas aplicaciones 118, 120 para realizar las comunicaciones. De esta manera, el modulo 128 de gestion de mantenimiento de la conexion puede unir "mantenimientos de la conexion" iniciados de aplicaciones 118, 120 para canales de notificacion a diversos puntos de extremo 1306 para ahorrar potencia y otros recursos. Por lo tanto, el modulo 128 de gestion de mantenimiento de la conexion puede basar el intervalo 1302 de mantenimiento de la conexion en una diversidad de factores y tambien puede ajustar el intervalo 1302 de mantenimiento de la conexion, de lo que puede encontrarse descripcion adicional en relacion con la siguiente figura.
La Figura 14 es una ilustracion de un sistema 1400 en una implementacion de ejemplo que muestra una implementacion de ejemplo del calculo y ajuste de un intervalo de mantenimiento de la conexion de la Figura 13. Como se ha descrito anteriormente, el mantenimiento de un canal de notificacion a traves de dispositivos de red intermedia puede ser un problema de las aplicaciones 118, 120 que acceden a una red 114. Tecnicas tradicionales implican un valor codificado que define un intervalo para enviar/recibir paquetes para conservar estado. Sin embargo, en el presente documento se describen tecnicas en las que se calcula un intervalo de mantenimiento de la conexion dinamico, por ejemplo, usando una conexion de prueba a un destino remoto dado, a traves del examen de aplicaciones 118, 120 en el propio dispositivo 102 informatico, a traves del uso intervalos de temporizacion de red y de servidor y asf sucesivamente.
El sistema 1400 de la Figura 14 ilustra un ejemplo del ajuste de un intervalo 1302 de mantenimiento de la conexion de la Figura 13. En este ejemplo, un intervalo calculado inicial de mantenimiento de la conexion se establece en una fase inicializada como T = T(max) (bloque 1402). Puntos de referencia a continuacion se prueban que son menores que el T actual (bloque 1404). Esto puede implicar la peticion de W(min) con T(min) en la que W representa el tiempo de reconexion entre peticiones (bloque 1406). Esto tambien puede implicar sintonizacion agresiva en la que T se aumenta por V y cesa en T(max) (bloque 1408), en la que V representa un aumento de la sintonizacion agresiva. El sistema 1400 tambien puede implicar sintonizacion fina en la que el valor se aumenta por V/Y, en la que Y representa el 1/Y de incremento agresivo. Estos valores pueden aprovecharse para determinar un estado estable en el que valor detectado T y T(LKG) es tiempo absoluto. En el diagrama, Z representa un numero de reintentos realizados, que pueden establecerse para dirigir errores de red y X representa el numero de mantenimientos de la conexion (KA) exitosos. Descripcion adicional de operacion del modulo 128 de gestion de mantenimiento de la conexion puede encontrarse en relacion con los siguientes procedimientos.
La Figura 15 representa un procedimiento 1500 en una implementacion de ejemplo en la que se calcula y usa un intervalo de mantenimiento de la conexion para conservar uno o mas canales de notificacion. Aspectos del procedimiento pueden implementarse en hardware, firmware, software o una combinacion de los mismos. Los procedimientos se muestran como un conjunto de bloques que especifican operaciones realizadas por uno o mas dispositivos y no necesariamente se limitan a los otros mostrados para la realizacion de las operaciones por los bloques respectivos. En porciones de la siguiente descripcion, se hara referencia al entorno de la Figura 1 y los sistemas e implementaciones de ejemplo de las Figuras 13-14.
Un intervalo de mantenimiento de la conexion se calcula mediante un sistema operativo de un dispositivo informatico (bloque 1502). Como se describe en relacion con las Figuras 13 y 14, el intervalo de mantenimiento de la conexion puede calcularse en una diversidad de formas, tales como a base de un intervalo de temporizacion de red, intervalo de temporizacion de servidor, a base de mantenimiento de la conexion comunicacion planificadas para una pluralidad de aplicaciones 118, 120 y asf sucesivamente.
El intervalo de mantenimiento de la conexion se usa para conservar uno o mas canales de notificacion entre una o mas aplicaciones del dispositivo informatico y una red (bloque 1504). El modulo 128 de gestion de mantenimiento de la conexion, por ejemplo, puede supervisar comunicacion de red para enviar y recibir datos a traves de canales de
5
10
15
20
25
30
35
40
45
50
55
notificacion. Si uno o mas de los canales de notificacion alcanzan un intervalo de mantenimiento de la conexion sin la implicacion de comunicacion 1304 de red, el modulo 128 de gestion de mantenimiento de la conexion puede conservar el canal comunicando con un punto 1306 de extremo respectivo.
El intervalo de mantenimiento de la conexion tambien puede ajustarse a base de uso supervisado del intervalo de mantenimiento de la conexion mediante el sistema operativo (bloque 1506). Por ejemplo, el modulo 128 de gestion de mantenimiento de la conexion puede determinar que un canal de notificacion ha parado de funcionar debido a alcanzar un intervalo de temporizacion de red o de servicio. El modulo 128 de gestion de mantenimiento de la conexion puede a continuacion ajustar el intervalo 1302 de mantenimiento de la conexion "hacia abajo," (por ejemplo, disminuyendo una cantidad de tiempo definida por el intervalo) a una cantidad de tiempo que es menor que la cantidad de tiempo observada en la que el canal expiro. Naturalmente, tambien se contemplan otros ejemplos, tal como para aumentar el intervalo 1302 de mantenimiento de la conexion como se describe en relacion con la Figura 14.
La Figura 16 representa un procedimiento 1600 en una implementacion de ejemplo en la que un intervalo de mantenimiento de la conexion se calcula para agrupar comunicaciones de mantenimiento de la conexion de aplicaciones. Aspectos del procedimiento pueden implementarse en hardware, firmware, software o una combinacion de los mismos. Los procedimientos se muestran como un conjunto de bloques que especifican operaciones realizadas por uno o mas dispositivos y no necesariamente se limitan a los otros mostrados para la realizacion de las operaciones por los bloques respectivos. En porciones de la siguiente descripcion, se hara referencia al entorno de la Figura 1 y los sistemas e implementaciones de ejemplo de las Figuras 13-14.
Se hace una determinacion para cada una de una pluralidad de aplicaciones ejecutables en un dispositivo informatico de uno o mas intervalos de temporizacion de servidor especificados para conservar un canal de notificacion con un punto de extremo respectivo a traves de una red (bloque 1602). El modulo 128 de gestion de mantenimiento de la conexion, por ejemplo, puede examinar aplicaciones 118, 120 para determinar un intervalo de temporizacion de servidor a usar por las respectivas aplicaciones para conservar canales de notificacion con puntos de extremo respectivos.
Un intervalo de mantenimiento de la conexion se calcula a partir del uno o mas intervalos de temporizacion de servidor para cada una de la pluralidad de aplicaciones (bloque 1604). Como se describe en relacion con la Figura 13, el modulo 128 de gestion de mantenimiento de la conexion, puede determinar el intervalo 1302 de mantenimiento de la conexion a base de eficiencia de uso de recursos para los diferentes intervalos de temporizacion de servidor. El intervalo de mantenimiento de la conexion puede a continuacion usarse para reactivar un dispositivo de interfaz de red como se especifica para conservar los canales de notificacion (bloque 1606). Por ejemplo, el modulo 128 de gestion de mantenimiento de la conexion puede determinar que no ha sucedido la comunicacion 1304 de red para ninguno de los canales de comunicacion mientras el dispositivo 112 de interfaz de red esta en un modo de baja potencia. Por consiguiente, el modulo 128 de gestion de mantenimiento de la conexion puede reactivar el dispositivo 112 de interfaz de red para comunicar con los puntos 1306 de extremo respectivos en el intervalo 1302 de mantenimiento de la conexion para utilizar eficientemente los recursos del dispositivo 102 informatico. Tambien se contempla una diversidad de otros ejemplos como se ha descrito anteriormente y como se describe adicionalmente en relacion con el siguiente ejemplo de implementacion.
Ejemplo de Implementacion
Las Figuras 17 y 18 representan sistemas 1700, 1800 que muestra ejemplos de implementaciones del negociador 122 de conectividad de red de la Figura 1. Como se ha descrito anteriormente con relacion a la Figura 1, soporte de un estado de sistema denominado "conectado en espera" en dispositivos basados en sistema en chip puede proporcionar una oportunidad para habilitar una experiencia de usuario "Siempre Encendido, Siempre Conectado" (AOAC). Por ejemplo, una aplicacion puede suspenderse cuando no esta "en enfoque," por ejemplo, no en primer plano. Como resultado, una red 114 y dispositivos 112 de interfaz de red puede entrar en un "modo silencioso de red" (netqm). En este modo, el sistema 116 operativo puede evitar paquetes salientes del dispositivo, mientras garantiza que se conservan conectividad L2 e identidad L3. Una indicacion de un componente denominado como un coordinador de dependencia de potencia (PDC) para salir del modo silencioso. Tras la finalizacion de tareas que implica conexiones de red 114, el modulo 122 de negociador de red puede provocar que el dispositivo 112 de interfaz de red entre de nuevo en un modo silencioso de red y permanezca en este estado hasta que PDC indique un evento de salida.
En la Figura 17 se muestra una vista general de un sistema 1700 que incorpora este diseno. La figura muestra una aplicacion de chat (por ejemplo, configurada para charlar a traves de la red 114) que incluye una seccion 1704 de chat ligera, que se configura para manejar conexiones y otra contabilidad para la aplicacion 1702 de chat. La aplicacion 1702 de chat tambien incluye una UI 1706 de chat relativamente "pesada" porcion de la aplicacion 1702 se separa de la seccion de conexion ligera representada por la seccion 1704 de chat. Esta es una de una diversidad de tecnicas que puede usarse para vectorizar funcionalidad de la aplicacion 1702.
Un gestor 1708 de tiempo de vida de procedimiento tambien se ilustra representando funcionalidad para gestionar un ciclo de vida de la aplicacion 1702. En otras palabras, cuando la aplicacion 1702 se asigna fuera del enfoque de
5
10
15
20
25
30
35
40
45
50
55
usuario (por ejemplo, se mueve al fondo), el PLM 1708 puede terminar el procedimiento de UI 1706 de chat y suspender la seccion 1704 de chat en memoria.
El sistema 1700 puede aprovechar una infraestructura de negociador de nucleo que incluye un mecanismo para reponer la seccion 1704 de chat cuando sucede un evento interesante para la aplicacion 1702 como se ha descrito anteriormente. De esta manera, pueden conservarse recursos del dispositivo informatico, por ejemplo, una CPU del dispositivo 102 informatico puede entrar en un modo silencioso y permanecer en este modo hasta que un mensaje entrante acciona una reactivacion, unos negociadores de nucleo reactivan el sistema para actividad periodica y asf sucesivamente.
El negociador 1710 de conectividad de red (NCB) (que puede o no corresponder al modulo 122 de negociador de red de la Figura 1) puede emplear una diversidad de funcionalidades, que se representa como un gestor 1712 de patron de reactivacion y un gestor 1714 de mantenimiento de la conexion. El gestor 1712 de patron de reactivacion (WPM) se configura para garantizar que la aplicacion 1702 puede "reponerse" tras un evento de red, por ejemplo, reactivacion tras una deteccion de un patron espedfico.
El gestor 1714 de mantenimiento de la conexion se configura para garantizar que un canal de notificacion se conserva para la aplicacion 1702, por ejemplo, para accesibilidad desde un servicio en la nube para notificaciones automaticas entrantes. Por ejemplo, la aplicacion 1702 puede registrar un ardculo de trabajo con la BI 1802 de la Figura 18 indicando de este modo al sistema 116 operativo que la aplicacion 1702 se interesa en la actividad de mantenimiento de la conexion. El sistema 116 operativo puede a continuacion determinar un intervalo de mantenimiento de la conexion unido apropiado para reactivar aplicaciones 1702 que han registrado una rellamada para indicar que se permite actividad de paquete saliente durante una cantidad de tiempo predefinida, por ejemplo, durante unos pocos segundos. La BI 1802 puede "aislar" artfculos de trabajo en terminos de recursos de CPU y de memoria. Esto permite que la aplicacion 1702 realice un "mantenimiento de la conexion" periodico a un punto de extremo respectivo (por ejemplo, servicio "en la nube") para conservar accesibilidad. Esto tambien puede usarse para limitar la capacidad de las aplicaciones del uso ineficiente de recursos debido a una sobreabundancia de "mantenimientos de la conexion."
El sistema operativo, en conjuncion con un servicio de notificacion (por ejemplo, un Servicio de Notificacion de Ventanas) puede usarse para determinar un intervalo de mantenimiento de la conexion dinamico como se ha descrito anteriormente. El intervalo de mantenimiento de la conexion dinamico, por ejemplo, puede implementarse como un "retroceso exponencial" que dobla una cantidad de tiempo definida por el intervalo que se inicia conservativamente en intervalos de cuatro minutos y que aumenta a un valor en que la conexion todavfa se conserva. El servicio de notificacion puede usar una conexion de prueba para este fin para determinar el intervalo dinamico. En una o mas implementaciones, el gestor 1714 de mantenimiento de la conexion no distingue entre el estado de aplicacion o el sistema a estar conectado en espera o Activo/ENCENDIDO, aunque tambien se contemplan otras implementaciones.
El gestor 1712 de patron de reactivacion es representativo de funcionalidad para sondear un patron de reactivacion apropiado para un dispositivo de interfaz de red, tal como una tarjeta 1716 de interfaz de red (NIC). El gestor 1712 de patron de reactivacion puede provocar que la NIC 1716 entre en un modo "Reactivacion en LAN" tras entrada de modo silencioso de red. La NIC 1716, por ejemplo, puede pasar a un modo D3 en el que la NIC 1716 se configura para aceptar y entregar un paquete entrante si coincide con un conjunto de patrones de reactivacion. Si es asf, pueden provocar que la NIC 1716 pase a un estado activo. Patrones de reactivacion pueden derivarse de una diversidad de fuentes, tales como "<SrcAddr, DstAddr, SrcPort, DstPort, TransportProtocol>" para cada conexion habilitada para reactivacion. En una o mas implementaciones, la NIC 1716 pasa el paquete entrante que provoco la reactivacion de la pila de protocolos (al contrario que descartarlo/desecharlo) ya que la perdida de un paquete de este tipo puede impactar en la capacidad de respuesta en tiempo real para aplicaciones que soportan caractensticas tales como VoIP.
Una superficie de API de Tiempo de Ejecucion tambien puede exponerse a aplicaciones que se configuran para hacer uso del mantenimiento de la conexion y funcionalidad de reactivacion remota proporcionada mediante el sistema 116 operativo. Esta librena puede usarse para permitir que aplicaciones realicen una diversidad de funciones, incluyendo:
• Indicar la creacion de canales de notificacion (por ejemplo, BeginSetup);
• Indicar la finalizacion de ajustes de canales de notificacion (por ejemplo, EndSetup);
• Establecer en minutos el intervalo de mantenimiento de la conexion deseado (por ejemplo, ServerKeepAliveIntervalTime);
• Registrar controladores de Tareas de Fondo para eventos de mantenimiento de la conexion y eventos de reactivacion remotos; y
• Indicar al sistema que el intervalo de mantenimiento de la conexion no fue suficiente (por ejemplo, DecreaseKeepAliveInterval).
Porque un sistema de notificacion puede implementarse como un componente de bandeja de entrada que se ejecuta continuamente, un codigo de artfculo de trabajo a ejecutar para que eventos de mantenimiento de la conexion
5
10
15
20
25
30
35
40
45
50
55
puedan reactivarse mediante un procedimiento de Intermediario de Activacion. El intermediario de activacion puede esconderse dentro de una librena de tiempo de ejecucion y activarse a traves de una API privada. Puede usarse una comprobacion de servicio NCB para comprobar un nivel de integridad del procedimiento. El intermediario crea eventos WNF y escucha a un canal WNF para mensajes de eventos WNF. El controlador de tareas de fondo para servicio de notificacion puede invocarse por intermediario cuando BI (como resultado de servicio NCB/TCPIP.sys llamando a BiSignalEvent) publica un mensaje de evento WNF.
Una librena de API de tiempo de ejecucion puede usar LRPC para comunicar con el subservicio NCB (Ncbsvc.dll) alojado dentro del servicio de Ayuda IP para proporcionar un tiempo de mantenimiento de la conexion a un NCB y recibir los nombres de eventos para mantenimiento de la conexion y eventos de reactivacion. La API de tiempo de ejecucion puede a continuacion llamar a API de infraestructura de negociador para asociar las rellamadas proporcionadas por la aplicacion con eventos proporcionados por la infraestructura de negociacion.
El sistema 1800 de la Figura 18 incluye un registrador 1804 NCB, que se configura para aislar las interfaces de comunicacion reales usadas por un servicio 1806 NCB para hablar con el resto del sistema 116 operativo. Por ejemplo, la RPC usada por las API de tiempo de ejecucion puede aislarse en el Registrador NCB. El Registrador puede abrir un punto de extremo de servidor RPC y escuchar a las aplicaciones. Las aplicaciones pueden usar la librena de tiempo de ejecucion descrita anteriormente para conectar este punto de extremo RPC.
De manera similar, el acceso de API de BI 1802 real puede esconderse dentro del registrador 1804 NCB como se ilustra. Esto permite que el gestor 1714 de mantenimiento de la conexion se aisle de cambios estructurales. El registrador 1804 NCB puede llamar a las API de BI 1802 para crear "mantenimiento de la conexion" y eventos de "reactivacion". La otra parte del registrador 1804 NCB puede implicar comunicacion con un WPM 1808.
La interfaz 1810 de proveedor de mantenimiento de la conexion se configura para permitir que un WNS se registre como un proveedor de intervalo de mantenimiento de la conexion y puede usar LRPC para comunicacion con el WNS. El WNS puede proporcionar estimaciones de intervalo de mantenimiento de la conexion usando rellamadas registradas por la interfaz 1810 de proveedor de mantenimiento de la conexion.
La interfaz 1810 de proveedor de mantenimiento de la conexion puede almacenar en cache las estimaciones en una base por red (NLM ID) en una librena 1812 de cache NLM. Puede accederse a este cache NLM a traves de una librena que puede ser comun entre la interfaz de proveedor de mantenimiento de la conexion y un gestor de sitio DA.
El gestor 1714 de mantenimiento de la conexion puede configurarse para solicitar una estimacion de intervalo de mantenimiento de la conexion de un proveedor de mantenimiento de la conexion. Un temporizador (que puede unirse) puede crearse usando una API "SetThreadPoolTimer". El tiempo puede establecerse como el mmimo de T_WNS y T_APP - el intervalo de mantenimiento de la conexion solicitado por la aplicacion.
Cuando el temporizador de mantenimiento de la conexion expira, el gestor 1714 de mantenimiento de la conexion puede senalizar un evento de mantenimiento de la conexion llamando al registrador 1804 NCB. El registrador 1804 NCB puede a continuacion llamar a las API de BI 1802 para accionar artfculos de trabajo a planificar.
Una aplicacion puede proporcionar la NCB con una indicacion de que el intervalo proporcionado era demasiado largo. Esto puede usarse junto con la ID de aplicacion y la ID de canal de notificacion para almacenar en un cache de nuevo en una base por red usando la librena 1812 de cache NLM descrita anteriormente.
Un modelo para la identificacion de canales de notificacion puede ser a base de un modelo "Inicio/Hecho" que traza un lapso de tiempo en todo el procedimiento durante el que cada conexion TCP establecida mediante un procedimiento (excepto bucle) se trata como un canal de notificacion por NCB. Un lapso de tiempo Inicio/Hecho, sin embargo, tiene un unico conjunto de parametros, denominados colectivamente como un "NCContext", que se aplica a cada una de las conexiones creadas durante ese lapso. Debena observarse que habitualmente se encuentra una relacion uno a uno entre un NCContext y una conexion TCP. Sin embargo, el modelo Inicio/Hecho no garantiza esta relacion, por lo tanto este diseno puede operar con la suposicion de que pueden ser multiples conexiones TCP las que corresponden a un unico lapso NCContext. Este lapso puede identificarse por una tupla que incluye una ID de procedimiento, una ID de NCContext opaco creado y usado por el registrador, una ID de canal de notificacion opaco opcional (pasado BI durante senalizacion de evento, por lo tanto significativo para la aplicacion) y un evento negociado de reactivacion remota opcional.
El registrador 1804 NCB puede configurarse para indicar el Inicio(PID, NCContextID, AppNCID, BrokeredEvent) y Hecho() (por ejemplo, estableciendo y eliminando un NCContext) a WPM. El registrador 1804 NCB tambien puede garantizar que la PID de procedimiento de aplicacion real permanece intacta (por ejemplo, no se recicla) durante el lapso de tiempo Inicio/Hecho. El registrador 1804 NCB puede lograr esto usando una API RPC que toma una referencia en el procedimiento de cliente.
La NCB puede indicar el Inicio y Hecho a WPM 1808 a traves de NSI 1814. WPM puede exponer un objeto INET NSI (que puede ser similar a un objeto NSI de reserva de puerto) para este fin. NCB puede usar ordenes de establecer NSI para el establecimiento de NCContext activo (por ejemplo, Inicio) y eliminar el NCContext activo (por ejemplo, Hecho). En una o mas implementaciones, existe un unico NCContext activo para un procedimiento dado a un punto
5
10
15
20
25
30
35
40
45
50
55
en el tiempo dado.
Conexiones TCP establecidas por un procedimiento dado pueden heredar el NCContext activo actual (si hay) para ese procedimiento. Una vez que un NCContext se hereda, puede permanecer unido a la conexion TCP heredera. Si la NCB establece un NCContext activo nuevo para un procedimiento (por ejemplo, despues de eliminar el uno anterior activo), nuevas conexiones pueden heredar el nuevo NCContext y conexiones que ha heredado los anteriores NCContext pueden permanecer no afectadas. Un NCContext heredado (por una o mas conexiones TCP) pueden eliminarse por el servicio 1806 NCB usando tambien NSI 1814. Si un NCContext se elimina, WPM 1808 puede parar la senalizacion del evento negociado de reactivacion remota asociado (pero el patron de reactivacion sondeado permanece intacto hasta que la conexion se cierra).
Ya que WPM 1808 puede mantener seguimiento de algun estado por procedimiento (por ejemplo, NCContext activos y heredados) que se controla mediante el servicio 1806 NCB, puede confiar en el servicio 1806 NCB para limpiar apropiadamente estado (NCContext) a medida que aplicaciones salen. Sin embargo, es posible que el procedimiento de servicio 1806 NCB pueda chocar/salir anormalmente. Para realizar limpieza apropiada, WPM 1808 puede recibir una indicacion de salida de procedimiento de servicio NCB mediante NCB creando una toma TCP (no vinculado o conectado) y estableciendo una opcion privada en la toma para marcar la misma como la toma de control NCB. Ya que el gestor de objeto cierra apropiadamente valores numericos (que incluyen conexiones) cuando un procedimiento sale, el cierre de valores numericos de conexiones causa que el punto de extremo TCP cierre rutina a invocar. TCP puede a continuacion limpiar cada uno de los NCContext tras el cierre de la toma de control NCB.
Como se describe anteriormente, el gestor 1808 de patron de reactivacion (WPM) (que puede implementarse en un modulo TCP en tcpip.sys) puede configurarse para mantener seguimiento de NCContext. TCP puede mantener una tabla de procedimientos y el(los) asociado(s) NCContext establecido(s) por el servicio 1806 NCB. En una o mas implementaciones, existen o bien uno o cero NCContext "activos" para un procedimiento dado y puede haber uno o mas NCContext "heredados" para un procedimiento dado. TCP puede configurarse para permitir que una unica cuenta de sistema en la que servicio NCB funciona para establecer/eliminar NCContext.
En una o mas implementaciones, un NCContext tiene un conteo de referencia para estar "activo" y un conteo de referencia para cada conexion heredera. Es decir, el NCContext puede borrarse cuando no esta ni activo ni se heredo por conexiones.
Cuando una conexion hereda un NCContext, WPM 1808 puede sondear abajo un patron de reactivacion hecho a partir de las 4 tuplas de la conexion hasta el dispositivo de interfaz de red a traves de procedimientos NSI 1814 para el sondeo de patron de reactivacion si la NIC soporta patrones de reactivacion. WPM 1808 puede mantener seguimiento de si un patron de reactivacion no se sondeo exitosamente para una conexion dada para cada NCContext activo. Antes de que el NCContext activo se elimine mediante el servicio NCB durante la llamada "Hecho", servicio 1806 NCB puede emitir un conseguir NSI para ese NCContext para consultar este estado de sondeo de patron de reactivacion y devolver la informacion a la aplicacion (por ejemplo, si el sistema fallo al sondear un patron de reactivacion para una conexion asociada con ese NCContext).
Para cada conexion TCP que ha heredado un NCContext con un evento de reactivacion remota negociado, TCP puede senalizar el evento de reactivacion remota negociado siempre que se hace una indicacion de datos (por ejemplo, llamada ascendente o finalizacion de recepcion) mediante TCP en esa conexion debido a datos entrantes. Una vez que TCP senaliza el evento de reactivacion remota, puede deshabilitar (por ejemplo, desactivar) senalizacion adicional en ese NCContext hasta que el evento de reactivacion remota se active de nuevo mediante el servicio 1806 NCB. Servicio 1806 NCB activa de nuevo el evento de reactivacion remoto despues de que la rellamada de reactivacion remota de la aplicacion devuelve el control de nuevo a la rutina NCB que invoco la rellamada.
La manipulacion de SIO_ADDRESS_LIST_SORT ioctl en NL tambien puede cambiarse para ser consciente de si el loctl se esta emitiendo mediante un procedimiento mientras existe un NCContext activo para ese procedimiento, y si es asf, la logica de ordenacion puede preferir las direcciones en interfaces nativas a interfaces de tunel.
WPM 1808 tambien puede mantener un temporizador para seguir los tiempos de vida valido restantes para direcciones formados usando un prefijo de subred IPv6 avisado por un encaminador. Ya que los avisos de encaminador pueden desecharse por las NIC en un estado de capaz de reactivar de baja potencia, la temporizacion de prefijo IPv6 puede actualizarse a traves de solicitacion de encaminador explfcita antes de que suceda la temporizacion, de otra manera la identidad L3 puede no preservarse de forma fiable en algunos casos. El WPM 1808 puede usar el NDIS API para tomar una "referencia de NIC activa" en la interfaz de red en la que la solicitacion de encaminador puede tener lugar para garantizar que la NIC "se queda arriba" (por ejemplo, no va a D3 debido a que no tiene ninguna referencia de NIC activa retenida por cualquiera en el sistema).
Sistema y Dispositivo de Ejemplo
La Figura 19 ilustra un sistema de ejemplo 1900 que incluye el dispositivo 102 informatico como se describe con referencia a la Figura 1. El ejemplo sistema 1900 habilita entornos ubicuos para una experiencia de usuario fluida
5
10
15
20
25
30
35
40
45
50
55
60
cuando las aplicaciones funcionan en un ordenador personal (PC), un dispositivo de television y/o un dispositivo movil. Servicios y aplicaciones funcionan sustancialmente similar en todos los tres entornos para una experiencia de usuario comun cuando pasa de un dispositivo al siguiente mientras utiliza una aplicacion, juega un video juego, ve un video y asf sucesivamente.
En el ejemplo sistema 1900, multiples dispositivos se interconectan a traves de un dispositivo informatico central. El dispositivo informatico central puede ser local para los multiples dispositivos o puede ubicarse remotamente de los multiples dispositivos. En una realizacion, el dispositivo informatico central puede ser una nube de uno o mas ordenadores de servidor que se conectan a los multiples dispositivos a traves de una red, la Internet u otro enlace de comunicacion de datos. En una realizacion, esta arquitectura de interconexion habilita funcionalidad para entregarse a traves de multiples dispositivos para proporcionar una experiencia comun y fluida a un usuario de los multiples dispositivos. Cada uno de los multiples dispositivos puede tener diferentes requisitos ffsicos y capacidades y el dispositivo informatico central usa una plataforma para habilitar la entrega de una experiencia al dispositivo que es tanto adaptada al dispositivo como aun comun a todos los dispositivos. En una realizacion, se crea una clase de dispositivos objetivos y experiencias se adaptan a la clase generica de dispositivos. Una clase de dispositivos puede definirse mediante caractensticas ffsicas, tipos de uso u otras caractensticas comunes de los dispositivos.
En diversas implementaciones, el dispositivo 102 informatico puede asumir una diversidad de diferentes configuraciones, tales como para uso de ordenador 1902, movil 1904 y television 1906. Cada una de estas configuraciones incluye dispositivos que generalmente puede tener diferentes construcciones y capacidades y por lo tanto el dispositivo 102 informatico puede configurarse de acuerdo con una o mas de las diferentes clases de dispositivos. Por ejemplo, el dispositivo 102 informatico puede implementarse como la clase de ordenador 1902 de un dispositivo que incluye un ordenador personal, ordenador de sobremesa, un ordenador de pantalla multiple, ordenador portatil, miniordenador portatil y asf sucesivamente.
El dispositivo 102 informatico tambien puede implementarse como la clase de movil 1904 de dispositivo que incluye dispositivos moviles, tales como un telefono movil, reproductor de musica portatil, dispositivo de juego portatil, un ordenador de tableta, un ordenador de pantalla multiple y asf sucesivamente. El dispositivo 102 informatico tambien puede implementarse como la clase de television 1906 de dispositivo que incluye dispositivos que tienen o conectan a generalmente pantallas mas grandes en entornos de visualizacion casuales. Estos dispositivos incluyen televisiones, decodificadores de salon, consolas de juegos y asf sucesivamente. Las tecnicas descritas en el presente documento pueden soportarse por estas diversas configuraciones del dispositivo 102 informatico y no se limitan a los ejemplos espedficos de las tecnicas descritas en el presente documento. Esto se ilustra a traves de la inclusion del uso del modulo 122 de negociador de red, modulo 124 de gestor de patron de reactivacion, modulo 126 de gestor de dispositivo de red y modulo 128 de gestion de mantenimiento de la conexion en el dispositivo 102 informatico. Toda o parte de esta funcionalidad tambien puede distribuirse "en la nube" como se describe a continuacion.
La nube 1908 incluye y/o es representativa de una plataforma 1910 para servicios 1912 de contenidos. La plataforma 1910 extrae la funcionalidad subyacente de recursos de hardware (por ejemplo, servidores) y software de la nube 1908. Los servicios 1912 de contenido pueden incluir aplicaciones y/o datos que pueden utilizarse mientras el procesamiento informatico se ejecuta en servidores que son remotos del dispositivo 102 informatico. Pueden proporcionarse servicios 1912 de contenidos como un servicio en la Internet y/o a traves de una red de abonados, tales como una red de celular o Wi-Fi.
La plataforma 1910 puede extraer recursos y funciones para conectar el dispositivo 102 informatico con otros dispositivos informaticos. La plataforma 1910 tambien puede servir para extraer el escalado de recursos para proporcionar un nivel correspondiente de escala para demanda encontrada para los servicios 1912 de contenido que se implementan a traves de la plataforma 1910. Por consiguiente, en una realizacion de dispositivo interconectado, la implementacion de la funcionalidad de la funcionalidad descrita en el presente documento puede distribuirse a lo largo de todo el sistema 1900. Por ejemplo, la funcionalidad puede implementarse en parte en el dispositivo 102 informatico asf como a traves de la plataforma 1910 que extrae la funcionalidad de la nube 1908.
La Figura 20 ilustra diversos componentes de un dispositivo 2000 de ejemplo que puede implementarse como cualquier tipo de dispositivo informatico como se describe con referencia a las Figuras 1 y 19 para implementar realizaciones de las tecnicas descritas en el presente documento. El dispositivo 2000 incluye dispositivos 2002 de comunicacion que habilitan comunicacion por cable y/o inalambrica de datos 2004 de dispositivo (por ejemplo, datos recibidos, datos que se van a recibir, datos planificados para difusion, paquetes de datos de los datos, etc.). Los datos 2004 de dispositivo u otro contenido de dispositivo pueden incluir ajustes de configuracion del dispositivo, contenido de medios almacenado en el dispositivo y/o informacion asociada con un usuario del dispositivo. Contenido de medios almacenado en el dispositivo 2000 puede incluir cualquier tipo de datos de audio, video y/o imagen. El dispositivo 2000 incluye una o mas entradas 2006 de datos a traves de las que pueden recibirse cualquier tipo de datos, contenido de medios y/o entradas, tales como entradas seleccionables por usuario, mensajes, musica, contenido de medios de television, contenido de video grabado y cualquier otro tipo de datos de audio, video y/o imagen recibidos desde cualquier fuente de datos y/o contenido.
5
10
15
20
25
30
35
40
45
50
El dispositivo 2000 tambien incluye interfaces 2008 de comunicacion que pueden implementarse como uno cualquiera o mas de una interfaz en serie y/o en paralelo, una interfaz inalambrica, cualquier tipo de interfaz de red, un modem y como cualquier otro tipo de interfaz de comunicacion. Las interfaces 2008 de comunicacion proporcionan una conexion y/o enlaces de comunicacion entre el dispositivo 2000 y una red de comunicacion por la que otros dispositivos electronicos, informaticos y de comunicacion comunican datos con el dispositivo 2000.
El dispositivo 2000 incluye uno o mas procesadores 2010 (por ejemplo, cualquiera de microprocesadores, controladores y similares) que procesan diversas instrucciones ejecutables por ordenador para controlar la operacion del dispositivo 2000 y para implementar realizaciones de las tecnicas descritas en el presente documento. Como alternativa o ademas, el dispositivo 2000 puede implementarse con uno cualquiera o combinacion de hardware, firmware o circuitena de logica fija que se implementa en conexion con circuitos de procesamiento y control que generalmente se identifican en 20l2. Aunque no se muestra, el dispositivo 2000 puede incluir un bus de sistema o sistema de transferencia de datos que acopla los diversos componentes dentro del dispositivo. Un bus de sistema puede incluir una cualquiera o combinacion de diferentes estructuras de bus, tales como un bus de memoria o controlador de memoria, un bus periferico, un bus serial universal y/o un bus local o de procesador que utiliza cualquiera de una diversidad de arquitecturas de bus.
El dispositivo 2000 tambien incluye medio 2014 legible por ordenador, tal como uno o mas componentes de memoria, ejemplos de los cuales incluyen Memoria de Acceso Aleatorio (RAM), memoria no volatil (por ejemplo, uno cualquiera o mas de una memoria de solo lectura (ROM), memoria flash, EPROM, EEPROM, etc.) y un dispositivo de almacenamiento de disco. Un dispositivo de almacenamiento de disco puede implementarse como cualquier tipo de dispositivo de almacenamiento magnetico u optico, tales como una unidad de disco duro, un disco compacto (CD) grabable y/o regrabable, cualquier tipo de un disco versatil digital (DVD) y similares. El dispositivo 2000 tambien puede incluir un dispositivo 2016 de medio de almacenamiento masivo.
El medio 2014 legible por ordenador proporciona mecanismos de almacenamiento de datos para almacenar los datos 2004 de dispositivo, asf como diversas aplicaciones 2018 de dispositivo y cualquier otro tipo de informacion y/o datos relacionados con aspectos operacionales del dispositivo 2000. Por ejemplo, un sistema 2020 operativo puede conservarse como una aplicacion informatica con el medio 2014 legible por ordenador y usarse en procesadores 2010. Las aplicaciones 2018 de dispositivo puede incluir un gestor de dispositivo (por ejemplo, una aplicacion de control, aplicacion de software, modulo de procesamiento y control de serial, codigo que es nativo para un dispositivo particular, una capa de extraccion de hardware para un dispositivo particular, etc.). Las aplicaciones 2018 de dispositivo tambien incluyen cualquier componente o modulo de sistema para implementar realizaciones de las tecnicas descritas en el presente documento. En este ejemplo, las aplicaciones 2018 de dispositivo incluyen una aplicacion 2022 de interfaz y un modulo 2024 de entrada/salida que se muestran como modulos de software y/o aplicaciones informaticas. El modulo 2024 de entrada/salida es representativo de software que se usa para proporcionar una interfaz con un dispositivo configurado para capturar entradas, tales como una pantalla tactil, panel tactil, camara, microfono y asf sucesivamente. Como alternativa o ademas, la aplicacion 2022 de interfaz y el modulo 2024 de entrada/salida pueden implementarse como hardware, software, firmware o cualquier combinacion de los mismos. Adicionalmente, el modulo 2024 de entrada/salida puede configurarse para soportar multiples dispositivos de entrada, tales como dispositivos separados para capturar entradas visuales y de audio, respectivamente.
El dispositivo 2000 tambien incluye un sistema 2026 de entrada-salida de audio y/o video que proporciona datos de audio a un sistema 2028 de audio y/o proporciona datos de video a un sistema 2030 de visualizacion. El sistema 2028 de audio y/o el sistema 2030 de visualizacion pueden incluir cualquier dispositivo que procesa, visualiza y/o de otra manera convierte datos de audio, video e imagen. Senales de video y senales de audio pueden comunicarse desde el dispositivo 2000 a un dispositivo de audio y/o a un dispositivo de visualizacion a traves de un enlace RF (frecuencia de radio), enlace Svideo, enlace de video compuesto, enlace de video de componentes, DVI (interfaz de video digital), conexion de audio analogico u otro enlace de comunicacion similar. En una realizacion, el sistema 2028 de audio y/o el sistema 2030 de visualizacion se implementan como componentes externos al dispositivo 2000. Como alternativa, el sistema 2028 de audio y/o el sistema 2030 de visualizacion se implementan como componentes integrados de dispositivo 2000 de ejemplo.
Conclusion
Aunque la invencion se ha descrito en lenguaje espedfico a caractensticas estructurales y/o actos metodologicos, se ha de entender que la invencion definida en las reivindicaciones adjuntas no se limita necesariamente a las caractensticas o actos espedficos descritos. En su lugar, las caractensticas o actos espedficos se desvelan como formas de ejemplo de implementacion de la invencion reivindicada.
Claims (7)
- 51015202530REIVINDICACIONES1. Un procedimiento implementado por un dispositivo (102) informatico, comprendiendo el procedimiento:calcular un intervalo (1302) de mantenimiento de la conexion mediante un sistema (102) operativo del dispositivo informatico, en el que calcular el intervalo (1302) de mantenimiento de la conexion incluye computar el mmimo de un intervalo de temporizacion de servidor de un punto (1306) de extremo de un dispositivo (112) de entrelazado de red del dispositivo (102) informatico y de un intervalo de temporizacion de red de dispositivos de intermediacion de una red (114) a la que se conecta el dispositivo (112) de interfaz de red; y usar el intervalo (1302) de mantenimiento de la conexion para conservar uno o mas canales de notificacion entre una o mas aplicaciones (120) del dispositivo (102) informatico y una red.
- 2. Un procedimiento como se describe en la reivindicacion 1, en el que el uno o mas dispositivos (1308) intermediarios incluyen un dispositivo de traslado de direccion de red, un intermediario, cortafuegos o punto de acceso inalambrico.
- 3. Un procedimiento como se describe en la reivindicacion 1, en el que el calculo del intervalo (1302) de mantenimiento de la conexion es al menos en parte a base de un intervalo de temporizacion de servidor de un punto (1306) de extremo con el que la una o mas aplicaciones (120) se comunican a traves de la red (114).
- 4. Un procedimiento como se describe en la reivindicacion 1, en el que el intervalo de temporizacion de servidor se descubre mediante el sistema operativo investigando la una o mas aplicaciones (120) del dispositivo (102) informatico con las que se comunicaran los puntos (1306) de extremo.
- 5. Un procedimiento como se describe en la reivindicacion 1, comprendiendo ademas ajustar el intervalo (1302) de mantenimiento de la conexion a base de uso supervisado del intervalo (1302) de mantenimiento de la conexion mediante el sistema operativo.
- 6. Un procedimiento como se describe en la reivindicacion 5, en el que el ajuste se realiza como respuesta a perdida de comunicacion a traves de uno o mas de los canales de notificacion.
- 7. Un dispositivo (102) informatico que comprende uno o mas modulos configurados para realizar operaciones que comprende:determinar para cada una de una pluralidad de aplicaciones (120) ejecutables en el dispositivo (102) informatico uno o mas intervalos de temporizacion de servidor especificados para conservar un canal de notificacion con un punto (1306) de extremo respectivo a traves de una red (114); calcular un intervalo (1302) de mantenimiento de la conexion a base de un mmimo de los uno o mas intervalos de temporizacion de servidor para cada una de la pluralidad de aplicaciones (120) y de un intervalo de temporizacion de red de dispositivos intermediarios de la red (114); yusar el intervalo (1302) de mantenimiento de la conexion para reactivar un dispositivo (112) de interfaz de red como se especifica para conservar los canales de notificacion.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201113229325 | 2011-09-09 | ||
US13/229,325 US8892710B2 (en) | 2011-09-09 | 2011-09-09 | Keep alive management |
PCT/US2011/055702 WO2013036258A1 (en) | 2011-09-09 | 2011-10-11 | Keep alive management |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2633566T3 true ES2633566T3 (es) | 2017-09-22 |
Family
ID=47800047
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES11872022.6T Active ES2633566T3 (es) | 2011-09-09 | 2011-10-11 | Gestión de mantenimiento de conexión |
Country Status (5)
Country | Link |
---|---|
US (3) | US8892710B2 (es) |
EP (2) | EP2754002B1 (es) |
CN (1) | CN102970155B (es) |
ES (1) | ES2633566T3 (es) |
WO (1) | WO2013036258A1 (es) |
Families Citing this family (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9098279B2 (en) * | 2010-09-14 | 2015-08-04 | Google Inc. | Methods and systems for data interchange between a network-connected thermostat and cloud-based management server |
US9046898B2 (en) | 2011-02-24 | 2015-06-02 | Google Inc. | Power-preserving communications architecture with long-polling persistent cloud channel for wireless network-connected thermostat |
US8806250B2 (en) | 2011-09-09 | 2014-08-12 | Microsoft Corporation | Operating system management of network interface devices |
US9049660B2 (en) | 2011-09-09 | 2015-06-02 | Microsoft Technology Licensing, Llc | Wake pattern management |
US8892710B2 (en) | 2011-09-09 | 2014-11-18 | Microsoft Corporation | Keep alive management |
EP2817941A4 (en) * | 2012-02-24 | 2015-10-21 | Nokia Technologies Oy | METHOD AND DEVICE FOR A DYNAMIC SERVICE CLIENTS-CONTROLLED CONNECTIVITY LOGIC |
US8565689B1 (en) | 2012-06-13 | 2013-10-22 | All Purpose Networks LLC | Optimized broadband wireless network performance through base station application server |
US9882950B2 (en) | 2012-06-13 | 2018-01-30 | All Purpose Networks LLC | Methods and systems of an all purpose broadband network |
US9503927B2 (en) | 2012-06-13 | 2016-11-22 | All Purpose Networks LLC | Multiple-use wireless network |
US8948091B2 (en) * | 2012-07-10 | 2015-02-03 | Empire Technology Development Llc | Push management scheme |
US9756089B2 (en) * | 2012-08-28 | 2017-09-05 | Facebook, Inc. | Maintain persistent connections between servers and mobile clients |
US9554366B2 (en) | 2012-08-31 | 2017-01-24 | Qualcomm Incorporated | Optimized always-on wireless service using network assistance and keep-alives |
US9098177B2 (en) * | 2012-12-13 | 2015-08-04 | Google Technology Holdings LLC | Apparatus and methods for facilitating context handoff between devices in a cloud based wireless personal area network |
US10075519B2 (en) * | 2013-01-10 | 2018-09-11 | Telefonaktiebolaget Lm Ericsson (Publ) | Connection mechanism for energy-efficient peer-to-peer networks |
WO2014144493A2 (en) | 2013-03-15 | 2014-09-18 | Ushahidi, Inc. | Devices, systems and methods for enabling network connectivity |
CN104104647B (zh) * | 2013-04-02 | 2018-02-06 | 宏碁股份有限公司 | 维持连线方法 |
US9491067B2 (en) * | 2013-04-09 | 2016-11-08 | Cisco Technology, Inc. | Timeout for identifying network device presence |
US9355559B1 (en) * | 2013-05-23 | 2016-05-31 | Amazon Technologies, Inc. | Media device control profile selection |
US9491032B2 (en) | 2013-05-29 | 2016-11-08 | Microsoft Technology Licensing, Llc | Pattern coalescing for remote wake-enabled applications |
EP4216599A1 (en) | 2013-06-11 | 2023-07-26 | Seven Networks, LLC | Offloading application traffic to a shared communication channel for signal optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols |
WO2014204461A1 (en) | 2013-06-20 | 2014-12-24 | Hewlett-Packard Development Company, L.P. | Computing device power states |
US9473506B1 (en) | 2013-10-15 | 2016-10-18 | Progress Software Corporation | Secure file transfer and notification server |
US9531678B1 (en) * | 2013-10-15 | 2016-12-27 | Progress Software Corporation | On-premises data access and firewall tunneling |
WO2015084878A1 (en) * | 2013-12-02 | 2015-06-11 | Akamai Technologies, Inc. | Virtual private network (vpn)-as-a-service with delivery optimizations while maintaining end-to-end data security |
CN104092649B (zh) * | 2013-12-04 | 2016-01-06 | 深圳市腾讯计算机系统有限公司 | 预热信道的方法和装置 |
CN104135571B (zh) * | 2014-08-12 | 2016-05-25 | 中国联合网络通信集团有限公司 | 心跳定时器设置方法、终端和服务器 |
WO2016036134A1 (en) * | 2014-09-02 | 2016-03-10 | Samsung Electronics Co., Ltd. | Apparatus and method for controlling tcp connections in a wireless communication system |
US10623319B1 (en) * | 2015-09-28 | 2020-04-14 | Amazon Technologies, Inc. | Load rebalancing in a network-based system |
EP3482544A4 (en) * | 2016-07-08 | 2019-05-15 | Telefonaktiebolaget LM Ericsson (publ) | METHOD AND SYSTEMS FOR HANDLING SCALABLE NETWORK CONNECTIONS |
CN106455024A (zh) * | 2016-10-20 | 2017-02-22 | 上海摩软通讯技术有限公司 | 通信频率的自动调节方法及终端设备 |
US10289189B2 (en) | 2016-10-31 | 2019-05-14 | Microsoft Technology Licensing, Llc | Usage pattern based supervisory control of power management |
KR20180123391A (ko) | 2017-05-08 | 2018-11-16 | (주)에프씨아이 | 접속확인 패킷 전송 제어방법 및 장치 |
US10616182B1 (en) | 2017-11-30 | 2020-04-07 | Progress Software Corporation | Data access and firewall tunneling using a custom socket factory |
CN108181982B (zh) * | 2018-01-02 | 2022-05-31 | 联想(北京)有限公司 | 一种处理方法、装置及电子设备 |
US11026090B2 (en) | 2018-01-08 | 2021-06-01 | All Purpose Networks, Inc. | Internet of things system with efficient and secure communications network |
WO2020101747A1 (en) | 2018-01-08 | 2020-05-22 | All Purpose Networks, Inc. | Publish-subscribe broker network overlay system |
US10931516B2 (en) | 2018-09-26 | 2021-02-23 | Hewlett Packard Enterprise Development Lp | Network link failure detection |
US11394702B2 (en) * | 2019-09-23 | 2022-07-19 | T-Mobile Usa, Inc. | Authentication system when authentication is not functioning |
US11797328B2 (en) | 2019-10-14 | 2023-10-24 | Microsoft Technology Licensing, Llc | Virtualized background activations |
US11290866B2 (en) | 2020-08-14 | 2022-03-29 | Samsung Electronics Co., Ltd. | Real-time lightweight NAT keep-alive interval optimization for multi-SIM mobile devices |
CN111897581B (zh) * | 2020-09-25 | 2021-08-31 | 广州朗国电子科技有限公司 | 息屏唤醒方法、装置、存储介质及一体机设备 |
US11675413B2 (en) * | 2020-09-30 | 2023-06-13 | Dell Products L.P. | Reducing power consumption of memory devices at an information handling system |
CN115617539A (zh) | 2021-07-16 | 2023-01-17 | 联发科技(新加坡)私人有限公司 | 处理实时应用消息的方法及装置 |
US20230171176A1 (en) * | 2021-11-30 | 2023-06-01 | Arista Networks, Inc. | Adjustable keepalive timer |
US20240129324A1 (en) * | 2022-10-18 | 2024-04-18 | Bank Of America Corporation | Systems, methods, and apparatuses for tracking network traffic data and identifying rogue access patterns in an electronic network |
Family Cites Families (133)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4635187A (en) | 1983-12-19 | 1987-01-06 | At&T Bell Laboratories | Control for a multiprocessing system program process |
US5699511A (en) | 1995-10-10 | 1997-12-16 | International Business Machines Corporation | System and method for dynamically varying low level file system operation timeout parameters in network systems of variable bandwidth |
US6212175B1 (en) | 1997-04-22 | 2001-04-03 | Telxon Corporation | Method to sustain TCP connection |
US6938040B2 (en) | 1998-04-28 | 2005-08-30 | International Business Machines Corporation | Pattern matching in communications network where first memory stores set of patterns, and second memory stores mask data identifying patterns in the first memory |
US6904519B2 (en) | 1998-06-12 | 2005-06-07 | Microsoft Corporation | Method and computer program product for offloading processing tasks from software to hardware |
US6640268B1 (en) | 1998-08-28 | 2003-10-28 | Intel Corporation | Dynamic polling mechanism for wireless devices |
JP2000235433A (ja) | 1999-02-16 | 2000-08-29 | Toshiba Corp | 携帯電話通信制御装置 |
US7103806B1 (en) | 1999-06-04 | 2006-09-05 | Microsoft Corporation | System for performing context-sensitive decisions about ideal communication modalities considering information about channel reliability |
US7213063B2 (en) | 2000-01-18 | 2007-05-01 | Lucent Technologies Inc. | Method, apparatus and system for maintaining connections between computers using connection-oriented protocols |
US6976071B1 (en) | 2000-05-03 | 2005-12-13 | Nortel Networks Limited | Detecting if a secure link is alive |
US7562147B1 (en) | 2000-10-02 | 2009-07-14 | Microsoft Corporation | Bi-directional HTTP-based reliable messaging protocol and system utilizing same |
KR100439723B1 (ko) | 2001-11-06 | 2004-07-12 | 삼성전자주식회사 | 휴대용 컴퓨터 |
US7047428B2 (en) * | 2002-01-03 | 2006-05-16 | Broadcom Corporation | Method and apparatus for performing wake on LAN power management |
KR100459126B1 (ko) | 2002-01-09 | 2004-12-03 | 엘지전자 주식회사 | 통신망의 세션 유지 제어 방법 |
US6943667B1 (en) * | 2002-02-25 | 2005-09-13 | Palm, Inc. | Method for waking a device in response to a wireless network activity |
US7564810B2 (en) | 2002-05-08 | 2009-07-21 | Microsoft Corporation | Method and system for managing power consumption of a network interface module in a wireless computing device |
US7152111B2 (en) * | 2002-08-15 | 2006-12-19 | Digi International Inc. | Method and apparatus for a client connection manager |
US7120688B1 (en) | 2002-09-03 | 2006-10-10 | Bellsouth Intellectual Property Corp. | Systems and methods for an infrastructure centralized heartbeat |
US7274929B1 (en) | 2002-12-16 | 2007-09-25 | Banginwar Rajesh P | Power management within a wireless communication system |
US7340615B2 (en) | 2003-01-31 | 2008-03-04 | Microsoft Corporation | Method and apparatus for managing power in network interface modules |
US7676580B2 (en) | 2003-03-27 | 2010-03-09 | Microsoft Corporation | Message delivery with configurable assurances and features between two endpoints |
JP3882917B2 (ja) | 2003-04-03 | 2007-02-21 | 日本アイ・ビー・エム株式会社 | 情報処理システム、情報処理装置及びプログラム |
JP2004362020A (ja) | 2003-06-02 | 2004-12-24 | Fujitsu Ltd | トラフィックパターンを考慮した通信メディアの選択機能を備えた端末装置 |
JP2007516631A (ja) * | 2003-06-27 | 2007-06-21 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 低電力モードで電力消費を低減するための受信器および方法 |
US7447918B2 (en) | 2003-08-19 | 2008-11-04 | Intel Corporation | Method, apparatus and system for enabling a new data processing device operating state |
US7512679B2 (en) | 2003-08-29 | 2009-03-31 | International Business Machines Corporation | Apparatus and method to select a captain from a plurality of control nodes |
JP4222205B2 (ja) | 2003-12-25 | 2009-02-12 | 株式会社デンソー | 電磁スプール弁 |
US20050198257A1 (en) | 2003-12-29 | 2005-09-08 | Gupta Ajay G. | Power conservation in wireless devices |
US7426569B2 (en) * | 2004-02-25 | 2008-09-16 | Research In Motion Limited | System and method for maintaining a network connection |
EP1752012B1 (en) | 2004-06-02 | 2010-07-21 | Nokia Corporation | Method for roaming between networks |
US7584274B2 (en) | 2004-06-15 | 2009-09-01 | International Business Machines Corporation | Coordinating use of independent external resources within requesting grid environments |
JP4196004B2 (ja) | 2004-07-12 | 2008-12-17 | パナソニック株式会社 | マルチメディア情報の受信方法及びこれを実現するプログラム、マルチメディア情報の受信装置 |
US7675916B2 (en) | 2004-07-12 | 2010-03-09 | At&T Intellectual Property I, L.P. | Systems and methods for dynamically adjusting QoS parameters |
CA2549577A1 (en) | 2004-09-09 | 2006-03-16 | Avaya Technology Corp. | Methods of and systems for network traffic security |
JP4275610B2 (ja) | 2004-11-30 | 2009-06-10 | 京セラ株式会社 | 携帯電話端末及びキー通知方法並びにそのコンピュータプログラム |
US7899921B2 (en) * | 2004-12-08 | 2011-03-01 | Microsoft Corporation | Verifying and maintaining connection liveliness in a reliable messaging for web services environment |
US7496059B2 (en) | 2004-12-09 | 2009-02-24 | Itt Manufacturing Enterprises, Inc. | Energy-efficient medium access control protocol and system for sensor networks |
US7460556B2 (en) | 2005-02-17 | 2008-12-02 | International Business Machines Corporation | Autonomic adjustment of connection keep-alives |
US7631202B2 (en) | 2005-03-29 | 2009-12-08 | Microsoft Corporation | Power management of wireless local area network interface devices |
US20060252449A1 (en) * | 2005-04-26 | 2006-11-09 | Sridhar Ramesh | Methods and apparatus to provide adaptive power save delivery modes in wireless local area networks (LANs) |
US7668100B2 (en) | 2005-06-28 | 2010-02-23 | Avaya Inc. | Efficient load balancing and heartbeat mechanism for telecommunication endpoints |
US7809386B2 (en) | 2005-06-29 | 2010-10-05 | Nokia Corporation | Local network proxy for a remotely connected mobile device operating in reduced power mode |
US7440781B2 (en) | 2005-10-07 | 2008-10-21 | Symbol Technologies, Inc. | System and method for power conservation in a wireless device |
US20070112954A1 (en) | 2005-11-15 | 2007-05-17 | Yahoo! Inc. | Efficiently detecting abnormal client termination |
JP4622835B2 (ja) | 2005-12-07 | 2011-02-02 | 株式会社日立製作所 | 仮想計算機システム及びそのネットワーク通信方法 |
DE602005013410D1 (de) | 2005-12-15 | 2009-04-30 | Nokia Corp | Verfahren, Apparat und Computerprogrammprodukt zur Beibehaltung von Abbildungszuordnungen |
GB0526029D0 (en) | 2005-12-21 | 2006-02-01 | Nokia Corp | Managing connections in a wireless communications network |
JP4898225B2 (ja) | 2006-01-06 | 2012-03-14 | キヤノン株式会社 | アプリケーション装置及びアプリケーション装置の電力の復帰方法 |
US7624181B2 (en) | 2006-02-24 | 2009-11-24 | Cisco Technology, Inc. | Techniques for authenticating a subscriber for an access network using DHCP |
JP4405472B2 (ja) | 2006-02-27 | 2010-01-27 | 株式会社東芝 | 通信システムとそのサーバ装置及び端末装置 |
US7523197B2 (en) | 2006-03-09 | 2009-04-21 | International Business Machines Corporation | Method for IP address discovery in rapidly changing network environment |
US7693146B2 (en) | 2006-03-10 | 2010-04-06 | Cisco Technology, Inc. | Method and system for filtering traffic from unauthorized sources in a multicast network |
US20070233815A1 (en) | 2006-03-30 | 2007-10-04 | Inventec Corporation | Initialization picture displaying method |
US7779451B2 (en) | 2006-03-30 | 2010-08-17 | Intel Corporation | Securing wakeup network events |
US20070233855A1 (en) | 2006-04-03 | 2007-10-04 | International Business Machines Corporation | Adaptible keepalive for enterprise extenders |
US7792526B2 (en) * | 2006-05-15 | 2010-09-07 | Research In Motion Limited | Adjustment of background scanning interval based on network usage |
US8565715B2 (en) | 2006-05-19 | 2013-10-22 | Alcatel Lucent | Mobile-initiated location measurement |
US7729273B2 (en) * | 2006-06-20 | 2010-06-01 | General Instrument Corporation | Method and apparatus for conserving bandwidth between a network device and a remote device |
US7729357B2 (en) | 2006-06-20 | 2010-06-01 | General Instrument Corporation | Method and apparatus for enabling a network device to asynchronously access a set top box in a way that conserves network bandwidth |
US7672264B2 (en) * | 2006-06-21 | 2010-03-02 | International Business Machines Corporation | Method of pausing keep-alive messages and roaming for virtual private networks on handheld devices to save battery power |
US8260372B2 (en) | 2006-06-30 | 2012-09-04 | Nokia Corporation | Traffic monitoring for regulating states of a terminal |
JP2008046940A (ja) | 2006-08-18 | 2008-02-28 | Hitachi Ltd | 情報処理装置 |
US8849961B2 (en) | 2006-09-06 | 2014-09-30 | Nokia Corporation | Mobile network optimized method for keeping an application IP connection always on |
JP4270252B2 (ja) * | 2006-09-15 | 2009-05-27 | ソニー株式会社 | 情報処理装置、ダウンロード方法、ダウンロード中断方法、ダウンロード再開方法及びプログラム |
US8194636B1 (en) | 2006-10-05 | 2012-06-05 | Dust Networks, Inc. | Adaptive timing synchronization for mesh networks |
US8220049B2 (en) | 2006-12-28 | 2012-07-10 | Intel Corporation | Hardware-based detection and containment of an infected host computing device |
US7779282B2 (en) | 2006-12-29 | 2010-08-17 | Intel Corporation | Maintaining network connectivity while operating in low power mode |
US7768939B1 (en) | 2007-01-02 | 2010-08-03 | Juniper Networks, Inc. | Network proxy with asymmetric connection connectivity |
US20080165796A1 (en) | 2007-01-05 | 2008-07-10 | International Business Machines Corporation | Method for a heartbeat algorithm for a dynamically changing network environment |
US7881318B2 (en) | 2007-02-28 | 2011-02-01 | Microsoft Corporation | Out-of-band keep-alive mechanism for clients associated with network address translation systems |
US7693084B2 (en) * | 2007-02-28 | 2010-04-06 | Microsoft Corporation | Concurrent connection testing for computation of NAT timeout period |
US8023432B2 (en) | 2007-03-12 | 2011-09-20 | Microsoft Corporation | Cost reduction of NAT connection state keep-alive |
US20080239988A1 (en) | 2007-03-29 | 2008-10-02 | Henry Ptasinski | Method and System For Network Infrastructure Offload Traffic Filtering |
US20080240140A1 (en) | 2007-03-29 | 2008-10-02 | Microsoft Corporation | Network interface with receive classification |
US20080295173A1 (en) | 2007-05-21 | 2008-11-27 | Tsvetomir Iliev Tsvetanov | Pattern-based network defense mechanism |
US7843915B2 (en) | 2007-08-01 | 2010-11-30 | International Business Machines Corporation | Packet filtering by applying filter rules to a packet bytestream |
US7957335B2 (en) | 2007-08-23 | 2011-06-07 | Cisco Technology, Inc. | Dynamic power usage management based on historical traffic pattern data for network devices |
US8050207B2 (en) | 2007-08-31 | 2011-11-01 | Hewlett-Packard Development Company, L.P. | Power saving techniques based on coverage conditions |
US8086886B2 (en) * | 2007-08-31 | 2011-12-27 | Silicon Image, Inc. | Group power management of network devices |
JP5008138B2 (ja) | 2007-11-12 | 2012-08-22 | 株式会社リコー | 情報処理装置、情報処理方法、プログラム及び記録媒体 |
JP5444639B2 (ja) | 2007-11-20 | 2014-03-19 | パナソニック株式会社 | サーバ装置と分散サーバシステム |
US8024431B2 (en) | 2007-12-21 | 2011-09-20 | Domingo Enterprises, Llc | System and method for identifying transient friends |
US20090205038A1 (en) | 2008-02-08 | 2009-08-13 | Microsoft Corporation | Enabling Wake on LAN Behind NATs and Firewalls |
US20090210519A1 (en) | 2008-02-18 | 2009-08-20 | Microsoft Corporation | Efficient and transparent remote wakeup |
US7936708B2 (en) | 2008-02-26 | 2011-05-03 | Intel Corporation | Device, system, and method of wireless network selection and handover |
US20090240794A1 (en) | 2008-03-20 | 2009-09-24 | Huaiyu Liu | Techniques utilizing a layer-2 proxy for energy-efficient service discovery and connectivity in networks |
US20090271517A1 (en) | 2008-04-25 | 2009-10-29 | Webmessenger, Inc. | Method and apparatus for wireless device reconnection handling |
US8009648B2 (en) | 2008-05-08 | 2011-08-30 | Harris Corporation | Mobile ad hoc network with isosynchronous communications and related methods |
US8045865B2 (en) * | 2008-06-12 | 2011-10-25 | Xerox Corporation | Automatic optimization of HFSI warning thresholds based on actual service interval statistics |
US8072912B2 (en) | 2008-06-25 | 2011-12-06 | Intel Corporation | Techniques for management of shared resources in wireless multi-communication devices |
KR101650118B1 (ko) * | 2008-07-11 | 2016-08-22 | 마벨 월드 트레이드 리미티드 | 액세스 포인트들을 위한 전력 절감 모드 |
US8510577B2 (en) * | 2008-07-28 | 2013-08-13 | Microsoft Corporation | Reducing power consumption by offloading applications |
US20100039971A1 (en) | 2008-08-15 | 2010-02-18 | Hong Kong Applied Science and Technology Research Institute, Co. | Power Management Method and Communication System |
US8064362B2 (en) | 2008-08-21 | 2011-11-22 | Cisco Technology, Inc. | Wide area network optimization proxy routing protocol |
US20100058082A1 (en) | 2008-08-27 | 2010-03-04 | Lenovo (Singapore) Ple., Ltd. | Maintaining network link during suspend state |
US9521625B2 (en) | 2008-09-15 | 2016-12-13 | Apple Inc. | Electronic devices for receiving pushed data |
US8036115B2 (en) | 2008-09-17 | 2011-10-11 | Intel Corporation | Synchronization of multiple incoming network communication streams |
US20100332212A1 (en) * | 2008-09-19 | 2010-12-30 | Ori Finkelman | Method and apparatus for sleep and wake of computer devices |
US20100074108A1 (en) | 2008-09-25 | 2010-03-25 | Alcatel-Lucent | Virtual partitioned policy space |
US20100106874A1 (en) | 2008-10-28 | 2010-04-29 | Charles Dominguez | Packet Filter Optimization For Network Interfaces |
US8555100B2 (en) * | 2008-12-10 | 2013-10-08 | Verizon Patent And Licensing Inc. | Selective low power management prioritization in a mobile device |
CN101751361B (zh) | 2008-12-16 | 2012-10-10 | 联想(北京)有限公司 | 控制移动终端中数据传输接口的切换方法及终端设备 |
US8498229B2 (en) | 2008-12-30 | 2013-07-30 | Intel Corporation | Reduced power state network processing |
US9104406B2 (en) | 2009-01-07 | 2015-08-11 | Microsoft Technology Licensing, Llc | Network presence offloads to network interface |
US8331274B2 (en) * | 2009-01-12 | 2012-12-11 | Broadcom Corporation | Waking up a VoIP terminal device from a power-saving state |
US7978630B2 (en) | 2009-04-30 | 2011-07-12 | Sony Ericsson Mobile Communications Ab | Method and system of maintaining a connection in a network communication system |
US8375134B2 (en) | 2009-06-08 | 2013-02-12 | Microsoft Corporation | Determining an efficient keep-alive interval for a network connection |
US8065419B2 (en) * | 2009-06-23 | 2011-11-22 | Core Wireless Licensing S.A.R.L. | Method and apparatus for a keep alive probe service |
US8422365B2 (en) * | 2009-09-21 | 2013-04-16 | Cisco Technology, Inc. | Energy efficient scaling of network appliance service performance |
US20110102157A1 (en) | 2009-11-05 | 2011-05-05 | Nokia Corporation | Wake-Up For Wireless Devices Based On Requested Data |
EP2505036B1 (en) | 2009-11-23 | 2018-08-22 | BlackBerry Limited | Method and apparatus for state/mode transitioning |
US8155625B2 (en) | 2009-12-22 | 2012-04-10 | Motorola Mobility, Inc. | Methods and apparatus for conserving energy used by a mobile device |
US8706855B2 (en) | 2010-01-15 | 2014-04-22 | Apple Inc. | Method and apparatus for idling a network connection |
JP4970560B2 (ja) | 2010-01-23 | 2012-07-11 | レノボ・シンガポール・プライベート・リミテッド | 特定の機能を維持しながら消費電力を低減するコンピュータ |
CN102014148A (zh) | 2010-08-19 | 2011-04-13 | 上海酷吧信息技术有限公司 | 一种在手机即时通讯中自动推荐同区域好友的方法 |
US8635630B2 (en) * | 2010-10-25 | 2014-01-21 | Microsoft Corporation | Application lifetime management |
US8843153B2 (en) | 2010-11-01 | 2014-09-23 | Seven Networks, Inc. | Mobile traffic categorization and policy for network use optimization while preserving user experience |
WO2012060995A2 (en) * | 2010-11-01 | 2012-05-10 | Michael Luna | Distributed caching in a wireless network of content delivered for a mobile application over a long-held request |
WO2012061430A2 (en) | 2010-11-01 | 2012-05-10 | Michael Luna | Distributed management of keep-alive message signaling for mobile network resource conservation and optimization |
KR20120070385A (ko) * | 2010-12-21 | 2012-06-29 | 삼성전자주식회사 | 에너지 효율을 위한 이동 통신망 제어 장치 및 방법 |
US9465427B2 (en) | 2011-06-30 | 2016-10-11 | International Business Machines Corporation | Software-centric power management by indirectly determining that user is not actively using computer program running on computing device |
US8239698B2 (en) * | 2011-07-01 | 2012-08-07 | Intel Corporation | System and method for maintaining connectivity to remote application servers |
US8566625B2 (en) * | 2011-07-01 | 2013-10-22 | Intel Corporation | System and method for determining transmitting frequency to maintain remote application server connectivity |
US8917742B2 (en) | 2011-07-13 | 2014-12-23 | Microsoft Corporation | Mechanism to save system power using packet filtering by network interface |
US8892710B2 (en) * | 2011-09-09 | 2014-11-18 | Microsoft Corporation | Keep alive management |
US8806250B2 (en) | 2011-09-09 | 2014-08-12 | Microsoft Corporation | Operating system management of network interface devices |
US9049660B2 (en) | 2011-09-09 | 2015-06-02 | Microsoft Technology Licensing, Llc | Wake pattern management |
US8621494B2 (en) * | 2011-09-12 | 2013-12-31 | Microsoft Corporation | Managing processes within suspend states and execution states |
US9787463B2 (en) * | 2011-10-14 | 2017-10-10 | Maxlinear, Inc. | Method and system for server-side message handling in a low-power wide area network |
US8307234B2 (en) | 2012-01-14 | 2012-11-06 | Intel Corporation | Maintaining connectivity during low power operation |
KR20130087853A (ko) * | 2012-01-30 | 2013-08-07 | 삼성전자주식회사 | 파워 컨트롤 시스템 및 그 동작 방법 |
US9277500B1 (en) * | 2012-09-10 | 2016-03-01 | Amazon Technologies, Inc. | Power efficient wireless connectivity |
US9037887B2 (en) * | 2012-09-26 | 2015-05-19 | Intel Corporation | Energy-efficient application content update and sleep mode determination |
-
2011
- 2011-09-09 US US13/229,325 patent/US8892710B2/en active Active
- 2011-10-11 WO PCT/US2011/055702 patent/WO2013036258A1/en active Application Filing
- 2011-10-11 EP EP11872022.6A patent/EP2754002B1/en active Active
- 2011-10-11 EP EP16186334.5A patent/EP3119033B1/en active Active
- 2011-10-11 ES ES11872022.6T patent/ES2633566T3/es active Active
-
2012
- 2012-09-07 CN CN201210328635.5A patent/CN102970155B/zh active Active
-
2014
- 2014-10-28 US US14/526,391 patent/US9544213B2/en active Active
-
2016
- 2016-07-22 US US15/217,490 patent/US9736050B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
EP3119033B1 (en) | 2018-11-28 |
US20150052373A1 (en) | 2015-02-19 |
EP2754002A1 (en) | 2014-07-16 |
US20160330098A1 (en) | 2016-11-10 |
US9544213B2 (en) | 2017-01-10 |
US20130067059A1 (en) | 2013-03-14 |
US9736050B2 (en) | 2017-08-15 |
EP3119033A1 (en) | 2017-01-18 |
EP2754002A4 (en) | 2015-08-26 |
WO2013036258A1 (en) | 2013-03-14 |
CN102970155B (zh) | 2016-08-17 |
EP2754002B1 (en) | 2017-04-26 |
CN102970155A (zh) | 2013-03-13 |
US8892710B2 (en) | 2014-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2633566T3 (es) | Gestión de mantenimiento de conexión | |
AU2017201532B2 (en) | Wake pattern management | |
US9939876B2 (en) | Operating system management of network interface devices | |
US20140153898A1 (en) | Media content caching | |
US20170195275A1 (en) | Delivery of email to a mobile device |