ES2270292T3 - Reordenacion de una cola de envio de mensajes en base a la prioridad. - Google Patents

Reordenacion de una cola de envio de mensajes en base a la prioridad. Download PDF

Info

Publication number
ES2270292T3
ES2270292T3 ES04252119T ES04252119T ES2270292T3 ES 2270292 T3 ES2270292 T3 ES 2270292T3 ES 04252119 T ES04252119 T ES 04252119T ES 04252119 T ES04252119 T ES 04252119T ES 2270292 T3 ES2270292 T3 ES 2270292T3
Authority
ES
Spain
Prior art keywords
data
request
response
priority
queue
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
ES04252119T
Other languages
English (en)
Inventor
David Tapuska
Michael Knowles
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 ES2270292T3 publication Critical patent/ES2270292T3/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
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2425Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
    • H04L47/2433Allocation of priorities to traffic types
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2458Modification of priorities while in transit
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2475Traffic characterised by specific attributes, e.g. priority or QoS for supporting traffic characterised by the type of applications
    • 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
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Telephonic Communication Services (AREA)
  • Communication Control (AREA)
  • Small-Scale Networks (AREA)

Abstract

Un método para ordenar una cola (410) de envío de mensajes en un servidor (108) que envía datos de respuesta respectivos a un dispositivo inalámbrico (102) de comunicaciones, como respuesta a una pluralidad de peticiones del dispositivo inalámbrico de comunicaciones, comprendiendo el método los pasos de: colocar datos que comprenden una respuesta a una primera petición en la cola (410) de envío, y transmitir en serie los datos en la citada cola de envío al dis- positivo inalámbrico (102). recibir datos que comprenden una respuesta a una segunda petición, estando determinada la citada segunda petición para que tenga una prioridad relativa respectiva mayor que una prioridad de la primera petición; y colocar algunos de los datos que comprenden la respuesta a la segunda peti- ción en la cola de envío (410) delante de al menos algunos de los datos que comprenden la respuesta a la primera petición que todavía se encuentra en la cola y transmitir los datos en serie en la citada cola de envío al dispositivo in- alámbrico (102).

Description

