Método y aparato para procesamiento de datos usando el campo de disposición en cola.

Dispositivo informático (50) que comprende:

una memoria de acceso aleatorio;



una memoria de sólo lectura; y una unidad de procesamiento central interconectada con dicha memoria de acceso aleatorio y dicha memoria de sólo lectura mediante un bus;

estando configurada dicha unidad de procesamiento central para ejecutar una pluralidad de instrucciones de programación (70) que representan una pluralidad de objetos de software, comprendiendo dichos objetos de software una cola de lectura (74) para almacenar paquetes no procesados;

incluyendo además dichos objetos de software una cola sin bloqueo (86) y un subproceso de lector (82) para leer cada uno de dichos paquetes no procesados de dicha cola de lectura a dicha cola sin bloqueo si dicha cola sin bloqueo (86) no está llena;

incluyendo además dichos objetos de software una pluralidad de subprocesos de procesador (94), cada subproceso de procesador para realizar una operación en al menos uno de dichos paquetes no procesados en dicha cola sin bloqueo (86);

incluyendo además dichos objetos de software una cola de escritura (78) y un subproceso de escritor (84) para escribir paquetes que se han procesado por dicha pluralidad de subprocesos de procesador (94) de dicha cola sin bloqueo (86) a dicha cola de escritura (78) .

Tipo: Patente Internacional (Tratado de Cooperación de Patentes). Resumen de patente/invención. Número de Solicitud: PCT/CA2008/001329.

Solicitante: REDKNEE INC.

Nacionalidad solicitante: Canadá.

Dirección: 2560 MATHESON BOULEVARD EAST SUITE 500 MISSISSAUGA ON L4W 4Y9 CANADA.

Inventor/es: LI, ZHE, YUEN,John.

Fecha de Publicación: .

Clasificación Internacional de Patentes:

  • G06F17/00 FISICA.G06 CALCULO; CONTEO.G06F PROCESAMIENTO ELECTRICO DE DATOS DIGITALES (sistemas de computadores basados en modelos de cálculo específicos G06N). › Equipo o métodos de procesamiento de datos o de cálculo digital, especialmente adaptados para funciones específicas (recuperación de la información, estructuras de las bases de datos o estructuras de los sistemas de archivos G06F 16/00).
  • H04L12/16 ELECTRICIDAD.H04 TECNICA DE LAS COMUNICACIONES ELECTRICAS.H04L TRANSMISION DE INFORMACION DIGITAL, p. ej. COMUNICACION TELEGRAFICA (disposiciones comunes a las comunicaciones telegráficas y telefónicas H04M). › H04L 12/00 Redes de datos de conmutación (interconexión o transferencia de información o de otras señales entre memorias, dispositivos de entrada/salida o unidades de tratamiento G06F 13/00). › Disposiciones para el suministro de servicios especiales a los abonados.
  • H04L12/56
  • H04L9/32 H04L […] › H04L 9/00 Disposiciones para las comunicaciones secretas o protegidas. › comprendiendo medios para verificar la identidad o la autorización de un utilizador del sistema.
  • H04W28/10 H04 […] › H04W REDES DE COMUNICACION INALAMBRICAS (difusión H04H; sistemas de comunicación que utilizan enlaces inalámbricos para comunicación no selectiva, p. ej. extensiones inalámbricas H04M 1/72). › H04W 28/00 Tráfico de red o gestión de recursos. › Control de flujo.

PDF original: ES-2381233_T3.pdf

 

Método y aparato para procesamiento de datos usando el campo de disposición en cola.

Fragmento de la descripción:

Método y aparato para procesamiento de datos usando el campo de disposición en cola La presente memoria descriptiva se refiere, en general, al procesamiento de datos informáticos y más particularmente se refiere a un método y a un aparato para el procesamiento de datos usando la disposición en cola.

Antecedentes

