ES2273165T3 - Metodo y aparato para controlar una capa superior en una pila de protocolo para retrasar agotamientos de tiempo. - Google Patents

Metodo y aparato para controlar una capa superior en una pila de protocolo para retrasar agotamientos de tiempo. Download PDF

Info

Publication number
ES2273165T3
ES2273165T3 ES04105127T ES04105127T ES2273165T3 ES 2273165 T3 ES2273165 T3 ES 2273165T3 ES 04105127 T ES04105127 T ES 04105127T ES 04105127 T ES04105127 T ES 04105127T ES 2273165 T3 ES2273165 T3 ES 2273165T3
Authority
ES
Spain
Prior art keywords
application
network
time
response
data
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.)
Expired - Lifetime
Application number
ES04105127T
Other languages
English (en)
Inventor
Jean-Philippe Paul Cormier
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BlackBerry Ltd
Original Assignee
Research in Motion Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Research in Motion Ltd filed Critical Research in Motion Ltd
Application granted granted Critical
Publication of ES2273165T3 publication Critical patent/ES2273165T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Communication Control (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Un sistema de retraso de agotamiento de tiempo (20) para retrasar el agotamiento de tiempo de una aplicación en un dispositivo (10; 110; 700 que se comunica sobre una red, comprendiendo el sistema de retraso de agotamiento de tiempo medios para registrar una solicitud de datos de una aplicación de la red; un contador para medir un intervalo de tiempo predeterminado, el intervalo de tiempo elegido para evitar timeout en la aplicación; medios para enviar datos preventivos a la aplicación después de que el contados haya expirado pero antes de que se reciba una respuesta, caracterizado por medios para modificar una respuesta recibida de una red para extraer los datos preventivos ya enviados a la aplicación, crear una respuesta modificada; y medios para remitir la respuesta modificada a la aplicación.

Description

Método y aparato para controlar una capa superior en una pila de protocolo para retrasar agotamientos de tiempo.
La presente solicitud se refiere a un método y aparato para controlar total o parcialmente el comportamiento de una capa superior en una pila de protocolo aumentando la cantidad de acoplamiento entre la capa inferior y superior, especialmente un método y aparato para retrasar agotamientos de tiempo proporcionando acoplamiento entre una aplicación y una capa de transporte.
Ciertas aplicaciones tales como buscadores tienen un periodo de agotamiento de tiempo muy corto cuando solicitan información de un servidor. Por ejemplo, cuando se utilizan HTTP en redes sin cable, a veces las respuestas de HTTP pueden tomarse tiempo en alcanzar el dispositivo. Si la aplicación tal como un buscador no tiene en cuenta la latencia asociada con las redes sin cable, la experiencia del usuario con ese buscador no será igual a hojear sobre un ordenador utilizando una conexión con cable.
El Documento US2003/0200255 expone un sistema y método para controlar el progreso de la tarea en un servlet de Java para evitar prematuro agotamiento de tiempo de un buscador. En solicitud periódica del buscador, una representación de gráfico de barra de un porcentaje de la tarea completada es devuelta desde el servlet en un lenguaje de marcación de hipertexto, tal como marcación JavaScript/HTLM, en intervalos de tiempo cortos. Este gráfico de barra también puede estar acompañador por texto que presenta cualquier información pertinente del progreso. La instrucción para solicitar una representación actualizada del progreso se recibe por el buscador en una meta etiqueta desde el servlet. Este intervalo de tiempo es ajustado para que sea menor que el valor de agotamiento de tiempo del buscador. La representación del progreso permite que el usuario vea y entienda cuanto se ha progresado en la finalización de la tarea, el buscador no agota el tiempo, y el usuario puede estimar cuando se completará la tarea.
Incluso con conexiones sin cable, aveces el buscador puede agotar el tiempo prematuramente, degradar la experiencia del usuario con la aplicación. En cualquier caso, es deseable evitar el agotamiento de tiempo de un buscador sin aumentar la cantidad de los datos comunicados al buscador en respuesta a una solicitud de buscador.
La presente solicitud se refiere al acoplamiento de una capa de aplicación y una capa de transporte subyacente en cualquier pila de protocolo. En una realización, la capa de HTTP y la capa de TCP en una pila TCP/IP están acopladas. Cualquier aplicación que utilice transporte de datos similar requiere el método y aparato expuesto aquí.
La presente aplicación acopla las capas TCP y HTTP en la realización preferida, de manera que una aplicación tal como un buscador es, en efecto, engañado para que parezca que está en el proceso de recepción de la respuesta entrante del servidor incluso aunque el dispositivo no haya recibido ningún dato todavía. Esto puede ser utilizado en el caso de una aplicación con un periodo de agotamiento de tiempo corto que esté utilizando una red de latencia alta para recibir datos y el método y aparato de la presente solicitud de este modo aumenta el agotamiento de tiempo lo suficiente para que la respuesta sea recibida y retransmitida a la aplicación.
En una realización preferida, el buscador típicamente recibirá un encabezado estándar a todas las solicitudes de datos. Un encabezado típico tendrán las cartas HTTP/ con el número de versión. Este número de versión es típicamente 1.x en donde x puede ser un número entero. En una realización preferida, las cartas individuales procedentes de este encabezado pueden ser enviadas al buscador con un retraso entre el envío de cada una de estas cartas. Alternativamente, grupos de cartas de toda la primera parte del encabezado se pueden enviar, retrasando, de este modo, el agotamiento de tiempo.
Una vez que se recibe una respuesta, la respuesta es retransmitida a la aplicación quitando las partes del encabezado que ya han sido enviadas.
La presente solicitud por tanto proporciona un sistema de retraso de agotamiento de tiempo para retrasar el agotamiento de tiempo de una aplicación sobre un dispositivo de comunicación sobre una red, el sistema de retraso de agotamiento de tiempo comprende: medios para registrar una solicitud de datos desde al aplicación a la red; un contador para medir el intervalo de tiempo predeterminado, el intervalo de tiempo seleccionado para evitar el agotamiento de tiempo de la aplicación; medios para enviar datos preventivos a la aplicación después de que el contador haya expirado pero antes de que se haya recibido una respuesta desde la red para retirar los datos preventivos ya enviados a la aplicación, creando una respuesta modificada, y medios para enviar la respuesta modificada a la
aplicación.
La presente solicitud proporciona además un método para retrasar el agotamiento de tiempo de una aplicación en un dispositivo de comunicación sobre una red, comprendiendo el método las etapas de: registrar una solicitud de datos que ha sido enviada por la aplicación a la red; esperar un intervalo predeterminado; si la respuesta a la solicitud no ha sido recibida, enviar datos preventivos a la aplicación para evitar un agotamiento de tiempo; repetir la etapa de espera; y, si se recibe respuesta a la solicitud, modificar la respuesta para retirar de la respuesta los datos preventivos ya enviados a la aplicación para evitar un agotamiento de tiempo; y remitir la respuesta modificada a la
aplicación.
Breve descripción de los dibujos
La presente solicitud se entenderá mejor con referencia a los dibujos en los que:
la Figura 1 es un diagrama de bloques que muestra flujo de datos de acuerdo con el método y aparato de la presente solicitud;
la Figura 2 es un diagrama de una red de comunicación de datos a modo de ejemplo; y
la Figura 3 es un diagrama de bloques de un dispositivo a modo de ejemplo que realiza el método y aparato de la presente solicitud.
Descripción de las realizaciones preferidas
Se hace ahora referencia a los dibujos. La Figura 1 muestra un dispositivo 10 para ejecutar aplicaciones y que tiene medios para comunicarse con una red. En una realización preferida, el dispositivo 10 es un dispositivo sin cable con capacidades de datos como se describirá con más detalle a continuación. Sin embargo, se apreciará por los expertos en la técnica, que se podrían utilizar otros dispositivos.
El dispositivo 10 incluye una aplicación 15 que se ejecuta en el dispositivo. La aplicación 15 incluye un componente para solicitar y recibir datos de una red. Con el fin de realizar esto, el dispositivo 10 incluye además una representación (proxy) 20 situada entre la aplicación 15 y la capa de transporte en la pila de protocolo.
La presente solicitud se describirá con referencia a un buscador para red de datos con representación 20 que es una representación HTTP local. La capa de transporte será la capa TCP en este ejemplo. Sin embargo, se apreciará por los expertos en la técnica, que se podría realizar otras aplicaciones que utilizan transporte de datos similar utilizando el presente método y aparato.
Cuando la aplicación 15 necesita datos de una fuente remota a través de una red, se hace una solicitud 22. La solicitud 22 está comunicada entre la aplicación 15 y la representación 20. Esta solicitud es entonces remitida a la red como una solicitud 24.
Se hace ahora referencia ala Figura 2. La Figura 2 es un bloque diagrama de un sistema de red de datos son cable a modo de ejemplo de acuerdo con la presente solicitud y con la cual las distintas aplicaciones del método de la presente solicitud pueden cooperar. La Figura 2 muestra un diagrama de bloques de un dispositivo de datos sin cable 10, un circuito a modo de ejemplo mezclado conmutado y red conmutada de paquetes 120, Una Red de teléfono Conmutada Pública (PSTN) 130 red de datos 140 y servidores de web 50 con lo que las presentes técnicas de esta aplicación pueden cooperar. El dispositivo de datos sin cable 110 es preferiblemente un dispositivo de comunicación de dos vías que tiene capacidades de comunicación de datos y/o voz.
La red 120 incluye circuito mezclado y componentes conmutados de paquete- Subsistema Transceptor de Base (BST) 122 y Controlador de Estación de Base (BSC) 124, un circuito conmutado de un solo componente- Centro de Conmutación de Móviles (MSC) 126, y un paquete conmutado de un solo componente- Nudo de Servicio de Datos de Paquete (PDSN) 128.
Operacionalmente, el dispositivo de móvil 110 se comunica sin cable con el BTS 122 y el BSC 124 para obtener acceso a los servicios conmutados de circuito proporcionados por el MSC 126, tal como voz y servicio de mensaje corto (SMS) a través del PSTN 130.
El dispositivo de móvil 110 se comunica también sin cable con el BTS 122 y el BSC 124 para obtener acceso a los servicios de datos de paquete proporcionados por el PDSN 128, tal como correo electrónico, protocolo de aplicación sin cable (WAP), y otros servicios de datos a través de la red de datos 140.
Como se apreciará por un experto en la técnica, los retrasos pueden ocurrir en toda la red 120. Las condiciones de red sin cable generales pueden causar algunos retrasos. Además pueden ocurrir fragmentación, encriptación y retrasos de procesos de retransmisión en el PDSN 128. Existen además retrasos de colectividad de TCP y retrasos de procesamiento de solicitud de servidor de web 150.
Se hace de nuevo referencia a la Figura 1, Si la aplicación 15 tiene un periodo de tiempo corto, la representación local 20 sabrá esto. Con el fin de evitar un agotamiento de tiempo, los datos se pueden enviar entre la representación 20 y la aplicación 15.
Como se ilustra en el ejemplo de la Figura 1, en el caso de una solicitud HTTP, el encabezado HTTP es siempre el mismo a pesar del tipo de mensaje recibido. Este encabezado HTTP es HTTP/1.x en donde x representa un número de versión. La representación local puede por tanto enviar "HTTP/1" a la aplicación 15 y todavía ser capaz de pasar el mensaje correcto cuando por último llega.
\newpage
Como se apreciará por un experto en la técnica, la aplicación 15 se puede configurar de distintas maneras. En el ejemplo de la Figura 1, un bit de datos recibido antes del agotamiento de tiempo es suficiente para evitar que se agote el tiempo de la aplicación 15. En este caso la representación local 20 todavía no ha recibido una respuesta desde la red y de este modo genera un primer bit de encabezado. Este primer bit de encabezado se comunica a la representación o local 20 como si fuera recibido desde una red exterior y por tanto es remitido a la aplicación 15. En el caso de la Figura 1, el bit "H" es enviado como mensaje
\hbox{de agotamiento de tiempo  preventivo 26 y es remitido
como mensaje recibido 28.}
De manera similar, después de que un periodo de tiempo haya transcurrido y no se haya recibido aun respuesta de la red, la representación local 20 envía de nuevo un mensaje de agotamiento de tiempo preventivo 30, que en el ejemplo de la Figura 1, es un bit "T". Este es enviado como respuesta 32 a la aplicación 15 evitando por tanto que se agote el tiempo de la aplicación 15.
En el ejemplo de la Figura 1, una respuesta 40 es entonces recibida de la red y es transmitida como respuesta 42 a la aplicación 15. Como apreciará un experto en la técnica, una representación local 20 retira los bits de encabezado que ya han sido enviados a la aplicación 15 desde la respuesta 42 permitiendo por tanto que el buscador 42 tenga una respuesta completa y no genera ningún error.
El envío de bits individuales para evitar el agotamiento de tiempo podría continuar si la respuesta 40 no se hubiera recibido, siendo enviado con cada bit después de un intervalo predeterminado. El intervalo predeterminado se podría determinar en base a la aplicación 15 y podría estar hecho a medida para ser próximo al periodo de agotamiento de tiempo de esta aplicación. Por ejemplo, en una realización, un retraso de 30 segundos podría ser llevado a cabo entre el envía de bits individuales.
En algunos casos, la aplicación 15 todavía agotará el tiempo después de recibir un bit individual. Esto puede ser debido a que un bit individual puede no ser suficiente pare evitar un agotamiento de tiempo y se necesita un apalabra más larga. En este caso, se podrían enviar grupos de bits juntos o enviar partes de encabezado enteras como un mensaje. Como se apreciará por un experto en la técnica, si todo en encabezado es enviado a la vez, después sólo existirá un retraso entre la solicitud 24 y un agotamiento de tiempo que está siendo enviado.
Si una respuesta 40 no se recibe después de que se haya sido enviado todo el encabezado, la representación local 20 permitirá que la aplicación 15 agote el tiempo.
La representación local 20 incluye inteligencia para conocer que una solicitud no ha sido recibida y por tanto remitir datos a una aplicación 15 para evitar que la aplicación 15 agote el tiempo. Este hecho de remitir datos se debe realizar dentro de un periodo de tiempo predeterminado para evitar el agotamiento de tiempo, conocido por un contador en la representación 20. Además, cuando una solicitud es remitida por último, necesita tener en cuenta los datos que ya han sido enviados a la aplicación 15.
La ventaja de lo anterior se entenderá mejor con relación a una red sin cable. Cuando se usa HTTP en una red sin cable a veces las respuestas de HTTP pueden tardar bastante tiempo en alcanzar el dispositivo. Si la realización del buscador no tiene en cuenta la latencia asociada con las redes sin cable, la experiencia del usuario con ese buscador no será similar a hojear con un ordenador personal en una conexión con cable. Los agotamientos de tiempo de servidor se harán más importantes cuando el buscador utilice una red privada virtual (VPN) o representaciones que causan incluso más latencia. El resultado es caro (coste) para el usuario que tiene que emitir de nuevo una solicitud HTTP para cada agotamiento de tiempo inútil. El presente método y aplicación reduce por tanto esto creando un agotamiento de tiempo más largo para adaptar la latencia de respuesta.
Como se apreciará por un experto en la técnica, lo anterior se realiza completamente encima de la capa de transporte y no interfiere con los datos de respuestas o solicitudes de HTTP de ninguna manera y se atiene a todas las reglas establecidas por los protocolos que manipula.
Como se apreciará por los expertos en la técnica, el presente sistema y método se podrían utilizar con otros dispositivos junto a dispositivos sin cable o se podrían utilizar con otras aplicaciones junto a una aplicación de HTTP o una capa de TCP en la pila de protocolo. En este caso, el encabezado asociado con el transporte de datos se utilizará en lugar de "HTTP/1" como se ha descrito en el ejemplo anterior.
El acoplamiento entre la capa de aplicación y la capa de transporte se realiza añadiendo una capa entre estas dos capas para asegurar que la capa de transporte tiene constancia de la capa de aplicación y viceversa. Con el HTTP, TCP siempre se utiliza y la capa intermedia de este modo se pega entre las dos capas.
Se hace referencia ahora a la Figura 3. La Figura 3 es un diagrama de bloque que ilustra una estación móvil apta para ser utilizada con realizaciones preferidas del aparato y método de la presente solicitud. La estación móvil 700 es preferiblemente un dispositivo de comunicación de cable de dos vías que tiene al menos capacidades de comunicación de voz y de datos. La estación móvil 700 preferiblemente tiene la capacidad de comunicarse con otros sistemas de ordenador en una red de datos. Dependiendo de la funcionalidad exacta proporcionada, el dispositivo sin cable puede estar referido como un dispositivo de envió de mensajes de datos, un organizador de páginas de dos vías, un dispositivo de correo electrónico sin cable, un teléfono celular con capacidad de envío de mensajes, un aparato de red de datos, o un dispositivo de comunicación de datos, como ejemplos.
Cuando la estación móvil 700 está capacitada para la comunicación de dos vías, incorporará un subsistema de comunicación 711, que incluye un receptor 712 y un transmisor 714, así como componentes asociados tañes como uno o más, preferiblemente embebido o internos, elementos de antena 716 y 718, osciladores locales (LOs) 713 y un módulo de procesamiento tal como un procesador de señal digital (DSO) 720. Como será evidente para los expertos en la técnica en el campo de las comunicaciones, el diseño particular del subsistema de comunicación 711 será dependiente de la red de comunicación en la que el dispositivo esté destinado a funcionar. por ejemplo, la estación móvil 700 puede incluir un subsistema de comunicación 711 diseñado para funcionar dentro del sistema de comunicación de móviles Movitex ^{TM}, el sistema de comunicación de móviles DataTAC ^{TM}, red GPRS, red UTMS, red EDGE o red CDMA.
Los requisitos de acceso a la red también dependerán del tipo de red 719. Por ejemplo, en las redes de Mobitex y DataTAC, la estación móvil 700 está registrada en la red utilizando un único número de identificación asociado con cada estación móvil. En redes UTMS y GPRS, y en algunas redes CDMA, sin embargo, el acceso la red está asociado con un subscriptor o usuario de la estación móvil 700. Una estación móvil GPRS por tanto requiere una tarjeta de modulo de identidad de subscriptor (SIM) con el fin de funcionar en una red GPRS y una RUIM con el fin de funcionar en algunas redes CDMA. Sin una tarjeta válida SIM/RUIM, una estación móvil GPRS/UTMS7CDMA no puede ser completamente funcional. Las funciones de comunicación locales o sin red, así como las funciones legalmente requeridas (sin las hubiera) tal como llamadas a emergencias "911", puede estar disponibles, pero la estación móvil 700 será incapaz de realizar ninguna otra función que implique comunicaciones en la red 700. La interfaz SIM/RUIM 744 normalmente es similar a una ranura de tarjeta en la que se puede insertar una tarjeta SIM/RUIM y extraer igual que un disquete o tarjeta PCMCIA. La tarjeta SIM/RUIM puede tener aproximadamente 64 K de memoria y mantener muchas configuraciones de clave 751, y otra información 753 tal como identificaciones, e información referida al subscriptor.
Cuando los procedimientos de registro de red o activación se han completado, la estación móvil 700 puede enviar y recibir señales de comunicación sobre la red 719. Las señales recibidas por antena 716 a través de la red de comunicación 719 son entradas al receptor 712, que pueden realizar tales funciones de receptor comunes como amplificación de señal, conversión de baja frecuencia, filtrado, selección de canal o similares, y en el sistema de ejemplo mostrado en la Fig. 3, conversión de analógico a digital (A/D). La conversión (A/D) de la señal recibida permite que funciones de comunicación más complejas sean realizadas en el DSP 720, tales como desmodulación y decodificación. De manera similar, son transmitidas o procesadas señales, incluyendo modulación y codificación por ejemplo, por el DSP 720 y entrada al transmisor 714 para la conversión digital a analógico, conversión a alta frecuencia, filtrado, ampliación y transmisión en la red de comunicación 719 mediante antena 718. El DSP 720 no sólo procesa señales de comunicación, sino que también proporciona control del receptor y transmisor. Por ejemplo, las ganancias aplicadas a señales de comunicación en el receptor 712 y el transmisor 714 pueden ser controladas adaptativamente a través de algoritmos de control de ganancia realizados en el DSP 720.
La estación móvil 700 preferiblemente incluye un microprocesador 738 que controla el funcionamiento total del dispositivo. Las funciones de comunicación, que incluyen al menos comunicaciones de datos y voz, son realizadas a través del subsistema de comunicación 711. El microprocesador 738 también interactúa con subsistemas de dispositivo adicionales, tales como la pantalla 722, memoria flash 724, memoria de acceso aleatorio (RAM) 726, subsistemas de entrada/salida (I/O) auxiliares 728, puesto en serie 730, teclado 732, altavoz 734, micrófono 736, otros subsistemas de comunicación 740 tales como subsistemas comunicaciones de rango corto y cualquier otro subsistema de dispositivo generalmente designado con 742.
Algunos de los subsistemas mostrados en la Fig. 3 realizan funciones referidas a comunicación, mientas que otros subsistemas pueden proporcionar funciones de "residente" o en dispositivo. Notablemente, algunos subsistemas, tales como el teclado 732 y la pantalla 722, por ejemplo, pueden ser utilizados para ambas funciones referidas a la comunicación, tales como introducir un mensaje de texto para la transmisión en una red de comunicación, y funciones de dispositivo residente tales como calculadora o lista de tareas.
El software de funcionamiento del sistema utilizado por el microprocesador 738 está preferiblemente almacenado en un almacenamiento persistente tal como una memoria flash 724, que puede a su vez ser una memoria de sólo lectura (ROM) o un elemento de almacenamiento similar (no mostrado). Los expertos en la técnica apreciarán que el sistema de funcionamiento, las aplicaciones específicas del dispositivo, o partes del mismo, se pueden cargar temporalmente en una memoria volátil tal como una RAM 726. Las señales de comunicación recibidas también se pueden almacenar en la RAM 726.
Como se muestra, la memoria flash 724 puede estar dividida en diferentes áreas tanto para programas de ordenador 758 como para almacenamiento de datos de programa 750, 752, 754 y 756. Estos diferentes tipos de almacenamiento indican que cada programa puede asignar una parte de la memoria flash 724 para sus propias necesidades de almacenamiento de datos. El microprocesador 738, además de sus funciones de sistema de funcionamiento, preferiblemente hace posible la ejecución de las aplicaciones de software en la estación móvil. Un conjunto de aplicaciones predeterminado que controlan las operaciones básicas, que incluyen al menos aplicaciones de comunicaciones de datos y voz, por ejemplo, será normalmente instalado en la estación móvil 700 durante la fabricación. Una aplicación de software preferida puede ser una aplicación de gestor de información personal (PIN) que tenga la capacidad para organizar y gobernar ítems de datos referentes al usuario de la estación móvil tal como, pero no limitado a, correo electrónico, eventos de calendario, mensajes de voz, citas, y ítems de tarea. Naturalmente, uno o más almacenamientos de memoria estarían disponibles en la estación móvil para facilitar el almacenaje de los ítems de datos. Tal aplicación de PIN tendría preferiblemente la capacidad de enviar y recibir items de datos, a través de la red sin cable 719. En una realización preferida, los items de datos de PIN están integrados sin juntura, sincronizados y actualizados, a través de la red sin cable 719, con los items de datos correspondientes al usuario de la estación móvil almacenados o asociados con un sistema de ordenador anfitrión. Aplicaciones adicionales también se pueden cargar en la estación móvil 700 a través de la red 719, una subsistema I/O auxiliar 728, puerto en serie 730, subsistema de comunicaciones de rango corto 740 o cualquier otro subsistema adecuado 742, e instaladas por el usuario en la RAM 726 o preferiblemente en un almacenamiento no volátil (no mostrado) para la ejecución por el microprocesador 738. Tal flexibilidad en la instalación de aplicaciones aumenta la funcionalidad del dispositivo y proporciona funciones sobre el dispositivo aumentadas, funciones referidas a comunicación, o ambas. Por ejemplo, las aplicaciones de comunicación seguras pueden hacer posible funciones de comercio electrónicas y otras tales como transacciones financieras se pueden realizar utilizando la estación móvil 700.
En un modo de comunicación de datos, una señal recibida tal como un mensaje de texto o descarga de página web sería procesada por el sistema de comunicación 711 y introducida en el microprocesador 738, que preferiblemente además procesa la señal recibida para sacarla en la pantalla 722 o alternativamente a un dispositivo I/O auxiliar 728. Un usuario de estación móvil 700 también puede componer items de datos tales como mensajes de correo electrónico por ejemplo, utilizando el teclado 732, que preferiblemente es un teclado alfanumérico completo o teclado numérico de tipo teléfono, en combinación con la pantalla 722 y posiblemente un dispositivos I/O auxiliar. Tales items compuestos pueden después ser transmitidos sobre una red de comunicación a través del subsistema de comunicación 711.
Para comunicaciones de voz, el funcionamiento total de la estación de móvil 700 es similar, excepto en que las señales recibidas serían preferiblemente extraídas a un altavoz 734 y las señales para la transmisión serán generadas por un micrófono 736. Subsistemas de voz o audio I/O alternativos, tales como un subsistema de grabación de mensaje de voz, también pueden ser realizados en la estación móvil 700. Aunque la salida de la señal de voz o audio es preferiblemente realizada principalmente a través del altavoz 734, la pantalla 722 también se puede utilizar para proporcionar una indicación de la identidad de la parte que llama, la duración de la llamada de voz, u otra información referente a la llamada de voz, por ejemplo.
El puerto en serie 730 de la Fig. 3 será normalmente realizado en una estación móvil de tipo asistente digital personal (PDA) para lo cual puede ser deseable sincronización con el ordenador de mesa (no mostrado), pero es un componente de dispositivo opcional. Tal puerto 730 permite que un usuario establezca preferencias a través de un dispositivo externo o aplicación de software y aumentaría las capacidades de la estación móvil 700 proporcionando descargas de información o software a la estación móvil 700 además de a través de una red de comunicación sin cable. La trayectoria de descarga alterna puede, por ejemplo, ser utilizada para cargar una clave de encriptación en un dispositivo a través de una conexión directa y, de este modo, fiable y de confianza y por tanto hacer posible la comunicación de dispositivo segura y fiable.
Otros subsistemas de comunicaciones 740, tales como subsistemas de comunicaciones de rango corto, son un componente opcional que puede proporcionar comunicación entre la estación móvil 700 y diferentes sistemas o dispositivos, que no necesariamente necesitan ser dispositivos similares. Por ejemplo, el subsistema 740 puede incluir un dispositivo de infrarrojos y circuitos y componentes asociados o un módulo de comunicación de Bluetooth^{TM} para proporcionar comunicación con sistemas y dispositivos similarmente capacitados.
Como apreciarán los expertos en la técnica, dispositivos preferiblemente sin cable 10, 110 y la estación móvil 700 son el mismo dispositivo. La red adicional 719 y la red 720 son preferiblemente la misma.
Las realizaciones descritas aquí son ejemplos de estructuras, sistemas y métodos que tienen elementos que se corresponden con elementos de las técnicas de esta aplicación. Esta descripción escrita puede permitir que los expertos en la técnica hagas y utilicen realizaciones que tengan elementos alternativos que igualmente corresponden a los elementos de las técnicas de esta aplicación. El campo destinado de las técnicas de esta aplicación incluye además otras estructuras, sistemas y métodos que no difieren de las técnicas de esta aplicación como se ha descrito aquí, y además incluye otras estructuras, sistemas o métodos con diferencias sustanciales respecto a las técnicas de esta aplicación como se ha descrito aquí.

Claims (18)

1. Un sistema de retraso de agotamiento de tiempo (20) para retrasar el agotamiento de tiempo de una aplicación en un dispositivo (10; 110; 700) que se comunica sobre una red, comprendiendo el sistema de retraso de agotamiento de tiempo
medios para registrar una solicitud de datos de una aplicación de la red;
un contador para medir un intervalo de tiempo predeterminado, el intervalo de tiempo elegido para evitar timeout en la aplicación;
medios para enviar datos preventivos a la aplicación después de que el contados haya expirado pero antes de que se reciba una respuesta, caracterizado por
medios para modificar una respuesta recibida de una red para extraer los datos preventivos ya enviados a la aplicación, crear una respuesta modificada; y
medios para remitir la respuesta modificada a la aplicación.
2. El sistema de retraso de agotamiento de tiempo de la reivindicación 1, en el que el sistema está situado en una trayectoria de comunicación entre la aplicación y la red.
3. El sistema de retraso de agotamiento de tiempo (20) de la reivindicación 1ó 2, en el que el sistema comprende parte del dispositivo (10, 110, 700) que se comunica sobre la red.
4. El sistema de retraso de agotamiento de tiempo (20) de las reivindicaciones 1 a 3, en el que la aplicación es una aplicación HTTP.
5. El sistema de retraso de agotamiento de tiempo (20) de la reivindicación 4, en el que la capa de transporte para la red es una capa de TCP.
6. El sistema de retraso de agotamiento de tiempo (20) de la reivindicación 1, en el que el sistema de retraso de agotamiento de tiempo se acopla a una capa de aplicación ya una capa de TCP.
7. El sistema de retraso de agotamiento de tiempo (20) de cualquiera de las reivindicaciones 1 a 6, en el que los datos preventivos son un encabezado de respuesta.
8. El sistema de retraso de agotamiento de tiempo (20) de la reivindicación 7, en el que el encabezado de respuesta es una cadena que tiene caracteres "HTTP/1".
9. El sistema de retraso de agotamiento de tiempo (20) de la reivindicación 7 ó la reivindicación 8, en el que los medios para enviar datos preventivos envían bits individuales del encabezado de respuesta.
10. Un método para retrasar el agotamiento de tiempo de una aplicación sobre un dispositivo (10, 110, 700) que se comunica sobre una red, comprendiendo el método las etapas de:
registrar que una solicitud de datos ha sido enviada por la aplicación a la red;
esperar un intervalo predeterminado;
si la respuesta a la solicitud no ha sido recibida, enviar datos preventivos a la aplicación para evitar el timeout
repetir la etapa de espera; caracterizado porque
si la respuesta a la solicitud es recibida,
modificar la respuesta para extraer de la respuesta los datos preventivos ya enviados a la aplicación para evitar el timeout; y
remitir la respuesta modificada a la aplicación.
11. El método de la reivindicación 12, en el que el método es realizado dentro del dispositivo (10; 110, 700) que se comunica sobre una red.
12. El método de la reivindicación 10 u 11, en el que los datos enviados en la etapa de envío son información de encabezado conocida para una respuesta.
13. El método de la reivindicación 12, en el que la aplicación utiliza una capa HTTP.
14. El método de la reivindicación 13, en el que la información de encabezado es una cadena con caracteres "HTTP/1".
15. El método de acuerdo con una cualquiera de las reivindicaciones 12 a 14, en el que la etapa de envío de datos envía al menos un bit de una información de encabezado después del intervalo predeterminado.
16. Un dispositivo si cable (10; 110; 700) para comunicarse sobre una red, en el que el dispositivo comprende el sistema de cualquiera de las reivindicaciones 1 a 9.
17. Un medio de almacenamiento de ordenador que se puede leer (724) que contiene medios de código para el sistema (20) de acuerdo con cualquiera de las reivindicaciones 1 a 9 para realizar las etapas del método de cualquiera de las reivindicaciones 10 a 15.
18. Un medios de almacenamiento de ordenador que se puede leer (724) que contiene medios de código para el dispositivo (10, 110, 700) de la reivindicación 16 para realizar las etapas del método de cualquiera de las reivindicaciones 10 a 15.
ES04105127T 2004-10-18 2004-10-18 Metodo y aparato para controlar una capa superior en una pila de protocolo para retrasar agotamientos de tiempo. Expired - Lifetime ES2273165T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP04105127A EP1648141B1 (en) 2004-10-18 2004-10-18 Method and Apparatus for Controlling an Upper Layer in a Protocol Stack to Delay Timeouts

Publications (1)

Publication Number Publication Date
ES2273165T3 true ES2273165T3 (es) 2007-05-01

Family

ID=34929721

Family Applications (1)

Application Number Title Priority Date Filing Date
ES04105127T Expired - Lifetime ES2273165T3 (es) 2004-10-18 2004-10-18 Metodo y aparato para controlar una capa superior en una pila de protocolo para retrasar agotamientos de tiempo.

Country Status (8)

Country Link
EP (1) EP1648141B1 (es)
CN (1) CN100536477C (es)
AT (1) ATE397848T1 (es)
CA (1) CA2521724C (es)
DE (1) DE602004002408T2 (es)
ES (1) ES2273165T3 (es)
HK (1) HK1087867A1 (es)
SG (1) SG121956A1 (es)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013154473A1 (en) * 2012-04-11 2013-10-17 Telefonaktiebolaget L M Ericsson (Publ) Method for optimising downloading of data
US9912780B2 (en) * 2015-05-05 2018-03-06 Ford Global Technologies, Llc Method and apparatus for module remote request handling
CN107204888B (zh) * 2016-03-16 2020-02-14 华为技术有限公司 一种切换超时时间的方法、装置和通信设备
US10721214B2 (en) * 2017-10-18 2020-07-21 Citrix Systems, Inc. Method to track SSL session states for SSL optimization of SaaS based applications

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5790641A (en) * 1996-06-19 1998-08-04 Northern Telecom Limited System and method for improving facsimile delay tolerances
US6563599B1 (en) * 1999-10-04 2003-05-13 Conexant Systems, Inc. Method and apparatus for improving performance of facsimile transmissions over IP networks
US6222857B1 (en) * 1999-12-02 2001-04-24 Palm, Inc. Technique for handling undesired data over a limited bandwidth channel
US7330894B2 (en) * 2002-04-19 2008-02-12 International Business Machines Corporation System and method for preventing timeout of a client
CA2393502A1 (en) * 2002-07-15 2004-01-15 Mark J. Frazer System and method for reliable transport in a computer network

Also Published As

Publication number Publication date
DE602004002408T2 (de) 2006-12-28
EP1648141A1 (en) 2006-04-19
EP1648141B1 (en) 2006-09-13
CN1764201A (zh) 2006-04-26
CA2521724A1 (en) 2006-04-18
DE602004002408D1 (de) 2006-10-26
ATE397848T1 (de) 2006-09-15
CN100536477C (zh) 2009-09-02
SG121956A1 (en) 2006-05-26
HK1087867A1 (en) 2006-10-20
CA2521724C (en) 2011-08-16

Similar Documents

Publication Publication Date Title
US7908509B2 (en) Method and apparatus for controlling an upper layer in a protocol stack to delay timeouts
US9112866B2 (en) Methods and devices for controlling access to computing resources
ES2315379T3 (es) Sistema y metodo para el tratamiento de mensajes codificados.
ES2420758T3 (es) Sistema y método para un control seguro de los recursos de dispositivos de comunicación móvil inalámbrica
ES2288242T3 (es) Sistema y metodo de seleccion de transporte de mensaje.
US9871768B1 (en) IPv6 to IPv4 data packet migration in a trusted security zone
US8099592B2 (en) System and method for controlling data communications between a server and a client device
US8589514B2 (en) Methods and apparatus for providing peer-to-peer data networking for wireless devices
US20060256070A1 (en) Communications system including units with LCD optical transmitters/receivers and related methods
US20100088696A1 (en) Mobile wireless communications system providing downloading and installation of mobile device applications upon registration and related methods
US8665853B2 (en) Packet-based communication system and method
ES2333633B1 (es) Acceso desde un terminal remoto a la informacion de un terminal movil.
ES2277037T3 (es) Aparato y metodo de registro basados en temporizador en una red radiomovil.
CN105873097B (zh) 终端设备及数据传输控制方法
US20050138211A1 (en) Data synchronization system with data security and proxy capabilities
ES2334329T3 (es) Sistema y metodo para empujar informacion desde un sistema anfrition a un dispositivo movil de comunicacion de datos en una red de datos inalambrica.
ES2273165T3 (es) Metodo y aparato para controlar una capa superior en una pila de protocolo para retrasar agotamientos de tiempo.
CA2778736C (en) Methods and devices for controlling access to computing resources
US20080026730A1 (en) Mobile Application Server Module
JP2011205673A (ja) 無線デバイスのためピアツービアデータネットワーキングを提供する方法及び装置
US9338600B2 (en) Method and system to communicate between host system and network of remote client computers linked to wireless mobile communication devices
US20080026746A1 (en) Modular Mobile Device
ES2311167T3 (es) Metodo y aparato para establecer un tiempo de aplicacion de un enlace ascendente de proteccion de la integridad para señalizar un portador de rbo en un sistema universal de telecomunicaciones moviles.
EP1617618A1 (en) Packet-based communication system and method
Johnson The challenginc road ahead to 3G security