Reordenación de una cola de envío de mensajes en base a la prioridad.
La presente invención se refiere a un método y sistema para reordenar una cola de envío de mensajes sobre la base de la prioridad del mensaje que se va a enviar.
Los dispositivos móviles, tales como dispositivos de comunicación inalámbricos, que proporcionan comunicaciones de voz, comunicaciones de datos o ambos en una red de comunicaciones inalámbricas son crecientemente prevalentes es la sociedad moderna. Tales dispositivos también pueden proporcionar funciones adicionales de asistente digital personal (PDA) tales como un calendario, alarma, listas de contactos, calculadoras, etc.. Una característica común de tales dispositivos es un servicio de buscador o navegador de World Wide Web con el que un usuario puede navegar por las páginas web cuando las mismas se encuentran disponibles a través de una intranet o del Internet público.
Durante una experiencia de hojeo, un buscador de web adquiere datos de páginas web para representar la página web en una pantalla del dispositivo. El buscador de web formula peticiones de datos utilizando un protocolo tal como el Protocolo de Transferencia de Hipertexto (HTTP) para requerir datos de un servidor de páginas web. En un dispositivo inalámbrico, las peticiones y respuestas se comunican típicamente entre el dispositivo inalámbrico y un servidor de páginas web por medio de un servidor intermedio que proporcionan servicios de puerta de acceso, comunicaciones de puente entre la red inalámbrica y la red del servidor de páginas web.
La puerta de acceso recibe las peticiones del dispositivo inalámbrico y las envía al servidor de web para el servicio. Respuestas del servidor de web se reciben por la puerta de acceso y entran en cola para la comunicación al dispositivo inalámbrico.
Para obtener los datos de una única página web, a menudo se requiere que un buscador formule más de una petición. Ocasionalmente, una respuesta para una segunda petición requiere ser recibida y procesada antes de que la respuesta a una petición anterior sea completamente procesada por el dispositivo inalámbrico. Cuando una petición de HTTP secundaría de este tipo es realizada al servidor mientras la comunicación de una respuesta a una petición anterior puede estar pendiente o en progreso, la puerta de acceso envía cualquier dato que tenga en su cola de envío hasta que la respuesta completa a la primera petición sea completada. Como resultado, el buscador de web se retrasa en la recepción de la respuesta a la petición secundaria hasta que reciba la respuesta completa a la petición anterior.
A título de ejemplo, un buscador del dispositivo inalámbrico puede encontrar una fuente de JavaScript^{TM} o una referencia de hoja de estilo de cascada (css) en una respuesta mientras carga una página web. Tales referencias requieren una acción inmediata. Se requiere que el buscador busque los datos para la referencia, por medio de una segunda petición. También se requiere que haga una pausa en la presentación adicional de la página para cualquier dato de respuesta que pueda tener hasta que se complete la nueva referencia. Sin embargo, la cola de envío de la puerta de acceso puede contener el resto de la respuesta a la primera petición mientras recibe la respuesta a la segunda petición. Las colas de envío funcionan de acuerdo con las reglas de primero que entra, primero que sale (FIFO). Como tal, la puerta de acceso pone la respuesta a la segunda petición en el extremo de su cola para enviarla después de que complete el envío de la primera respuesta. Aunque una manera de este tipo de operaciones FIFO en una cola que pone en serie los datos de respuesta es a menudo deseable, es evidente que existen situaciones en las cuales se puede requerir una ordenación diferente de las comunicaciones. Cuando una respuesta secundaria que requiere acción inmediata comprende en sí misma una referencia que requiere acción inmediata, el retraso experimentado puede ser compuesto adicionalmente. Como resultado, una experiencia satisfactoria del usuario puede quedar afectada. Los tiempos de carga de la página web parecen alargarse cuando se describen pantallas incompletas mientras se esperan los datos adicionales.
El documento WO03085934 A1 describe un método para transferir objetos de código de Lenguaje Marcado de Hipertexto (HTML) desde un servidor a un dispositivo del cliente como respuesta a peticiones adicionales del dispositivo del cliente iniciadas por la presencia de los objetos adicionales en el objeto del código de HTML proporcionado al dispositivo del cliente por el servidor como respuesta una primera petición. El servidor determina las prioridades de los objetos del código de HTML adicionales entre las peticiones adicionales del cliente. A continuación, el servidor retrasa o adelanta cada objeto adicional dependiendo de su prioridad respectiva. El método descrito en el documento WO0308 934 A1 opera en un nivel de Protocolo de Control de Transporte (TCP) y como tal, no ordena, es decir, reordena, los datos que ya están colocados en la cola de envío de mensajes del servidor.
Por lo tanto se desea una solución a uno o más de estos inconvenientes.
Por lo tanto, existe una necesidad de un método y sistema en el que un primer dispositivo (por ejemplo, un dispositivo móvil inalámbrico o una estación móvil) pueda enviar una petición a un segundo dispositivo (por ejemplo, un servidor inalámbrico de puerta de acceso u otro servidor) de datos de respuesta que tengan una prioridad más alta que los datos de respuesta de una petición anterior que todavía se está transfiriendo al primer dispositivo desde el segundo dispositivo. Además, existe una necesidad de un segundo dispositivo (por ejemplo, el servidor) para procesar las peticiones priorizadas y correspondientemente, insertar los datos de respuesta de prioridad más elevada en una corriente de contenido que el segundo dispositivo está transmitiendo al primer dispositivo, vaciando previamente cualquier dato de respuesta de prioridad inferior que pueda ya estar en la cola.
Como consecuencia, la presente invención proporciona, en un aspecto principal, un método de ordenar una cola de envío de mensajes en un servidor que envía datos de respuesta respectivos a un dispositivo de comunicaciones inalámbricas como respuesta a una pluralidad de peticiones desde el dispositivo de comunicaciones inalámbricas, comprendiendo el método los pasos de: colocar los datos que comprenden una respuesta a una primera petición en la cola de envío y trasmitir en serie los datos en la citada cola de envío al dispositivo inalámbrico; recibir datos que comprenden una respuesta a una segunda petición, estando determinada la citada segunda petición para que tenga una prioridad relativa respectiva que sea mayor que la prioridad de la primera petición; y colocar algunos de los datos que comprenden la respuesta a la segunda petición en la cola de envío antes de al menos algunos de los datos que comprenden la respuesta a la primera petición y que todavía se encuentran en la cola y trasmitir en serie los datos en la citada cola de envío al dispositivo inalámbrico.
Preferiblemente, para acomodar la necesidad de niveles múltiples de prioridad, se desea un mecanismo de prioridad de niveles múltiples en el que las respuestas de prioridad más elevada vacíen previamente cualquier respuesta de prioridad más baja en una cola de respuesta.
De acuerdo con una realización de la invención, un encabezamiento de HTTP de una petición de envío se adapta para que incluya una indicación de prioridad de la prioridad relativa de la petición (por ejemplo, petición de prioridad de borde x "número de prioridad"). La indicación de prioridad instruye a una puerta de acceso para que ordene los datos de respuesta de la petición de manera que los datos de respuesta de la petición lleguen al dispositivo peticionario delante de la respuesta de los datos de respuesta de prioridad inferior que puedan encontrarse en la cola de envío de la puerta de acceso.
Estos y otros aspectos, incluyendo uno o más aspectos del método y producto del programa de ordenador serán evidentes aquellos de conocimiento ordinario en la técnica.
Breve descripción de los dibujos
Con el fin de que la invención se pueda entender fácilmente, se ilustran realizaciones de la invención a título de ejemplo en los dibujos que se acompañan, en los cuales:
la figura 1 es un diagrama esquemático de una estructura de sistema de acuerdo con una realización de la invención;
la figura 2 es un diagrama detallado de un dispositivo de comunicaciones inalámbricas preferente de la figura 1, de acuerdo con una realización de la invención;
las figuras 3A y 3B son diagramas de flujo de operaciones de un dispositivo móvil de acuerdo con una realización de la invención, que ilustran un método para incluir una prioridad con una petición de datos; y
la figura 4 es una ilustración del servidor de puerta de acceso inalámbrica de acuerdo con una realización de la invención.
Descripción de realizaciones preferidas
La figura 1 es una ilustración esquemática de una estructura de un sistema 100 de acuerdo con una realización de la invención. El sistema 100 comprende un dispositivo de comunicaciones inalámbricas 102 acoplado para comunicarse inalámbricamente con una red inalámbrica 104 simbolizada por una estación de base. La red inalámbrica 104 puede adaptarse a cualquiera de las tecnologías y protocolos de red inalámbrica que pueden soportar comunicaciones de datos, incluyendo red celular de área amplia, GSM, GPRS, CDMA, iDENT^{TM}, Mobitex^{TM}, etcétera.
El dispositivo de comunicaciones inalámbricas 102 está adaptado para hojear la web y puede enviar peticiones de HTTP para datos de páginas web y recibir respuestas a las mismas, que comprenden datos de respuesta por medio de la red inalámbrica 104 de acuerdo con uno o más protocolos implantados por la red 104. La red inalámbrica 104 está acoplada adicionalmente para comunicarse a un servidor de puerta de acceso inalámbrica 108 proporcionando servicios de comunicaciones de datos al dispositivo inalámbrico 102. En la presente realización, el servidor de puerta de acceso inalámbrica 108 está configurado detrás de un cortafuegos (barrera lógica) 106 bien conocido a aquellos especialistas en la técnica. Aunque no se describe, el servidor de puerta de acceso inalámbrica 108 intermedio y la red inalámbrica 104 pueden ser un relé público y una red pública tal como el Internet. El servidor de puerta de acceso inalámbrica 108 puede incluir, pero no está limitado, a un Blackberry^{TM} Enterprise Server o una puerta de acceso de protocolo de aplicación inalámbrica (WAP).
A través del servidor de puerta de acceso inalámbrica 108, el dispositivo inalámbrico 102 puede acoplarse para comunicación sobre una red tal como el Internet público 110 o una intranet 112 a un servidor de contenidos tal como los servidores de web 114 y 116.
En la realización ilustrada de esta invención, el dispositivo inalámbrico 102 envía una petición de HTTP (por ejemplo, un GET) de servicio por el servidor de web 114 ó 116 a través del cortafuegos 106, a un servidor de puerta de acceso inalámbrica 108. La puerta de acceso de transporte inalámbrica se configura para proporcionar acceso (es decir, conectividad de HTTP), que preferiblemente es segura, al intranet 116 y el Internet público 114. El servidor de puerta de acceso inalámbrica 108 ejecuta la traducción necesaria de direcciones y protocolos para encaminar datos entre las redes inalámbricas y de IPC. Opcional y preferiblemente en dispositivos inalámbricos manuales, tales como dispositivos 100, la puerta de acceso inalámbrica puede convertirse y procesar datos que pasan entre un servidor de contenido, tal como el servidor de web 114, 116, y un residente de aplicaciones en el dispositivo inalámbrico 102. Las puertas de accesos pueden ejecutar filtrado a medida y otras funciones de datos para suministrar contenido a dispositivos manuales en un formato eficiente y apropiado.
El servidor de puerta de acceso inalámbrica 108 encamina las comunicaciones desde el dispositivo inalámbrico 102 (por ejemplo, un GET) al servidor de web apropiado en la red apropiada. Una vez se devuelve una respuesta, incluyendo datos de respuesta (por ejemplo, una porción de la página web tal como un archivo de Lenguaje de Marcado de Hipertexto (HTML)) se devuelve a la puerta de acceso 108, la puerta de acceso prepara los datos de respuesta para el protocolo inalámbrico apropiado de la red inalámbrica 104. La puerta de acceso 108 pone los datos de respuesta, típicamente en forma de paquete, de acuerdo con un protocolo de la red inalámbrica, en una cola de envío para comunicarse con el dispositivo inalámbrico 102 a través del cortafuegos y de la red 104.
De acuerdo con la presente realización, el dispositivo inalámbrico 104 está adaptado para incluir en una petición de HTTP, una indicación de prioridad para instruir un manejo prioritario por la puerta de acceso, al menos en algunas peticiones. Además, la puerta de acceso está adaptada para priorizar el retorno de los datos de respuesta de acuerdo con las prioridades de las peticiones que recibe la puerta de acceso.
La figura 2 es un diagrama de bloques que ilustra una realización de un dispositivo 104 de comunicaciones inalámbricas que comprende un dispositivo electrónico móvil 200 que incluye realizaciones preferentes del aparato y método de la actual aplicación. El dispositivo electrónico móvil 200 es preferiblemente un dispositivo electrónico de comunicaciones inalámbricas de dos vías que tiene capacidades al menos de comunicación de voz y de datos. El dispositivo electrónico móvil 200 tiene preferiblemente la capacidad de comunicarse con otros sistemas de ordenadores en el Internet. Dependiendo de la funcionalidad específica proporcionada, el dispositivo inalámbrico puede ser denominado como dispositivo de mensajería de datos, un buscador de dos vías, un dispositivo de correo electrónico inalámbrico, un teléfono celular con capacidad de mensajería de datos, un aparato inalámbrico de Internet, o un dispositivo de comunicaciones de datos, como ejemplos.
Cuando se habilita el dispositivo electrónico móvil 200 para comunicación de dos vías, incorpora un subsistema 201 de antena de comunicaciones, incluyendo tanto un receptor 212 como un transmisor 214, así como componentes asociados tales como uno o más elementos de antena 216 y 218 preferiblemente empotrados o internos, osciladores locales (LOs) 213, y el módulo de proceso tal como un procesador de señales digitales (DSP) 220. Como será evidente para los técnicos en el campo de las comunicaciones, el diseño particular del subsistema 211 de comunicaciones depende de los protocolos
\hbox{de la red de comunicaciones inalámbricas
en la cual se pretende que funcione el  dispositivo 200.}
El dispositivo electrónico móvil 200 incluye preferiblemente un microprocesador 238 que controla la operación completa del dispositivo. Las funciones de comunicación, incluyendo al menos comunicaciones de datos y preferiblemente de voz, se ejecutan a través del subsistema de comunicaciones 211. El microprocesador 238 también interactúa con otros subsistemas del dispositivo adicional, tales como la pantalla 222, memoria flash 224, memoria de acceso aleatorio (RAM) 226, subsistemas auxiliares de entrada/salida (I/O), 228, acceso serie 230, teclado 232, altavoz 234, micrófono 236, un subsistema 240 de comunicaciones de corto alcance y cualesquiera otros subsistemas de dispositivos generalmente designados como 242.
La memoria flash 224 puede proporcionar un almacenamiento local de instrucciones y datos de una o más aplicaciones para adaptar y configurar el microprocesador y proporciona distintas características, tales como características de PDA, buscador de web, juegos, etc. Una aplicación preferida que puede ser cargada en la estación móvil 202 puede ser una aplicación de gestor de información personal (PIM) que tiene la capacidad de organizar y gestionar datos referidos al usuario tales como, sin quedar limitados, mensajería instantánea (IM), correo electrónico, sucesos de calendario, correos de voz, citas y otras tareas. De esta manera, la memoria flash 224 de la realización actual almacena programas 250 (por ejemplo, un buscador de web, PIM), información 252 del estado del dispositivo, libreta de direcciones 254, otros datos de PIM 256, y otros datos y/o instrucciones 258.
Las figuras 3A y 3B ilustran diagramas de flujo de operaciones de un dispositivo inalámbrico móvil (por ejemplo, el dispositivo 102) de acuerdo con una realización de la invención que ilustra un método para incluir una prioridad con una petición de datos. Las operaciones 300 y 310 representan pasos ejemplares de una realización de una aplicación de buscador para cargar páginas web. Las personas de conocimiento ordinario en la técnica apreciarán que se pueden adaptar otras aplicaciones de petición de datos de una manera similar.
Las operaciones 300 se inician al comienzo de la carga de una página. En el paso 302, se establece un nivel inicial de prioridades. El nivel se puede enviar con una petición de datos, por ejemplo como parte de un encabezamiento de HTTP, como sería entendido por una persona de conocimiento ordinario en la técnica. De acuerdo con la presente realización de la invención, el nivel de prioridad está incluido en las peticiones de respuesta para las cuales se requiere un tratamiento de prioridad por la puerta de acceso, pero de otra manera se omite en otras peticiones. Cuando se omite un nivel de prioridad, a las respuestas respectivas se les da un tratamiento normal por la puerta de acceso (es decir, tratamiento de prioridad baja respectiva) y se colocan en el extremo de cola en lugar de un extremo de cabeza de una cola de envío FIFO.
En el paso 304, se emite una primera petición de datos de la página web a la puerta de acceso para pedir una respuesta y, a continuación, en el paso 306, se inicia un proceso para manejar la respuesta a la petición junto con el nivel de prioridad actual. Las operaciones 300 pueden terminar entonces 308.
Las operaciones 310 representan un método para manejar una respuesta a una petición que puede ser realizado de acuerdo con varias técnicas bien conocidas, tal como la programación orientada al objeto y técnicas de codificación de reentrada para programar un procesador para manejar los datos de respuesta. En el paso 312, el proceso empieza a actuar sobre los datos de respuesta, por ejemplo, para suministrar la respuesta en una pantalla del dispositivo. Las personas de conocimiento ordinario apreciarán que los datos de respuesta se reciben típicamente en una corriente de datos en uno o más paquetes, y la respuesta se procesa típicamente en serie en porciones. De esta manera, cuando se recibe la corriente, se procesa y se realiza una determinación (paso 312) respecto a si el procesamiento de la respuesta completa está completado. Si no está completado, por medio de la rama NO en el paso 314, se evalúa la respuesta para una referencia que requiera una petición adicional de datos de una fuente de contenido, tal como un servidor de web. Si no se encuentra una referencia, puede actuarse sobre la porción de la respuesta, por ejemplo, para presentar la porción de datos en una pantalla del dispositivo (paso 315) antes de volver en bucle al paso 312.
En la presente realización que se refiere al proceso HTML, se pueden encontrar varios tipos de referencias que requieren, o que se pueden beneficiar por lo demás, de una petición inmediata del asunto identificado por la referencia. Como se ha explicado previamente, css y JavaScript^{TM} son ejemplos de tales referencias. Sin embargo, aquellos de conocimiento ordinario en la técnica apreciarán que se pueden incluir referencias que definen otros medios incorporados dentro de una página. La realización mostrada en la presente memoria descriptiva es útil cuando se realiza una determinación respecto a si se presenta o no un asunto identificado por una referencia HTML; y cuando la determinación cambia su trayectoria para tomarse para procesar el resto de la página de HTML. Por ejemplo, si se encuentra una etiqueta del objeto dentro de una página de HTML, se debe realizar una determinación respecto a si el dispositivo puede suministrar ese ítem. Antes de que se realice la determinación, puede ser necesario buscar y cargar datos.
Las etiquetas de objeto pueden hacer referencia una variedad de medios tales como Shockwave-flash, gráficos de vector escalables (svg), imágenes y otras formas de medios. Ahora, los agentes de presentación preadjudican típicamente espacio de visualización del objeto y proporcionan porciones adicionales de la página, volviendo a ajustar el contenido que se presentó si el objeto que se busca no se puede procesar. Sin embargo, un agente de presentación también puede buscar el objeto y esperar al mismo y entonces continúa procesando una vez que se haya recibido una respuesta.
Si se encuentra una referencia en el paso 314, se realiza una determinación adicional sobre si se ha de tomar una acción en la referencia de manera inmediata (paso 316). Si la acción debe ser inmediata, el proceso de las respuestas en peticiones pendientes se suspende (paso 322). En el paso 324, una petición Get se envía con un nivel de prioridad incrementado en uno. Se inicia un proceso para manejar la respuesta y el nivel actual más uno se pasa para iniciar el proceso. El proceso actual (es decir, el caso actual de operaciones 310) espera entonces en el proceso de los datos de respuesta la referencia de prioridad más elevada (paso 326). Una vez que se completa el otro caso de respuesta de proceso (es decir, el caso de operaciones 310) iniciados por el paso 326, el proceso actual reanuda las operaciones, iniciando el proceso de respuesta anterior (paso 328), si hay alguno, y volviendo en bucle al paso 312 para una determinación adicional respecto a si más datos de respuesta de la respuesta actual requieren proceso.
Si en un paso 316 se determina que la referencia adicional en la respuesta actual no requiere acción inmediata, por medio de la rama No al paso 318, se envía una petición de datos identificada por la nueva referencia sin un nivel de prioridad y un proceso iniciado para manejar una respuesta para la nueva referencia. A continuación, el proceso de la respuesta actual continúa en el paso 312.
Si en un paso 312 no se requiere proceso de datos de respuesta adicional, las operaciones 310 finalizan en el paso 330.
Considérense las operaciones 300 y 310 con referencia al bloque de pseudo código que sigue de una página web de muestra definida por MainDocument.htm:
1
Las operaciones 300 comienzan para cargar la página MainDocument.htm. Se puede establecer el nivel de prioridad inicial (por ejemplo, 0) y en el paso 304 un GET emitido para MainDocument.htm a un servidor de web que aloja la página. En el paso 306, se inicia un proceso (es decir, operaciones 310) para manejar una respuesta a la petición. Se proporciona el nivel de prioridad actual para iniciar el nivel de prioridad de estas operaciones.
Como respuesta a los paquetes de datos recibidos que comprenden MainDocument.htm, las operaciones 310 procesan los datos. En el paso 314, se determina la referencia JavaScriptTest.js y en el paso 316 se evalúa como una referencia que requiere acción inmediata. El proceso de los datos de respuesta se suspende, y se emite un GET para la referencia (pasos 322 - 324). El GET incluye el nivel de prioridad inicial incrementado en 1 (por ejemplo, 1) en una porción de encabezamiento de la petición. La prioridad puede ser identificada por una referencia tal como una "prioridad de petición de borde x". En el paso 326, el proceso actual espera hasta que otro caso de operaciones 310 complete el proceso de una respuesta para la referencia JavaScriptTest.js. Se proporciona el nivel de prioridad inicial más 1 para iniciar el otro proceso.
El siguiente intercambio de flujo de trabajo representa un intercambio entre el dispositivo móvil 102 y la puerta de acceso 108 de la página web anterior:
\rightarrow
GET MainDocument.htm
\leftarrow
Primer paquete de MainDocument.htm
\rightarrow
Obtener JavaScriptTest.js (con prioridad de petición de borde x = 1)
\leftarrow
Primer paquete de JavaScriptTest.js
\leftarrow
Último paquete de JavaScriptTest.js
\leftarrow
Último paquete de MainDocument.htm
Considérense las operaciones 300 y 310 con referencia a los bloques de pseudo código que siguen para una página web de muestra definida por MainDocument.htm, Script1.js y Script2.js
2
Durante la interpretación de MainDocument.htm, el dispositivo 102 en primer lugar tiene que buscar y cargar "Script1.js" (nivel de prioridad 1) y ejecutarlo; pero durante la ejecución de "Script1.js" también debe buscar y cargar "Script2.js" (nivel de prioridad 1). En tales operaciones 310 de Script1.js se emite un GET para Script2.js que tiene un nivel de prioridad 2 y se inicia una instancia adicional de operaciones 310 en ese nivel de prioridad para procesar la respuesta. El siguiente intercambio de flujo de trabajo representa el flujo de datos de mensajes entre el dispositivo móvil 102 y la puerta de acceso 108 para la segunda página web anterior:
\rightarrow
GET MainDocument.htm
\leftarrow
Primer paquete de MainDocument.htm
\rightarrow
Obtener Script1.js (con prioridad de petición de borde x = 1)
\leftarrow
Primer paquete de Script1.js
\rightarrow
Obtener Script2.js (con prioridad de petición de borde x = 2)
\leftarrow
Primer paquete de Script2.js
\leftarrow
Último paquete de Script2.js
\leftarrow
Último paquete de Script1.js
\leftarrow
Último paquete de MainDocument.htm
La figura 4 ilustra un servidor de puerta de acceso de transporte inalámbrico 108 de acuerdo con una realización de la invención. El servidor 108 de puerta de acceso comprende colas de recepción 404 de mensajes y colas de envío 410 para comunicarse con una pluralidad de dispositivos inalámbricos, tales como el dispositivo 102. Típicamente, hay un caso de cola de envío y de recepción para cada conexión a un dispositivo inalámbrico con el cual se está comunicando la puerta de acceso 108. Un dispositivo inalámbrico individual se comunica típicamente a través de una única conexión con la puerta de acceso. De este modo, todas las comunicaciones se realizan en serie de una manera FIFO de acuerdo con la técnica anterior.
La puerta de acceso 108 comprende, además, colas 408 y 414 para comunicarse con otros dispositivos acoplados con la puerta de acceso 108, tales como el servidor de web 114 y 116. La puerta de acceso 108 comprende, además, un manejador de get 406 para procesar las peticiones GET de los dispositivos inalámbricos, evaluar los encabezamientos en niveles de prioridad y un manejador de respuesta get 412 para procesar las respuestas, interpretar los datos en las colas respectivas 410 como respuesta a los niveles de prioridad respectivos recibidos.
No mostrados, aunque podrán ser entendido por personas de conocimiento ordinario en la técnica, hay componentes del servidor 108 de puerta de acceso inalámbrica para mantener la conectividad entre dispositivos inalámbricos y la puerta de acceso y componentes de traducción para comunicarse de acuerdo con distintos protocolos de red, por ejemplo, para pasar los datos recibidos en un protocolo inalámbrico a un servidor en un protocolo cableado y la conversión del mismo. Tampoco se muestran componentes para encaminar comunicaciones entre los dispositivos particulares a los cuales la puerta de acceso proporciona sus servicios.
En operación, la puerta de acceso 108 recibe las peticiones de GET de datos y el manejador get 406 evalúa una porción de encabezamiento para un nivel de prioridad, pasando la petición para enviarla al servidor de web apropiado. Las respuestas recibidas de las peticiones son manejadas por el manejador de respuesta get 412 de acuerdo con el nivel de prioridad de la petición, tal como se reciben. Los paquetes de datos para una respuesta a una petición que no tiene prioridad se colocan en un extremo de cola de la cola de envío FIFO respectiva del dispositivo que origina la petición, de manera que los datos existentes en la cola se envíen de acuerdo con las reglas FIFO. Los paquetes de datos de una petición que tiene una prioridad más elevada se colocan en el extremo de cabeza de la cola respectiva del dispositivo que origina la petición, colocándose los datos de prioridad más elevada por delante de los datos de prioridad inferior, de manera que los nuevos datos en la cola se envíen de acuerdo con las reglas LIFO "último en entrar, primero en salir".
Aunque se ha descrito la presente memoria descriptiva con referencia a una aplicación de buscador de web para navegar en Internet de acuerdo con los protocolos de petición/respuesta tales como HTTP, por ejemplo, la presente invención puede ser útil en otras aplicaciones que tienen una interfaz similar a una página web o para otros protocolos de comunicaciones distintos del HTTP.
La manera de reordenar la cola puede ser realizada para distintos protocolos de comunicaciones. Una alternativa a incluir una indicación de prioridad en un encabezamiento puede ser añadir o incluir por lo demás un byte de prioridad en una porción de cuerpo de mensaje de la corriente, por ejemplo, en un paquete.
Los beneficios de acuerdo con una característica de invención se consiguen de mejor manera cuando hay una cantidad relativamente grande de datos en la cola de envío y una comunicación de ancho de banda más lenta entre la cola y el dispositivo receptor. Una desventaja de la cola de envío FIFO típica que se pretende solucionar es que la cola de envío es tan grande que precisará un tiempo apreciable para vaciarse. Por lo tanto, en redes de comunicaciones más rápidas, la cola de envío puede no tener mucho retraso.
Las personas de conocimiento ordinario en la técnica reconocerán que la prioridad no necesariamente tiene que avanzar en 1 en cada petición. Si se encuentran 2 ítem y sus órdenes de recepción no son importantes, se pueden enviar dos peticiones respectivas con la misma prioridad y entonces la primera respuesta recibida por la puerta de acceso será colocada en primer lugar en la cola.
Se debe prestar consideración a asegurar que las peticiones del dispositivo no agotan el tiempo. Aunque no se muestra, es común agotar el tiempo en una conexión si una respuesta a una petición no se recibe en el tiempo predeterminado. Si se mantiene una petición demasiado tiempo sin que se envíe un paquete (por ejemplo, después de dos minutos de tiempo de espera del dispositivo), entonces se agotará el tiempo de la conexión. Por lo tanto, es deseable prevaciar periódicamente la cola de órdenes y enviar algo de las respuestas en la cola que han "envejecido" (es decir, se han retrasado por respuestas de prioridad más elevada).
Las realizaciones que se han descrito más arriba de la presente solicitud pretenden ser solamente ejemplos. Aquellos de conocimientos ordinarios en la técnica puede efectuar alteraciones, modificaciones y variaciones a las realizaciones particulares sin separarse del alcance de la invención. La invención descrita en la presente memoria descriptiva y en las reivindicaciones pretende cubrir y abarcar todo los cambios adecuados en la tecnología.

