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 PDFInfo
- 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
Links
- 230000004044 response Effects 0.000 claims abstract description 151
- 238000000034 method Methods 0.000 claims abstract description 89
- 238000004891 communication Methods 0.000 claims abstract description 62
- 230000008569 process Effects 0.000 claims description 47
- 230000009474 immediate action Effects 0.000 claims description 9
- 230000009471 action Effects 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000037361 pathway Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2425—Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
- H04L47/2433—Allocation of priorities to traffic types
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2458—Modification of priorities while in transit
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2475—Traffic characterised by specific attributes, e.g. priority or QoS for supporting traffic characterised by the type of applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic 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.
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.
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:
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
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.
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)
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)
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 |
-
2004
- 2004-04-08 DE DE602004001666T patent/DE602004001666T2/de not_active Expired - Lifetime
- 2004-04-08 ES ES04252119T patent/ES2270292T3/es not_active Expired - Lifetime
- 2004-04-08 PT PT04252119T patent/PT1585282E/pt unknown
- 2004-04-08 EP EP04252119A patent/EP1585282B1/en not_active Expired - Lifetime
- 2004-04-08 DK DK04252119T patent/DK1585282T3/da active
- 2004-04-08 AT AT04252119T patent/ATE334548T1/de not_active IP Right Cessation
-
2005
- 2005-04-07 CA CA2503867A patent/CA2503867C/en active Active
- 2005-04-08 CN CN2005100717316A patent/CN1691632B/zh active Active
- 2005-04-08 SG SG200502294A patent/SG116615A1/en unknown
-
2006
- 2006-03-21 HK HK06103589A patent/HK1081356A1/xx not_active IP Right Cessation
- 2006-09-27 CY CY20061101395T patent/CY1105614T1/el unknown
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 |