Existe una necesidad creciente de procesamiento en tiempo real. (Tal como se utiliza en el presente documento, la expresión "en tiempo real" también pretende hacer referencia a casi en tiempo real y sustancialmente en tiempo real.) Esta necesidad se ilustra ampliamente en el sector de las telecomunicaciones en el que los servicios en tiempo real son comunes. El ejemplo clásico de un servicio en tiempo real son los servicios de telefonía de voz tradicionales, sin embargo, a medida que los dispositivos portátiles de comunicación inalámbrica se han vuelto más potentes, está surgiendo la demanda de transmitir en flujo continuo vídeo, audio y otros servicios en tiempo real.

En telecomunicaciones, junto a la demanda de servicios en tiempo real está la demanda de facturación en tiempo real, que es particularmente importante en el caso de servicios de prepago, aunque también es relevante para servicios de pospago. La invocación y rendimiento de un servicio en tiempo real también debe tener lugar junto a la gestión en tiempo real de un balance del abonado. Por consiguiente, son necesarias mejoras para que las técnicas de disposición en cola de datos actuales satisfagan tal demanda, o al menos mejoren la satisfacción de tal demanda. Qie et al "Scheduling computations on a software based router", Performance Evaluation Review, vol. 29, n.º 1, páginas 13-24 (16 de junio de 2001) , describe la implementación de un encaminador basado en software, que se centra en la planificación de los ciclos de CPU del encaminador. La solicitud de patente estadounidense publicada 20020101876 A1 describe un sistema para evitar el bloqueo de cabeza de línea, que implementa una barra cruzada de no bloqueo, para su uso con sistemas de red que emplea paquetes que tienen una prioridad asociada.

Sumario

Se proporciona un dispositivo informático que tiene una unidad de procesamiento central, memoria de acceso aleatorio y memoria de sólo lectura interconectadas mediante un bus. La unidad de procesamiento central está configurada para ejecutar una pluralidad de instrucciones de programación que representan una pluralidad de objetos de software. Los objetos de software comprenden una cola de lectura para almacenar paquetes no procesados y una cola de escritura para almacenar paquetes procesados. Los objetos de software incluyen un subproceso de lector para leer paquetes de la cola de lectura y una cola sin bloqueo para recibir paquetes recibidos a través del subproceso de lector. Los objetos de software incluyen también al menos un subproceso de procesador para realizar una operación en los paquetes en la cola sin bloqueo. Los objetos de software incluyen un subproceso de escritor para escribir paquetes que se han procesado por el al menos un subproceso de procesador a la cola de escritura.

Breve descripción de los dibujos

La figura 1 muestra un aparato para procesamiento de datos usando la disposición en cola.

La figura 2 muestra una representación esquemática de software que se ejecuta en el aparato de la figura 1.

La figura 3 muestra un diagrama de flujo que representa un método de disposición en cola de paquetes.

La figura 4 muestra un diagrama de flujo que representa un método de retirada de paquetes de la cola.

La figura 5 muestra un diagrama de flujo que representa un método de procesamiento de paquetes.

Descripción detallada de las realizaciones Haciendo referencia a la figura 1, un aparato para procesamiento de datos se indica generalmente en 50. En una presente realización, el aparato 50 es un servidor, aunque en otras realizaciones el aparato 50 puede basarse en otros tipos de entorno informático. El aparato 50 es normalmente un dispositivo informático tal como un servidor que tiene un teclado y ratón (u otros dispositivos de entrada) , un monitor (u otro dispositivo de salida) y un módulo de sobremesa que conecta el teclado, el ratón y el monitor y que aloja una o más unidades de procesamiento central, memoria volátil (es decir, memoria de acceso aleatorio) , memoria persistente (es decir, dispositivos de disco duro) e interfaces de red para permitir al aparato 50 comunicarse a través de una red. Por ejemplo, el aparato 50 puede ser un servidor Sun 480R de Sun Microsystems, Inc. de Palo Alto, California, con una pluralidad de CPU y, dado que una parte significativa del procesamiento se realiza en la memoria de acceso aleatorio, un servidor de este tipo podría configurarse con aproximadamente ocho hasta aproximadamente dieciséis gigabytes de memoria de acceso aleatorio. Sin embargo, debe resaltarse que este servidor particular es meramente a modo de ejemplo, una enorme variedad de otros tipos de entornos informáticos para el aparato 50 están dentro del alcance de la invención.