Claims (31)

1. Un método para ordenar una cola (410) de envío de mensajes en un servidor (108) que envía datos de respuesta respectivos a un dispositivo inalámbrico (102) de comunicaciones, como respuesta a una pluralidad de peticiones del dispositivo inalámbrico de comunicaciones, comprendiendo el método los pasos de:
colocar datos que comprenden una respuesta a una primera petición en la cola (410) de envío, y transmitir en serie los datos en la citada cola de envío al dispositivo inalámbrico (102).
recibir datos que comprenden una respuesta a una segunda petición, estando determinada la citada segunda petición para que tenga una prioridad relativa respectiva mayor que una prioridad de la primera petición; y
colocar algunos de los datos que comprenden la respuesta a la segunda petición en la cola de envío (410) delante de al menos algunos de los datos que comprenden la respuesta a la primera petición que todavía se encuentra en la cola y transmitir los datos en serie en la citada cola de envío al dispositivo inalámbrico (102).
2. El método de la reivindicación 1, que comprende los pasos de:
recibir los datos que comprenden una respuesta a una tercera petición, estando determinada la citada tercera petición para que tenga una prioridad relativa respectiva más elevada que la prioridad de la segunda petición; y
colocar algunos de los datos que comprenden la tercera respuesta en la cola de envío (410) delante de al menos algunos de los datos que comprenden la respuesta a la segunda petición que se encuentra todavía en la cola y transmitir los datos en serie en la cola al dispositivo inalámbrico (102).
3. El método de la reivindicación 1 ó 2, que comprende colocar periódicamente algunos de los datos que comprenden la primera respuesta delante de cualquier dato en la cola, y transmitir en serie los datos en la cola al dispositivo inalámbrico (102) con el fin de evitar que se agote el tiempo de una conexión entre el servidor (108) y el dispositivo (102) inalámbrico.
4. El método de cualquiera de las reivindicaciones 1 a 3, en el que la determinación de una prioridad relativa respectiva comprende evaluar una indicación de prioridad de una petición, definiendo la citada indicación de prioridad la prioridad relativa de los datos de respuesta a esa petición.
5. El método de cualquiera de las reivindicaciones 1 a 4, que comprende, además, recibir la citada pluralidad de peticiones, en el que al menos algunas de las citadas peticiones comprenden una indicación de prioridad respectiva para ordenar el envío de sus datos de respuesta respectivos con relación a otros datos de respuesta.
6. El método de cualquiera de las reivindicaciones 1 a 5, que comprende además recibir los datos de respuesta respectivos para el envío por medio de la citada cola de mensajes (410) como respuesta a la petición respectiva.
7. El método de cualquiera de las reivindicaciones 1 a 6, en el que la cola de mensajes comprende una cola de "primero que entra, primero que sale" (FIFO) y en el que la ordenación comprende colocar los datos de respuesta respectivos en uno de los extremos de la cola de mensajes como respuesta a sus prioridades relativas respectivas.
8. El método de una de las reivindicaciones 1 a 7, en el que el servidor (108) recibe una indicación de prioridad para al menos una de las peticiones del dispositivo inalámbrico (102).
9. El método de la reivindicación 8, en el que el servidor (108) recibe una indicación de prioridad del dispositivo inalámbrico (102) de cualquier petición que se considera que requiere una acción inmediata.
10. El método de la reivindicación 9, en el que la indicación de prioridad recibida por el servidor (108) de cualquier petición posterior que requiere acción inmediata tiene un valor que comprende un valor incrementado de dicha última petición.
11. El método de cualquiera de las reivindicaciones 1 a 10, en el que el servidor (108) es un servidor de puerta de acceso inalámbrica y en el que el método comprende formatear los datos de respuesta para la transmisión de acuerdo con un protocolo de comunicaciones inalámbricas.
12. Un método para procesar datos de respuesta respectivos en un sistema que comprende un servidor (108) y un dispositivo inalámbrico (102) de comunicaciones, recibiéndose los datos de respuesta en el dispositivo inalámbrico (102) de comunicaciones desde el servidor (108) que responden a una pluralidad de peticiones del dispositivo inalámbrico (102) de datos, que comprende los pasos de:
en el dispositivo inalámbrico (102), enviar una primera petición de datos al citado servidor (108);
en el servidor, colocar los datos que comprenden una respuesta a una primera petición en una cola (410) de envío de mensajes y transmitir en serie los datos en la citada cola de envío al dispositivo inalámbrico (102);
en el dispositivo inalámbrico, procesar los datos que se están recibiendo que comprenden una respuesta a la citada primera petición;
en el dispositivo inalámbrico, enviar una segunda petición de datos al citado servidor, enviándose la citada segunda petición con una prioridad relativa respectiva que es más elevada que una prioridad de la primera petición;
en el servidor, recibir los datos que comprenden una respuesta a la segunda petición, estando determinada la citada segunda petición para que tenga una prioridad relativa respectiva que es más elevada que una prioridad de la primera petición;
en el servidor, colocar algunos de los datos que comprenden la respuesta a la segunda petición en la cola (410) de envío delante de al menos algunos de los datos que comprenden la respuesta a la primera petición que todavía se encuentran en la cola, y transmitir en serie los datos en la citada cola de envío al dispositivo inalámbrico;
en el dispositivo inalámbrico, recibir en serie los datos que comprenden una respuesta a la citada segunda petición, comprendiendo algunos de los citados datos una respuesta a la citada segunda petición que se recibe en serie delante de al menos algunos de los datos que comprenden la respuesta a la primera petición;
en el dispositivo inalámbrico, procesar los datos de respuesta de la segunda petición; y
una vez que se ha completado el proceso de los datos de respuesta de la segunda petición en el dispositivo inalámbrico, completar el proceso de los datos de respuesta de la primera petición.
13. El método de la reivindicación 12, que comprende los pasos de:
enviar una tercera petición de datos al citado servidor (108) desde el dispositivo inalámbrico;
siendo enviada la citada tercera petición con una prioridad relativa respectiva que es más elevada que la prioridad de la segunda petición;
recibir en serie los datos que comprenden una respuesta a la citada tercera petición en el citado dispositivo inalámbrico, siendo recibidos en serie algunos de los citados datos que comprenden una respuesta a la citada tercera petición, por delante de los datos que comprenden la respuesta a la segunda petición;
procesar los datos de respuesta de la tercera petición en el dispositivo inalámbrico; y
una vez se haya completado el proceso de los datos de respuesta para la tercera petición en el dispositivo inalámbrico, completar el proceso de los datos de respuesta de la segunda petición.
14. El método de las reivindicaciones 12 ó 13, que comprende recibir periódicamente algunos de los datos que comprenden la primera respuesta delante de los datos que comprenden la segunda respuesta en el dispositivo inalámbrico, y procesar los citados datos recibidos periódicamente con el fin de evitar el agotamiento de tiempo de una conexión entre el servidor (108) y el dispositivo inalámbrico (102).
15. El método de cualquiera de las reivindicaciones 12 a 14, en el que el dispositivo inalámbrico (102) asigna una indicación de prioridad a cualquier petición que se considere que requiere una acción inmediata.
16. El método de la reivindicación 15, en el que el dispositivo inalámbrico (102) asigna a cada petición posterior que se considere que requiere acción inmediata, una indicación de prioridad que comprende un valor incrementado de dicha última petición.
17. El método de cualquiera las reivindicaciones 12 a 16, en el que el dispositivo inalámbrico (102) envía la indicación de prioridad en una porción de encabezamiento de la petición.
18. El método de cualquiera de las reivindicaciones 12 a 17, en el que la determinación de una prioridad relativa respectiva comprende evaluar una primera porción de los datos de la primera respuesta para determinar la segunda petición para los datos de la segunda respuesta respectiva que tiene una prioridad más elevada que una porción restante de los datos de la primera respuesta respectiva, y definir la prioridad relativa respectiva como respuesta a la prioridad más elevada.
19. El método de una de las reivindicaciones 12 a 18, que comprende además suspender el proceso de los citados datos respectivos de la primera respuesta en el dispositivo inalámbrico hasta que el proceso de los citados datos respectivos de la segunda respuesta se haya completado.
20. Un sistema que comprende un servidor (108) y un dispositivo inalámbrico (102) de comunicaciones, comunicándose el servidor con el dispositivo inalámbrico de comunicaciones a través de una puerta de acceso inalámbrica (108) en una red inalámbrica (104) que es parte de un sistema (100) de comunicaciones, comunicándose en serie el dispositivo inalámbrico de comunicaciones y la puerta de acceso inalámbrica de acuerdo con un protocolo de petición/respuesta, en el que el servidor comprende:
un procesador acoplado al sistema (100) de comunicaciones para procesar una pluralidad de peticiones del dispositivo inalámbrico (102) de comunicaciones y enviar los datos de respuesta respectivos al citado dispositivo por medio de la puerta de acceso (108), teniendo la citada pluralidad de peticiones prioridades relativas respectivas; y
una memoria acoplada al procesador para almacenar instrucciones para configurar el procesador para ordenar una cola (410) de envío de mensajes del servidor para:
colocar datos del servidor (114, 116) que comprenden una respuesta a una primera petición en la cola (410) de envío y transmitir en serie los datos en la citada cola de envío al dispositivo inalámbrico (102);
recibir datos del servidor (114, 116) que comprenden una respuesta a una segunda petición, estando determinada la citada segunda petición para que tenga una prioridad relativa respectiva que sea más elevada que una prioridad de la primera petición; y
colocar algunos de los datos que comprenden la respuesta a la segunda petición en la cola (410) de envío delante de al menos algunos de los datos que comprenden la respuesta a la primera petición que todavía se encuentra en la cola, y transmitir en serie los datos en la citada cola de envío al dispositivo inalámbrico (102), comprendiendo el dispositivo inalámbrico (102) de comunicaciones: y
un sistema (211) de comunicaciones para transmitir y recibir a través de la red inalámbrica (104);
un procesador (238) acoplado con el sistema (211) de comunicaciones para enviar peticiones y procesar los datos de respuesta respectivos; y
una memoria (224) acoplada con el procesador y que almacena instrucciones para configurar el procesador para enviar una indicación de prioridad asociada a una petición para datos de respuesta particular que indique una prioridad de los datos de respuesta particular con relación a otros datos de respuesta,
en el que el citado procesador (238) está configurado para:
enviar una primera petición de datos al citado servidor (108);
procesar datos que han sido recibidos en serie del citado servidor que comprenden una respuesta a la citada primera petición;
enviar una segunda petición de datos al citado servidor, enviándose la citada segunda petición con una prioridad relativa respectiva que es más elevada que una prioridad de la primera petición;
estando dispuesto el citado sistema (211) de comunicaciones para recibir en serie datos que comprenden una respuesta a la citada segunda petición, recibiéndose en serie algunos de los citados datos que comprenden una respuesta a la citada segunda petición delante de los datos que comprenden la respuesta a la primera petición; y
estando configurado además el citado procesador para procesar los datos de respuesta de la segunda petición, y, una vez se haya completado el proceso de los datos de la respuesta de la segunda petición, completar el proceso de los datos de respuesta de la primera petición.
21. El sistema de la reivindicación 20, en el que el procesador (238) del dispositivo inalámbrico está configurado para enviar una indicación de prioridad asociada a una petición para datos de respuesta particulares de cualquier petición que se considere que requiere acción inmediata.
22. El sistema de la reivindicación 21, en el que el procesador (238) del dispositivo inalámbrico está configurado para incrementar el valor de una indicación de prioridad de cada petición posterior que se considere que se requiere acción inmediata.
23. El sistema de cualquiera de las reivindicaciones 20 a 22, en el que la citada memoria (224) del dispositivo inalámbrico comprende instrucciones para configurar el procesador (238) del dispositivo inalámbrico para enviar la indicación de prioridad en una porción de encabezamiento de la petición.
\newpage
24. El sistema de cualquiera de las reivindicaciones 20 a 23, en el que la citada memoria (224) del dispositivo inalámbrico comprende instrucciones para configurar el procesador (238) del dispositivo inalámbrico para determinar la prioridad de los datos de respuesta particular relativa a los otros datos de respuesta.
25. El sistema de la reivindicación 24, en el que las citadas instrucciones para configurar el procesador (238) del dispositivo inalámbrico para determinar la prioridad comprenden instrucciones para:
evaluar una primera porción de unos primeros datos de respuesta para determinar una segunda petición de unos segundos datos de respuesta respectivos que tienen una prioridad más elevada que una porción restante de los primeros datos de respuesta respectivos; y
definir la indicación de prioridad como respuesta a la prioridad más elevada.
26. Una puerta de acceso inalámbrica para comunicarse con un dispositivo inalámbrico (102) de comunicaciones acoplado a la puerta de acceso (108) por medio de una red inalámbrica (104), comunicándose en serie el dispositivo inalámbrico de comunicaciones y la puerta de acceso inalámbrica de acuerdo con un protocolo de petición/respuesta, comprendiendo la puerta de acceso inalámbrica:
un sistema de comunicaciones para transmitir y recibir por medio de la red inalámbrica (104);
un procesador acoplado con el sistema de comunicaciones para procesar las peticiones recibidas y enviar los datos de respuesta respectivos; y
una memoria acoplada con el procesador para almacenar instrucciones para configurar el procesador para:
colocar datos que comprenden una respuesta a una primera petición en una cola (410) de envío y transmitir en serie los datos en la citada cola de envío al dispositivo inalámbrico (102);
recibir datos que comprenden una respuesta a una segunda petición, estando determinada la citada segunda petición para que tenga una prioridad relativa respectiva que sea más elevada que una prioridad de la primera petición; y
colocar algunos de los datos que comprenden la respuesta a la segunda petición en la cola (410) de envío antes de al menos algunos de los datos que comprenden la respuesta a la primera petición que todavía se encuentra en la cola y transmitir en serie los datos en la citada cola de envío al dispositivo inalámbrico (102).
27. La puerta de acceso inalámbrica de la reivindicación 26, en la que la puerta de acceso (108) está acoplada con al menos un dispositivo adicional (114, 116) configurado para proporcionar datos de respuesta y en la que la puerta de acceso está adaptada para obtener los datos de respuesta del segundo dispositivo como respuesta a las peticiones recibidas.
28. Un servidor (114, 116) para comunicarse con un dispositivo inalámbrico (102) de comunicaciones a través de una puerta de acceso inalámbrica (108) en una red inalámbrica (104) que es parte de un sistema (100) de comunicaciones, comunicándose el dispositivo inalámbrico de comunicaciones y la puerta de acceso inalámbrica en serie en una red inalámbrica de acuerdo con un protocolo de petición/respuesta en el que el servidor comprende:
un procesador acoplado con el sistema (100) de comunicaciones para procesar una pluralidad de peticiones desde el dispositivo inalámbrico (102) de comunicaciones y enviar los datos de respuesta respectivos al citado dispositivo por medio de la puerta de acceso (108), teniendo la citada pluralidad de peticiones prioridades relativas respectivas; y
una memoria acoplada al procesador para almacenar instrucciones para configurar el procesador para ordenar una cola (410) de envío de mensajes del servidor para:
colocar datos del servidor (114, 116) que comprenden una respuesta a una primera petición en la citada cola (410) de envío de mensajes, y transmitir en serie los datos en la citada cola de envío al dispositivo inalámbrico (102),
recibir datos del servidor (114, 116) que comprenden una respuesta a una segunda petición, estando determinada la citada segunda petición para que tenga una prioridad relativa respectiva que sea más elevada que una prioridad de la primera petición; y
colocar algunos de los datos que comprenden la respuesta a la segunda petición en la cola (410) de envío antes de al menos algunos de los datos que comprenden la respuesta a la primera petición que se encuentra todavía en la cola y transmitir en serie los datos en la citada cola de envío al dispositivo inalámbrico (102).
29. Un medio legible por máquina que comprende medios de código de programa ejecutables en uno o más procesadores del sistema de cualquiera de las reivindicaciones 20 a 25, para realizar el método de cualquiera de las reivindicaciones 12 a 19.
30. Un medio legible por máquina que comprende medios de código de programas ejecutables en un procesador de la puerta de acceso inalámbrica de la reivindicación 26 ó 27, para realizar el método de cualquiera de las reivindicaciones 1 a 11.
31. Un medio legible por máquina que comprende medios de código de programas ejecutables en un procesador del servidor de la reivindicación 28, para realizar el método de cualquiera de las reivindicaciones 1 a 11.
ES04252119T 2004-04-08 2004-04-08 Reordenacion de una cola de envio de mensajes en base a la prioridad. Expired - Lifetime ES2270292T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP04252119A EP1585282B1 (en) 2004-04-08 2004-04-08 Message send queue reordering based on priority

Publications (1)

Publication Number Publication Date
ES2270292T3 true ES2270292T3 (es) 2007-04-01

Family

ID=34896137

Family Applications (1)

Application Number Title Priority Date Filing Date
ES04252119T Expired - Lifetime ES2270292T3 (es) 2004-04-08 2004-04-08 Reordenacion de una cola de envio de mensajes en base a la prioridad.

Country Status (11)

Country Link
EP (1) EP1585282B1 (es)
CN (1) CN1691632B (es)
AT (1) ATE334548T1 (es)
CA (1) CA2503867C (es)
CY (1) CY1105614T1 (es)
DE (1) DE602004001666T2 (es)
DK (1) DK1585282T3 (es)
ES (1) ES2270292T3 (es)
HK (1) HK1081356A1 (es)
PT (1) PT1585282E (es)
SG (1) SG116615A1 (es)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8190561B1 (en) * 2006-12-06 2012-05-29 At&T Mobility Ii Llc LDAP replication priority queuing mechanism
US20110093543A1 (en) * 2009-10-20 2011-04-21 Goldman Stuart O Message server device and method for controlling message delivery
EP2487868A1 (en) * 2011-02-10 2012-08-15 Telefonaktiebolaget LM Ericsson (publ) An arrangement and method for handling data to and from a processing engine
CN102395212A (zh) * 2011-11-18 2012-03-28 百度在线网络技术(北京)有限公司 网关接入控制方法、系统及装置
CN104216770B (zh) * 2011-12-28 2018-12-04 北京奇虎科技有限公司 一种浏览器消息处理方法及装置
CN107317839A (zh) * 2012-07-04 2017-11-03 中兴通讯股份有限公司 物联网消息处理方法、装置及系统
CN103995674B (zh) * 2014-04-17 2017-08-25 华为技术有限公司 访问请求处理方法、装置和设备
CN106656861B (zh) * 2016-12-15 2019-03-01 咪咕数字传媒有限公司 一种电子图书推送方法及装置
CN113677043B (zh) * 2021-06-21 2024-01-05 福建睿思特科技股份有限公司 一种基于arm架构和输变电无线组网协议的物联网关
CN116347511A (zh) * 2023-05-29 2023-06-27 泉州维盾电气有限公司 一种数据通信的方法及相关设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2360675A (en) * 2000-03-23 2001-09-26 Yehuda Brand Accessing WWW page elements in desired priority order
IL163889A0 (en) * 2002-04-05 2005-12-18 Ericsson Telefon Ab L M Object transfer control in a communications network