El aparato 50 está situado entre una fuente de datos 54 y un destino de datos 58. Así, el aparato 50 se conecta a la fuente de datos 54 a través de un primer enlace 62 y al destino de datos 58 a través de un segundo enlace 66. Los enlaces 62 y 66 se conectan al aparato 50 a través de una o más interfaces de red en el aparato 50. Los enlaces 62 y 66 se muestran por separado por motivos de conveniencia y pueden, de hecho, estar en el mismo enlace de datos y/o físico y/o topología de red según se desee.

La fuente de datos 54 puede ser cualquier fuente de paquetes de datos que se suministran al aparato 50, mientras que el destino de datos 58 puede ser cualquier destino de paquetes de datos al que se dirigen o están destinados los paquetes de datos finalmente desde la fuente de datos 54. En efecto, la fuente de datos 54 puede representar una pluralidad de fuentes de datos mientras que el destino de datos 58 puede representar una pluralidad de destinos de datos. La fuente de datos 54 y el destino de datos 58 se basan a su vez normalmente en infraestructura de hardware informático, tal como un servidor o un encaminador o cualquier otro componente de red o similar.

El aparato 50 está configurado para ejecutar una aplicación de software 70 que puede procesar paquetes que provienen de la fuente de datos 54 de camino al destino de datos 58. Tal como se utiliza en la frase anterior, el término "proceso" no pretende ser limitativo, y puede hacer referencia a cualquier tipo de operación u algoritmo o similar que puedan realizarse en tales paquetes. Un ejemplo específico pero no limitativo de procesamiento es el análisis de paquetes llevados a cabo a través de una red de telecomunicación. Por ejemplo, los paquetes de la fuente de datos 54 pueden incluir paquetes que contienen una petición de servicios desde un terminal móvil (no mostrado) conectado a la fuente de datos 54, pudiendo estar ubicados los servicios que están solicitándose por el terminal móvil en un servidor de aplicación (no mostrado) conectado al destino de datos 58. El aparato 50 puede estar incorporado en la infraestructura de la red de telecomunicación y estar configurado para determinar si la petición del paquete está autorizada y/o de otro modo es conforme al acuerdo entre el abonado que opera el terminal móvil y la empresa que opera la red de telecomunicación a la que se conecta el terminal móvil. En una presente realización, como parte de su función en el procesamiento de paquetes, la aplicación 70 está configurada por tanto para "abandonar" paquetes que provienen de la fuente de datos 54 que no están autorizados y para "reenviar" paquetes que provienen de la fuente de datos 54 que están autorizados al destino de datos 58.

La figura 2 muestra una representación esquemática de la aplicación 70. La aplicación 70, tal como se muestra en la figura 2, hace uso de hardware y/u otro software que se ejecuta en el aparato 50 con el fin de cumplir su función. La aplicación 70 incluye así una cola de entrada 74 y una cola de salida 78. La cola de entrada 74 está asociada con la fuente de datos 54 y por tanto los paquetes de datos de la fuente de datos 54 llenan la cola de entrada 74 basándose en el enfoque de primero en entrar primero en salir ("FIFO") (u otro enfoque deseado) . De forma similar, la cola de salida 78 está asociada con el destino de datos 58 y por tanto los paquetes de datos que pasan a través de la aplicación 70 y se ponen en la cola de salida 78 con una etiqueta de "reenviar" se pasan de la cola de salida 78... [Seguir leyendo]

 


Reivindicaciones:

1. Dispositivo informático (50) que comprende:

una memoria de acceso aleatorio;

una memoria de sólo lectura; y una unidad de procesamiento central interconectada con dicha memoria de acceso aleatorio y dicha memoria de sólo lectura mediante un bus;

estando configurada dicha unidad de procesamiento central para ejecutar una pluralidad de instrucciones de programación (70) que representan una pluralidad de objetos de software, comprendiendo dichos objetos de software una cola de lectura (74) para almacenar paquetes no procesados;

incluyendo además dichos objetos de software una cola sin bloqueo (86) y un subproceso de lector (82) para leer cada uno de dichos paquetes no procesados de dicha cola de lectura a dicha cola sin bloqueo si dicha cola sin bloqueo (86) no está llena;

incluyendo además dichos objetos de software una pluralidad de subprocesos de procesador (94) , cada subproceso de procesador para realizar una operación en al menos uno de dichos paquetes no procesados en dicha cola sin bloqueo (86) ;

incluyendo además dichos objetos de software una cola de escritura (78) y un subproceso de escritor (84) para escribir paquetes que se han procesado por dicha pluralidad de subprocesos de procesador (94) de dicha cola sin bloqueo (86) a dicha cola de escritura (78) .

2. Dispositivo (50) según la reivindicación 1, en el que dicha operación incluye una determinación en cuanto a si cada uno de dichos paquetes debe abandonarse o reenviarse y dicho subproceso de escritor (84) está configurado para escribir dicha determinación en dicha cola de escritura (78) .

3. Dispositivo (50) según la reivindicación 2, en el que dichos paquetes no procesados provienen de un terminal móvil (54) y están destinados a un servidor de destino (58) .

4. Dispositivo (50) según la reivindicación 2, en el que se indica mediante dicha determinación que los paquetes que no están autorizados deben abandonarse.

5. Dispositivo (50) según la reivindicación 2, en el que se indica mediante dicha determinación que los paquetes que están autorizados deben reenviarse para su entrega a dicho servidor de destino.

6. Dispositivo (50) según la reivindicación 2, en el que determinados servicios están permitidos mientras que otros servicios no están permitidos y dicha operación incluye una determinación del tipo de servicios asociados con un paquete particular.

7. Dispositivo (50) según la reivindicación 2, en el que dichos objetos de software comprenden adicionalmente un temporizador mediante el cual si dicho al menos un subproceso de procesador no procesa uno de dichos paquetes no procesados según un criterio de tiempo de expiración definido, entonces dicho subproceso de escritor supone que dicha determinación es que dicho paquete debe reenviarse.

8. Método para procesar dichos paquetes en un dispositivo informático (50) que tiene una unidad de procesamiento central, una memoria de acceso aleatorio y una memoria de sólo lectura interconectadas mediante un bus, estando configurada dicha unidad de procesamiento central para ejecutar una pluralidad de instrucciones de programación (70) que representan una pluralidad de objetos de software, comprendiendo dichos objetos de software una cola de lectura (74) , un subproceso de lector (82) , una cola sin bloqueo (86) , una pluralidad de subprocesos de procesador (94) , un subproceso de escritor (84) y una cola de escritura (78) ; comprendiendo el método:

almacenar paquetes no procesados en dicha cola de lectura (74) ;

leer, a través de dicho subproceso de lector (82) , paquetes no procesados de dicha cola de lectura y, para cada uno de dichos paquetes no procesados, disponer en cola dichos paquetes no procesados en dicha cola sin bloqueo (86) si dicha cola sin bloqueo no está llena;

realizar una operación en al menos uno de dichos paquetes no procesados en dicha cola sin bloqueo (86) a través de al menos uno de dichos subprocesos de procesador (94) ;

escribir, a través de dicho subproceso de escritor (84) , paquetes que se han procesado de dicha cola sin bloqueo a dicha cola de escritura (78) .

9. Método según la reivindicación 8, en el que dicha operación incluye una determinación en cuanto a si cada