Also Published As

Publication number Publication date
HK1081356A1 (en) 2006-05-12
CA2503867C (en) 2012-06-12
CY1105614T1 (el) 2010-07-28
CN1691632A (zh) 2005-11-02
DE602004001666D1 (de) 2006-09-07
EP1585282B1 (en) 2006-07-26
PT1585282E (pt) 2006-12-29
DK1585282T3 (da) 2006-12-04
DE602004001666T2 (de) 2006-11-30
EP1585282A1 (en) 2005-10-12
SG116615A1 (en) 2005-11-28
ATE334548T1 (de) 2006-08-15
CN1691632B (zh) 2010-06-23
CA2503867A1 (en) 2005-10-08

Similar Documents

Publication Publication Date Title
US8065396B2 (en) Message send queue reordering based on priority
CA2503867C (en) Message send queue reordering based on priority
ES2353225T3 (es) Sistema de distribuciã“n y sincronizaciã“n de correo electrã“nico (e-mail) de acceso directo con notificaciã“n de fuera de cobertura.
KR101670642B1 (ko) 클라이언트 디바이스 상에서의 패킷 송신을 스케줄링하기 위한 시스템 및 방법
ES2369697T3 (es) Aparato y método para distribuir mensajes electrónicos a un dispositivo inalámbrico de procesamiento de datos.
US20090240807A1 (en) Content push service
CN101226525A (zh) 控制web页面的下载和显示的方法、服务器、客户端及系统
US20230208778A1 (en) Queue management in a forwarder
US9509529B1 (en) Assured messaging system with differentiated real time traffic
CN102986189A (zh) 用于为对应于虚通道的网络连接分配服务等级的系统和方法
JP2003209573A (ja) 通信装置及び中継装置
JP2008512950A (ja) パケットのキューイング、スケジューリングおよび順序づけ
CN110784415A (zh) 一种ecn快速响应的方法及装置
CN104618365B (zh) 协议报文处理方法、装置及终端
US20140281099A1 (en) METHOD, SYSTEM, AND COMPUTER PROGRAM PRODUCT FOR CONTROLLING FLOW OF PCIe TRANSPORT LAYER PACKETS
JP2002312262A (ja) 遠隔要求を処理する方法および装置
US10616125B1 (en) Dynamic adjustment in priority values of validation queues
US9054968B2 (en) Business intelligence-infused smart retransmission processing
US20040158615A1 (en) Priority web browsing
CN106067865B (zh) 数据报文的转发方法和装置
TWI495361B (zh) 用以依路由傳送電子內容至接收方裝置之系統及方法
CN113347116B (zh) QoS调度延迟抖动处理方法及装置
Chimata Path of a packet in the linux kernel stack
CN114124489B (zh) 防止流量攻击的方法、清洗装置、设备和介质
US20230188570A1 (en) Using zones based on entry points and exit points of a network device to apply a security policy to network traffic