uno de dichos paquetes debe abandonarse o reenviarse y dicho subproceso de escritor está configurado para escribir dicha determinación en dicha cola de escritura.

10. Método según la reivindicación 9, en el que dichos paquetes no procesados provienen de un terminal móvil

(54) y están destinados a un servidor de destino (58) .

11. Método según la reivindicación 9, en el que se indica mediante dicha determinación que los paquetes que no están autorizados deben abandonarse.

12. Método según la reivindicación 9, en el que se indica mediante dicha determinación que los paquetes que están autorizados deben reenviarse para su entrega ha dicho servidor de destino.

13. Método según la reivindicación 12, en el que determinados servicios están permitidos mientras que otros

servicios no están permitidos y dicha operación incluye una determinación del tipo de servicios asociados con un paquete particular.

14. Método según la reivindicación 10, en el que dichos objetos de software comprenden adicionalmente un temporizador mediante el cual si dicho al menos un subproceso de procesador no procesa uno de dichos paquetes no procesados según un criterio de tiempo de expiración definido entonces dicho subproceso de escritor supone que dicha determinación es que dicho paquete debe reenviarse.


 

Patentes similares o relacionadas:

Dispositivo inalámbrico y procedimiento para visualizar un mensaje, del 25 de Marzo de 2020, de QUALCOMM INCORPORATED: Un dispositivo inalámbrico para visualizar un mensaje, comprendiendo el dispositivo inalámbrico: un visualizador gráfico ; una unidad de comunicaciones inalámbricas […]

Método de indicación de disponibilidad de servicio para terminales de radiofrecuencia de corto alcance, con visualización de icono de servicio, del 26 de Febrero de 2020, de Nokia Technologies OY: Un método que comprende: recibir, en un dispositivo , información de icono de un dispositivo de origen en conexión con descubrimiento de dispositivo […]

Procedimiento y aparato para la transmisión de entramado con integridad en un sistema de comunicación inalámbrica, del 6 de Noviembre de 2019, de QUALCOMM INCORPORATED: Un procedimiento para el entramado de paquetes en un sistema de transmisión inalámbrico que admite transmisiones de radiodifusión, el procedimiento que comprende: […]

Aparato y procedimiento para usar en la realización de peticiones de repetición automática en sistemas de comunicaciones de acceso múltiple inalámbricas, del 6 de Noviembre de 2019, de QUALCOMM INCORPORATED: Un procedimiento para usar en un sistema de comunicaciones inalámbricas que comprende al menos una estación base y al menos dos terminales inalámbricos […]

Imagen de 'Procedimiento y aparato para sistemas inalámbricos de activación'Procedimiento y aparato para sistemas inalámbricos de activación, del 31 de Octubre de 2019, de QUALCOMM INCORPORATED: Un procedimiento para controlar de forma inalámbrica una tarjeta de interfaz de red NIC (108 A-N) usando una red inalámbrica , con la NIC (108 A-N) […]

Método y sistema para visualizar un nivel de confianza de las operaciones de comunicación de red y la conexión de servidores, del 16 de Octubre de 2019, de Nokia Technologies OY: Un método que comprende: recibir, en un servidor , una primera solicitud para un análisis de una primera operación de comunicación desde […]

Un protocolo de red agile para comunicaciones seguras con disponibilidad asegurada de sistema, del 11 de Septiembre de 2019, de VirnetX Inc: Un método para un primer nodo para establecer una sesión con un segundo nodo , el método se realiza en el primer nodo , en el que […]

Dispositivo de nodo para una red de sensores inalámbricos, del 10 de Julio de 2019, de Wirepas Oy: Un dispositivo de nodo para una red de sensores inalámbricos, comprendiendo el dispositivo de nodo: - un transceptor […]

Utilizamos cookies para mejorar nuestros servicios y mostrarle publicidad relevante. Si continua navegando, consideramos que acepta su uso. Puede obtener más información aquí. .